@supabase/lite 0.2.0 → 0.2.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/STATUS.md +844 -0
- package/UPGRADE.md +221 -0
- package/dist/cli/index.js +144 -175
- package/dist/cli/lib.js +44 -73
- package/dist/db/browser/index.js +19 -50
- package/dist/db/bun/index.js +19 -50
- package/dist/db/fallback.js +18 -49
- package/dist/db/node/index.js +19 -50
- package/dist/db/workerd/index.js +18 -49
- package/dist/index.js +56 -87
- package/package.json +5 -8
package/dist/cli/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import Mn,{statSync,readFileSync,stat as stat$1,unwatchFile,watchFile,watch}from'node:fs';import*as fe from'node:fs/promises';import fe__default,{stat,constants,lstat,readdir,realpath,open}from'node:fs/promises';import*as z from'node:path';import z__default,{join,resolve as resolve$1,relative as relative$1,sep as sep$1}from'node:path';import {fileURLToPath}from'node:url';import {createConnection,cloud}from'@supabase/lite/sqlite';import Vw,{type}from'node:os';import {createClient}from'@supabase/supabase-js';import ev,{createHash}from'node:crypto';import {parse}from'dotenv';import {DataLossError,isEqual,measureTime,splitSqlStatements,ensureVar,App}from'@supabase/lite';import {createRequire}from'module';import Of,{posix,sep,basename,dirname,resolve,normalize,relative}from'path';import*as rr from'fs';import rr__default from'fs';import {fileURLToPath as fileURLToPath$1}from'url';import {Readable}from'node:stream';import {EventEmitter}from'node:events';import {Deparser,QuoteUtils}from'pgsql-deparser';import {styleText,promisify}from'node:util';import ze,{stdout,stdin}from'node:process';import*as yt from'node:readline';import yt__default from'node:readline';import {ReadStream}from'node:tty';import {DeparserContext}from'pgsql-deparser/visitors/base.js';import {SqlFormatter}from'pgsql-deparser/utils/sql-formatter.js';import {Buffer as Buffer$1}from'node:buffer';import k0 from'node:net';import {Command as Command$1}from'@commander-js/extra-typings';import Av,{execFile}from'node:child_process';import {Command}from'commander';try {
|
|
3
3
|
/**
|
|
4
4
|
* Adding this to avoid warnings from node:sqlite being experimental
|
|
5
5
|
*/
|
|
@@ -10,39 +10,39 @@ import Hr,{statSync,readFileSync,stat as stat$1,unwatchFile,watchFile,watch}from
|
|
|
10
10
|
};
|
|
11
11
|
} catch {}
|
|
12
12
|
|
|
13
|
-
var
|
|
14
|
-
`,
|
|
15
|
-
`));}return
|
|
16
|
-
|
|
17
|
-
${
|
|
18
|
-
`,t);return
|
|
19
|
-
`)return r;if(
|
|
20
|
-
`)return r+1;if(
|
|
21
|
-
`||
|
|
22
|
-
`);)t++;return
|
|
23
|
-
`||
|
|
24
|
-
`))return
|
|
25
|
-
`&&t++);let
|
|
26
|
-
`||
|
|
27
|
-
`){if(!
|
|
28
|
-
`||
|
|
29
|
-
`&&
|
|
30
|
-
`,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"};});function
|
|
31
|
-
`&&
|
|
32
|
-
`&&
|
|
33
|
-
`&&
|
|
34
|
-
`&&
|
|
13
|
+
var wg=Object.create;var Mi=Object.defineProperty;var bg=Object.getOwnPropertyDescriptor;var Sg=Object.getOwnPropertyNames;var Eg=Object.getPrototypeOf,_g=Object.prototype.hasOwnProperty;var y=(e,t)=>()=>(e&&(t=e(e=0)),t);var ct=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),de=(e,t)=>{for(var r in t)Mi(e,r,{get:t[r],enumerable:true});},xg=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Sg(t))!_g.call(e,s)&&s!==r&&Mi(e,s,{get:()=>t[s],enumerable:!(n=bg(t,s))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?wg(Eg(e)):{},xg(Mi(r,"default",{value:e,enumerable:true}),e));var ie=ct((p$,Ui)=>{var jn=process||{},wc=jn.argv||[],Dn=jn.env||{},vg=!(Dn.NO_COLOR||wc.includes("--no-color"))&&(!!Dn.FORCE_COLOR||wc.includes("--color")||jn.platform==="win32"||(jn.stdout||{}).isTTY&&Dn.TERM!=="dumb"||!!Dn.CI),$g=(e,t,r=e)=>n=>{let s=""+n,i=s.indexOf(t,e.length);return ~i?e+Tg(s,t,r,i)+t:e+s+t},Tg=(e,t,r,n)=>{let s="",i=0;do s+=e.substring(i,n)+r,i=n+t.length,n=e.indexOf(t,i);while(~n);return s+e.substring(i)},bc=(e=vg)=>{let t=e?$g:()=>String;return {isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};Ui.exports=bc();Ui.exports.createColors=bc;});function Cg(e){let t=typeof process<"u"&&process.env||void 0;return t?t.NODE_ENV==="test"?true:t[Ag[e]]==="1":false}function _c(e){return Ec[e]}function Bi(){return Sc.filter(e=>Ec[e])}function Fn(){let e=Bi();if(e.length===0)return null;let t=e.includes("storage")?" Cloud sync (lite cloud deploy) is disabled.":"";return `EXPERIMENTAL FEATURES ENABLED: ${e.join(", ")} - not supported, do not use in production.${t}`}var Ag,Sc,Ec,zt=y(()=>{Ag={storage:"EXPERIMENTAL_STORAGE",cloud:"EXPERIMENTAL_CLOUD"},Sc=["storage","cloud"],Ec=Object.fromEntries(Sc.map(e=>[e,Cg(e)]));});function Pe(e,t){Mn.existsSync(e)||(Mn.mkdirSync(e,{recursive:true}),t?.());}function bt(e,t,r){Mn.existsSync(e)||(Mn.writeFileSync(e,t),r?.());}var St=y(()=>{});function Pg(e,t){let r=e.slice(0,t).split(/\r\n|\n|\r/g);return [r.length,r.pop().length+1]}function kg(e,t,r){let n=e.split(/\r\n|\n|\r/g),s="",i=(Math.log10(t+1)|0)+1;for(let o=t-1;o<=t+1;o++){let a=n[o-1];a&&(s+=o.toString().padEnd(i," "),s+=": ",s+=a,s+=`
|
|
14
|
+
`,o===t&&(s+=" ".repeat(i+r+2),s+=`^
|
|
15
|
+
`));}return s}var H,Et=y(()=>{H=class extends Error{line;column;codeblock;constructor(t,r){let[n,s]=Pg(r.toml,r.ptr),i=kg(r.toml,n,s);super(`Invalid TOML document: ${t}
|
|
16
|
+
|
|
17
|
+
${i}`,r),this.line=n,this.column=s,this.codeblock=i;}};});function Ng(e,t){let r=0;for(;e[t-++r]==="\\";);return --r&&r%2}function Un(e,t=0,r=e.length){let n=e.indexOf(`
|
|
18
|
+
`,t);return e[n-1]==="\r"&&n--,n<=r?n:-1}function Gt(e,t){for(let r=t;r<e.length;r++){let n=e[r];if(n===`
|
|
19
|
+
`)return r;if(n==="\r"&&e[r+1]===`
|
|
20
|
+
`)return r+1;if(n<" "&&n!==" "||n==="\x7F")throw new H("control characters are not allowed in comments",{toml:e,ptr:t})}return e.length}function ke(e,t,r,n){let s;for(;(s=e[t])===" "||s===" "||!r&&(s===`
|
|
21
|
+
`||s==="\r"&&e[t+1]===`
|
|
22
|
+
`);)t++;return n||s!=="#"?t:ke(e,Gt(e,t),r)}function vc(e,t,r,n,s=false){if(!n)return t=Un(e,t),t<0?e.length:t;for(let i=t;i<e.length;i++){let o=e[i];if(o==="#")i=Un(e,i);else {if(o===r)return i+1;if(o===n||s&&(o===`
|
|
23
|
+
`||o==="\r"&&e[i+1]===`
|
|
24
|
+
`))return i}}throw new H("cannot find end of structure",{toml:e,ptr:t})}function Bn(e,t){let r=e[t],n=r===e[t+1]&&e[t+1]===e[t+2]?e.slice(t,t+3):r;t+=n.length-1;do t=e.indexOf(n,++t);while(t>-1&&r!=="'"&&Ng(e,t));return t>-1&&(t+=n.length,n.length>1&&(e[t]===r&&t++,e[t]===r&&t++)),t}var wr=y(()=>{Et();});var Og,br,qi=y(()=>{Og=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i,br=class e extends Date{#e=false;#t=false;#r=null;constructor(t){let r=true,n=true,s="Z";if(typeof t=="string"){let i=t.match(Og);i?(i[1]||(r=false,t=`0000-01-01T${t}`),n=!!i[2],n&&t[10]===" "&&(t=t.replace(" ","T")),i[2]&&+i[2]>23?t="":(s=i[3]||null,t=t.toUpperCase(),!s&&n&&(t+="Z"))):t="";}super(t),isNaN(this.getTime())||(this.#e=r,this.#t=n,this.#r=s);}isDateTime(){return this.#e&&this.#t}isLocal(){return !this.#e||!this.#t||!this.#r}isDate(){return this.#e&&!this.#t}isTime(){return this.#t&&!this.#e}isValid(){return this.#e||this.#t}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#r===null)return t.slice(0,-1);if(this.#r==="Z")return t;let r=+this.#r.slice(1,3)*60+ +this.#r.slice(4,6);return r=this.#r[0]==="-"?r:-r,new Date(this.getTime()-r*6e4).toISOString().slice(0,-1)+this.#r}static wrapAsOffsetDateTime(t,r="Z"){let n=new e(t);return n.#r=r,n}static wrapAsLocalDateTime(t){let r=new e(t);return r.#r=null,r}static wrapAsLocalDate(t){let r=new e(t);return r.#t=false,r.#r=null,r}static wrapAsLocalTime(t){let r=new e(t);return r.#e=false,r.#r=null,r}};});function qn(e,t=0,r=e.length){let n=e[t]==="'",s=e[t++]===e[t]&&e[t]===e[t+1];s&&(r-=2,e[t+=2]==="\r"&&t++,e[t]===`
|
|
25
|
+
`&&t++);let i=0,o,a="",l=t;for(;t<r-1;){let c=e[t++];if(c===`
|
|
26
|
+
`||c==="\r"&&e[t]===`
|
|
27
|
+
`){if(!s)throw new H("newlines are not allowed in strings",{toml:e,ptr:t-1})}else if(c<" "&&c!==" "||c==="\x7F")throw new H("control characters are not allowed in strings",{toml:e,ptr:t-1});if(o){if(o=false,c==="x"||c==="u"||c==="U"){let u=e.slice(t,t+=c==="x"?2:c==="u"?4:8);if(!jg.test(u))throw new H("invalid unicode escape",{toml:e,ptr:i});try{a+=String.fromCodePoint(parseInt(u,16));}catch{throw new H("invalid unicode escape",{toml:e,ptr:i})}}else if(s&&(c===`
|
|
28
|
+
`||c===" "||c===" "||c==="\r")){if(t=ke(e,t-1,true),e[t]!==`
|
|
29
|
+
`&&e[t]!=="\r")throw new H("invalid escape: only line-ending whitespace may be escaped",{toml:e,ptr:i});t=ke(e,t);}else if(c in $c)a+=$c[c];else throw new H("unrecognized escape sequence",{toml:e,ptr:i});l=t;}else !n&&c==="\\"&&(i=t-1,o=true,a+=e.slice(l,i));}return a+e.slice(l,r-1)}function Tc(e,t,r,n){if(e==="true")return true;if(e==="false")return false;if(e==="-inf")return -1/0;if(e==="inf"||e==="+inf")return 1/0;if(e==="nan"||e==="+nan"||e==="-nan")return NaN;if(e==="-0")return n?0n:0;let s=Ig.test(e);if(s||Lg.test(e)){if(Dg.test(e))throw new H("leading zeroes are not allowed",{toml:t,ptr:r});e=e.replace(/_/g,"");let o=+e;if(isNaN(o))throw new H("invalid number",{toml:t,ptr:r});if(s){if((s=!Number.isSafeInteger(o))&&!n)throw new H("integer value cannot be represented losslessly",{toml:t,ptr:r});(s||n===true)&&(o=BigInt(e));}return o}let i=new br(e);if(!i.isValid())throw new H("invalid value",{toml:t,ptr:r});return i}var Ig,Lg,Dg,jg,$c,Hi=y(()=>{wr();qi();Et();Ig=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,Lg=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,Dg=/^[+-]?0[0-9_]/,jg=/^[0-9a-f]{2,8}$/i,$c={b:"\b",t:" ",n:`
|
|
30
|
+
`,f:"\f",r:"\r",e:"\x1B",'"':'"',"\\":"\\"};});function Fg(e,t,r){let n=e.slice(t,r),s=n.indexOf("#");return s>-1&&(Gt(e,s),n=n.slice(0,s)),[n.trimEnd(),s]}function Sr(e,t,r,n,s){if(n===0)throw new H("document contains excessively nested structures. aborting.",{toml:e,ptr:t});let i=e[t];if(i==="["||i==="{"){let[l,c]=i==="["?Cc(e,t,n,s):Ac(e,t,n,s);if(r){if(c=ke(e,c),e[c]===",")c++;else if(e[c]!==r)throw new H("expected comma or end of structure",{toml:e,ptr:c})}return [l,c]}let o;if(i==='"'||i==="'"){o=Bn(e,t);let l=qn(e,t,o);if(r){if(o=ke(e,o),e[o]&&e[o]!==","&&e[o]!==r&&e[o]!==`
|
|
31
|
+
`&&e[o]!=="\r")throw new H("unexpected character encountered",{toml:e,ptr:o});o+=+(e[o]===",");}return [l,o]}o=vc(e,t,",",r);let a=Fg(e,t,o-+(e[o-1]===","));if(!a[0])throw new H("incomplete key-value declaration: no value specified",{toml:e,ptr:t});return r&&a[1]>-1&&(o=ke(e,t+a[1]),o+=+(e[o]===",")),[Tc(a[0],e,t,s),o]}var Wi=y(()=>{Hi();zi();wr();Et();});function Hn(e,t,r="="){let n=t-1,s=[],i=e.indexOf(r,t);if(i<0)throw new H("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let o=e[t=++n];if(o!==" "&&o!==" ")if(o==='"'||o==="'"){if(o===e[t+1]&&o===e[t+2])throw new H("multiline strings are not allowed in keys",{toml:e,ptr:t});let a=Bn(e,t);if(a<0)throw new H("unfinished string encountered",{toml:e,ptr:t});n=e.indexOf(".",a);let l=e.slice(a,n<0||n>i?i:n),c=Un(l);if(c>-1)throw new H("newlines are not allowed in keys",{toml:e,ptr:t+n+c});if(l.trimStart())throw new H("found extra tokens after the string part",{toml:e,ptr:a});if(i<a&&(i=e.indexOf(r,a),i<0))throw new H("incomplete key-value: cannot find end of key",{toml:e,ptr:t});s.push(qn(e,t,a));}else {n=e.indexOf(".",t);let a=e.slice(t,n<0||n>i?i:n);if(!Mg.test(a))throw new H("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});s.push(a.trimEnd());}}while(n+1&&n<i);return [s,ke(e,i+1,true,true)]}function Ac(e,t,r,n){let s={},i=new Set,o;for(t++;(o=e[t++])!=="}"&&o;){if(o===",")throw new H("expected value, found comma",{toml:e,ptr:t-1});if(o==="#")t=Gt(e,t);else if(o!==" "&&o!==" "&&o!==`
|
|
32
|
+
`&&o!=="\r"){let a,l=s,c=false,[u,p]=Hn(e,t-1);for(let d=0;d<u.length;d++){if(d&&(l=c?l[a]:l[a]={}),a=u[d],(c=Object.hasOwn(l,a))&&(typeof l[a]!="object"||i.has(l[a])))throw new H("trying to redefine an already defined value",{toml:e,ptr:t});!c&&a==="__proto__"&&Object.defineProperty(l,a,{enumerable:true,configurable:true,writable:true});}if(c)throw new H("trying to redefine an already defined value",{toml:e,ptr:t});let[f,h]=Sr(e,p,"}",r-1,n);i.add(f),l[a]=f,t=h;}}if(!o)throw new H("unfinished table encountered",{toml:e,ptr:t});return [s,t]}function Cc(e,t,r,n){let s=[],i;for(t++;(i=e[t++])!=="]"&&i;){if(i===",")throw new H("expected value, found comma",{toml:e,ptr:t-1});if(i==="#")t=Gt(e,t);else if(i!==" "&&i!==" "&&i!==`
|
|
33
|
+
`&&i!=="\r"){let o=Sr(e,t-1,"]",r-1,n);s.push(o[0]),t=o[1];}}if(!i)throw new H("unfinished array encountered",{toml:e,ptr:t});return [s,t]}var Mg,zi=y(()=>{Hi();Wi();wr();Et();Mg=/^[a-zA-Z0-9-_]+[ \t]*$/;});function Rc(e,t,r,n){let s=t,i=r,o,a=false,l;for(let c=0;c<e.length;c++){if(c){if(s=a?s[o]:s[o]={},i=(l=i[o]).c,n===0&&(l.t===1||l.t===2))return null;if(l.t===2){let u=s.length-1;s=s[u],i=i[u].c;}}if(o=e[c],(a=Object.hasOwn(s,o))&&i[o]?.t===0&&i[o]?.d)return null;a||(o==="__proto__"&&(Object.defineProperty(s,o,{enumerable:true,configurable:true,writable:true}),Object.defineProperty(i,o,{enumerable:true,configurable:true,writable:true})),i[o]={t:c<e.length-1&&n===2?3:n,d:false,i:0,c:{}});}if(l=i[o],l.t!==n&&!(n===1&&l.t===3)||(n===2&&(l.d||(l.d=true,s[o]=[]),s[o].push(s={}),l.c[l.i++]=l={t:1,d:false,i:0,c:{}}),l.d))return null;if(l.d=true,n===1)s=a?s[o]:s[o]={};else if(n===0&&a)return null;return [o,s,l.c]}function _t(e,{maxDepth:t=1e3,integersAsBigInt:r}={}){let n={},s={},i=n,o=s;for(let a=ke(e,0);a<e.length;){if(e[a]==="["){let l=e[++a]==="[",c=Hn(e,a+=+l,"]");if(l){if(e[c[1]-1]!=="]")throw new H("expected end of table declaration",{toml:e,ptr:c[1]-1});c[1]++;}let u=Rc(c[0],n,s,l?2:1);if(!u)throw new H("trying to redefine an already defined table or value",{toml:e,ptr:a});o=u[2],i=u[1],a=c[1];}else {let l=Hn(e,a),c=Rc(l[0],i,o,0);if(!c)throw new H("trying to redefine an already defined table or value",{toml:e,ptr:a});let u=Sr(e,l[1],void 0,t,r);c[1][c[0]]=u[0],a=u[1];}if(a=ke(e,a,true),e[a]&&e[a]!==`
|
|
34
|
+
`&&e[a]!=="\r")throw new H("each key-value declaration must be followed by an end-of-line",{toml:e,ptr:a});a=ke(e,a);}return n}var Pc=y(()=>{zi();Wi();wr();Et();});function Er(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return "array";if(e instanceof Date)return "date"}return t}function Ug(e){for(let t=0;t<e.length;t++)if(Er(e[t])!=="object")return false;return e.length!=0}function Gi(e){return JSON.stringify(e).replace(/\x7f/g,"\\u007f")}function Vi(e,t,r,n){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");if(t==="number")return isNaN(e)?"nan":e===1/0?"inf":e===-1/0?"-inf":n&&Number.isInteger(e)?e.toFixed(1):e.toString();if(t==="bigint"||t==="boolean")return e.toString();if(t==="string")return Gi(e);if(t==="date"){if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString()}if(t==="object")return Bg(e,r,n);if(t==="array")return qg(e,r,n)}function Bg(e,t,r){let n=Object.keys(e);if(n.length===0)return "{}";let s="{ ";for(let i=0;i<n.length;i++){let o=n[i];i&&(s+=", "),s+=kc.test(o)?o:Gi(o),s+=" = ",s+=Vi(e[o],Er(e[o]),t-1,r);}return s+" }"}function qg(e,t,r){if(e.length===0)return "[]";let n="[ ";for(let s=0;s<e.length;s++){if(s&&(n+=", "),e[s]===null||e[s]===void 0)throw new TypeError("arrays cannot contain null or undefined values");n+=Vi(e[s],Er(e[s]),t-1,r);}return n+" ]"}function Hg(e,t,r,n){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let s="";for(let i=0;i<e.length;i++)s+=`${s&&`
|
|
35
35
|
`}[[${t}]]
|
|
36
|
-
`,
|
|
37
|
-
`)+
|
|
38
|
-
`)+
|
|
39
|
-
`;}}return
|
|
40
|
-
${
|
|
41
|
-
${
|
|
42
|
-
`?
|
|
43
|
-
`:
|
|
44
|
-
`);}),
|
|
45
|
-
`);}var
|
|
36
|
+
`,s+=Ki(0,e[i],t,r,n);return s}function Ki(e,t,r,n,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",o="",a=Object.keys(t);for(let l=0;l<a.length;l++){let c=a[l];if(t[c]!==null&&t[c]!==void 0){let u=Er(t[c]);if(u==="symbol"||u==="function")throw new TypeError(`cannot serialize values of type '${u}'`);let p=kc.test(c)?c:Gi(c);if(u==="array"&&Ug(t[c]))o+=(o&&`
|
|
37
|
+
`)+Hg(t[c],r?`${r}.${p}`:p,n-1,s);else if(u==="object"){let f=r?`${r}.${p}`:p;o+=(o&&`
|
|
38
|
+
`)+Ki(f,t[c],f,n-1,s);}else i+=p,i+=" = ",i+=Vi(t[c],u,n,s),i+=`
|
|
39
|
+
`;}}return e&&(i||!o)&&(i=i?`[${e}]
|
|
40
|
+
${i}`:`[${e}]`),i&&o?`${i}
|
|
41
|
+
${o}`:i||o}function Yi(e,{maxDepth:t=1e3,numbersAsFloat:r=false}={}){if(Er(e)!=="object")throw new TypeError("stringify can only be called with an object");let n=Ki(0,e,"",t,r);return n[n.length-1]!==`
|
|
42
|
+
`?n+`
|
|
43
|
+
`:n}var kc,Nc=y(()=>{kc=/^[a-z0-9-_]+$/i;});var _r=y(()=>{Pc();Nc();qi();Et();});var $e,Vt=y(()=>{$e={config_dir:"supabase",default_api_port:54321,default_config_format:"toml",default_config_path:"config.toml",default_db_url:"file:supabase/.temp/data.db",default_db_dir:"supabase/.temp/data"};});async function zg(e=""){try{let t=z__default.resolve(Vn(),z__default.join(e,"package.json")),r=await fe__default.readFile(t,"utf-8");if(r)return JSON.parse(r)}catch{}return {}}async function Gn(e=""){let t=await zg(e);return t?{name:t.name,version:t.version??"unknown"}:{name:"unknown",version:"unknown"}}function Vn(){let e=z__default.dirname(fileURLToPath(import.meta.url));return z__default.resolve(e,process.env.LOCAL?"../../../":"../../")}function Ji(){return z__default.resolve(Vn(),"dist")}function Kn(){return z__default.relative(process.cwd(),Ji())}async function xr(e){let t=z__default.relative(process.cwd(),$e.config_dir);if(!e)for(let r of Gg){let n=z__default.join(t,`config.${r}`);if(await fe__default.access(n).then(()=>true).catch(()=>false)){e=n;break}}return e}async function Q(e){await xr(e)||(console.error(zn.default.red("No project found. Run `lite init` first.")),process.exit(1));}async function Oc(e){let t=await xr(e);if(!t)return {};switch(console.log(zn.default.dim(`Using config file: ${zn.default.cyan(`./${t}`)}`)),t.split(".").pop()){case "toml":return _t(await fe__default.readFile(t,"utf-8"));case "json":return JSON.parse(await fe__default.readFile(t,"utf-8"));case "ts":case "mts":case "js":case "mjs":case "cjs":try{return (await import(z__default.join(process.cwd(),t))).default}catch(n){throw console.error("Failed to import config file",n),n}default:throw new Error(`Unsupported config file type: ${t}`)}}function Ic(e){if(!e||e===":memory:")return;let t=e;if(t.startsWith("file://")?t=t.slice(7):t.startsWith("file:")&&(t=t.slice(5)),!(!t||t===":memory:"))return z__default.resolve(process.cwd(),t)}var zn,Gg,Ee=y(()=>{_r();Vt();zn=te(ie());Gg=["toml","json","ts","mts","js","mjs","cjs"];});async function Yn(e={}){let t=process.cwd();if(e.recreate){console.log(Qi.default.dim("Recreating database..."));try{let n=await xr();if(n&&!/\.(ts|mts|js|mjs|cjs)$/.test(n)){let i=(await Oc(n))?.db?.url,o=i?Ic(i):void 0;o&&Mn.existsSync(o)&&(Mn.rmSync(o,{recursive:!0,force:!0}),console.log(Qi.default.dim(` \u279C removed ${z__default.relative(t,o)}`)));}}catch{}try{Mn.rmSync(z__default.join(t,"supabase",".temp"),{recursive:!0,force:!0});}catch{}}if(Pe(z__default.join(t,"supabase")),!await xr()){let n={db:{driver:"sqlite-postgres",url:"file:./supabase/.temp/data.db"},auth:{enabled:true}};e.driver==="pglite"&&(n.db.driver="pglite",n.db.url=z__default.relative(process.cwd(),z__default.join(t,"supabase",".temp","data")));let s=e.configFormat??"toml",i=z__default.join(t,"supabase",`config.${s}`);s==="json"?bt(i,JSON.stringify(n)):bt(i,Yi(n));}Pe(z__default.join(t,"supabase",".temp")),Pe(z__default.join(t,"supabase","schemas"),()=>{bt(z__default.join(t,"supabase","schemas","schema.sql"),e.template?Vg:`-- This is a schema file for the database
|
|
44
|
+
`);}),bt(z__default.join(t,"supabase","seed.sql"),e.template?Kg:`-- This is a seed file for the database
|
|
45
|
+
`);}var Qi,Vg,Kg,Zi=y(()=>{St();Qi=te(ie());_r();Ee();Vg=`
|
|
46
46
|
create table todos (
|
|
47
47
|
id serial primary key,
|
|
48
48
|
title text not null,
|
|
@@ -55,47 +55,18 @@ create table todos (
|
|
|
55
55
|
create table test (
|
|
56
56
|
id serial primary key,
|
|
57
57
|
name text not null
|
|
58
|
-
)`,
|
|
58
|
+
)`,Kg="insert into todos (`id`, `title`, `description`, `completed`) values (1, 'test', 'test', false);\ninsert into todos (`id`, `title`, `description`, `completed`) values (2, 'test2', 'test2', true);\ninsert into test (`id`, `name`) values (1, 'test');\n";});var Dc={};de(Dc,{init:()=>Yg});var eo,Yg,jc=y(()=>{eo=te(ie());Zi();Yg=e=>{e.command("init").description("Initialize a new project").helpGroup("Local Development:").option("--pglite","Use pglite as database",false).option("--recreate","Recreate everything",false).option("--format","Format to use","toml").action(async t=>{await Yn({configFormat:t.format,recreate:t.recreate,driver:t.pglite?"pglite":void 0}),console.log(),console.log(eo.default.green(" \u279C"),"Project initialized",eo.default.cyan("./"+z__default.relative(process.cwd(),z__default.join(process.cwd(),"supabase"))));});};});var Fc=y(()=>{});var Mc=y(()=>{});function to(e,t,r=void 0){let n=typeof t=="string"?t.split(/[.[\]"]+/).filter(s=>s):t;if(n.length===0)return e;try{let[s,...i]=n;return !s||!(s in e)?r:to(e[s],i,r)}catch{if(typeof r<"u")return r;throw new Error(`Invalid path: ${n.join(".")}`)}}var Uc=y(()=>{});var Bc=y(()=>{});function Jn(){try{return !vr()&&global?.process?.release?.name==="node"}catch{return false}}function vr(){try{return typeof Bun<"u"}catch{return false}}async function Xn(e,t){let r=performance.now();await e();let n=performance.now();t(n-r);}var qc=y(()=>{});function Hc(e,t={}){return e.split(`
|
|
59
59
|
`).map(r=>r.trim()).filter(r=>r.length>0).filter(r=>!r.startsWith(t.comments??"--")).join(`
|
|
60
|
-
`)}function
|
|
61
|
-
`;)r+=
|
|
62
|
-
`;)r++;continue}if(i==="/"&&n==="*"){for(r+=2;r<e&&!(s[r]==="*"&&s[r+1]==="/");)r++;r+=2;continue}t+=i,r++;}return t.trim()}function pa(s){return (s??"").trim().toLowerCase()}function fa(s){return (s??"").replace(/\s+/g," ").replace(/"/g,"").trim().toLowerCase()}function ha(s){if(s==null)return null;let t=s.trim();for(;t.startsWith("(")&&t.endsWith(")");)t=t.slice(1,-1).trim();return (t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),t}var Ls=y(()=>{});function _E(s,t,r=void 0){let e=typeof t=="string"?cc(t):da(t);return oi(s,e,r)}function oi(s,t,r=void 0){let e=typeof t=="string"?t.split(/[.\[\]\"]+/).filter(i=>i):t;if(e.length===0)return s;try{let[i,...n]=e;return !i||!(i in s)?r:oi(s[i],n,r)}catch{if(typeof r<"u")return r;throw new Error(`Invalid path: ${e.join(".")}`)}}function OE(s){return s===null}function Et(s){return !Array.isArray(s)&&typeof s=="object"&&s!==null}function NE(s){return Object.prototype.toString.call(s)==="[object Object]"}function Xt(s){return typeof s=="string"}function re(s){return typeof s=="number"}function IE(s){return typeof s=="number"&&Number.isInteger(s)}function ya(s){return typeof s=="boolean"}function fe(s){return Array.isArray(s)}function LE(s){return typeof s!="boolean"}function $E(s){return s!==void 0&&LE(s)&&"type"in s}function Nt(s){return s!==void 0&&Et(s)&&Ot in s}function PE(s){return Nt(s)&&typeof s.toJSON()=="boolean"}function DE(s,t,r){if(!s)throw new vE(t,r)}function pc(s){return Xt(s)?s.normalize("NFC"):s}function $s(s,t){let r=typeof s;if(r!==typeof t)return false;if(Array.isArray(s)){if(!Array.isArray(t))return false;let e=s.length;if(e!==t.length)return false;for(let i=0;i<e;i++)if(!$s(s[i],t[i]))return false;return true}if(r==="object"){if(!s||!t)return s===t;let e=Object.keys(s),i=Object.keys(t);if(e.length!==i.length)return false;for(let n of e)if(!$s(s[n],t[n]))return false;return true}return s===t}function kE(s,t){return t.reduce((r,e)=>(e in s&&(r[e]=s[e]),r),{})}function fc(s){try{return structuredClone(s)}catch{return s}}function xE(s,t,r={}){let e=t;try{e=structuredClone(t);}catch{e=JSON.parse(JSON.stringify(t));}let i={resolver:r.resolver||new Ta(s),depth:r.depth||0,dropUnknown:r.dropUnknown??false};return i.resolver.hasRef(s,e)?i.resolver.resolve(s.$ref).coerce(e,{...i,depth:i.depth+1}):e}function li(s,t,r={}){return s.map(e=>e.validate(t,ai(r)).valid?e:void 0).filter(Boolean)}function gS(s,t,r={}){let e={keywordPath:r.keywordPath||[],instancePath:r.instancePath||[],coerce:r.coerce||false,errors:r.errors||[],shortCircuit:r.shortCircuit||false,ignoreUnsupported:r.ignoreUnsupported||false,resolver:r.resolver||s.getResolver?.()||new Ta(s),depth:r.depth?r.depth+1:0,skipClone:r.skipClone||false},i;if(r?.coerce&&s.coerce){let n=s.coerce(t,{resolver:e.resolver,depth:e.depth});i=e.skipClone?n:structuredClone(n);}else i=e.skipClone?t:structuredClone(t);if(r.ignoreUnsupported!==true){let n=["$defs"];for(let a of n)if(s[a])throw new Error(`${a} not implemented`)}if(e.resolver.hasRef(s,i)){let n=e.resolver.resolve(s.$ref).validate(i,{...e,errors:[]});n.valid||e.errors.push(...n.errors);}else {let n={keywordPath:e.keywordPath,instancePath:e.instancePath,coerce:e.coerce,errors:[],shortCircuit:e.shortCircuit,ignoreUnsupported:e.ignoreUnsupported,resolver:e.resolver,depth:e.depth};for(let a in s)if(a==="type"&&s.type!==void 0){if(i!==void 0){let o=ma[a];if(o){n.errors=[];let l=o(s,i,n);if(!l.valid){if(r.shortCircuit)return l;e.errors.push(...l.errors);}}}}else if(a in ma&&s[a]!==void 0){if(i===void 0)continue;let o=ma[a];if(o){n.errors=[];let l=o(s,i,n);if(!l.valid){if(r.shortCircuit)return l;e.errors.push(...l.errors);}}}}return {valid:e.errors.length===0,errors:e.errors}}function ui(s,t,r){return new class extends ie{type=s}(t,r)}function Ea(s){return new dS(s)}function lc(s,t){return Array.isArray(s)?s.map(t):s!==void 0?[t(s)]:[]}function uc(s,t,r=e=>e){return Object.fromEntries(Object.entries(s).map(([e,i])=>[e,r(t(i,e),e)]))}function Xe(s){if(ya(s))return Ea(s);let t=structuredClone(s);if(!Et(t))throw new RE("non-object schemas cannot be converted to a schema",t);"properties"in t&&t.properties&&(t.properties=uc(t.properties,(n,a)=>{try{return Xe(n)}catch(o){throw new Error(`Couldn't schemaize property "${a}": ${String(o)}`)}},(n,a)=>"required"in t&&Array.isArray(t.required)&&t.required.includes(a)?n:n.optional()));let r=["patternProperties","dependentSchemas","$defs"];for(let n of r)n in t&&t[n]&&(t[n]=uc(t[n],Xe));let e=["additionalProperties","items","prefixItems","propertyNames","contains","not","if","then","else"];for(let n of e)n in t&&typeof t[n]<"u"&&(fe(t[n])?t[n]=lc(t[n],Xe):t[n]=Xe(t[n]));let i=["anyOf","oneOf","allOf"];for(let n of i)if(n in t){let{[n]:a}=t;t[n]=lc(a,Xe);}if($E(t))switch(t.type){case "string":return mc(t);case "number":return dc(t);case "integer":return Ec(t);case "boolean":return yc(t);case "object":{let{properties:n,...a}=t;return ci(n,a)}case "array":{let{items:n,...a}=t;return Sc(n,a)}}return hc(t)}function NS(){return {type(s){let t=s.map(r=>Array.isArray(r)?new Set(r):new Set([r])).reduce((r,e)=>r?new Set([...r].filter(i=>e.has(i))):new Set(e));if(!t.size)throw new Error('Incompatible "type" in allOf');return t.size===1?[...t][0]:[...t]},enum(s){let t=s.map(r=>new Set(r)).reduce((r,e)=>new Set([...r].filter(i=>e.has(i))));if(!t.size)throw new Error('Incompatible "enum" in allOf');return [...t]},required(s){return [...new Set(s.flat())]},properties(s,t,r){return s.reduce((e,i)=>r(e,i),{})},patternProperties(s,t,r){return s.reduce((e,i)=>r(e,i),{})},$defs(s,t,r){return s.reduce((e,i)=>r(e,i),{})},definitions(s,t,r){return s.reduce((e,i)=>r(e,i),{})},...Object.fromEntries(vS.map(s=>[s,t=>Math.min(...t)])),...Object.fromEntries(OS.map(s=>[s,t=>Math.max(...t)]))}}function IS(s){let t={...NS(),...s.resolvers};function r(e,i){if(Array.isArray(e)&&Array.isArray(i))return [...new Set([...e,...i])];if(Sa(e)&&Sa(i)){let n={...e};for(let[a,o]of Object.entries(i))if(a in n){let l=t[a];n[a]=l?l([n[a],o],a,r):ga(o);}else n[a]=ga(o);return n}return ga(i)}return r}function $S(s,t={}){let r=t.deep!==false,e=IS(t);function i(n){if(Array.isArray(n))return n.map(i);if(!Sa(n))return n;if(Array.isArray(n.allOf)){let o=n.allOf.map(i);if(o.some(d=>d===false))return false;let l=o.filter(d=>d!==true);if(!l.length)return true;let u=l.reduce((d,m)=>e(d,m),{}),c=LS(u);if(c!==null)return c;let p={...n};delete p.allOf;let f=e(u,r?i(p):p);return r?i(f):f}let a={};for(let[o,l]of Object.entries(n))a[o]=i(l);return a}return i(s)}var da,cc,st,F,Qe,ai,Re,RE,vE,Ot,Ta,jE,FE,UE,ME,BE,qE,GE,WE,HE,VE,JE,YE,KE,zE,XE,QE,ZE,tS,eS,sS,rS,iS,nS,aS,oS,lS,uS,cS,pS,fS,hS,oc,mS,ma,ie,Ps,dS,hc,ES,SS,ci,yS,TS,wS,bS,AS,mc,gc,dc,Ec,CS,Sc,yc,ni,Tc,_S,RS,Sa,ga,vS,OS,LS,PS,wc,DS,kS,xS,bc,Ac=y(()=>{da=(s=[],t="")=>"/"+[t,...s.map(r=>String(r).replace(/\./g,"/"))].filter(Boolean).join("/"),cc=s=>s.split("/").slice(1);st=(s={},t,r,e)=>({valid:false,errors:[...s.errors??[],{keywordLocation:da([...s.keywordPath??[],t]),instanceLocation:da(s.instancePath),error:typeof r=="string"?r:`Invalid value for ${t}`,data:e}]}),F=()=>({valid:true,errors:[]}),Qe=(s,t,r)=>{let e=Array.isArray(t)?t:[t],i=r?Array.isArray(r)?r:[r]:[];return {...s,keywordPath:[...s.keywordPath??[],...e],instancePath:i?[...s.instancePath??[],...i]:s.instancePath}},ai=(s={})=>({...s,errors:[]}),Re=class extends Error{constructor(s){super(`Expected ${s}`);}},RE=class extends Error{constructor(s,t){super(`${s??"Invalid raw schema"}: ${JSON.stringify(t)}`),this.schema=t;}},vE=class extends Error{constructor(s,t){super(`${s}, got: 'type "${typeof t}": ${JSON.stringify(t)}'`),this.value=t;}},Ot=Symbol.for("jsonv-ts:schema");Ta=class{constructor(s){this.root=s,this.cache=new Map;}cache;hasRef(s,t){return t!==void 0&&"$ref"in s&&Xt(s.$ref)}resolve(s){let t=this.cache.get(s);if(!t){if(t=_E(this.root,s),!Nt(t))throw new Error(`ref not found: ${s}`);if("$ref"in t&&t.$ref===s)throw new Error(`ref loop: ${s}`);this.cache.set(s,t);}return t}};jE=({type:s},t,r={})=>{if(s===void 0||t===void 0)return F();let e,i={string:Xt,number:re,integer:IE,object:Et,array:fe,boolean:ya,null:OE};if(Array.isArray(s)){for(let n of s){if(!(n in i))throw new Re(`Unknown type: ${n}`);if(i[n](t))return F()}e=`Expected one of: ${s.join(", ")}`;}else {if(!(s in i))throw new Re(`Unknown type: ${s}`);i[s](t)||(e=`Expected ${s}`);}return e?st(r,"type",e,t):F()},FE=({const:s},t,r={})=>$s(s,t)?F():st(r,"const",`Expected const: ${s}`,t),UE=({enum:s=[]},t,r={})=>s.some(e=>$s(e,t))?F():st(r,"enum",`Expected enum: ${JSON.stringify(s)}`,t);ME=({anyOf:s=[]},t,r={})=>li(s,t,r).length>0?F():st(r,"anyOf","Expected at least one to match",t),BE=({oneOf:s=[]},t,r={})=>li(s,t).length===1?F():st(r,"oneOf","Expected exactly one to match",t),qE=({allOf:s=[]},t,r={})=>li(s,t,r).length===s.length?F():st(r,"allOf","Expected all to match",t),GE=({not:s},t,r={})=>t===void 0?F():Nt(s)&&s.validate(t,r).valid?st(r,"not","Expected not to match",t):F(),WE=({if:s,then:t,else:r},e,i={})=>{if(s&&(t||r)){if(s.validate(e,ai(i)).valid)return t?t.validate(e,ai(i)):F();if(r)return r.validate(e,ai(i))}return F()},HE=({pattern:s=""},t,r={})=>{if(!Xt(t))return F();if(s instanceof RegExp){if(s.test(t))return F()}else if(new RegExp(s,"u").test(t))return F();return st(r,"pattern",`Expected string matching pattern ${s}`,t)},VE=({minLength:s=0},t,r={})=>Xt(t)?[...pc(t)].length>=s?F():st(r,"minLength",`Expected string with minimum length of ${s}`,t):F(),JE=({maxLength:s=0},t,r={})=>Xt(t)?[...pc(t)].length<=s?F():st(r,"maxLength",`Expected string with maximum length of ${s}`,t):F(),YE=({multipleOf:s=0},t,r={})=>{if(!re(t))return F();if(!(Number.isFinite(t)&&Number.isFinite(s))||s<=0)throw new Re("number");let e=t/s,i=Number.EPSILON*Math.max(1,Math.abs(e));return Math.abs(e-Math.round(e))<=i?F():st(r,"multipleOf",`Expected number being a multiple of ${s}`,t)},KE=({maximum:s=0},t,r={})=>!re(t)||t<=s?F():st(r,"maximum",`Expected number less than or equal to ${s}`,t),zE=({exclusiveMaximum:s=0},t,r={})=>!re(t)||t<s?F():st(r,"exclusiveMaximum",`Expected number less than ${s}`,t),XE=({minimum:s=0},t,r={})=>!re(t)||t>=s?F():st(r,"minimum",`Expected number greater than or equal to ${s}`,t),QE=({exclusiveMinimum:s=0},t,r={})=>!re(t)||t>s?F():st(r,"exclusiveMinimum",`Expected number greater than ${s}`,t),ZE=({properties:s={}},t,r={})=>{if(!Et(t))return F();for(let[e,i]of Object.entries(t)){let n=s[e];if(!Nt(n))continue;let a=n.validate(i,Qe(r,["properties",e],e));if(!a.valid)return a}return F()},tS=({properties:s={},additionalProperties:t,patternProperties:r},e,i={})=>{if(!Et(e))return F();if(!Nt(t))throw new Re("additionalProperties must be a boolean or a managed schema");let n=Object.keys(s),a=Et(r)?Object.keys(e).filter(l=>Object.keys(r).some(u=>new RegExp(u).test(l))):[],o=Object.keys(e).filter(l=>!n.includes(l)&&!a.includes(l));if(o.length>0){if(PE(t)){if(t.toJSON()===true)return F();let l=o.reduce((u,c)=>(u[c]=e[c],u),{});return st(i,"additionalProperties","Additional properties are not allowed",l)}else if(Nt(t))for(let l of o){let u=t.validate(e[l],Qe(i,["additionalProperties"],l));if(!u.valid)return u}}return F()},eS=({dependentRequired:s},t,r={})=>{if(!Et(t))return F();let e=Object.keys(t).filter(i=>typeof t[i]!="function");if(Et(s)){for(let[i,n]of Object.entries(s))if(e.includes(i)){for(let a of n)if(!e.includes(a))return st(r,"dependentRequired",`Expected dependent required property ${a}`,t)}}return F()},sS=({required:s=[]},t,r={})=>{if(!Et(t))return F();let e=Object.keys(t).filter(i=>typeof t[i]!="function");return s.every(i=>e.includes(i))?F():st(r,"required",`Expected object with required properties ${s.join(", ")}`,t)},rS=({dependentSchemas:s},t,r={})=>{if(!Et(t))return F();let e=Object.keys(t).filter(i=>typeof t[i]!="function");if(Et(s)){for(let[i,n]of Object.entries(s))if(e.includes(i)){let a=n.validate(t,r);if(!a.valid)return a}}return F()},iS=({minProperties:s=0},t,r={})=>Et(t)?Object.keys(t).length>=s?F():st(r,"minProperties",`Expected object with at least ${s} properties`,t):F(),nS=({maxProperties:s=0},t,r={})=>!Et(t)||Object.keys(t).length<=s?F():st(r,"maxProperties",`Expected object with at most ${s} properties`,t),aS=({patternProperties:s={}},t,r={})=>{if(!Et(t))return F();if(!Et(s))throw new Re("patternProperties must be an object");for(let[e,i]of Object.entries(t))for(let[n,a]of Object.entries(s))if(new RegExp(n,"u").test(e)){let o=a.validate(i,Qe(r,["patternProperties"],e));if(!o.valid)return o}return F()},oS=({propertyNames:s},t,r={})=>{if(!Et(t)||s===void 0)return F();if(!Nt(s))throw new Re("propertyNames must be a managed schema");for(let e of Object.keys(t)){let i=s.validate(e,Qe(r,["propertyNames"],e));if(!i.valid)return i}return F()},lS=({items:s,prefixItems:t=[]},r,e={})=>{if(!fe(r)||s===void 0)return F();if(!Nt(s))throw new Re("items must be a managed schema");for(let[i,n]of r.slice(t.length).entries()){let a=s.validate(n,Qe(e,["items"],String(i)));if(!a.valid)return a}return F()},uS=({minItems:s=0},t,r={})=>!fe(t)||t.length>=s?F():st(r,"minItems",`Expected array with at least ${s} items`,t),cS=({maxItems:s=0},t,r={})=>!fe(t)||t.length<=s?F():st(r,"maxItems",`Expected array with at most ${s} items`,t),pS=({uniqueItems:s=false},t,r={})=>{if(!fe(t)||!s)return F();for(let e=0;e<t.length;e++){let i=t[e];for(let n=0;n<t.length;n++){if(e===n)continue;let a=t[n];if($s(i,a))return st(r,"uniqueItems",`Duplicated items at index ${e} and ${n}`,t)}}return F()},fS=({contains:s,minContains:t,maxContains:r},e,i={})=>{if(!Nt(s))throw new Error("contains must be a managed schema");if(!fe(e))return F();let n=e.filter(a=>s.validate(a).valid).length;return n<(t??1)?st(i,t?"minContains":"contains",`Expected array to contain at least ${t??1}, but found ${n}`,e):r!==void 0&&n>r?st(i,"maxContains",`Expected array to contain at most ${r}, but found ${n}`,e):F()},hS=({prefixItems:s=[]},t,r={})=>{if(!fe(t))return F();for(let e=0;e<t.length;e++){let i=s[e]?.validate(t[e],Qe(r,String(e),String(e)));if(i&&i?.valid!==true)return i}return F()},oc={email:s=>{if(s.length>318)return false;if(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,20}(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,21}){0,2}@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,60}[a-z0-9])?){0,3}$/i.test(s))return true;if(!s.includes("@")||/(^\.|^"|\.@|\.\.)/.test(s))return false;let[t,r,...e]=s.split("@");return !t||!r||e.length!==0||t.length>64||r.length>253||!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?false:r.split(".").every(i=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(i))},hostname:s=>s.length>(s.endsWith(".")?254:253)?false:/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*\.?$/i.test(s),date:s=>{if(s.length!==10)return false;if(s[5]==="0"&&s[6]==="2"){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)$/.test(s))return true;let t=s.match(/^(\d\d\d\d)-02-29$/);if(!t)return false;let r=Number(t[1]);return r%16===0||r%4===0&&r%25!==0}return s.endsWith("31")?/^\d\d\d\d-(?:0[13578]|1[02])-31$/.test(s):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)$/.test(s)},time:s=>{if(s.length>27||!/^(?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)?$/i.test(s))return false;if(!/:60/.test(s))return true;let t=s.match(/([0-9.]+|[^0-9.])/g);if(!t)return false;let r=Number(t[0])*60+Number(t[2]);return t[5]==="+"?r+=1440-Number(t[6]||0)*60-Number(t[8]||0):t[5]==="-"&&(r+=Number(t[6]||0)*60+Number(t[8]||0)),r%1440===1439},"date-time":s=>{if(s.length>38)return false;let t=/^\d\d\d\d-(?:0[1-9]|1[0-2])-(?:[0-2]\d|3[01])[t\s](?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)$/i,r=s[5]==="0"&&s[6]==="2";if(r&&s[8]==="3"||!t.test(s))return false;if(s[17]==="6"){let e=s.slice(11).match(/([0-9.]+|[^0-9.])/g);if(!e)return false;let i=Number(e[0])*60+Number(e[2]);if(e[5]==="+"?i+=1440-Number(e[6]||0)*60-Number(e[8]||0):e[5]==="-"&&(i+=Number(e[6]||0)*60+Number(e[8]||0)),i%1440!==1439)return false}if(r){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)/.test(s))return true;let e=s.match(/^(\d\d\d\d)-02-29/);if(!e)return false;let i=Number(e[1]??0);return i%16===0||i%4===0&&i%25!==0}return s[8]==="3"&&s[9]==="1"?/^\d\d\d\d-(?:0[13578]|1[02])-31/.test(s):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)/.test(s)},ipv4:s=>s.length<=15&&/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)$/.test(s),ipv6:s=>{if(s.length>45||s.length<2)return false;let t=0,r=0,e=0,i=false,n=false,a=0,o=true;for(let u=0;u<s.length;u++){let c=s.charCodeAt(u);if(u===1&&a===58&&c!==58)return false;if(c>=48&&c<=57){if(++e>4)return false}else if(c===46){if(t>6||r>=3||e===0||n)return false;r++,e=0;}else if(c===58){if(r>0||t>=7)return false;if(a===58){if(i)return false;i=true;}else u===0&&(o=false);t++,e=0,n=false;}else if(c>=97&&c<=102||c>=65&&c<=70){if(r>0||++e>4)return false;n=true;}else return false;a=c;}if(t<2||r>0&&(r!==3||e===0))return false;if(i&&s.length===2)return true;if(r>0&&!/(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/.test(s))return false;let l=r>0?6:7;return i?(o||e>0)&&t<l:t===l&&o&&e>0},uri:s=>/^[a-z][a-z0-9+\-.]*:(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i.test(s),"uri-reference":s=>/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)?(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i.test(s),"uri-template":s=>/^(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2}|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i.test(s),"json-pointer":s=>/^(?:|\/(?:[^~]|~0|~1)*)$/.test(s),"relative-json-pointer":s=>/^(?:0|[1-9][0-9]*)(?:|#|\/(?:[^~]|~0|~1)*)$/.test(s),uuid:s=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(s),duration:s=>s.length>1&&s.length<80&&(/^P\d+([.,]\d+)?W$/.test(s)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(s)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(s)),regex:s=>{if(/[^\\]\\Z/.test(s))return false;try{return new RegExp(s,"u"),!0}catch{return false}},binary:()=>true,password:()=>true},mS=({format:s},t,r={})=>!Xt(t)||!s?F():oc[s]?oc[s](t)?F():st(r,"format",`Expected format: ${s}`,t):F(),ma={type:jE,const:FE,enum:UE,allOf:qE,anyOf:ME,oneOf:BE,not:GE,minLength:VE,maxLength:JE,pattern:HE,format:mS,minimum:XE,exclusiveMinimum:QE,maximum:KE,exclusiveMaximum:zE,multipleOf:YE,required:sS,dependentRequired:eS,dependentSchemas:rS,minProperties:iS,maxProperties:nS,propertyNames:oS,properties:ZE,patternProperties:aS,additionalProperties:tS,minItems:uS,maxItems:cS,uniqueItems:pS,contains:fS,prefixItems:hS,items:lS,if:WE};ie=class{"~standard";[Ot];_resolver;type;$id;$ref;$schema;title;description;readOnly;writeOnly;$comment;examples;constructor(s,t){let{type:r,validate:e,coerce:i,template:n,...a}=s||{};Object.assign(this,{type:r},a),this[Ot]={raw:s,optional:false,overrides:t},this["~standard"]={version:1,vendor:"jsonv-ts",validate:o=>{let l=this.validate(o);return l.valid?{value:o}:{issues:l.errors.map(u=>({message:u.error,path:cc(u.instanceLocation)}))}}};}template(s,t){let r=this,e=s;if(r.const!==void 0?e=r.const:e===void 0&&(r.default!==void 0&&(e=r.default),t?.withExtendedOptional&&r.enum!==void 0&&(e=r.enum[0])),t?.withOptional!==true&&e===void 0&&this.isOptional())return e;if(this[Ot].raw?.template){let n=this[Ot].raw.template(e,t);n!==void 0&&(e=n);}let i=this[Ot].overrides?.template?.(e,t);return i!==void 0&&(e=i),e}validate(s,t){let r={keywordPath:t?.keywordPath||[],instancePath:t?.instancePath||[],coerce:t?.coerce||false,errors:t?.errors||[],shortCircuit:t?.shortCircuit||false,ignoreUnsupported:t?.ignoreUnsupported||false,resolver:t?.resolver||this.getResolver(),depth:t?.depth?t.depth+1:0,skipClone:t?.skipClone??true},e=this[Ot].raw?.validate;if(e!==void 0){let i=e(s,r);if(!i.valid)return i}return gS(this,s,r)}coerce(s,t){let r={...t,resolver:t?.resolver||this.getResolver(),depth:t?.depth?t.depth+1:0,dropUnknown:t?.dropUnknown??false},e=this[Ot].raw?.coerce;if(e!==void 0)return e(s,r);let i=this[Ot].overrides?.coerce?.(s,r)??s;return xE(this,i,r)}optional(){return this[Ot].optional=true,this}isOptional(){return this[Ot].optional}getResolver(){return this._resolver||(this._resolver=new Ta(this)),this._resolver}children(s){return []}*walk({instancePath:s=[],keywordPath:t=[],data:r,maxDepth:e=Number.POSITIVE_INFINITY,...i}={}){let n=s.length===0&&r?fc(r):r;if(i.includeSelf!==false&&(yield new Ps(this,{instancePath:s,keywordPath:t,data:n,...i})),!(s.length>=e))for(let a of this.children(i)){let o=[...s,...a.instancePath];yield*a.schema.walk({...i,data:n,maxDepth:e,instancePath:o,keywordPath:[...t,...a.keywordPath]});}}*[Symbol.iterator](s){for(let t of this.walk(s))yield t;}toJSON(){let{toJSON:s,"~standard":t,_resolver:r,...e}=this;return JSON.parse(JSON.stringify(e))}},Ps=class{constructor(s,t={}){this.schema=s,this.instancePath=t.instancePath||[],this.keywordPath=t.keywordPath||[],this.depth=this.instancePath.length;try{if(t.data!==void 0){let r=oi(t.data,this.instancePath);s.validate(r).valid&&(this.data=r);}}catch{}}instancePath;keywordPath;data;depth;appendInstancePath(s){return this.instancePath=[...this.instancePath,...s],this}appendKeywordPath(s){return this.keywordPath=[...this.keywordPath,...s],this}setData(s){return this.data=s,this}};dS=class extends ie{constructor(s){super(),this.bool=s;}toJSON(){return this.bool}validate(s,t){return this.bool?F():st(t,"","Always fails",s)}};hc=s=>ui(s?.type,s),ES=(s,t)=>ui(void 0,{...t,const:s}),SS=class extends ie{type="object";properties;required;constructor(s,t){let r=[];for(let[i,n]of Object.entries(s||{}))DE(Nt(n),"properties must be managed schemas",n),n[Ot].optional||r.push(i);let e=t?.additionalProperties===false?Ea(false):t?.additionalProperties;r=r.length>0?r:void 0,super({...t,additionalProperties:e,properties:s,required:r},{template:(i,n)=>{let a=structuredClone(Et(i)?i:{}),o={...a};if(this.properties)for(let[l,u]of Object.entries(this.properties)){let c=oi(a,l);if(u.isOptional()&&n?.withOptional!==true&&c===void 0&&i===void 0)continue;let p=u.template(c,n);p!==void 0&&(o[l]=p);}if(!(Object.keys(o).length===0&&!n?.withExtendedOptional))return o},coerce:(i,n)=>{let a=Object.keys(this.properties),o=fc(i),l=a.length>0&&Object.values(this.properties).every(c=>!c[Ot].optional);if(NE(o)&&(n?.dropUnknown===true||l)&&(o=kE(o,a)),typeof o=="string"&&o.match(/^\{/)&&(o=JSON.parse(o)),typeof o!="object"||o===null)return;if(this.properties)for(let[c,p]of Object.entries(this.properties)){let f=o[c];f!==void 0&&(o[c]=p.coerce(f,n));}let u=this.additionalProperties;if(n?.dropUnknown!==true&&(!u||u.validate(null).valid)){let c=Et(i)?i:{},p=Object.keys(c).filter(f=>!a.includes(f));for(let f of p)o[f]=u?u.coerce(c[f],n):c[f];}return o}}),this.properties=s,this.required=r;}strict(){return this.additionalProperties=Ea(false),this[Ot].raw.additionalProperties=false,this}partial(){for(let[,s]of Object.entries(this.properties))s[Ot].optional=true;return this.required=void 0,this}children(s){let t=[];for(let[r,e]of Object.entries(this.properties)){let i=new Ps(e,s);i.appendInstancePath([r]),i.appendKeywordPath(["properties",r]),t.push(i);}return t}},ci=(s,t)=>new SS(s,t),yS=(s,t)=>ci(s,t).strict(),TS=(s,t)=>ci(s,t).partial(),wS=class extends ie{type="object";additionalProperties;constructor(s,t){super({...t,additionalProperties:s},{template:(r,e)=>e?.withExtendedOptional&&(r===void 0||!Et(r))?{}:r}),this.additionalProperties=s;}children(s){let t=[],r=new Ps(this.additionalProperties,s);return r.appendKeywordPath(["additionalProperties"]),t.push(r),t}},bS=(s,t)=>new wS(s,t),AS=class extends ie{type="string";constructor(s){super(s,{template:(t,r)=>r?.withExtendedOptional&&(t===void 0||!Xt(t))?"":t,coerce:t=>re(t)?String(t):t});}toJSON(){let{pattern:s,"~standard":t,_resolver:r,...e}=this;return JSON.parse(JSON.stringify({...e,pattern:s instanceof RegExp?s.source:s}))}},mc=s=>new AS(s),gc=(s,t,r)=>ui(s,r,{template:(e,i)=>i?.withExtendedOptional&&(e===void 0||!re(e))?r?.minimum??0:e,coerce:e=>{if(Xt(e)){let i=t.parseFn(e);if(!Number.isNaN(i))return i}return e}}),dc=s=>gc("number",{parseFn:Number},s),Ec=s=>gc("integer",{parseFn:Number.parseInt},s),CS=class extends ie{constructor(s,t={}){super({...t,items:s},{template:r=>r===void 0||!Array.isArray(r)?[]:r,coerce:(r,e)=>{try{let i=typeof r=="string"?JSON.parse(r):r;if(!Array.isArray(i))return;if(Nt(this.items))for(let[n,a]of i.entries())i[n]=this.items.coerce(a,e);return i}catch{}return r}}),this.items=s,this.items=s;}type="array";children(s){let t=[];if(this.items){let r=new Ps(this.items,s);r.appendKeywordPath(["items"]),t.push(r);}return t}},Sc=(s,t)=>new CS(s,t),yc=s=>ui("boolean",s,{template:(t,r)=>r?.withExtendedOptional&&(t===void 0||!ya(t))?false:t,coerce:t=>{if(Xt(t)&&["true","false","1","0"].includes(t))return t==="true"||t==="1";if(re(t)){if(t===1)return true;if(t===0)return false}return t}}),ni=Symbol.for("unionType"),Tc=class extends ie{[ni];constructor(s,t,r){super({...r,[t]:s},{coerce:(e,i)=>{let n=r?.coerce;if(n!==void 0)return n.bind(this)(e,i);let a=li(s,e,{ignoreUnsupported:true,resolver:i?.resolver,coerce:true});return a.length>0?a[0].coerce(e,i):e}}),this[ni]=t;}get schemas(){return this[this[ni]]}children(s){let t=[];for(let[r,e]of this.schemas.entries()){let i=new Ps(e,s);i.appendKeywordPath([this[ni],r]),t.push(i);}return t}},_S=(s,t)=>new Tc(s,"anyOf",t),RS=(s,t)=>new Tc(s,"oneOf",t);Sa=s=>typeof s=="object"&&s!==null&&!Array.isArray(s),ga=s=>typeof globalThis.structuredClone=="function"?globalThis.structuredClone(s):JSON.parse(JSON.stringify(s)),vS=["maximum","exclusiveMaximum","maxLength","maxItems","maxProperties"],OS=["minimum","exclusiveMinimum","minLength","minItems","minProperties"];LS=s=>s===true||s===false?s:null;PS=(s,t)=>{let r=JSON.parse(JSON.stringify({...t,allOf:s}));return Xe($S(r))},wc=class extends ie{$ref;constructor(s,t){if(!t&&!Nt(s))throw new Error("Ref not set");if(Nt(s)&&!s.$id)throw new Error("Ref must have an $id");let r=t??s?.$id;super({$ref:r},{coerce:(e,i)=>{let n=i?.resolver?.resolve(this.$ref);if(!Nt(n))throw new Error(`Ref not found: ${this.$ref}`);return n.coerce(e,i)}}),this.$ref=r;}},DS=(s,t)=>new wc(s,t),kS=s=>new wc(void 0,s),xS=s=>s(new ie({$ref:"#",coerce:(t,r)=>{let e=r?.resolver?.resolve("#");if(!Nt(e))throw new Error("Ref not found: #");return e.coerce(t,r)}})),bc={boolean:yc,any:hc,literal:ES,object:ci,strictObject:yS,partialObject:TS,record:bS,string:mc,number:dc,integer:Ec,array:Sc,anyOf:_S,oneOf:RS,allOf:PS,ref:DS,refId:kS,recursive:xS};});function Cc(s,t){if(typeof s!="string"){throw new Error("Email must be a string");}if(!bc.string({format:"email"}).validate(s).valid){throw new Error("Invalid email");}if(t?.domains?.length&&!t.domains.includes(s.split("@")[1])){throw new Error("Email domain not allowed");}return true}function _c(s,{panic:t=true,length:r=8,numbers:e=0,special:i=0}={}){try{if(typeof s!="string"){if(t)throw new Error("Password must be a string");return !1}if(s.length<r){if(t)throw new Error(`Password must be at least ${r} characters long`);return !1}if((s.match(/[0-9]/g)?.length??0)<e){if(t)throw new Error(`Password must contain at least ${e} numbers`);return !1}if((s.match(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/g)?.length??0)<i){if(t)throw new Error(`Password must contain at least ${i} special characters`);return !1}return !0}catch(n){if(t)throw n;return false}}function B(s,t='"'){return `${t}${s}${t}`}function Rc(s,t,r){if(t instanceof RegExp)return t.test(s);if(typeof t=="string")switch(!r&&t.startsWith("/")&&(r="regex"),r){case "regex":return new RegExp(t).test(s);case "sql":return new RegExp(t.replace("%",".*").replace("_",".")).test(s);case "wildcard":return new RegExp(t.replace("*",".*")).test(s);default:return s.includes(t)}return false}var Ds=y(()=>{Ac();});function wa(s){return typeof s=="number"?s:Number.parseInt(String(s),10)}var vc=y(()=>{});var Oc=y(()=>{});var he=y(()=>{ec();sc();rc();ic();nc();Ls();Ds();vc();Oc();});var ba,Nc=y(()=>{ba=(s,t,r)=>(e,i)=>{let n=-1;return a(0);async function a(o){if(o<=n)throw new Error("next() called multiple times");n=o;let l,u=false,c;if(s[o]?(c=s[o][0][0],e.req.routeIndex=o):c=o===s.length&&i||void 0,c)try{l=await c(e,()=>a(o+1));}catch(p){if(p instanceof Error&&t)e.error=p,l=await t(p,e),u=true;else throw p}else e.finalized===false&&r&&(l=await r(e));return l&&(e.finalized===false||u)&&(e.res=l),e}};});var Ic=y(()=>{});var Lc,$c=y(()=>{Lc=Symbol();});async function jS(s,t){let r=await s.formData();return r?FS(r,t):{}}function FS(s,t){let r=Object.create(null);return s.forEach((e,i)=>{t.all||i.endsWith("[]")?US(r,i,e):r[i]=e;}),t.dot&&Object.entries(r).forEach(([e,i])=>{e.includes(".")&&(MS(r,e,i),delete r[e]);}),r}var Pc,US,MS,Dc=y(()=>{Aa();Pc=async(s,t=Object.create(null))=>{let{all:r=false,dot:e=false}=t,n=(s instanceof pi?s.raw.headers:s.headers).get("Content-Type");return n?.startsWith("multipart/form-data")||n?.startsWith("application/x-www-form-urlencoded")?jS(s,{all:r,dot:e}):{}};US=(s,t,r)=>{s[t]!==void 0?Array.isArray(s[t])?s[t].push(r):s[t]=[s[t],r]:t.endsWith("[]")?s[t]=[r]:s[t]=r;},MS=(s,t,r)=>{let e=s,i=t.split(".");i.forEach((n,a)=>{a===i.length-1?e[n]=r:((!e[n]||typeof e[n]!="object"||Array.isArray(e[n])||e[n]instanceof File)&&(e[n]=Object.create(null)),e=e[n]);});};});var _a,kc,BS,qS,fi,xc,hi,GS,Ra,jc,ve,mi,Ca,Fc,Uc,Mc,va,Ze=y(()=>{_a=s=>{let t=s.split("/");return t[0]===""&&t.shift(),t},kc=s=>{let{groups:t,path:r}=BS(s),e=_a(r);return qS(e,t)},BS=s=>{let t=[];return s=s.replace(/\{[^}]+\}/g,(r,e)=>{let i=`@${e}`;return t.push([i,r]),i}),{groups:t,path:s}},qS=(s,t)=>{for(let r=t.length-1;r>=0;r--){let[e]=t[r];for(let i=s.length-1;i>=0;i--)if(s[i].includes(e)){s[i]=s[i].replace(e,t[r][1]);break}}return s},fi={},xc=(s,t)=>{if(s==="*")return "*";let r=s.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(r){let e=`${s}#${t}`;return fi[e]||(r[2]?fi[e]=t&&t[0]!==":"&&t[0]!=="*"?[e,r[1],new RegExp(`^${r[2]}(?=/${t})`)]:[s,r[1],new RegExp(`^${r[2]}$`)]:fi[e]=[s,r[1],true]),fi[e]}return null},hi=(s,t)=>{try{return t(s)}catch{return s.replace(/(?:%[0-9A-Fa-f]{2})+/g,r=>{try{return t(r)}catch{return r}})}},GS=s=>hi(s,decodeURI),Ra=s=>{let t=s.url,r=t.indexOf("/",t.indexOf(":")+4),e=r;for(;e<t.length;e++){let i=t.charCodeAt(e);if(i===37){let n=t.indexOf("?",e),a=t.indexOf("#",e),o=n===-1?a===-1?void 0:a:a===-1?n:Math.min(n,a),l=t.slice(r,o);return GS(l.includes("%25")?l.replace(/%25/g,"%2525"):l)}else if(i===63||i===35)break}return t.slice(r,e)},jc=s=>{let t=Ra(s);return t.length>1&&t.at(-1)==="/"?t.slice(0,-1):t},ve=(s,t,...r)=>(r.length&&(t=ve(t,...r)),`${s?.[0]==="/"?"":"/"}${s}${t==="/"?"":`${s?.at(-1)==="/"?"":"/"}${t?.[0]==="/"?t.slice(1):t}`}`),mi=s=>{if(s.charCodeAt(s.length-1)!==63||!s.includes(":"))return null;let t=s.split("/"),r=[],e="";return t.forEach(i=>{if(i!==""&&!/\:/.test(i))e+="/"+i;else if(/\:/.test(i))if(/\?/.test(i)){r.length===0&&e===""?r.push("/"):r.push(e);let n=i.replace("?","");e+="/"+n,r.push(e);}else e+="/"+i;}),r.filter((i,n,a)=>a.indexOf(i)===n)},Ca=s=>/[%+]/.test(s)?(s.indexOf("+")!==-1&&(s=s.replace(/\+/g," ")),s.indexOf("%")!==-1?hi(s,va):s):s,Fc=(s,t,r)=>{let e;if(!r&&t&&!/[%+]/.test(t)){let a=s.indexOf("?",8);if(a===-1)return;for(s.startsWith(t,a+1)||(a=s.indexOf(`&${t}`,a+1));a!==-1;){let o=s.charCodeAt(a+t.length+1);if(o===61){let l=a+t.length+2,u=s.indexOf("&",l);return Ca(s.slice(l,u===-1?void 0:u))}else if(o==38||isNaN(o))return "";a=s.indexOf(`&${t}`,a+1);}if(e=/[%+]/.test(s),!e)return}let i={};e??=/[%+]/.test(s);let n=s.indexOf("?",8);for(;n!==-1;){let a=s.indexOf("&",n+1),o=s.indexOf("=",n);o>a&&a!==-1&&(o=-1);let l=s.slice(n+1,o===-1?a===-1?void 0:a:o);if(e&&(l=Ca(l)),n=a,l==="")continue;let u;o===-1?u="":(u=s.slice(o+1,a===-1?void 0:a),e&&(u=Ca(u))),r?(i[l]&&Array.isArray(i[l])||(i[l]=[]),i[l].push(u)):i[l]??=u;}return t?i[t]:i},Uc=Fc,Mc=(s,t)=>Fc(s,t,true),va=decodeURIComponent;});var Bc,pi,Aa=y(()=>{Ic();$c();Dc();Ze();Bc=s=>hi(s,va),pi=class{raw;#t;#e;routeIndex=0;path;bodyCache={};constructor(s,t="/",r=[[]]){this.raw=s,this.path=t,this.#e=r,this.#t={};}param(s){return s?this.#s(s):this.#n()}#s(s){let t=this.#e[0][this.routeIndex][1][s],r=this.#i(t);return r&&/\%/.test(r)?Bc(r):r}#n(){let s={},t=Object.keys(this.#e[0][this.routeIndex][1]);for(let r of t){let e=this.#i(this.#e[0][this.routeIndex][1][r]);e!==void 0&&(s[r]=/\%/.test(e)?Bc(e):e);}return s}#i(s){return this.#e[1]?this.#e[1][s]:s}query(s){return Uc(this.url,s)}queries(s){return Mc(this.url,s)}header(s){if(s)return this.raw.headers.get(s)??void 0;let t={};return this.raw.headers.forEach((r,e)=>{t[e]=r;}),t}async parseBody(s){return this.bodyCache.parsedBody??=await Pc(this,s)}#r=s=>{let{bodyCache:t,raw:r}=this,e=t[s];if(e)return e;let i=Object.keys(t)[0];return i?t[i].then(n=>(i==="json"&&(n=JSON.stringify(n)),new Response(n)[s]())):t[s]=r[s]()};json(){return this.#r("text").then(s=>JSON.parse(s))}text(){return this.#r("text")}arrayBuffer(){return this.#r("arrayBuffer")}blob(){return this.#r("blob")}formData(){return this.#r("formData")}addValidatedData(s,t){this.#t[s]=t;}valid(s){return this.#t[s]}get url(){return this.raw.url}get method(){return this.raw.method}get[Lc](){return this.#e}get matchedRoutes(){return this.#e[0].map(([[,s]])=>s)}get routePath(){return this.#e[0].map(([[,s]])=>s)[this.routeIndex].path}};});var qc,Gc,Oa,Na=y(()=>{qc={Stringify:1,BeforeStream:2,Stream:3},Gc=(s,t)=>{let r=new String(s);return r.isEscaped=true,r.callbacks=t,r},Oa=async(s,t,r,e,i)=>{typeof s=="object"&&!(s instanceof String)&&(s instanceof Promise||(s=s.toString()),s instanceof Promise&&(s=await s));let n=s.callbacks;if(!n?.length)return Promise.resolve(s);i?i[0]+=s:i=[s];let a=Promise.all(n.map(o=>o({phase:t,buffer:i,context:e}))).then(o=>Promise.all(o.filter(Boolean).map(l=>Oa(l,t,false,e,i))).then(()=>i[0]));return r?Gc(await a,n):a};});var WS,Ia,ks,Wc,Hc=y(()=>{Aa();Na();WS="text/plain; charset=UTF-8",Ia=(s,t)=>({"Content-Type":s,...t}),ks=(s,t)=>new Response(s,t),Wc=class{#t;#e;env={};#s;finalized=false;error;#n;#i;#r;#c;#l;#u;#o;#p;#f;constructor(s,t){this.#t=s,t&&(this.#i=t.executionCtx,this.env=t.env,this.#u=t.notFoundHandler,this.#f=t.path,this.#p=t.matchResult);}get req(){return this.#e??=new pi(this.#t,this.#f,this.#p),this.#e}get event(){if(this.#i&&"respondWith"in this.#i)return this.#i;throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#i)return this.#i;throw Error("This context has no ExecutionContext")}get res(){return this.#r||=ks(null,{headers:this.#o??=new Headers})}set res(s){if(this.#r&&s){s=ks(s.body,s);for(let[t,r]of this.#r.headers.entries())if(t!=="content-type")if(t==="set-cookie"){let e=this.#r.headers.getSetCookie();s.headers.delete("set-cookie");for(let i of e)s.headers.append("set-cookie",i);}else s.headers.set(t,r);}this.#r=s,this.finalized=true;}render=(...s)=>(this.#l??=t=>this.html(t),this.#l(...s));setLayout=s=>this.#c=s;getLayout=()=>this.#c;setRenderer=s=>{this.#l=s;};header=(s,t,r)=>{this.finalized&&(this.#r=ks(this.#r.body,this.#r));let e=this.#r?this.#r.headers:this.#o??=new Headers;t===void 0?e.delete(s):r?.append?e.append(s,t):e.set(s,t);};status=s=>{this.#n=s;};set=(s,t)=>{this.#s??=new Map,this.#s.set(s,t);};get=s=>this.#s?this.#s.get(s):void 0;get var(){return this.#s?Object.fromEntries(this.#s):{}}#a(s,t,r){let e=this.#r?new Headers(this.#r.headers):this.#o??new Headers;if(typeof t=="object"&&"headers"in t){let n=t.headers instanceof Headers?t.headers:new Headers(t.headers);for(let[a,o]of n)a.toLowerCase()==="set-cookie"?e.append(a,o):e.set(a,o);}if(r)for(let[n,a]of Object.entries(r))if(typeof a=="string")e.set(n,a);else {e.delete(n);for(let o of a)e.append(n,o);}let i=typeof t=="number"?t:t?.status??this.#n;return ks(s,{status:i,headers:e})}newResponse=(...s)=>this.#a(...s);body=(s,t,r)=>this.#a(s,t,r);text=(s,t,r)=>!this.#o&&!this.#n&&!t&&!r&&!this.finalized?new Response(s):this.#a(s,t,Ia(WS,r));json=(s,t,r)=>this.#a(JSON.stringify(s),t,Ia("application/json",r));html=(s,t,r)=>{let e=i=>this.#a(i,t,Ia("text/html; charset=UTF-8",r));return typeof s=="object"?Oa(s,qc.Stringify,false,{}).then(e):e(s)};redirect=(s,t)=>{let r=String(s);return this.header("Location",/[^\x00-\xFF]/.test(r)?encodeURI(r):r),this.newResponse(null,t??302)};notFound=()=>(this.#u??=()=>ks(),this.#u(this))};});var it,Vc,Jc,gi,di,me=y(()=>{it="ALL",Vc="all",Jc=["get","post","put","delete","options","patch"],gi="Can not add a route since the matcher is already built.",di=class extends Error{};});var xs,La=y(()=>{xs="__COMPOSED_HANDLER";});var HS,Yc,Kc,Xc=y(()=>{Nc();Hc();me();La();Ze();HS=s=>s.text("404 Not Found",404),Yc=(s,t)=>{if("getResponse"in s){let r=s.getResponse();return t.newResponse(r.body,r)}return console.error(s),t.text("Internal Server Error",500)},Kc=class zc{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#t="/";routes=[];constructor(t={}){[...Jc,Vc].forEach(n=>{this[n]=(a,...o)=>(typeof a=="string"?this.#t=a:this.#n(n,this.#t,a),o.forEach(l=>{this.#n(n,this.#t,l);}),this);}),this.on=(n,a,...o)=>{for(let l of [a].flat()){this.#t=l;for(let u of [n].flat())o.map(c=>{this.#n(u.toUpperCase(),this.#t,c);});}return this},this.use=(n,...a)=>(typeof n=="string"?this.#t=n:(this.#t="*",a.unshift(n)),a.forEach(o=>{this.#n(it,this.#t,o);}),this);let{strict:e,...i}=t;Object.assign(this,i),this.getPath=e??true?t.getPath??Ra:jc;}#e(){let t=new zc({router:this.router,getPath:this.getPath});return t.errorHandler=this.errorHandler,t.#s=this.#s,t.routes=this.routes,t}#s=HS;errorHandler=Yc;route(t,r){let e=this.basePath(t);return r.routes.map(i=>{let n;r.errorHandler===Yc?n=i.handler:(n=async(a,o)=>(await ba([],r.errorHandler)(a,()=>i.handler(a,o))).res,n[xs]=i.handler),e.#n(i.method,i.path,n);}),this}basePath(t){let r=this.#e();return r._basePath=ve(this._basePath,t),r}onError=t=>(this.errorHandler=t,this);notFound=t=>(this.#s=t,this);mount(t,r,e){let i,n;e&&(typeof e=="function"?n=e:(n=e.optionHandler,e.replaceRequest===false?i=l=>l:i=e.replaceRequest));let a=n?l=>{let u=n(l);return Array.isArray(u)?u:[u]}:l=>{let u;try{u=l.executionCtx;}catch{}return [l.env,u]};i||=(()=>{let l=ve(this._basePath,t),u=l==="/"?0:l.length;return c=>{let p=new URL(c.url);return p.pathname=p.pathname.slice(u)||"/",new Request(p,c)}})();let o=async(l,u)=>{let c=await r(i(l.req.raw),...a(l));if(c)return c;await u();};return this.#n(it,ve(t,"*"),o),this}#n(t,r,e){t=t.toUpperCase(),r=ve(this._basePath,r);let i={basePath:this._basePath,path:r,method:t,handler:e};this.router.add(t,r,[e,i]),this.routes.push(i);}#i(t,r){if(t instanceof Error)return this.errorHandler(t,r);throw t}#r(t,r,e,i){if(i==="HEAD")return (async()=>new Response(null,await this.#r(t,r,e,"GET")))();let n=this.getPath(t,{env:e}),a=this.router.match(i,n),o=new Wc(t,{path:n,matchResult:a,env:e,executionCtx:r,notFoundHandler:this.#s});if(a[0].length===1){let u;try{u=a[0][0][0][0](o,async()=>{o.res=await this.#s(o);});}catch(c){return this.#i(c,o)}return u instanceof Promise?u.then(c=>c||(o.finalized?o.res:this.#s(o))).catch(c=>this.#i(c,o)):u??this.#s(o)}let l=ba(a[0],this.errorHandler,this.#s);return (async()=>{try{let u=await l(o);if(!u.finalized)throw new Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return u.res}catch(u){return this.#i(u,o)}})()}fetch=(t,...r)=>this.#r(t,r[1],r[0],t.method);request=(t,r,e,i)=>t instanceof Request?this.fetch(r?new Request(t,r):t,e,i):(t=t.toString(),this.fetch(new Request(/^https?:\/\//.test(t)?t:`http://localhost${ve("/",t)}`,r),e,i));fire=()=>{addEventListener("fetch",t=>{t.respondWith(this.#r(t.request,t,void 0,t.request.method));});}};});function $a(s,t){let r=this.buildAllMatchers(),e=((i,n)=>{let a=r[i]||r[it],o=a[2][n];if(o)return o;let l=n.match(a[0]);if(!l)return [[],Ei];let u=l.indexOf("",1);return [a[1][u],l]});return this.match=e,e(s,t)}var Ei,Pa=y(()=>{me();Ei=[];});function JS(s,t){return s.length===1?t.length===1?s<t?-1:1:-1:t.length===1||s===js||s===Fs?1:t===js||t===Fs?-1:s===Si?1:t===Si?-1:s.length===t.length?s<t?-1:1:t.length-s.length}var Si,js,Fs,Oe,VS,Qc,ka=y(()=>{Si="[^/]+",js=".*",Fs="(?:|/.*)",Oe=Symbol(),VS=new Set(".\\+*[^]$()");Qc=class Da{#t;#e;#s=Object.create(null);insert(t,r,e,i,n){if(t.length===0){if(this.#t!==void 0)throw Oe;if(n)return;this.#t=r;return}let[a,...o]=t,l=a==="*"?o.length===0?["","",js]:["","",Si]:a==="/*"?["","",Fs]:a.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),u;if(l){let c=l[1],p=l[2]||Si;if(c&&l[2]&&(p===".*"||(p=p.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(p))))throw Oe;if(u=this.#s[p],!u){if(Object.keys(this.#s).some(f=>f!==js&&f!==Fs))throw Oe;if(n)return;u=this.#s[p]=new Da,c!==""&&(u.#e=i.varIndex++);}!n&&c!==""&&e.push([c,u.#e]);}else if(u=this.#s[a],!u){if(Object.keys(this.#s).some(c=>c.length>1&&c!==js&&c!==Fs))throw Oe;if(n)return;u=this.#s[a]=new Da;}u.insert(o,r,e,i,n);}buildRegExpStr(){let r=Object.keys(this.#s).sort(JS).map(e=>{let i=this.#s[e];return (typeof i.#e=="number"?`(${e})@${i.#e}`:VS.has(e)?`\\${e}`:e)+i.buildRegExpStr()});return typeof this.#t=="number"&&r.unshift(`#${this.#t}`),r.length===0?"":r.length===1?r[0]:"(?:"+r.join("|")+")"}};});var Zc,tp=y(()=>{ka();Zc=class{#t={varIndex:0};#e=new Qc;insert(s,t,r){let e=[],i=[];for(let a=0;;){let o=false;if(s=s.replace(/\{[^}]+\}/g,l=>{let u=`@\\${a}`;return i[a]=[u,l],a++,o=true,u}),!o)break}let n=s.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let a=i.length-1;a>=0;a--){let[o]=i[a];for(let l=n.length-1;l>=0;l--)if(n[l].indexOf(o)!==-1){n[l]=n[l].replace(o,i[a][1]);break}}return this.#e.insert(n,t,e,this.#t,r),e}buildRegExp(){let s=this.#e.buildRegExpStr();if(s==="")return [/^$/,[],[]];let t=0,r=[],e=[];return s=s.replace(/#(\d+)|@(\d+)|\.\*\$/g,(i,n,a)=>n!==void 0?(r[++t]=Number(n),"$()"):(a!==void 0&&(e[Number(a)]=++t),"")),[new RegExp(`^${s}`),r,e]}};});function sp(s){return ep[s]??=new RegExp(s==="*"?"":`^${s.replace(/\/\*$|([.\\+*[^\]$()])/g,(t,r)=>r?`\\${r}`:"(?:|/.*)")}$`)}function KS(){ep=Object.create(null);}function zS(s){let t=new Zc,r=[];if(s.length===0)return YS;let e=s.map(u=>[!/\*|\/:/.test(u[0]),...u]).sort(([u,c],[p,f])=>u?1:p?-1:c.length-f.length),i=Object.create(null);for(let u=0,c=-1,p=e.length;u<p;u++){let[f,d,m]=e[u];f?i[d]=[m.map(([T])=>[T,Object.create(null)]),Ei]:c++;let g;try{g=t.insert(d,c,f);}catch(T){throw T===Oe?new di(d):T}f||(r[c]=m.map(([T,E])=>{let b=Object.create(null);for(E-=1;E>=0;E--){let[N,R]=g[E];b[N]=R;}return [T,b]}));}let[n,a,o]=t.buildRegExp();for(let u=0,c=r.length;u<c;u++)for(let p=0,f=r[u].length;p<f;p++){let d=r[u][p]?.[1];if(!d)continue;let m=Object.keys(d);for(let g=0,T=m.length;g<T;g++)d[m[g]]=o[d[m[g]]];}let l=[];for(let u in a)l[u]=r[a[u]];return [n,l,i]}function ts(s,t){if(s){for(let r of Object.keys(s).sort((e,i)=>i.length-e.length))if(sp(r).test(t))return [...s[r]]}}var YS,ep,yi,xa=y(()=>{me();Ze();Pa();ka();tp();YS=[/^$/,[],Object.create(null)],ep=Object.create(null);yi=class{name="RegExpRouter";#t;#e;constructor(){this.#t={[it]:Object.create(null)},this.#e={[it]:Object.create(null)};}add(s,t,r){let e=this.#t,i=this.#e;if(!e||!i)throw new Error(gi);e[s]||[e,i].forEach(o=>{o[s]=Object.create(null),Object.keys(o[it]).forEach(l=>{o[s][l]=[...o[it][l]];});}),t==="/*"&&(t="*");let n=(t.match(/\/:/g)||[]).length;if(/\*$/.test(t)){let o=sp(t);s===it?Object.keys(e).forEach(l=>{e[l][t]||=ts(e[l],t)||ts(e[it],t)||[];}):e[s][t]||=ts(e[s],t)||ts(e[it],t)||[],Object.keys(e).forEach(l=>{(s===it||s===l)&&Object.keys(e[l]).forEach(u=>{o.test(u)&&e[l][u].push([r,n]);});}),Object.keys(i).forEach(l=>{(s===it||s===l)&&Object.keys(i[l]).forEach(u=>o.test(u)&&i[l][u].push([r,n]));});return}let a=mi(t)||[t];for(let o=0,l=a.length;o<l;o++){let u=a[o];Object.keys(i).forEach(c=>{(s===it||s===c)&&(i[c][u]||=[...ts(e[c],u)||ts(e[it],u)||[]],i[c][u].push([r,n-l+o+1]));});}}match=$a;buildAllMatchers(){let s=Object.create(null);return Object.keys(this.#e).concat(Object.keys(this.#t)).forEach(t=>{s[t]||=this.#s(t);}),this.#t=this.#e=void 0,KS(),s}#s(s){let t=[],r=s===it;return [this.#t,this.#e].forEach(e=>{let i=e[s]?Object.keys(e[s]).map(n=>[n,e[s][n]]):[];i.length!==0?(r||=true,t.push(...i)):s!==it&&t.push(...Object.keys(e[it]).map(n=>[n,e[it][n]]));}),r?zS(t):null}};});var rp=y(()=>{me();Pa();xa();});var ip=y(()=>{xa();rp();});var ja,np=y(()=>{me();ja=class{name="SmartRouter";#t=[];#e=[];constructor(s){this.#t=s.routers;}add(s,t,r){if(!this.#e)throw new Error(gi);this.#e.push([s,t,r]);}match(s,t){if(!this.#e)throw new Error("Fatal error");let r=this.#t,e=this.#e,i=r.length,n=0,a;for(;n<i;n++){let o=r[n];try{for(let l=0,u=e.length;l<u;l++)o.add(...e[l]);a=o.match(s,t);}catch(l){if(l instanceof di)continue;throw l}this.match=o.match.bind(o),this.#t=[o],this.#e=void 0;break}if(n===i)throw new Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,a}get activeRouter(){if(this.#e||this.#t.length!==1)throw new Error("No active router has been determined yet.");return this.#t[0]}};});var ap=y(()=>{np();});var Us,XS,op,up=y(()=>{me();Ze();Us=Object.create(null),XS=s=>{for(let t in s)return true;return false},op=class lp{#t;#e;#s;#n=0;#i=Us;constructor(t,r,e){if(this.#e=e||Object.create(null),this.#t=[],t&&r){let i=Object.create(null);i[t]={handler:r,possibleKeys:[],score:0},this.#t=[i];}this.#s=[];}insert(t,r,e){this.#n=++this.#n;let i=this,n=kc(r),a=[];for(let o=0,l=n.length;o<l;o++){let u=n[o],c=n[o+1],p=xc(u,c),f=Array.isArray(p)?p[0]:u;if(f in i.#e){i=i.#e[f],p&&a.push(p[1]);continue}i.#e[f]=new lp,p&&(i.#s.push(p),a.push(p[1])),i=i.#e[f];}return i.#t.push({[t]:{handler:e,possibleKeys:a.filter((o,l,u)=>u.indexOf(o)===l),score:this.#n}}),i}#r(t,r,e,i,n){for(let a=0,o=r.#t.length;a<o;a++){let l=r.#t[a],u=l[e]||l[it],c={};if(u!==void 0&&(u.params=Object.create(null),t.push(u),i!==Us||n&&n!==Us))for(let p=0,f=u.possibleKeys.length;p<f;p++){let d=u.possibleKeys[p],m=c[u.score];u.params[d]=n?.[d]&&!m?n[d]:i[d]??n?.[d],c[u.score]=true;}}}search(t,r){let e=[];this.#i=Us;let n=[this],a=_a(r),o=[],l=a.length,u=null;for(let c=0;c<l;c++){let p=a[c],f=c===l-1,d=[];for(let g=0,T=n.length;g<T;g++){let E=n[g],b=E.#e[p];b&&(b.#i=E.#i,f?(b.#e["*"]&&this.#r(e,b.#e["*"],t,E.#i),this.#r(e,b,t,E.#i)):d.push(b));for(let N=0,R=E.#s.length;N<R;N++){let P=E.#s[N],D=E.#i===Us?{}:{...E.#i};if(P==="*"){let j=E.#e["*"];j&&(this.#r(e,j,t,E.#i),j.#i=D,d.push(j));continue}let[v,_,x]=P;if(!p&&!(x instanceof RegExp))continue;let w=E.#e[v];if(x instanceof RegExp){if(u===null){u=new Array(l);let W=r[0]==="/"?1:0;for(let A=0;A<l;A++)u[A]=W,W+=a[A].length+1;}let j=r.substring(u[c]),O=x.exec(j);if(O){if(D[_]=O[0],this.#r(e,w,t,E.#i,D),XS(w.#e)){w.#i=D;let W=O[0].match(/\//)?.length??0;(o[W]||=[]).push(w);}continue}}(x===true||x.test(p))&&(D[_]=p,f?(this.#r(e,w,t,D,E.#i),w.#e["*"]&&this.#r(e,w.#e["*"],t,D,E.#i)):(w.#i=D,d.push(w)));}}let m=o.shift();n=m?d.concat(m):d;}return e.length>1&&e.sort((c,p)=>c.score-p.score),[e.map(({handler:c,params:p})=>[c,p])]}};});var Fa,cp=y(()=>{Ze();up();Fa=class{name="TrieRouter";#t;constructor(){this.#t=new op;}add(s,t,r){let e=mi(t);if(e){for(let i=0,n=e.length;i<n;i++)this.#t.insert(s,e[i],r);return}this.#t.insert(s,t,r);}match(s,t){return this.#t.search(s,t)}};});var pp=y(()=>{cp();});var Ua,fp=y(()=>{Xc();ip();ap();pp();Ua=class extends Kc{constructor(s={}){super(s),this.router=s.router??new ja({routers:[new yi,new Fa]});}};});var hp=y(()=>{fp();});function Ma(s){return !s||typeof s!="object"?false:s.code==="EADDRINUSE"}function mp(s,t){return new Promise((r,e)=>{let i=a=>{s.off("listening",n),e(a);},n=()=>{s.off("error",i),r();};s.once("error",i),s.once("listening",n),s.listen(t);})}function Ba(s){console.error(),console.error(Ms.default.red(`Cannot start server: Port ${Ms.default.bold(String(s))} is already in use.`)),console.error(Ms.default.red(`Stop the process using that port, or set a different ${Ms.default.bold("api.port")} in your config.`)),console.error(),process.exit(1);}var Ms,gp=y(()=>{Ms=Q(ot());});var dp,Ep=y(()=>{dp=/^\s*(?:text\/(?!event-stream(?:[;\s]|$))[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|wasm|x-httpd-php|x-javascript|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml))(?:[;\s]|$)/i;});var Ga,Sp,QS,qa,Wa=y(()=>{Ga=(s,t=qa)=>{let r=/\.([a-zA-Z0-9]+?)$/,e=s.match(r);if(!e)return;let i=t[e[1]];return i&&i.startsWith("text")&&(i+="; charset=utf-8"),i},Sp=s=>{for(let t in qa)if(qa[t]===s)return t},QS={aac:"audio/aac",avi:"video/x-msvideo",avif:"image/avif",av1:"video/av1",bin:"application/octet-stream",bmp:"image/bmp",css:"text/css",csv:"text/csv",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",gz:"application/gzip",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jpeg:"image/jpeg",jpg:"image/jpeg",js:"text/javascript",json:"application/json",jsonld:"application/ld+json",map:"application/json",mid:"audio/x-midi",midi:"audio/x-midi",mjs:"text/javascript",mp3:"audio/mpeg",mp4:"video/mp4",mpeg:"video/mpeg",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",opus:"audio/opus",otf:"font/otf",pdf:"application/pdf",png:"image/png",rtf:"application/rtf",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",ts:"video/mp2t",ttf:"font/ttf",txt:"text/plain",wasm:"application/wasm",webm:"video/webm",weba:"audio/webm",webmanifest:"application/manifest+json",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xml:"application/xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2",gltf:"model/gltf+json",glb:"model/gltf-binary"},qa=QS;});var yp,Tp=y(()=>{yp=(...s)=>{let t=s.filter(i=>i!=="").join("/");t=t.replace(/(?<=\/)\/+/g,"");let r=t.split("/"),e=[];for(let i of r)i===".."&&e.length>0&&e.at(-1)!==".."?e.pop():i!=="."&&e.push(i);return e.join("/")||"."};});var wp,ZS,ty,bp,Ap=y(()=>{Ep();Wa();Tp();wp={br:".br",zstd:".zst",gzip:".gz"},ZS=Object.keys(wp),ty="index.html",bp=s=>{let t=s.root??"./",r=s.path,e=s.join??yp;return async(i,n)=>{if(i.finalized)return n();let a;if(s.path)a=s.path;else try{if(a=decodeURIComponent(i.req.path),/(?:^|[\/\\])\.\.(?:$|[\/\\])/.test(a))throw new Error}catch{return await s.onNotFound?.(i.req.path,i),n()}let o=e(t,!r&&s.rewriteRequestPath?s.rewriteRequestPath(a):a);s.isDir&&await s.isDir(o)&&(o=e(o,ty));let l=s.getContent,u=await l(o,i);if(u instanceof Response)return i.newResponse(u.body,u);if(u){let c=s.mimes&&Ga(o,s.mimes)||Ga(o);if(i.header("Content-Type",c||"application/octet-stream"),s.precompressed&&(!c||dp.test(c))){let p=new Set(i.req.header("Accept-Encoding")?.split(",").map(f=>f.trim()));for(let f of ZS){if(!p.has(f))continue;let d=await l(o+wp[f],i);if(d){u=d,i.header("Content-Encoding",f),i.header("Vary","Accept-Encoding",{append:true});break}}}return await s.onFound?.(o,i),i.body(u)}await s.onNotFound?.(o,i),await n();}};});var Cp,_p=y(()=>{Ap();Cp=s=>async function(r,e){return bp({...s,getContent:async a=>{let o=Bun.file(a);return await o.exists()?o:null},join:join,isDir:async a=>{let o;try{o=(await stat(a)).isDirectory();}catch{}return o}})(r,e)};});var Rp=y(()=>{});var vp,Op=y(()=>{Rp();vp=(s,t)=>{for(let[r,e]of Object.entries(t)){let i=new RegExp("/:"+r+"(?:{[^/]+})?\\??");s=s.replace(i,e?`/${e}`:"");}return s};});var ry,Np,Ip=y(()=>{ry=1024,Np=({concurrency:s,interval:t}={})=>{if(s||=ry,s===1/0)return {run:async i=>i()};let r=new Set,e=async(i,n,a)=>{if(r.size>=s)return n||=new Promise(u=>a=u),setTimeout(()=>e(i,n,a)),n;let o={};r.add(o);let l=await i();return t?setTimeout(()=>r.delete(o),t):r.delete(o),a?(a(l),n):l};return {run:e}};});var Lp,Ha,$p=y(()=>{La();Lp=s=>s.length>1,Ha=s=>s[xs]?Ha(s[xs]):s;});var Pp,iy,ny,ay,oy,Bs,Dp,Va,Ja=y(()=>{me();$p();Pp=s=>s.split(/[\/\\]/).slice(0,-1).join("/"),iy=s=>s.replace(/(\\)/g,"/").replace(/\/$/g,""),ny=(s,t)=>{s.length===0||t?s.push(".."):s.pop();},ay=(s,t)=>{s=s.replace(/^\.(?!.)/,""),s!==""&&t.push(s);},oy=(s,t)=>{let r=false;for(let e of s)e===".."?(ny(t,r),r=true):(ay(e,t),r=false);},Bs=(...s)=>{s=s.map(iy);let t=[];return oy(s.join("/").split("/"),t),(s[0][0]==="/"?"/":"")+t.join("/")},Dp=s=>s.routes.reduce((t,{method:r,handler:e,path:i})=>{let n=Ha(e);return ["GET",it].includes(r)&&!Lp(n)&&t.push({path:i}),t},[]),Va=s=>s.split("/").some(t=>t.startsWith(":")||t.includes("*"));});var kp,Ti,Ya=y(()=>{Ja();kp="HONO_SSG_CONTEXT",Ti="x-hono-disable-ssg",(()=>{try{return new Response("SSG is disabled",{status:404,headers:{[Ti]:"true"}})}catch{return null}})();});var xp=y(()=>{Na();});var Ka,za=y(()=>{xp();Ka=()=>({afterResponseHook:s=>s.status!==200?false:s});});var ly,uy,cy,py,fy,hy,my,gy,dy,Ey,Sy,jp,yy,Fp,Up=y(()=>{Op();Ip();Wa();Ya();za();Ja();ly=2,uy="text/plain",cy="./static",py=(s,t,r,e)=>{let i=my(r,e);return s.endsWith(`.${i}`)?Bs(t,s):s==="/"?Bs(t,`index.${i}`):s.endsWith("/")?Bs(t,s,`index.${i}`):Bs(t,`${s}.${i}`)},fy=async s=>{let t=s.headers.get("Content-Type");try{return t?.includes("text")||t?.includes("json")?await s.text():await s.arrayBuffer()}catch(r){throw new Error(`Error processing response: ${r instanceof Error?r.message:"Unknown error"}`)}},hy={"text/html":"html","text/xml":"xml","application/xml":"xml","application/yaml":"yaml"},my=(s,t)=>{let r=t||hy;return s in r?r[s]:Sp(s)||"html"},gy=s=>Array.isArray(s)?async t=>{let r=t;for(let e of s){let i=await e(r);if(i===false)return false;i instanceof Request&&(r=i);}return r}:s,dy=s=>Array.isArray(s)?async t=>{let r=t;for(let e of s){let i=await e(r);if(i===false)return false;i instanceof Response&&(r=i);}return r}:s,Ey=(s,t,r)=>Array.isArray(s)?async e=>{for(let i of s)await i(e,t,r);}:s,Sy=function*(s,t,r,e){let i="http://localhost",n=Np({concurrency:e});for(let a of Dp(s)){let o=new URL(a.path,i).toString(),l=new Request(o);yield new Promise(async(u,c)=>{try{if(t){let f=await t(l);if(!f){u(void 0);return}l=f;}if(await n.run(()=>s.fetch(l)),!l.ssgParams){if(Va(a.path)){u(void 0);return}l.ssgParams=[{}];}let p={method:l.method,headers:l.headers};u((function*(){for(let f of l.ssgParams)yield new Promise(async(d,m)=>{try{let g=vp(a.path,f),T=await n.run(()=>s.request(g,p,{[kp]:!0}));if(T.headers.get(Ti)){d(void 0);return}if(r){let N=await r(T);if(!N){d(void 0);return}T=N;}let E=T.headers.get("Content-Type")?.split(";")[0]||uy,b=await fy(T);d({routePath:g,mimeType:E,content:b});}catch(g){m(g);}});})());}catch(p){c(p);}});}},jp=new Set,yy=async(s,t,r,e)=>{let i=await s;if(!i)return;let{routePath:n,content:a,mimeType:o}=i,l=py(n,r,o,e),u=Pp(l);return jp.has(u)||(await t.mkdir(u,{recursive:true}),jp.add(u)),typeof a=="string"?await t.writeFile(l,a):a instanceof ArrayBuffer&&await t.writeFile(l,new Uint8Array(a)),l},Fp=async(s,t,r)=>{let e,i=[],n=[],a=r?.plugins||[Ka()],o=[],l=[],u=[];r?.beforeRequestHook&&o.push(...Array.isArray(r.beforeRequestHook)?r.beforeRequestHook:[r.beforeRequestHook]),r?.afterResponseHook&&l.push(...Array.isArray(r.afterResponseHook)?r.afterResponseHook:[r.afterResponseHook]),r?.afterGenerateHook&&u.push(...Array.isArray(r.afterGenerateHook)?r.afterGenerateHook:[r.afterGenerateHook]);for(let c of a)c.beforeRequestHook&&o.push(...Array.isArray(c.beforeRequestHook)?c.beforeRequestHook:[c.beforeRequestHook]),c.afterResponseHook&&l.push(...Array.isArray(c.afterResponseHook)?c.afterResponseHook:[c.afterResponseHook]),c.afterGenerateHook&&u.push(...Array.isArray(c.afterGenerateHook)?c.afterGenerateHook:[c.afterGenerateHook]);try{let c=r?.dir??cy,p=r?.concurrency??ly,f=gy(o.length>0?o:[T=>T]),d=dy(l.length>0?l:[T=>T]),m=Sy(s,f,d,p);for(let T of m)i.push(T.then(E=>{if(E)for(let b of E)n.push(yy(b,t,c,r?.extensionMap).catch(N=>N));}));await Promise.all(i);let g=[];for(let T of n){let E=await T;if(typeof E=="string")g.push(E);else if(E)throw E}e={success:!0,files:g};}catch(c){let p=c instanceof Error?c:new Error(String(c));e={success:false,files:[],error:p};}return u.length>0&&await Ey(u,t,r)(e,t,r),e};});var Mp=y(()=>{Up();Ya();za();});var Ty,Xa,Bp,qp=y(()=>{Mp();(({write:Ty}=Bun)),Xa={writeFile:async(s,t)=>{await Ty(s,t);},mkdir:async()=>{}},Bp=async(s,t)=>Fp(s,Xa,t);});var Gp,Wp,Hp,Vp=y(()=>{Gp=class{#t;constructor(s){this.#t=s,this.raw=s.raw,this.url=s.url?new URL(s.url):null,this.protocol=s.protocol??null;}send(s,t){this.#t.send(s,t??{});}raw;binaryType="arraybuffer";get readyState(){return this.#t.readyState}url;protocol;close(s,t){this.#t.close(s,t);}},Wp=s=>new MessageEvent("message",{data:s}),Hp=s=>((...t)=>{if(typeof t[0]=="function"){let[r,e]=t;return async function(n,a){let o=await r(n),l=await s(n,o,e);if(l)return l;await a();}}else {let[r,e,i]=t;return (async()=>{let n=await s(r,e,i);if(!n)throw new Error("Failed to upgrade WebSocket");return n})()}});});var es,wi=y(()=>{es=s=>"server"in s.env?s.env.server:s.env;});var Qa,Za,to,Jp,Yp=y(()=>{Vp();wi();Qa=s=>new Gp({send:(t,r)=>{s.send(t,r?.compress);},raw:s,readyState:s.readyState,url:s.data.url,protocol:s.data.protocol,close(t,r){s.close(t,r);}}),Za=Hp((s,t)=>{let r=es(s);if(!r)throw new TypeError("env has to include the 2nd argument of fetch.");if(r.upgrade(s.req.raw,{data:{events:t,url:new URL(s.req.url),protocol:s.req.url}}))return new Response(null)}),to={open(s){let t=s.data.events;t.onOpen&&t.onOpen(new Event("open"),Qa(s));},close(s,t,r){let e=s.data.events;e.onClose&&e.onClose(new CloseEvent("close",{code:t,reason:r}),Qa(s));},message(s,t){let r=s.data.events;if(r.onMessage){let e=typeof t=="string"?t:t.buffer;r.onMessage(Wp(e),Qa(s));}}},Jp=()=>({upgradeWebSocket:Za,websocket:to});});var Kp,zp=y(()=>{wi();Kp=s=>{let t=es(s);if(!t)throw new TypeError("env has to include the 2nd argument of fetch.");if(typeof t.requestIP!="function")throw new TypeError("server.requestIP is not a function.");let r=t.requestIP(s.req.raw);return r?{remote:{address:r.address,addressType:r.family==="IPv6"||r.family==="IPv4"?r.family:void 0,port:r.port}}:{remote:{}}};});var Xp={};dt(Xp,{bunFileSystemModule:()=>Xa,createBunWebSocket:()=>Jp,getBunServer:()=>es,getConnInfo:()=>Kp,serveStatic:()=>Cp,toSSG:()=>Bp,upgradeWebSocket:()=>Za,websocket:()=>to});var Qp=y(()=>{_p();qp();Yp();zp();wi();});async function bi(s,t={port:3e3}){let r=ti(),e=t.port??3e3;if(Is()){let i=await Promise.resolve().then(()=>(Qp(),Xp)).then(a=>a.serveStatic),n;try{n=Bun.serve({fetch:tf(s,r,i).fetch,port:e});}catch(a){throw Ma(a)&&Ba(e),a}return async()=>{await n.stop();}}else {let{createAdaptorServer:i}=await import('@hono/node-server'),n=await import('@hono/node-server/serve-static').then(o=>o.serveStatic),a=i({fetch:tf(s,r,n).fetch});try{await mp(a,e);}catch(o){throw Ma(o)&&Ba(e),o}return ()=>new Promise(o=>{a.close(()=>{o(void 0);});})}}function tf(s,t,r){return new Ua().use("/favicon.ico",r({path:J__default.join(t,"static","favicon.ico")})).use("/fonts/*",r({root:J__default.join(t,"static"),onNotFound:e=>{console.log("fonts not found",e,process.cwd());}})).use("/static/*",r({root:t,onNotFound(e){console.log("not found",e,process.cwd());}})).all("*",async e=>s.fetch(e.req.raw))}var eo=y(()=>{he();hp();gp();At();});var ae,so=y(()=>{Ae();ae=class s{root;constructor(t,r){let e=r??s.projectDir();this.root=J__default.join(e,t??"");}ensureRoot(){$t(this.root);}static homeDir(){return J__default.join(wy.homedir(),".lite")}static projectDir(){return J__default.join(process.cwd(),"supabase")}deleteAll(t=false){try{Hr.rmSync(this.root,{recursive:!0});}catch(r){if(!t)throw r}this.ensureRoot();}delete(t,r=false){try{Hr.unlinkSync(J__default.join(this.root,t));}catch(e){if(!r)throw e}}write(t,r,e=false){try{this.ensureRoot(),Hr.writeFileSync(J__default.join(this.root,t),r);}catch(i){if(!e)throw i}}read(t,r=false){try{return Hr.readFileSync(J__default.join(this.root,t),"utf8")}catch(e){if(!r)throw e}}relativePath(t){return t?J__default.relative(process.cwd(),J__default.join(this.root,t)):this.root}path(t){return t?J__default.join(this.root,t):this.root}};});var qs,ro=y(()=>{qs=process.env.SUPALITE_CLOUD_URL??(process.env.LOCAL?"http://localhost:2000":"https://www.lite.dev");});var _i,ef=y(()=>{Ae();_i=class{root;constructor(t){this.root=t??J__default.join(wy.homedir(),".lite","auth"),$t(this.root);}async getItem(t){try{return Hr.readFileSync(J__default.join(this.root,t+".json"),"utf8")}catch{return null}}async setItem(t,r){Hr.writeFileSync(J__default.join(this.root,t+".json"),r);}async removeItem(t){try{Hr.unlinkSync(J__default.join(this.root,t+".json"));}catch{return}}};});var ss,no=y(()=>{ro();so();ef();ss=class{constructor(t){this.config=t;this.tempFs=new ae(".temp",this.config.root),this.projectFs=new ae("supabase",this.config.root),this.schemaFs=new ae("schemas",this.config.root),this.authStorage=this.config.authStorage??new _i(J__default.join(ae.homeDir(),"auth")),this._client=this.config.withSupabaseClient!==false?this.config.client??createClient(this.config.host??qs,process.env.SUPALITE_CLOUD_ANON_KEY??"...",{auth:{storage:this.authStorage}}):void 0;}tempFs;projectFs;schemaFs;_client;authStorage;async fetch(t,r){if(!this.config.token)throw new Error("Not authenticated, sign in first.");let e=t instanceof URL?t:new URL(t,this.config.host??qs);return await fetch(e,{...r,headers:{...r?.headers,Authorization:`Bearer ${this.config.token}`}})}};});var rs,ao=y(()=>{no();rs=class extends ss{constructor(r){super(r);this.config=r;}get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}projectRef(){return this.tempFs.read("project-ref",true)}projectUrl(r){let e=new URL(this.config.host),i=e.hostname==="localhost"?"supalite.local":e.hostname,n=i.split(".").filter(o=>o!=="www"),a=n.length>=2?n.slice(-2).join("."):i;return `${e.protocol}//${r}.${a}${e.port?`:${e.port}`:""}`}};});function _y(s){let t=J.extname(s).toLowerCase();return {".html":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".webp":"image/webp",".avif":"image/avif",".pdf":"application/pdf",".txt":"text/plain",".xml":"application/xml",".zip":"application/zip",".mp4":"video/mp4",".webm":"video/webm",".mp3":"audio/mpeg",".wav":"audio/wav",".woff":"font/woff",".woff2":"font/woff2"}[t]??"application/octet-stream"}var vi,sf=y(()=>{he();vi=class{driver=mt;basePath;constructor(t){this.basePath=J.resolve(t.basePath);}filePath(t,r){return J.join(this.basePath,t,r)}async ensureDir(t){await mt.mkdir(J.dirname(t),{recursive:true});}async getObject(t,r,e,i){let n=this.filePath(t,r),a=await mt.stat(n),o=`"${createHash("md5").update(`${n}:${a.mtimeMs}`).digest("hex")}"`;if(i?.ifNoneMatch===o)return {httpStatusCode:304,metadata:this.buildMetadata(a,o,r)};if(i?.ifModifiedSince){let f=new Date(i.ifModifiedSince);if(a.mtime<=f)return {httpStatusCode:304,metadata:this.buildMetadata(a,o,r)}}let l,u,c=a.size,p=200;if(i?.range){let f=i.range.match(/^bytes=(\d+)-(\d*)$/);if(f){let d=Number.parseInt(f[1],10),m=f[2]?Number.parseInt(f[2],10):a.size-1;c=m-d+1,u=`bytes ${d}-${m}/${a.size}`,p=206,l=(await mt.open(n,"r")).readableWebStream();}else l=(await mt.open(n,"r")).readableWebStream();}else l=(await mt.open(n,"r")).readableWebStream();return {httpStatusCode:p,metadata:{...this.buildMetadata(a,o,r),contentLength:c,contentRange:u},body:l}}async uploadObject(t,r,e,i,n,a){let o=this.filePath(t,r);await this.ensureDir(o);let l;if(i instanceof Uint8Array||Buffer.isBuffer(i))l=i;else {let p=[],f=i.getReader();for(;;){let{done:d,value:m}=await f.read();if(d)break;p.push(m);}l=Buffer.concat(p);}await mt.writeFile(o,l);let u=await mt.stat(o),c=`"${createHash("md5").update(l).digest("hex")}"`;return {cacheControl:a,contentLength:u.size,size:u.size,mimetype:n,lastModified:u.mtime,eTag:c}}async deleteObject(t,r,e){let i=this.filePath(t,r);await mt.unlink(i).catch(n=>{if(n.code!=="ENOENT")throw n});}async deleteObjects(t,r){for(let e of r)await this.deleteObject(t,e,void 0);}async copyObject(t,r,e,i,n){let a=this.filePath(t,r),o=this.filePath(t,i);await this.ensureDir(o),await mt.copyFile(a,o);let l=await mt.stat(o),u=await mt.readFile(o);return {httpStatusCode:200,eTag:`"${createHash("md5").update(u).digest("hex")}"`,lastModified:l.mtime}}async headObject(t,r,e){let i=this.filePath(t,r),n=await mt.stat(i),a=`"${createHash("md5").update(`${i}:${n.mtimeMs}`).digest("hex")}"`;return this.buildMetadata(n,a,r)}async privateAssetUrl(t,r,e){return `file://${this.filePath(t,r)}`}buildMetadata(t,r,e){return {cacheControl:"no-cache",contentLength:wa(t.size),size:wa(t.size),mimetype:_y(e),lastModified:t.mtime,eTag:r}}};});async function Qt(s,t,r){try{return await Ry(s)}catch(e){throw e?.code==="ERR_MODULE_NOT_FOUND"||/Cannot find package/.test(String(e?.message))?new Error(`Driver '${t}' selected but '${r}' is not installed. Run: bun add ${r}`):e}}var Ry,Gs=y(()=>{Ry=new Function("spec","return import(spec)");});function rf(s,t={}){let r=J__default.resolve(t.cwd??process.cwd()),e=t.env??process.env,i=process.env.SUPABASE_ENV||"development",n=[`.env.${i}.local`,i==="test"?null:".env.local",`.env.${i}`,".env"].filter(o=>o!==null),a=Ny(J__default.resolve(s),r);for(let o of a)for(let l of n){let u=J__default.join(o,l),c;try{c=Hr.readFileSync(u,"utf-8");}catch{continue}let p;try{p=parse(c);}catch(f){throw new Error(`Failed to parse ${u}: ${f.message}`)}for(let[f,d]of Object.entries(p))e[f]===void 0&&(e[f]=d);}}function Ny(s,t){let r=[],e=s,i=J__default.parse(e).root;for(;r.push(e),!(e===t||e===i);){let n=J__default.dirname(e);if(n===e)break;e=n;}return r}var nf=y(()=>{});function af(s,t=process.env){return oo(s,t)}function oo(s,t){if(typeof s=="string"){let r=s.match(Iy);return r?t[r[1]]??"":s}if(Array.isArray(s))return s.map(r=>oo(r,t));if(s&&typeof s=="object"){let r={};for(let[e,i]of Object.entries(s))r[e]=oo(i,t);return r}return s}var Iy,of=y(()=>{Iy=/^env\((\w+)\)$/;});var Hs,$y,Oi,uf=y(()=>{ao();ze();Hs=Q(ot());Os();Ye();sf();Gs();nf();of();$y=["toml","json","ts","mts","js","mjs","cjs"],Oi=class extends rs{ref(){return this.projectRef()}setRef(t){return this.tempFs.write("project-ref",t),this}link(t){return this.setRef(t.id),t}unlink(){return this.tempFs.delete("project-ref"),this}url(){let t=this.ref();if(!t)throw new Error("No project linked");return this.projectUrl(t)}async getConfigPath(t){let r=J__default.relative(process.cwd(),vt.config_dir);if(!t)for(let e of $y){let i=J__default.join(r,`config.${e}`);if(await mt__default.access(i).then(()=>true).catch(()=>false)){t=i;break}}return t}async readConfig(t){let r=await this.getConfigPath(t);if(!r)return {};console.log(Hs.default.dim(`Using config file: ${Hs.default.cyan(`./${r}`)}`));let e=J__default.dirname(J__default.resolve(r));rf(e);let i=r.split(".").pop(),n;switch(i){case "toml":n=_e(await mt__default.readFile(r,"utf-8"));break;case "json":n=JSON.parse(await mt__default.readFile(r,"utf-8"));break;case "ts":case "mts":case "js":case "mjs":case "cjs":try{n=(await import(J__default.join(process.cwd(),r))).default;break}catch(a){throw console.error("Failed to import config file",a),a}default:throw new Error(`Unsupported config file type: ${r}`)}return af(n)}async createConnection(){throw new Error("Not implemented")}async getConfig(t){let r=await this.readConfig(t);if("connection"in r)return {...r,connection:await r.connection};let e,i;switch(r.db?.driver){case "sqlite":i=r.db?.url??vt.default_db_url,e=await createConnection({url:i,ddlDialect:"sqlite"});break;case "pglite":{i=r.db?.url??J__default.join(process.cwd(),vt.default_db_dir);let{createPgliteConnection:n}=await Qt("@supabase/lite/pglite","pglite","@electric-sql/pglite");e=await n({url:i});break}case "postgres":{i=r.db?.url??"";let{createPostgresConnection:n}=await Qt("@supabase/lite/postgres","postgres","postgres");e=await n({url:i});break}default:i=r.db?.url??vt.default_db_url,e=await createConnection({url:i,ddlDialect:"postgres"});break}if(!e)throw new Error("Failed to create connection");return console.log(Hs.default.green(" \u279C"),"Database located at",Hs.default.cyan(i??"in-memory")),{...r,connection:e}}async createApp(t){let r=await this.getConfig(t),e=new App(r);return e.config.storage?.enabled&&process.env.EXPERIMENTAL_STORAGE==="1"&&!e._storageAdapter&&(e._storageAdapter=new vi({basePath:J__default.join(process.cwd(),vt.config_dir,".temp/storage")})),await e.init()}};});var Ni,cf=y(()=>{ao();Ni=class extends rs{url(t){return this.projectUrl(t)}async ping(){return (await this.fetch("/v1/system/ping")).ok}async list(){let t=await this.fetch("/v1/projects");if(!t.ok)throw new Error("Failed to list projects");let r=await t.json();if(!r||!r.data)throw new Error("Failed to list projects");return r.data}async get(t){if(t=t??this.projectRef(),!t)throw new Error("No project ref found");let r=await this.fetch(`/v1/projects/${t}`);if(!r.ok)throw new Error(`Failed to get project: ${r.status} ${r.statusText}`);let e=await r.json();if(!e||!e.id)throw new Error("Failed to get project");return e}async create(t={}){let r=await this.fetch("/v1/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw new Error(`Failed to create project: ${r.status} ${r.statusText}`);let e=await r.json();if(!e.data||!e.data.id)throw new Error("Failed to create project");return e.data}async getConfig(t){let r=await this.fetch(`/v1/projects/${t}/config`);if(!r.ok)throw new Error(`Failed to get project config: ${r.status} ${r.statusText}`);let e=await r.json();if(!e)throw new Error("Failed to get project config");return e}async setConfig(t,r){let e=await this.fetch(`/v1/projects/${t}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!e.ok)throw new Error(`Failed to set project config: ${e.status} ${e.statusText}`);return true}async createApp(t){if(!this.config.host)throw new Error("No host specified");let{data:r,error:e}=await this.client.auth.getSession();if(e)throw e;if(!r?.session?.access_token)throw new Error("Not authenticated, sign in first.");let i=await this.getConfig(t);return await new App({...i.config,connection:cloud({projectRef:t,token:r.session.access_token,host:this.config.host})}).init()}};});var Ii,pf=y(()=>{no();uf();cf();Ii=class extends ss{project;get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}async getSession(){return await this.client.auth.getSession()}async getAccessToken(){let{data:t,error:r}=await this.getSession();if(r)throw r;return t?.session?.access_token}async requireSession(){let t=await this.getAccessToken();if(!t)throw new Error("Not authenticated, sign in first.");return t}async init(){let t={...this.config};return this.config.withSupabaseClient!==false&&(t.client=this.client,t.token=await this.getAccessToken()),this.project={local:new Oi(t),remote:new Ni(t)},this}};});async function z(s={}){return await new Ii({host:qs,root:ae.projectDir(),...s}).init()}var It=y(()=>{so();ro();pf();});var ff={};dt(ff,{start:()=>ky});var Vs,ky,hf=y(()=>{eo();he();Vs=Q(ot());ze();It();At();Ye();ky=s=>{s.command("start").option("--config <config>","Path to the config file").description("Start the development server").helpGroup("Local Development:").action(async t=>{await et(t.config),await ri(async()=>{let e=await(await z({withSupabaseClient:false})).project.local.createApp(t.config),i=e.config.api?.port??vt.default_api_port;await bi(e,{port:i});console.log(Vs.default.green(" \u279C"),"Server running on ",Vs.default.cyan(`http://localhost:${i}`));let a=Wr();a&&console.log(Vs.default.yellow(` \u26A0 ${a}`)),await e.connection.ping();},r=>{console.log(),console.log(Vs.default.green(`Ready in ${r.toFixed(2)}ms`));});});};});function qy(s){let t=normalize(s);return t.length>1&&t[t.length-1]===sep&&(t=t.substring(0,t.length-1)),t}function Ef(s,t){return s.replace(Gy,t)}function Hy(s){return s==="/"||Wy.test(s)}function uo(s,t){let{resolvePaths:r,normalizePath:e,pathSeparator:i}=t,n=process.platform==="win32"&&s.includes("/")||s.startsWith(".");if(r&&(s=resolve(s)),(e||n)&&(s=qy(s)),s===".")return "";let a=s[s.length-1]!==i;return Ef(a?s+i:s,i)}function Sf(s,t){return t+s}function Vy(s,t){return function(r,e){return e.startsWith(s)?e.slice(s.length)+r:Ef(relative(s,e),t.pathSeparator)+t.pathSeparator+r}}function Jy(s){return s}function Yy(s,t,r){return t+s+r}function Ky(s,t){let{relativePaths:r,includeBasePath:e}=t;return r&&s?Vy(s,t):e?Sf:Jy}function zy(s){return function(t,r){r.push(t.substring(s.length)||".");}}function Xy(s){return function(t,r,e){let i=t.substring(s.length)||".";e.every(n=>n(i,true))&&r.push(i);}}function eT(s,t){let{includeDirs:r,filters:e,relativePaths:i}=t;return r?i?e&&e.length?Xy(s):zy(s):e&&e.length?Zy:Qy:tT}function oT(s){let{excludeFiles:t,filters:r,onlyCounts:e}=s;return t?aT:r&&r.length?e?sT:rT:e?iT:nT}function cT(s){return s.group?uT:lT}function hT(s){return s.group?pT:fT}function dT(s,t){return !s.resolveSymlinks||s.excludeSymlinks?null:t?gT:mT}function yf(s,t,r){if(r.options.useRealPaths)return ET(t,r);let e=dirname(s),i=1;for(;e!==r.root&&i<2;){let n=r.symlinks.get(e);!!n&&(n===t||n.startsWith(t)||t.startsWith(n))?i++:e=dirname(e);}return r.symlinks.set(s,t),i>1}function ET(s,t){return t.visited.includes(s+t.options.pathSeparator)}function Li(s,t,r,e){t(s&&!e?s:null,r);}function RT(s,t){let{onlyCounts:r,group:e,maxFiles:i}=s;return r?t?ST:bT:e?t?yT:_T:i?t?wT:CT:t?TT:AT}function NT(s){return s?OT:vT}function PT(s,t){return new Promise((r,e)=>{bf(s,t,(i,n)=>{if(i)return e(i);r(n);});})}function bf(s,t,r){new wf(s,t,r).start();}function DT(s,t){return new wf(s,t).start()}var mf,Gy,Wy,Qy,Zy,tT,sT,rT,iT,nT,aT,lT,uT,pT,fT,mT,gT,ST,yT,TT,wT,bT,AT,CT,_T,Tf,vT,OT,IT,LT,$T,wf,gf,Af,Cf,_f=y(()=>{mf=createRequire(import.meta.url);Gy=/[\\/]/g;Wy=/^[a-z]:[\\/]$/i;Qy=(s,t)=>{t.push(s||".");},Zy=(s,t,r)=>{let e=s||".";r.every(i=>i(e,true))&&t.push(e);},tT=()=>{};sT=(s,t,r,e)=>{e.every(i=>i(s,false))&&r.files++;},rT=(s,t,r,e)=>{e.every(i=>i(s,false))&&t.push(s);},iT=(s,t,r,e)=>{r.files++;},nT=(s,t)=>{t.push(s);},aT=()=>{};lT=s=>s,uT=()=>[""].slice(0,0);pT=(s,t,r)=>{s.push({directory:t,files:r,dir:t});},fT=()=>{};mT=function(s,t,r){let{queue:e,fs:i,options:{suppressErrors:n}}=t;e.enqueue(),i.realpath(s,(a,o)=>{if(a)return e.dequeue(n?null:a,t);i.stat(o,(l,u)=>{if(l)return e.dequeue(n?null:l,t);if(u.isDirectory()&&yf(s,o,t))return e.dequeue(null,t);r(u,o),e.dequeue(null,t);});});},gT=function(s,t,r){let{queue:e,fs:i,options:{suppressErrors:n}}=t;e.enqueue();try{let a=i.realpathSync(s),o=i.statSync(a);if(o.isDirectory()&&yf(s,a,t))return;r(o,a);}catch(a){if(!n)throw a}};ST=s=>s.counts,yT=s=>s.groups,TT=s=>s.paths,wT=s=>s.paths.slice(0,s.options.maxFiles),bT=(s,t,r)=>(Li(t,r,s.counts,s.options.suppressErrors),null),AT=(s,t,r)=>(Li(t,r,s.paths,s.options.suppressErrors),null),CT=(s,t,r)=>(Li(t,r,s.paths.slice(0,s.options.maxFiles),s.options.suppressErrors),null),_T=(s,t,r)=>(Li(t,r,s.groups,s.options.suppressErrors),null);Tf={withFileTypes:true},vT=(s,t,r,e,i)=>{if(s.queue.enqueue(),e<0)return s.queue.dequeue(null,s);let{fs:n}=s;s.visited.push(t),s.counts.directories++,n.readdir(t||".",Tf,(a,o=[])=>{i(o,r,e),s.queue.dequeue(s.options.suppressErrors?null:a,s);});},OT=(s,t,r,e,i)=>{let{fs:n}=s;if(e<0)return;s.visited.push(t),s.counts.directories++;let a=[];try{a=n.readdirSync(t||".",Tf);}catch(o){if(!s.options.suppressErrors)throw o}i(a,r,e);};IT=class{count=0;constructor(s){this.onQueueEmpty=s;}enqueue(){return this.count++,this.count}dequeue(s,t){this.onQueueEmpty&&(--this.count<=0||s)&&(this.onQueueEmpty(s,t),s&&(t.controller.abort(),this.onQueueEmpty=void 0));}},LT=class{_files=0;_directories=0;set files(s){this._files=s;}get files(){return this._files}set directories(s){this._directories=s;}get directories(){return this._directories}get dirs(){return this._directories}},$T=class{aborted=false;abort(){this.aborted=true;}},wf=class{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(s,t,r){this.isSynchronous=!r,this.callbackInvoker=RT(t,this.isSynchronous),this.root=uo(s,t),this.state={root:Hy(this.root)?this.root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new LT,options:t,queue:new IT((e,i)=>this.callbackInvoker(i,e,r)),symlinks:new Map,visited:[""].slice(0,0),controller:new $T,fs:t.fs||ns},this.joinPath=Ky(this.root,t),this.pushDirectory=eT(this.root,t),this.pushFile=oT(t),this.getArray=cT(t),this.groupFiles=hT(t),this.resolveSymlink=dT(t,this.isSynchronous),this.walkDirectory=NT(this.isSynchronous);}start(){return this.pushDirectory(this.root,this.state.paths,this.state.options.filters),this.walkDirectory(this.state,this.root,this.root,this.state.options.maxDepth,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}walk=(s,t,r)=>{let{paths:e,options:{filters:i,resolveSymlinks:n,excludeSymlinks:a,exclude:o,maxFiles:l,signal:u,useRealPaths:c,pathSeparator:p},controller:f}=this.state;if(f.aborted||u&&u.aborted||l&&e.length>l)return;let d=this.getArray(this.state.paths);for(let m=0;m<s.length;++m){let g=s[m];if(g.isFile()||g.isSymbolicLink()&&!n&&!a){let T=this.joinPath(g.name,t);this.pushFile(T,d,this.state.counts,i);}else if(g.isDirectory()){let T=Yy(g.name,t,this.state.options.pathSeparator);if(o&&o(g.name,T))continue;this.pushDirectory(T,e,i),this.walkDirectory(this.state,T,T,r-1,this.walk);}else if(this.resolveSymlink&&g.isSymbolicLink()){let T=Sf(g.name,t);this.resolveSymlink(T,this.state,(E,b)=>{if(E.isDirectory()){if(b=uo(b,this.state.options),o&&o(g.name,c?b:T+p))return;this.walkDirectory(this.state,b,c?b:T+p,r-1,this.walk);}else {b=c?b:T;let N=basename(b),R=uo(dirname(b),this.state.options);b=this.joinPath(N,R),this.pushFile(b,d,this.state.counts,i);}});}}this.groupFiles(this.state.groups,t,d);}};gf=class{constructor(s,t){this.root=s,this.options=t;}withPromise(){return PT(this.root,this.options)}withCallback(s){bf(this.root,this.options,s);}sync(){return DT(this.root,this.options)}},Af=null;try{mf.resolve("picomatch"),Af=mf("picomatch");}catch{}Cf=class{globCache={};options={maxDepth:1/0,suppressErrors:true,pathSeparator:sep,filters:[]};globFunction;constructor(s){this.options={...this.options,...s},this.globFunction=this.options.globFunction;}group(){return this.options.group=true,this}withPathSeparator(s){return this.options.pathSeparator=s,this}withBasePath(){return this.options.includeBasePath=true,this}withRelativePaths(){return this.options.relativePaths=true,this}withDirs(){return this.options.includeDirs=true,this}withMaxDepth(s){return this.options.maxDepth=s,this}withMaxFiles(s){return this.options.maxFiles=s,this}withFullPaths(){return this.options.resolvePaths=true,this.options.includeBasePath=true,this}withErrors(){return this.options.suppressErrors=false,this}withSymlinks({resolvePaths:s=true}={}){return this.options.resolveSymlinks=true,this.options.useRealPaths=s,this.withFullPaths()}withAbortSignal(s){return this.options.signal=s,this}normalize(){return this.options.normalizePath=true,this}filter(s){return this.options.filters.push(s),this}onlyDirs(){return this.options.excludeFiles=true,this.options.includeDirs=true,this}exclude(s){return this.options.exclude=s,this}onlyCounts(){return this.options.onlyCounts=true,this}crawl(s){return new gf(s||".",this.options)}withGlobFunction(s){return this.globFunction=s,this}crawlWithOptions(s,t){return this.options={...this.options,...t},new gf(s||".",this.options)}glob(...s){return this.globFunction?this.globWithOptions(s):this.globWithOptions(s,{dot:true})}globWithOptions(s,...t){let r=this.globFunction||Af;if(!r)throw new Error("Please specify a glob function to use glob matching.");var e=this.globCache[s.join("\0")];return e||(e=r(s,...t),this.globCache[s.join("\0")]=e),this.options.filters.push(i=>e(i)),this}};});var Js=Yt((pL,If)=>{var Rf="[^\\\\/]",kT="(?=.)",vf="[^/]",po="(?:\\/|$)",Of="(?:^|\\/)",fo=`\\.{1,2}${po}`,xT="(?!\\.)",jT=`(?!${Of}${fo})`,FT=`(?!\\.{0,1}${po})`,UT=`(?!${fo})`,MT="[^.\\/]",BT=`${vf}*?`,qT="/",Nf={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:kT,QMARK:vf,END_ANCHOR:po,DOTS_SLASH:fo,NO_DOT:xT,NO_DOTS:jT,NO_DOT_SLASH:FT,NO_DOTS_SLASH:UT,QMARK_NO_DOT:MT,STAR:BT,START_ANCHOR:Of,SEP:qT},GT={...Nf,SLASH_LITERAL:"[\\\\/]",QMARK:Rf,STAR:`${Rf}*?`,DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},WT={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};If.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:WT,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(s){return {"!":{type:"negate",open:"(?:(?!(?:",close:`))${s.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(s){return s===true?GT:Nf}};});var Ys=Yt(Dt=>{var{REGEX_BACKSLASH:HT,REGEX_REMOVE_BACKSLASH:VT,REGEX_SPECIAL_CHARS:JT,REGEX_SPECIAL_CHARS_GLOBAL:YT}=Js();Dt.isObject=s=>s!==null&&typeof s=="object"&&!Array.isArray(s);Dt.hasRegexChars=s=>JT.test(s);Dt.isRegexChar=s=>s.length===1&&Dt.hasRegexChars(s);Dt.escapeRegex=s=>s.replace(YT,"\\$1");Dt.toPosixSlashes=s=>s.replace(HT,"/");Dt.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let s=navigator.platform.toLowerCase();return s==="win32"||s==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":false};Dt.removeBackslashes=s=>s.replace(VT,t=>t==="\\"?"":t);Dt.escapeLast=(s,t,r)=>{let e=s.lastIndexOf(t,r);return e===-1?s:s[e-1]==="\\"?Dt.escapeLast(s,t,e-1):`${s.slice(0,e)}\\${s.slice(e)}`};Dt.removePrefix=(s,t={})=>{let r=s;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};Dt.wrapOutput=(s,t={},r={})=>{let e=r.contains?"":"^",i=r.contains?"":"$",n=`${e}(?:${s})${i}`;return t.negated===true&&(n=`(?:^(?!${n}).*$)`),n};Dt.basename=(s,{windows:t}={})=>{let r=s.split(t?/[\\/]/:"/"),e=r[r.length-1];return e===""?r[r.length-2]:e};});var Ff=Yt((hL,jf)=>{var Lf=Ys(),{CHAR_ASTERISK:ho,CHAR_AT:KT,CHAR_BACKWARD_SLASH:Ks,CHAR_COMMA:zT,CHAR_DOT:mo,CHAR_EXCLAMATION_MARK:go,CHAR_FORWARD_SLASH:xf,CHAR_LEFT_CURLY_BRACE:Eo,CHAR_LEFT_PARENTHESES:So,CHAR_LEFT_SQUARE_BRACKET:XT,CHAR_PLUS:QT,CHAR_QUESTION_MARK:$f,CHAR_RIGHT_CURLY_BRACE:ZT,CHAR_RIGHT_PARENTHESES:Pf,CHAR_RIGHT_SQUARE_BRACKET:tw}=Js(),Df=s=>s===xf||s===Ks,kf=s=>{s.isPrefix!==true&&(s.depth=s.isGlobstar?1/0:1);},ew=(s,t)=>{let r=t||{},e=s.length-1,i=r.parts===true||r.scanToEnd===true,n=[],a=[],o=[],l=s,u=-1,c=0,p=0,f=false,d=false,m=false,g=false,T=false,E=false,b=false,N=false,R=false,P=false,D=0,v,_,x={value:"",depth:0,isGlob:false},w=()=>u>=e,j=()=>l.charCodeAt(u+1),O=()=>(v=_,l.charCodeAt(++u));for(;u<e;){_=O();let U;if(_===Ks){b=x.backslashes=true,_=O(),_===Eo&&(E=true);continue}if(E===true||_===Eo){for(D++;w()!==true&&(_=O());){if(_===Ks){b=x.backslashes=true,O();continue}if(_===Eo){D++;continue}if(E!==true&&_===mo&&(_=O())===mo){if(f=x.isBrace=true,m=x.isGlob=true,P=true,i===true)continue;break}if(E!==true&&_===zT){if(f=x.isBrace=true,m=x.isGlob=true,P=true,i===true)continue;break}if(_===ZT&&(D--,D===0)){E=false,f=x.isBrace=true,P=true;break}}if(i===true)continue;break}if(_===xf){if(n.push(u),a.push(x),x={value:"",depth:0,isGlob:false},P===true)continue;if(v===mo&&u===c+1){c+=2;continue}p=u+1;continue}if(r.noext!==true&&(_===QT||_===KT||_===ho||_===$f||_===go)===true&&j()===So){if(m=x.isGlob=true,g=x.isExtglob=true,P=true,_===go&&u===c&&(R=true),i===true){for(;w()!==true&&(_=O());){if(_===Ks){b=x.backslashes=true,_=O();continue}if(_===Pf){m=x.isGlob=true,P=true;break}}continue}break}if(_===ho){if(v===ho&&(T=x.isGlobstar=true),m=x.isGlob=true,P=true,i===true)continue;break}if(_===$f){if(m=x.isGlob=true,P=true,i===true)continue;break}if(_===XT){for(;w()!==true&&(U=O());){if(U===Ks){b=x.backslashes=true,O();continue}if(U===tw){d=x.isBracket=true,m=x.isGlob=true,P=true;break}}if(i===true)continue;break}if(r.nonegate!==true&&_===go&&u===c){N=x.negated=true,c++;continue}if(r.noparen!==true&&_===So){if(m=x.isGlob=true,i===true){for(;w()!==true&&(_=O());){if(_===So){b=x.backslashes=true,_=O();continue}if(_===Pf){P=true;break}}continue}break}if(m===true){if(P=true,i===true)continue;break}}r.noext===true&&(g=false,m=false);let W=l,A="",C="";c>0&&(A=l.slice(0,c),l=l.slice(c),p-=c),W&&m===true&&p>0?(W=l.slice(0,p),C=l.slice(p)):m===true?(W="",C=l):W=l,W&&W!==""&&W!=="/"&&W!==l&&Df(W.charCodeAt(W.length-1))&&(W=W.slice(0,-1)),r.unescape===true&&(C&&(C=Lf.removeBackslashes(C)),W&&b===true&&(W=Lf.removeBackslashes(W)));let q={prefix:A,input:s,start:c,base:W,glob:C,isBrace:f,isBracket:d,isGlob:m,isExtglob:g,isGlobstar:T,negated:N,negatedExtglob:R};if(r.tokens===true&&(q.maxDepth=0,Df(_)||a.push(x),q.tokens=a),r.parts===true||r.tokens===true){let U;for(let K=0;K<n.length;K++){let Wt=U?U+1:c,Lt=n[K],pe=s.slice(Wt,Lt);r.tokens&&(K===0&&c!==0?(a[K].isPrefix=true,a[K].value=A):a[K].value=pe,kf(a[K]),q.maxDepth+=a[K].depth),(K!==0||pe!=="")&&o.push(pe),U=Lt;}if(U&&U+1<s.length){let K=s.slice(U+1);o.push(K),r.tokens&&(a[a.length-1].value=K,kf(a[a.length-1]),q.maxDepth+=a[a.length-1].depth);}q.slashes=n,q.parts=o;}return q};jf.exports=ew;});var Bf=Yt((mL,Mf)=>{var $i=Js(),Zt=Ys(),{MAX_LENGTH:Pi,POSIX_REGEX_SOURCE:sw,REGEX_NON_SPECIAL_CHARS:rw,REGEX_SPECIAL_CHARS_BACKREF:iw,REPLACEMENTS:Uf}=$i,nw=(s,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...s,t);s.sort();let r=`[${s.join("-")}]`;try{new RegExp(r);}catch{return s.map(i=>Zt.escapeRegex(i)).join("..")}return r},is=(s,t)=>`Missing ${s}: "${t}" - use "\\\\${t}" to match literal characters`,yo=(s,t)=>{if(typeof s!="string")throw new TypeError("Expected a string");s=Uf[s]||s;let r={...t},e=typeof r.maxLength=="number"?Math.min(Pi,r.maxLength):Pi,i=s.length;if(i>e)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${e}`);let n={type:"bos",value:"",output:r.prepend||""},a=[n],o=r.capture?"":"?:",l=$i.globChars(r.windows),u=$i.extglobChars(l),{DOT_LITERAL:c,PLUS_LITERAL:p,SLASH_LITERAL:f,ONE_CHAR:d,DOTS_SLASH:m,NO_DOT:g,NO_DOT_SLASH:T,NO_DOTS_SLASH:E,QMARK:b,QMARK_NO_DOT:N,STAR:R,START_ANCHOR:P}=l,D=k=>`(${o}(?:(?!${P}${k.dot?m:c}).)*?)`,v=r.dot?"":g,_=r.dot?b:N,x=r.bash===true?D(r):R;r.capture&&(x=`(${x})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let w={input:s,index:-1,start:0,dot:r.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:a};s=Zt.removePrefix(s,w),i=s.length;let j=[],O=[],W=[],A=n,C,q=()=>w.index===i-1,U=w.peek=(k=1)=>s[w.index+k],K=w.advance=()=>s[++w.index]||"",Wt=()=>s.slice(w.index+1),Lt=(k="",nt=0)=>{w.consumed+=k,w.index+=nt;},pe=k=>{w.output+=k.output!=null?k.output:k.value,Lt(k.value);},Wd=()=>{let k=1;for(;U()==="!"&&(U(2)!=="("||U(3)==="?");)K(),w.start++,k++;return k%2===0?false:(w.negated=true,w.start++,true)},Ur=k=>{w[k]++,W.push(k);},we=k=>{w[k]--,W.pop();},Y=k=>{if(A.type==="globstar"){let nt=w.braces>0&&(k.type==="comma"||k.type==="brace"),I=k.extglob===true||j.length&&(k.type==="pipe"||k.type==="paren");k.type!=="slash"&&k.type!=="paren"&&!nt&&!I&&(w.output=w.output.slice(0,-A.output.length),A.type="star",A.value="*",A.output=x,w.output+=A.output);}if(j.length&&k.type!=="paren"&&(j[j.length-1].inner+=k.value),(k.value||k.output)&&pe(k),A&&A.type==="text"&&k.type==="text"){A.output=(A.output||A.value)+k.value,A.value+=k.value;return}k.prev=A,a.push(k),A=k;},Mr=(k,nt)=>{let I={...u[nt],conditions:1,inner:""};I.prev=A,I.parens=w.parens,I.output=w.output;let V=(r.capture?"(":"")+I.open;Ur("parens"),Y({type:k,value:nt,output:w.output?"":d}),Y({type:"paren",extglob:true,value:K(),output:V}),j.push(I);},Hd=k=>{let nt=k.close+(r.capture?")":""),I;if(k.type==="negate"){let V=x;if(k.inner&&k.inner.length>1&&k.inner.includes("/")&&(V=D(r)),(V!==x||q()||/^\)+$/.test(Wt()))&&(nt=k.close=`)$))${V}`),k.inner.includes("*")&&(I=Wt())&&/^\.[^\\/.]+$/.test(I)){let pt=yo(I,{...t,fastpaths:false}).output;nt=k.close=`)${pt})${V})`;}k.prev.type==="bos"&&(w.negatedExtglob=true);}Y({type:"paren",extglob:true,value:C,output:nt}),we("parens");};if(r.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(s)){let k=false,nt=s.replace(iw,(I,V,pt,Rt,gt,Jn)=>Rt==="\\"?(k=true,I):Rt==="?"?V?V+Rt+(gt?b.repeat(gt.length):""):Jn===0?_+(gt?b.repeat(gt.length):""):b.repeat(pt.length):Rt==="."?c.repeat(pt.length):Rt==="*"?V?V+Rt+(gt?x:""):x:V?I:`\\${I}`);return k===true&&(r.unescape===true?nt=nt.replace(/\\/g,""):nt=nt.replace(/\\+/g,I=>I.length%2===0?"\\\\":I?"\\":"")),nt===s&&r.contains===true?(w.output=s,w):(w.output=Zt.wrapOutput(nt,w,t),w)}for(;!q();){if(C=K(),C==="\0")continue;if(C==="\\"){let I=U();if(I==="/"&&r.bash!==true||I==="."||I===";")continue;if(!I){C+="\\",Y({type:"text",value:C});continue}let V=/^\\+/.exec(Wt()),pt=0;if(V&&V[0].length>2&&(pt=V[0].length,w.index+=pt,pt%2!==0&&(C+="\\")),r.unescape===true?C=K():C+=K(),w.brackets===0){Y({type:"text",value:C});continue}}if(w.brackets>0&&(C!=="]"||A.value==="["||A.value==="[^")){if(r.posix!==false&&C===":"){let I=A.value.slice(1);if(I.includes("[")&&(A.posix=true,I.includes(":"))){let V=A.value.lastIndexOf("["),pt=A.value.slice(0,V),Rt=A.value.slice(V+2),gt=sw[Rt];if(gt){A.value=pt+gt,w.backtrack=true,K(),!n.output&&a.indexOf(A)===1&&(n.output=d);continue}}}(C==="["&&U()!==":"||C==="-"&&U()==="]")&&(C=`\\${C}`),C==="]"&&(A.value==="["||A.value==="[^")&&(C=`\\${C}`),r.posix===true&&C==="!"&&A.value==="["&&(C="^"),A.value+=C,pe({value:C});continue}if(w.quotes===1&&C!=='"'){C=Zt.escapeRegex(C),A.value+=C,pe({value:C});continue}if(C==='"'){w.quotes=w.quotes===1?0:1,r.keepQuotes===true&&Y({type:"text",value:C});continue}if(C==="("){Ur("parens"),Y({type:"paren",value:C});continue}if(C===")"){if(w.parens===0&&r.strictBrackets===true)throw new SyntaxError(is("opening","("));let I=j[j.length-1];if(I&&w.parens===I.parens+1){Hd(j.pop());continue}Y({type:"paren",value:C,output:w.parens?")":"\\)"}),we("parens");continue}if(C==="["){if(r.nobracket===true||!Wt().includes("]")){if(r.nobracket!==true&&r.strictBrackets===true)throw new SyntaxError(is("closing","]"));C=`\\${C}`;}else Ur("brackets");Y({type:"bracket",value:C});continue}if(C==="]"){if(r.nobracket===true||A&&A.type==="bracket"&&A.value.length===1){Y({type:"text",value:C,output:`\\${C}`});continue}if(w.brackets===0){if(r.strictBrackets===true)throw new SyntaxError(is("opening","["));Y({type:"text",value:C,output:`\\${C}`});continue}we("brackets");let I=A.value.slice(1);if(A.posix!==true&&I[0]==="^"&&!I.includes("/")&&(C=`/${C}`),A.value+=C,pe({value:C}),r.literalBrackets===false||Zt.hasRegexChars(I))continue;let V=Zt.escapeRegex(A.value);if(w.output=w.output.slice(0,-A.value.length),r.literalBrackets===true){w.output+=V,A.value=V;continue}A.value=`(${o}${V}|${A.value})`,w.output+=A.value;continue}if(C==="{"&&r.nobrace!==true){Ur("braces");let I={type:"brace",value:C,output:"(",outputIndex:w.output.length,tokensIndex:w.tokens.length};O.push(I),Y(I);continue}if(C==="}"){let I=O[O.length-1];if(r.nobrace===true||!I){Y({type:"text",value:C,output:C});continue}let V=")";if(I.dots===true){let pt=a.slice(),Rt=[];for(let gt=pt.length-1;gt>=0&&(a.pop(),pt[gt].type!=="brace");gt--)pt[gt].type!=="dots"&&Rt.unshift(pt[gt].value);V=nw(Rt,r),w.backtrack=true;}if(I.comma!==true&&I.dots!==true){let pt=w.output.slice(0,I.outputIndex),Rt=w.tokens.slice(I.tokensIndex);I.value=I.output="\\{",C=V="\\}",w.output=pt;for(let gt of Rt)w.output+=gt.output||gt.value;}Y({type:"brace",value:C,output:V}),we("braces"),O.pop();continue}if(C==="|"){j.length>0&&j[j.length-1].conditions++,Y({type:"text",value:C});continue}if(C===","){let I=C,V=O[O.length-1];V&&W[W.length-1]==="braces"&&(V.comma=true,I="|"),Y({type:"comma",value:C,output:I});continue}if(C==="/"){if(A.type==="dot"&&w.index===w.start+1){w.start=w.index+1,w.consumed="",w.output="",a.pop(),A=n;continue}Y({type:"slash",value:C,output:f});continue}if(C==="."){if(w.braces>0&&A.type==="dot"){A.value==="."&&(A.output=c);let I=O[O.length-1];A.type="dots",A.output+=C,A.value+=C,I.dots=true;continue}if(w.braces+w.parens===0&&A.type!=="bos"&&A.type!=="slash"){Y({type:"text",value:C,output:c});continue}Y({type:"dot",value:C,output:c});continue}if(C==="?"){if(!(A&&A.value==="(")&&r.noextglob!==true&&U()==="("&&U(2)!=="?"){Mr("qmark",C);continue}if(A&&A.type==="paren"){let V=U(),pt=C;(A.value==="("&&!/[!=<:]/.test(V)||V==="<"&&!/<([!=]|\w+>)/.test(Wt()))&&(pt=`\\${C}`),Y({type:"text",value:C,output:pt});continue}if(r.dot!==true&&(A.type==="slash"||A.type==="bos")){Y({type:"qmark",value:C,output:N});continue}Y({type:"qmark",value:C,output:b});continue}if(C==="!"){if(r.noextglob!==true&&U()==="("&&(U(2)!=="?"||!/[!=<:]/.test(U(3)))){Mr("negate",C);continue}if(r.nonegate!==true&&w.index===0){Wd();continue}}if(C==="+"){if(r.noextglob!==true&&U()==="("&&U(2)!=="?"){Mr("plus",C);continue}if(A&&A.value==="("||r.regex===false){Y({type:"plus",value:C,output:p});continue}if(A&&(A.type==="bracket"||A.type==="paren"||A.type==="brace")||w.parens>0){Y({type:"plus",value:C});continue}Y({type:"plus",value:p});continue}if(C==="@"){if(r.noextglob!==true&&U()==="("&&U(2)!=="?"){Y({type:"at",extglob:true,value:C,output:""});continue}Y({type:"text",value:C});continue}if(C!=="*"){(C==="$"||C==="^")&&(C=`\\${C}`);let I=rw.exec(Wt());I&&(C+=I[0],w.index+=I[0].length),Y({type:"text",value:C});continue}if(A&&(A.type==="globstar"||A.star===true)){A.type="star",A.star=true,A.value+=C,A.output=x,w.backtrack=true,w.globstar=true,Lt(C);continue}let k=Wt();if(r.noextglob!==true&&/^\([^?]/.test(k)){Mr("star",C);continue}if(A.type==="star"){if(r.noglobstar===true){Lt(C);continue}let I=A.prev,V=I.prev,pt=I.type==="slash"||I.type==="bos",Rt=V&&(V.type==="star"||V.type==="globstar");if(r.bash===true&&(!pt||k[0]&&k[0]!=="/")){Y({type:"star",value:C,output:""});continue}let gt=w.braces>0&&(I.type==="comma"||I.type==="brace"),Jn=j.length&&(I.type==="pipe"||I.type==="paren");if(!pt&&I.type!=="paren"&&!gt&&!Jn){Y({type:"star",value:C,output:""});continue}for(;k.slice(0,3)==="/**";){let Br=s[w.index+4];if(Br&&Br!=="/")break;k=k.slice(3),Lt("/**",3);}if(I.type==="bos"&&q()){A.type="globstar",A.value+=C,A.output=D(r),w.output=A.output,w.globstar=true,Lt(C);continue}if(I.type==="slash"&&I.prev.type!=="bos"&&!Rt&&q()){w.output=w.output.slice(0,-(I.output+A.output).length),I.output=`(?:${I.output}`,A.type="globstar",A.output=D(r)+(r.strictSlashes?")":"|$)"),A.value+=C,w.globstar=true,w.output+=I.output+A.output,Lt(C);continue}if(I.type==="slash"&&I.prev.type!=="bos"&&k[0]==="/"){let Br=k[1]!==void 0?"|$":"";w.output=w.output.slice(0,-(I.output+A.output).length),I.output=`(?:${I.output}`,A.type="globstar",A.output=`${D(r)}${f}|${f}${Br})`,A.value+=C,w.output+=I.output+A.output,w.globstar=true,Lt(C+K()),Y({type:"slash",value:"/",output:""});continue}if(I.type==="bos"&&k[0]==="/"){A.type="globstar",A.value+=C,A.output=`(?:^|${f}|${D(r)}${f})`,w.output=A.output,w.globstar=true,Lt(C+K()),Y({type:"slash",value:"/",output:""});continue}w.output=w.output.slice(0,-A.output.length),A.type="globstar",A.output=D(r),A.value+=C,w.output+=A.output,w.globstar=true,Lt(C);continue}let nt={type:"star",value:C,output:x};if(r.bash===true){nt.output=".*?",(A.type==="bos"||A.type==="slash")&&(nt.output=v+nt.output),Y(nt);continue}if(A&&(A.type==="bracket"||A.type==="paren")&&r.regex===true){nt.output=C,Y(nt);continue}(w.index===w.start||A.type==="slash"||A.type==="dot")&&(A.type==="dot"?(w.output+=T,A.output+=T):r.dot===true?(w.output+=E,A.output+=E):(w.output+=v,A.output+=v),U()!=="*"&&(w.output+=d,A.output+=d)),Y(nt);}for(;w.brackets>0;){if(r.strictBrackets===true)throw new SyntaxError(is("closing","]"));w.output=Zt.escapeLast(w.output,"["),we("brackets");}for(;w.parens>0;){if(r.strictBrackets===true)throw new SyntaxError(is("closing",")"));w.output=Zt.escapeLast(w.output,"("),we("parens");}for(;w.braces>0;){if(r.strictBrackets===true)throw new SyntaxError(is("closing","}"));w.output=Zt.escapeLast(w.output,"{"),we("braces");}if(r.strictSlashes!==true&&(A.type==="star"||A.type==="bracket")&&Y({type:"maybe_slash",value:"",output:`${f}?`}),w.backtrack===true){w.output="";for(let k of w.tokens)w.output+=k.output!=null?k.output:k.value,k.suffix&&(w.output+=k.suffix);}return w};yo.fastpaths=(s,t)=>{let r={...t},e=typeof r.maxLength=="number"?Math.min(Pi,r.maxLength):Pi,i=s.length;if(i>e)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${e}`);s=Uf[s]||s;let{DOT_LITERAL:n,SLASH_LITERAL:a,ONE_CHAR:o,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:c,NO_DOTS_SLASH:p,STAR:f,START_ANCHOR:d}=$i.globChars(r.windows),m=r.dot?c:u,g=r.dot?p:u,T=r.capture?"":"?:",E={negated:false,prefix:""},b=r.bash===true?".*?":f;r.capture&&(b=`(${b})`);let N=v=>v.noglobstar===true?b:`(${T}(?:(?!${d}${v.dot?l:n}).)*?)`,R=v=>{switch(v){case "*":return `${m}${o}${b}`;case ".*":return `${n}${o}${b}`;case "*.*":return `${m}${b}${n}${o}${b}`;case "*/*":return `${m}${b}${a}${o}${g}${b}`;case "**":return m+N(r);case "**/*":return `(?:${m}${N(r)}${a})?${g}${o}${b}`;case "**/*.*":return `(?:${m}${N(r)}${a})?${g}${b}${n}${o}${b}`;case "**/.*":return `(?:${m}${N(r)}${a})?${n}${o}${b}`;default:{let _=/^(.*?)\.(\w+)$/.exec(v);if(!_)return;let x=R(_[1]);return x?x+n+_[2]:void 0}}},P=Zt.removePrefix(s,E),D=R(P);return D&&r.strictSlashes!==true&&(D+=`${a}?`),D};Mf.exports=yo;});var Wf=Yt((gL,Gf)=>{var aw=Ff(),To=Bf(),qf=Ys(),ow=Js(),lw=s=>s&&typeof s=="object"&&!Array.isArray(s),ht=(s,t,r=false)=>{if(Array.isArray(s)){let c=s.map(f=>ht(f,t,r));return f=>{for(let d of c){let m=d(f);if(m)return m}return false}}let e=lw(s)&&s.tokens&&s.input;if(s===""||typeof s!="string"&&!e)throw new TypeError("Expected pattern to be a non-empty string");let i=t||{},n=i.windows,a=e?ht.compileRe(s,t):ht.makeRe(s,t,false,true),o=a.state;delete a.state;let l=()=>false;if(i.ignore){let c={...t,ignore:null,onMatch:null,onResult:null};l=ht(i.ignore,c,r);}let u=(c,p=false)=>{let{isMatch:f,match:d,output:m}=ht.test(c,a,t,{glob:s,posix:n}),g={glob:s,state:o,regex:a,posix:n,input:c,output:m,match:d,isMatch:f};return typeof i.onResult=="function"&&i.onResult(g),f===false?(g.isMatch=false,p?g:false):l(c)?(typeof i.onIgnore=="function"&&i.onIgnore(g),g.isMatch=false,p?g:false):(typeof i.onMatch=="function"&&i.onMatch(g),p?g:true)};return r&&(u.state=o),u};ht.test=(s,t,r,{glob:e,posix:i}={})=>{if(typeof s!="string")throw new TypeError("Expected input to be a string");if(s==="")return {isMatch:false,output:""};let n=r||{},a=n.format||(i?qf.toPosixSlashes:null),o=s===e,l=o&&a?a(s):s;return o===false&&(l=a?a(s):s,o=l===e),(o===false||n.capture===true)&&(n.matchBase===true||n.basename===true?o=ht.matchBase(s,t,r,i):o=t.exec(l)),{isMatch:!!o,match:o,output:l}};ht.matchBase=(s,t,r)=>(t instanceof RegExp?t:ht.makeRe(t,r)).test(qf.basename(s));ht.isMatch=(s,t,r)=>ht(t,r)(s);ht.parse=(s,t)=>Array.isArray(s)?s.map(r=>ht.parse(r,t)):To(s,{...t,fastpaths:false});ht.scan=(s,t)=>aw(s,t);ht.compileRe=(s,t,r=false,e=false)=>{if(r===true)return s.output;let i=t||{},n=i.contains?"":"^",a=i.contains?"":"$",o=`${n}(?:${s.output})${a}`;s&&s.negated===true&&(o=`^(?!${o}).*$`);let l=ht.toRegex(o,t);return e===true&&(l.state=s),l};ht.makeRe=(s,t={},r=false,e=false)=>{if(!s||typeof s!="string")throw new TypeError("Expected a non-empty string");let i={negated:false,fastpaths:true};return t.fastpaths!==false&&(s[0]==="."||s[0]==="*")&&(i.output=To.fastpaths(s,t)),i.output||(i=To(s,t)),ht.compileRe(i,t,r,e)};ht.toRegex=(s,t)=>{try{let r=t||{};return new RegExp(s,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===true)throw r;return /$^/}};ht.constants=ow;Gf.exports=ht;});var Yf=Yt((dL,Jf)=>{var Hf=Wf(),uw=Ys();function Vf(s,t,r=false){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:uw.isWindows()}),Hf(s,t,r)}Object.assign(Vf,Hf);Jf.exports=Vf;});function hw(s,t={}){let r=s.length,e=Array(r),i=Array(r),n=!t.noglobstar;for(let a=0;a<r;a++){let o=Qf(s[a]);e[a]=o;let l=o.length,u=Array(l);for(let c=0;c<l;c++)u[c]=(0, os.default)(o[c],t);i[a]=u;}return a=>{let o=a.split("/");if(o[0]===".."&&fw.test(a))return true;for(let l=0;l<s.length;l++){let u=e[l],c=i[l],p=o.length,f=Math.min(p,u.length),d=0;for(;d<f;){let m=u[d];if(m.includes("/"))return true;if(!c[d](o[d]))break;if(n&&m==="**")return true;d++;}if(d===p)return true}return false}}function Kf(s,t,r){if(s===t||t.startsWith(`${s}/`)){if(r){let i=gw(s)?s.length:s.length+1;return (n,a)=>n.slice(i,a?-1:void 0)||"."}let e=t.slice(s.length+1);return e?(i,n)=>{if(i===".")return e;let a=`${e}/${i}`;return n?a.slice(0,-1):a}:(i,n)=>n&&i!=="."?i.slice(0,-1):i}return r?e=>posix.relative(s,e)||".":e=>posix.relative(s,`${t}/${e}`)||"."}function dw(s,t){if(t.startsWith(`${s}/`)){let r=t.slice(s.length+1);return e=>`${r}/${e}`}return r=>{let e=posix.relative(s,`${t}/${r}`);return r.endsWith("/")&&e!==""?`${e}/`:e||"."}}function Qf(s){var t;let r=os.default.scan(s,Ew);return !((t=r.parts)===null||t===void 0)&&t.length?r.parts:[s]}function Aw(s,t){let r=os.default.scan(s);return r.isGlob||r.negated}function as(...s){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...s);}function wo(s,t,r,e,i){let n=s;s.endsWith("/")&&(n=s.slice(0,-1)),!n.endsWith("*")&&t&&(n+="/**");let a=bw(r);zf.isAbsolute(n.replace(_w,""))?n=posix.relative(a,n):n=posix.normalize(n);let o=Cw.exec(n),l=Qf(n);if(o?.[0]){let c=(o[0].length+1)/3,p=0,f=a.split("/");for(;p<c&&l[p+c]===f[f.length+p-c];)n=n.slice(0,(c-p-1)*3)+n.slice((c-p)*3+l[p+c].length+1)||".",p++;let d=posix.join(r,o[0].slice(p*3));!d.startsWith(".")&&e.root.length>d.length&&(e.root=d,e.depthOffset=-c+p);}if(!i&&e.depthOffset>=0){var u;(u=e.commonPath)!==null&&u!==void 0||(e.commonPath=l);let c=[],p=Math.min(e.commonPath.length,l.length);for(let f=0;f<p;f++){let d=l[f];if(d==="**"&&!l[f+1]){c.pop();break}if(d!==e.commonPath[f]||Aw(d)||f===l.length-1)break;c.push(d);}e.depthOffset=c.length,e.commonPath=c,e.root=c.length>0?posix.join(r,...c):r;}return n}function Rw({patterns:s=["**/*"],ignore:t=[],expandDirectories:r=true},e,i){typeof s=="string"&&(s=[s]),typeof t=="string"&&(t=[t]);let n=[],a=[];for(let o of t)o&&(o[0]!=="!"||o[1]==="(")&&a.push(wo(o,r,e,i,true));for(let o of s)o&&(o[0]!=="!"||o[1]==="("?n.push(wo(o,r,e,i,false)):(o[1]!=="!"||o[2]==="(")&&a.push(wo(o.slice(1),r,e,i,true)));return {match:n,ignore:a}}function vw(s,t){for(let r=s.length-1;r>=0;r--){let e=s[r];s[r]=t(e);}return s}function Ow(s){return s?s instanceof URL?fileURLToPath$1(s).replace(Di,"/"):zf.resolve(s).replace(Di,"/"):process.cwd().replace(Di,"/")}function Nw(s,t={}){let r=process.env.TINYGLOBBY_DEBUG?{...t,debug:true}:t,e=Ow(r.cwd);if(r.debug&&as("globbing with:",{patterns:s,options:r,cwd:e}),Array.isArray(s)&&s.length===0)return [{sync:()=>[],withPromise:async()=>[]},false];let i={root:e,commonPath:null,depthOffset:0},n=Rw({...r,patterns:s},e,i);r.debug&&as("internal processing patterns:",n);let a={dot:r.dot,nobrace:r.braceExpansion===false,nocase:r.caseSensitiveMatch===false,noextglob:r.extglob===false,noglobstar:r.globstar===false,posix:true},o=(0, os.default)(n.match,{...a,ignore:n.ignore}),l=(0, os.default)(n.ignore,a),u=hw(n.match,a),c=Kf(e,i.root,r.absolute),p=r.absolute?c:Kf(e,i.root,true),f={filters:[r.debug?(g,T)=>{let E=c(g,T),b=o(E);return b&&as(`matched ${E}`),b}:(g,T)=>o(c(g,T))],exclude:r.debug?(g,T)=>{let E=p(T,true),b=E!=="."&&!u(E)||l(E);return as(b?`skipped ${T}`:`crawling ${T}`),b}:(g,T)=>{let E=p(T,true);return E!=="."&&!u(E)||l(E)},fs:r.fs?{readdir:r.fs.readdir||ns__default.readdir,readdirSync:r.fs.readdirSync||ns__default.readdirSync,realpath:r.fs.realpath||ns__default.realpath,realpathSync:r.fs.realpathSync||ns__default.realpathSync,stat:r.fs.stat||ns__default.stat,statSync:r.fs.statSync||ns__default.statSync}:void 0,pathSeparator:"/",relativePaths:true,resolveSymlinks:true,signal:r.signal};r.deep!==void 0&&(f.maxDepth=Math.round(r.deep-i.depthOffset)),r.absolute&&(f.relativePaths=false,f.resolvePaths=true,f.includeBasePath=true),r.followSymbolicLinks===false&&(f.resolveSymlinks=false,f.excludeSymlinks=true),r.onlyDirectories?(f.excludeFiles=true,f.includeDirs=true):r.onlyFiles===false&&(f.includeDirs=true),i.root=i.root.replace(Di,"");let d=i.root;r.debug&&as("internal properties:",i);let m=e!==d&&!r.absolute&&dw(e,i.root);return [new Cf(f).crawl(d),m]}async function zs(s,t){if(s&&t?.patterns)throw new Error("Cannot pass patterns as both an argument and an option");let r=pw(s)||typeof s=="string",e=r?t:s,i=r?s:s.patterns,[n,a]=Nw(i,e);return a?vw(await n.withPromise(),a):n.withPromise()}var os,pw,Xf,fw,mw,gw,Ew,Sw,yw,Tw,ww,bw,Cw,_w,Di,bo=y(()=>{_f();os=Q(Yf()),pw=Array.isArray,Xf=process.platform==="win32",fw=/^(\/?\.\.)+$/;mw=/^[A-Z]:\/$/i,gw=Xf?s=>mw.test(s):s=>s==="/";Ew={parts:true};Sw=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,yw=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,Tw=s=>s.replace(Sw,"\\$&"),ww=s=>s.replace(yw,"\\$&"),bw=Xf?ww:Tw;Cw=/^(\/?\.\.)+/,_w=/\\(?=[()[\]{}!*+?@|])/g,Di=/\\/g;});function nh(s,t={}){let r=t.entryType||t.type;if(r==="both"&&(r=xt.FILE_DIR_TYPE),r&&(t.type=r),s){if(typeof s!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!eh.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${eh.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=s,new Co(t)}var xt,Ao,ih,jw,eh,Fw,Uw,Mw,Bw,sh,rh,Co,ah=y(()=>{xt={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Ao={root:".",fileFilter:s=>true,directoryFilter:s=>true,type:xt.FILE_TYPE,lstat:false,depth:2147483648,alwaysStat:false,highWaterMark:4096};Object.freeze(Ao);ih="READDIRP_RECURSIVE_ERROR",jw=new Set(["ENOENT","EPERM","EACCES","ELOOP",ih]),eh=[xt.DIR_TYPE,xt.EVERYTHING_TYPE,xt.FILE_DIR_TYPE,xt.FILE_TYPE],Fw=new Set([xt.DIR_TYPE,xt.EVERYTHING_TYPE,xt.FILE_DIR_TYPE]),Uw=new Set([xt.EVERYTHING_TYPE,xt.FILE_DIR_TYPE,xt.FILE_TYPE]),Mw=s=>jw.has(s.code),Bw=process.platform==="win32",sh=s=>true,rh=s=>{if(s===void 0)return sh;if(typeof s=="function")return s;if(typeof s=="string"){let t=s.trim();return r=>r.basename===t}if(Array.isArray(s)){let t=s.map(r=>r.trim());return r=>t.some(e=>r.basename===e)}return sh},Co=class extends Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(t={}){super({objectMode:true,autoDestroy:true,highWaterMark:t.highWaterMark});let r={...Ao,...t},{root:e,type:i}=r;this._fileFilter=rh(r.fileFilter),this._directoryFilter=rh(r.directoryFilter);let n=r.lstat?lstat:stat;Bw?this._stat=a=>n(a,{bigint:true}):this._stat=n,this._maxDepth=r.depth!=null&&Number.isSafeInteger(r.depth)?r.depth:Ao.depth,this._wantsDir=i?Fw.has(i):false,this._wantsFile=i?Uw.has(i):false,this._wantsEverything=i===xt.EVERYTHING_TYPE,this._root=resolve$1(e),this._isDirent=!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(e,1)],this.reading=false,this.parent=void 0;}async _read(t){if(!this.reading){this.reading=true;try{for(;!this.destroyed&&t>0;){let r=this.parent,e=r&&r.files;if(e&&e.length>0){let{path:i,depth:n}=r,a=e.splice(0,t).map(l=>this._formatEntry(l,i)),o=await Promise.all(a);for(let l of o){if(!l)continue;if(this.destroyed)return;let u=await this._getEntryType(l);u==="directory"&&this._directoryFilter(l)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(l.fullPath,n+1)),this._wantsDir&&(this.push(l),t--)):(u==="file"||this._includeAsFile(l))&&this._fileFilter(l)&&this._wantsFile&&(this.push(l),t--);}}else {let i=this.parents.pop();if(!i){this.push(null);break}if(this.parent=await i,this.destroyed)return}}}catch(r){this.destroy(r);}finally{this.reading=false;}}}async _exploreDir(t,r){let e;try{e=await readdir(t,this._rdOptions);}catch(i){this._onError(i);}return {files:e,depth:r,path:t}}async _formatEntry(t,r){let e,i=this._isDirent?t.name:t;try{let n=resolve$1(join(r,i));e={path:relative$1(this._root,n),fullPath:n,basename:i},e[this._statsProp]=this._isDirent?t:await this._stat(n);}catch(n){this._onError(n);return}return e}_onError(t){Mw(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t);}async _getEntryType(t){if(!t&&this._statsProp in t)return "";let r=t[this._statsProp];if(r.isFile())return "file";if(r.isDirectory())return "directory";if(r&&r.isSymbolicLink()){let e=t.fullPath;try{let i=await realpath(e),n=await lstat(i);if(n.isFile())return "file";if(n.isDirectory()){let a=i.length;if(e.startsWith(i)&&e.substr(a,1)===sep$1){let o=new Error(`Circular symlink detected: "${e}" points to "${i}"`);return o.code=ih,this._onError(o)}return "directory"}}catch(i){return this._onError(i),""}}}_includeAsFile(t){let r=t&&t[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}};});function lh(s,t,r,e,i){let n=(a,o)=>{r(s),i(a,o,{watchedPath:s}),o&&s!==o&&ji(J.resolve(s,o),Le,J.join(s,o));};try{return watch(s,{persistent:t.persistent},n)}catch(a){e(a);return}}var Jw,Oo,ch,Ui,Mi,No,Yw,Kw,zw,ph,ft,Ht,Xw,Qw,Le,ki,ls,Zw,tb,eb,vo,Xs,sb,Qs,fh,xi,ji,rb,Ro,ib,Fi,hh=y(()=>{Jw="data",Oo="end",ch="close",Ui=()=>{},Mi=process.platform,No=Mi==="win32",Yw=Mi==="darwin",Kw=Mi==="linux",zw=Mi==="freebsd",ph=type()==="OS400",ft={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Ht=ft,Xw="watch",Qw={lstat:lstat,stat:stat},Le="listeners",ki="errHandlers",ls="rawEmitters",Zw=[Le,ki,ls],tb=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),eb=s=>tb.has(J.extname(s).slice(1).toLowerCase()),vo=(s,t)=>{s instanceof Set?s.forEach(t):t(s);},Xs=(s,t,r)=>{let e=s[t];e instanceof Set||(s[t]=e=new Set([e])),e.add(r);},sb=s=>t=>{let r=s[t];r instanceof Set?r.clear():delete s[t];},Qs=(s,t,r)=>{let e=s[t];e instanceof Set?e.delete(r):e===r&&delete s[t];},fh=s=>s instanceof Set?s.size===0:!s,xi=new Map;ji=(s,t,r,e,i)=>{let n=xi.get(s);n&&vo(n[t],a=>{a(r,e,i);});},rb=(s,t,r,e)=>{let{listener:i,errHandler:n,rawEmitter:a}=e,o=xi.get(t),l;if(!r.persistent)return l=lh(s,r,i,n,a),l?l.close.bind(l):void 0;if(o)Xs(o,Le,i),Xs(o,ki,n),Xs(o,ls,a);else {if(l=lh(s,r,ji.bind(null,t,Le),n,ji.bind(null,t,ls)),!l)return;l.on(Ht.ERROR,async u=>{let c=ji.bind(null,t,ki);if(o&&(o.watcherUnusable=true),No&&u.code==="EPERM")try{await(await open(s,"r")).close(),c(u);}catch{}else c(u);}),o={listeners:i,errHandlers:n,rawEmitters:a,watcher:l},xi.set(t,o);}return ()=>{Qs(o,Le,i),Qs(o,ki,n),Qs(o,ls,a),fh(o.listeners)&&(o.watcher.close(),xi.delete(t),Zw.forEach(sb(o)),o.watcher=void 0,Object.freeze(o));}},Ro=new Map,ib=(s,t,r,e)=>{let{listener:i,rawEmitter:n}=e,a=Ro.get(t),o=a&&a.options;return o&&(o.persistent<r.persistent||o.interval>r.interval)&&(unwatchFile(t),a=void 0),a?(Xs(a,Le,i),Xs(a,ls,n)):(a={listeners:i,rawEmitters:n,options:r,watcher:watchFile(t,r,(l,u)=>{vo(a.rawEmitters,p=>{p(Ht.CHANGE,t,{curr:l,prev:u});});let c=l.mtimeMs;(l.size!==u.size||c>u.mtimeMs||c===0)&&vo(a.listeners,p=>p(s,l));})},Ro.set(t,a)),()=>{Qs(a,Le,i),Qs(a,ls,n),fh(a.listeners)&&(Ro.delete(t),unwatchFile(t),a.options=a.watcher=void 0,Object.freeze(a));}},Fi=class{fsw;_boundHandleError;constructor(t){this.fsw=t,this._boundHandleError=r=>t._handleError(r);}_watchWithNodeFs(t,r){let e=this.fsw.options,i=J.dirname(t),n=J.basename(t);this.fsw._getWatchedDir(i).add(n);let o=J.resolve(t),l={persistent:e.persistent};r||(r=Ui);let u;if(e.usePolling){let c=e.interval!==e.binaryInterval;l.interval=c&&eb(n)?e.binaryInterval:e.interval,u=ib(t,o,l,{listener:r,rawEmitter:this.fsw._emitRaw});}else u=rb(t,o,l,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return u}_handleFile(t,r,e){if(this.fsw.closed)return;let i=J.dirname(t),n=J.basename(t),a=this.fsw._getWatchedDir(i),o=r;if(a.has(n))return;let l=async(c,p)=>{if(this.fsw._throttle(Xw,t,5)){if(!p||p.mtimeMs===0)try{let f=await stat(t);if(this.fsw.closed)return;let d=f.atimeMs,m=f.mtimeMs;if((!d||d<=m||m!==o.mtimeMs)&&this.fsw._emit(Ht.CHANGE,t,f),(Yw||Kw||zw)&&o.ino!==f.ino){this.fsw._closeFile(c),o=f;let g=this._watchWithNodeFs(t,l);g&&this.fsw._addPathCloser(c,g);}else o=f;}catch{this.fsw._remove(i,n);}else if(a.has(n)){let f=p.atimeMs,d=p.mtimeMs;(!f||f<=d||d!==o.mtimeMs)&&this.fsw._emit(Ht.CHANGE,t,p),o=p;}}},u=this._watchWithNodeFs(t,l);if(!(e&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(Ht.ADD,t,0))return;this.fsw._emit(Ht.ADD,t,r);}return u}async _handleSymlink(t,r,e,i){if(this.fsw.closed)return;let n=t.fullPath,a=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let o;try{o=await realpath(e);}catch{return this.fsw._emitReady(),true}return this.fsw.closed?void 0:(a.has(i)?this.fsw._symlinkPaths.get(n)!==o&&(this.fsw._symlinkPaths.set(n,o),this.fsw._emit(Ht.CHANGE,e,t.stats)):(a.add(i),this.fsw._symlinkPaths.set(n,o),this.fsw._emit(Ht.ADD,e,t.stats)),this.fsw._emitReady(),true)}if(this.fsw._symlinkPaths.has(n))return true;this.fsw._symlinkPaths.set(n,true);}_handleRead(t,r,e,i,n,a,o){t=J.join(t,"");let l=i?`${t}:${i}`:t;if(o=this.fsw._throttle("readdir",l,1e3),!o)return;let u=this.fsw._getWatchedDir(e.path),c=new Set,p=this.fsw._readdirp(t,{fileFilter:f=>e.filterPath(f),directoryFilter:f=>e.filterDir(f)});if(p)return p.on(Jw,async f=>{if(this.fsw.closed){p=void 0;return}let d=f.path,m=J.join(t,d);if(c.add(d),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,t,m,d))){if(this.fsw.closed){p=void 0;return}(d===i||!i&&!u.has(d))&&(this.fsw._incrReadyCount(),m=J.join(n,J.relative(n,m)),this._addToNodeFs(m,r,e,a+1));}}).on(Ht.ERROR,this._boundHandleError),new Promise((f,d)=>{if(!p)return d();p.once(Oo,()=>{if(this.fsw.closed){p=void 0;return}let m=o?o.clear():false;f(void 0),u.getChildren().filter(g=>g!==t&&!c.has(g)).forEach(g=>{this.fsw._remove(t,g);}),p=void 0,m&&this._handleRead(t,false,e,i,n,a,o);});})}async _handleDir(t,r,e,i,n,a,o){let l=this.fsw._getWatchedDir(J.dirname(t)),u=l.has(J.basename(t));!(e&&this.fsw.options.ignoreInitial)&&!n&&!u&&this.fsw._emit(Ht.ADD_DIR,t,r),l.add(J.basename(t)),this.fsw._getWatchedDir(t);let c,p,f=this.fsw.options.depth;if((f==null||i<=f)&&!this.fsw._symlinkPaths.has(o)){if(!n&&(await this._handleRead(t,e,a,n,t,i,c),this.fsw.closed))return;p=this._watchWithNodeFs(t,(d,m)=>{m&&m.mtimeMs===0||this._handleRead(d,false,a,n,t,i,c);});}return p}async _addToNodeFs(t,r,e,i,n){let a=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return a(),false;let o=this.fsw._getWatchHelpers(t);e&&(o.filterPath=l=>e.filterPath(l),o.filterDir=l=>e.filterDir(l));try{let l=await Qw[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,l))return a(),!1;let u=this.fsw.options.followSymlinks,c;if(l.isDirectory()){let p=J.resolve(t),f=u?await realpath(t):t;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,l,r,i,n,o,f),this.fsw.closed))return;p!==f&&f!==void 0&&this.fsw._symlinkPaths.set(p,f);}else if(l.isSymbolicLink()){let p=u?await realpath(t):t;if(this.fsw.closed)return;let f=J.dirname(o.watchPath);if(this.fsw._getWatchedDir(f).add(o.watchPath),this.fsw._emit(Ht.ADD,o.watchPath,l),c=await this._handleDir(f,l,r,i,t,o,p),this.fsw.closed)return;p!==void 0&&this.fsw._symlinkPaths.set(J.resolve(t),p);}else c=this._handleFile(o.watchPath,l,r);return a(),c&&this.fsw._addPathCloser(t,c),!1}catch(l){if(this.fsw._handleError(l))return a(),t}}};});function Bi(s){return Array.isArray(s)?s:[s]}function gb(s){return typeof s=="function"?s:typeof s=="string"?t=>s===t:s instanceof RegExp?t=>s.test(t):typeof s=="object"&&s!==null?t=>{if(s.path===t)return true;if(s.recursive){let r=J.relative(s.path,t);return r?!r.startsWith("..")&&!J.isAbsolute(r):false}return false}:()=>false}function db(s){if(typeof s!="string")throw new Error("string expected");s=J.normalize(s),s=s.replace(/\\/g,"/");let t=false;return s.startsWith("//")&&(t=true),s=s.replace(yh,"/"),t&&(s="/"+s),s}function mh(s,t,r){let e=db(t);for(let i=0;i<s.length;i++){let n=s[i];if(n(e,r))return true}return false}function Eb(s,t){if(s==null)throw new TypeError("anymatch: specify first argument");let e=Bi(s).map(i=>gb(i));return t==null?(i,n)=>mh(e,i,n):mh(e,t)}function bb(s,t={}){let r=new qi(t);return r.add(s),r}var Io,ub,Sh,cb,pb,fb,yh,hb,mb,Lo,gh,dh,Th,Eh,Sb,yb,$o,Tb,wb,Po,qi,Gi,Do=y(()=>{ah();hh();Io="/",ub="//",Sh=".",cb="..",pb="string",fb=/\\/g,yh=/\/\//g,hb=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,mb=/^\.[/\\]/;Lo=s=>typeof s=="object"&&s!==null&&!(s instanceof RegExp);gh=s=>{let t=Bi(s).flat();if(!t.every(r=>typeof r===pb))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(Th)},dh=s=>{let t=s.replace(fb,Io),r=false;return t.startsWith(ub)&&(r=true),t=t.replace(yh,Io),r&&(t=Io+t),t},Th=s=>dh(J.normalize(dh(s))),Eh=(s="")=>t=>typeof t=="string"?Th(J.isAbsolute(t)?t:J.join(s,t)):t,Sb=(s,t)=>J.isAbsolute(s)?s:J.join(t,s),yb=Object.freeze(new Set),$o=class{path;_removeWatcher;items;constructor(t,r){this.path=t,this._removeWatcher=r,this.items=new Set;}add(t){let{items:r}=this;r&&t!==Sh&&t!==cb&&r.add(t);}async remove(t){let{items:r}=this;if(!r||(r.delete(t),r.size>0))return;let e=this.path;try{await readdir(e);}catch{this._removeWatcher&&this._removeWatcher(J.dirname(e),J.basename(e));}}has(t){let{items:r}=this;if(r)return r.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=Ui,this.items=yb,Object.freeze(this);}},Tb="stat",wb="lstat",Po=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(t,r,e){this.fsw=e;let i=t;this.path=t=t.replace(mb,""),this.watchPath=i,this.fullWatchPath=J.resolve(i),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop();}),this.followSymlinks=r,this.statMethod=r?Tb:wb;}entryPath(t){return J.join(this.watchPath,J.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:r}=t;if(r&&r.isSymbolicLink())return this.filterDir(t);let e=this.entryPath(t);return this.fsw._isntIgnored(e,r)&&this.fsw._hasReadPermissions(r)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},qi=class extends EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(t={}){super(),this.closed=false,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=false;let r=t.awaitWriteFinish,e={stabilityThreshold:2e3,pollInterval:100},i={persistent:true,ignoreInitial:false,ignorePermissionErrors:false,interval:100,binaryInterval:300,followSymlinks:true,usePolling:false,atomic:true,...t,ignored:t.ignored?Bi(t.ignored):Bi([]),awaitWriteFinish:r===true?e:typeof r=="object"?{...e,...r}:false};ph&&(i.usePolling=true),i.atomic===void 0&&(i.atomic=!i.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let l=n.toLowerCase();l==="false"||l==="0"?i.usePolling=false:l==="true"||l==="1"?i.usePolling=true:i.usePolling=!!l;}let a=process.env.CHOKIDAR_INTERVAL;a&&(i.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=Ui,this._readyEmitted=true,process.nextTick(()=>this.emit(ft.READY)));},this._emitRaw=(...l)=>this.emit(ft.RAW,...l),this._boundRemove=this._remove.bind(this),this.options=i,this._nodeFsHandler=new Fi(this),Object.freeze(i);}_addIgnoredPath(t){if(Lo(t)){for(let r of this._ignoredPaths)if(Lo(r)&&r.path===t.path&&r.recursive===t.recursive)return}this._ignoredPaths.add(t);}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let r of this._ignoredPaths)Lo(r)&&r.path===t&&this._ignoredPaths.delete(r);}add(t,r,e){let{cwd:i}=this.options;this.closed=false,this._closePromise=void 0;let n=gh(t);return i&&(n=n.map(a=>Sb(a,i))),n.forEach(a=>{this._removeIgnoredPath(a);}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async a=>{let o=await this._nodeFsHandler._addToNodeFs(a,!e,void 0,0,r);return o&&this._emitReady(),o})).then(a=>{this.closed||a.forEach(o=>{o&&this.add(J.dirname(o),J.basename(r||o));});}),this}unwatch(t){if(this.closed)return this;let r=gh(t),{cwd:e}=this.options;return r.forEach(i=>{!J.isAbsolute(i)&&!this._closers.has(i)&&(e&&(i=J.join(e,i)),i=J.resolve(i)),this._closePath(i),this._addIgnoredPath(i),this._watched.has(i)&&this._addIgnoredPath({path:i,recursive:true}),this._userIgnored=void 0;}),this}close(){if(this._closePromise)return this._closePromise;this.closed=true,this.removeAllListeners();let t=[];return this._closers.forEach(r=>r.forEach(e=>{let i=e();i instanceof Promise&&t.push(i);})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=false,this._watched.forEach(r=>r.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((r,e)=>{let n=(this.options.cwd?J.relative(this.options.cwd,e):e)||Sh;t[n]=r.getChildren().sort();}),t}emitWithAll(t,r){this.emit(t,...r),t!==ft.ERROR&&this.emit(ft.ALL,t,...r);}async _emit(t,r,e){if(this.closed)return;let i=this.options;No&&(r=J.normalize(r)),i.cwd&&(r=J.relative(i.cwd,r));let n=[r];e!=null&&n.push(e);let a=i.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(r)))return o.lastChange=new Date,this;if(i.atomic){if(t===ft.UNLINK)return this._pendingUnlinks.set(r,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((l,u)=>{this.emit(...l),this.emit(ft.ALL,...l),this._pendingUnlinks.delete(u);});},typeof i.atomic=="number"?i.atomic:100),this;t===ft.ADD&&this._pendingUnlinks.has(r)&&(t=ft.CHANGE,this._pendingUnlinks.delete(r));}if(a&&(t===ft.ADD||t===ft.CHANGE)&&this._readyEmitted){let l=(u,c)=>{u?(t=ft.ERROR,n[0]=u,this.emitWithAll(t,n)):c&&(n.length>1?n[1]=c:n.push(c),this.emitWithAll(t,n));};return this._awaitWriteFinish(r,a.stabilityThreshold,t,l),this}if(t===ft.CHANGE&&!this._throttle(ft.CHANGE,r,50))return this;if(i.alwaysStat&&e===void 0&&(t===ft.ADD||t===ft.ADD_DIR||t===ft.CHANGE)){let l=i.cwd?J.join(i.cwd,r):r,u;try{u=await stat(l);}catch{}if(!u||this.closed)return;n.push(u);}return this.emitWithAll(t,n),this}_handleError(t){let r=t&&t.code;return t&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(ft.ERROR,t),t||this.closed}_throttle(t,r,e){this._throttled.has(t)||this._throttled.set(t,new Map);let i=this._throttled.get(t);if(!i)throw new Error("invalid throttle");let n=i.get(r);if(n)return n.count++,false;let a,o=()=>{let u=i.get(r),c=u?u.count:0;return i.delete(r),clearTimeout(a),u&&clearTimeout(u.timeoutObject),c};a=setTimeout(o,e);let l={timeoutObject:a,clear:o,count:0};return i.set(r,l),l}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,r,e,i){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let a=n.pollInterval,o,l=t;this.options.cwd&&!J.isAbsolute(t)&&(l=J.join(this.options.cwd,t));let u=new Date,c=this._pendingWrites;function p(f){stat$1(l,(d,m)=>{if(d||!c.has(t)){d&&d.code!=="ENOENT"&&i(d);return}let g=Number(new Date);f&&m.size!==f.size&&(c.get(t).lastChange=g);let T=c.get(t);g-T.lastChange>=r?(c.delete(t),i(void 0,m)):o=setTimeout(p,a,m);});}c.has(t)||(c.set(t,{lastChange:u,cancelWait:()=>(c.delete(t),clearTimeout(o),e)}),o=setTimeout(p,a));}_isIgnored(t,r){if(this.options.atomic&&hb.test(t))return true;if(!this._userIgnored){let{cwd:e}=this.options,n=(this.options.ignored||[]).map(Eh(e)),o=[...[...this._ignoredPaths].map(Eh(e)),...n];this._userIgnored=Eb(o,void 0);}return this._userIgnored(t,r)}_isntIgnored(t,r){return !this._isIgnored(t,r)}_getWatchHelpers(t){return new Po(t,this.options.followSymlinks,this)}_getWatchedDir(t){let r=J.resolve(t);return this._watched.has(r)||this._watched.set(r,new $o(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?true:!!(Number(t.mode)&256)}_remove(t,r,e){let i=J.join(t,r),n=J.resolve(i);if(e=e??(this._watched.has(i)||this._watched.has(n)),!this._throttle("remove",i,100))return;!e&&this._watched.size===1&&this.add(t,r,true),this._getWatchedDir(i).getChildren().forEach(f=>this._remove(i,f));let l=this._getWatchedDir(t),u=l.has(r);l.remove(r),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let c=i;if(this.options.cwd&&(c=J.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(c)&&this._pendingWrites.get(c).cancelWait()===ft.ADD)return;this._watched.delete(i),this._watched.delete(n);let p=e?ft.UNLINK_DIR:ft.UNLINK;u&&!this._isIgnored(i)&&this._emit(p,i),this._closePath(i);}_closePath(t){this._closeFile(t);let r=J.dirname(t);this._getWatchedDir(r).remove(J.basename(t));}_closeFile(t){let r=this._closers.get(t);r&&(r.forEach(e=>e()),this._closers.delete(t));}_addPathCloser(t,r){if(!r)return;let e=this._closers.get(t);e||(e=[],this._closers.set(t,e)),e.push(r);}_readdirp(t,r){if(this.closed)return;let e={type:ft.ALL,alwaysStat:true,lstat:true,...r,depth:0},i=nh(t,e);return this._streams.add(i),i.once(ch,()=>{i=void 0;}),i.once(Oo,()=>{i&&(this._streams.delete(i),i=void 0);}),i}};Gi={watch:bb,FSWatcher:qi};});function bh(s){return s.config?.db?.driver==="sqlite"?"./sqlite-migrations/*.sql":"./migrations/*.sql"}function $e(s){return J__default.posix.dirname(bh(s))}async function te(s){let t=J__default.join(process.cwd(),"supabase"),r=await zs([bh(s)],{cwd:t,absolute:true}),e=[];for(let i of r){let n=J__default.basename(i),a=Ab.exec(n);if(!a)continue;let o=await mt__default.readFile(i,"utf-8");e.push({version:a[1],name:a[2]??null,filename:n,path:i,sql:o});}return e.sort((i,n)=>i.version.localeCompare(n.version))}async function Wi(s){return (await te(s)).map(r=>r.sql).join(`
|
|
63
|
-
`)}function ko(s=new Date){return s.getUTCFullYear().toString().padStart(4,"0")+(s.getUTCMonth()+1).toString().padStart(2,"0")+s.getUTCDate().toString().padStart(2,"0")+s.getUTCHours().toString().padStart(2,"0")+s.getUTCMinutes().toString().padStart(2,"0")+s.getUTCSeconds().toString().padStart(2,"0")}function xo(s,t=ko()){let r=s.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_|_$/g,"");return r.length>0?`${t}_${r}.sql`:`${t}.sql`}async function Ah(s,t,r){let e=J__default.join(process.cwd(),"supabase",$e(s));$t(e);let i=xo(t,r?.ts),n=J__default.join(e,i);return await mt__default.writeFile(n,"",{flag:"wx"}),n}var Ab,Pe=y(()=>{bo();Ae();Ab=/^(\d{14})(?:_([^.]+))?\.sql$/;});var de,jo=y(()=>{de=class{newlineChar;tabChar;prettyMode;constructor(t=`
|
|
64
|
-
|
|
65
|
-
`," ",r),this.select=a,this.from=o,this.group=l,this.sort=u,this.insertColumns=c,this.update=p,this.bool=f,this.isColumnConstraint=d,this.isDomainConstraint=m,this.alterColumnOptions=g,this.alterTableOptions=T,this.isEnumValue=E,this.objtype=b,this.subtype=N,Object.assign(this,R);}spawn(t,r={}){return new s({indentLevel:this.indentLevel,prettyMode:this.prettyMode,isStringLiteral:this.isStringLiteral,parentNodeTypes:[...this.parentNodeTypes,t],formatter:this.formatter,select:this.select,from:this.from,group:this.group,sort:this.sort,insertColumns:this.insertColumns,update:this.update,bool:this.bool,isColumnConstraint:this.isColumnConstraint,isDomainConstraint:this.isDomainConstraint,alterColumnOptions:this.alterColumnOptions,alterTableOptions:this.alterTableOptions,isEnumValue:this.isEnumValue,objtype:this.objtype,subtype:this.subtype,...r})}indent(t,r){if(!this.prettyMode)return t;let e=r!==void 0?r:this.indentLevel+1;return this.formatter.indent(t,e)}newline(){return this.formatter.newline()}parens(t){return this.formatter.parens(t)}format(t,r){return this.formatter.format(t,r)}isPretty(){return this.formatter.isPretty()}};});function Hi(s){let t=s.toLowerCase();return _h.has(t)?"RESERVED_KEYWORD":Oh.has(t)?"TYPE_FUNC_NAME_KEYWORD":vh.has(t)?"COL_NAME_KEYWORD":Rh.has(t)?"UNRESERVED_KEYWORD":"NO_KEYWORD"}var tr,_h,Rh,vh,Oh,Fo=y(()=>{tr={UNRESERVED_KEYWORD:["abort","absent","absolute","access","action","add","admin","after","aggregate","also","alter","always","asensitive","assertion","assignment","at","atomic","attach","attribute","backward","before","begin","breadth","by","cache","call","called","cascade","cascaded","catalog","chain","characteristics","checkpoint","class","close","cluster","columns","comment","comments","commit","committed","compression","conditional","configuration","conflict","connection","constraints","content","continue","conversion","copy","cost","csv","cube","current","cursor","cycle","data","database","day","deallocate","declare","defaults","deferred","definer","delete","delimiter","delimiters","depends","depth","detach","dictionary","disable","discard","document","domain","double","drop","each","empty","enable","encoding","encrypted","enforced","enum","error","escape","event","exclude","excluding","exclusive","execute","explain","expression","extension","external","family","filter","finalize","first","following","force","format","forward","function","functions","generated","global","granted","groups","handler","header","hold","hour","identity","if","ignore","immediate","immutable","implicit","import","include","including","increment","indent","index","indexes","inherit","inherits","inline","input","insensitive","insert","instead","invoker","isolation","keep","key","keys","label","language","large","last","leakproof","level","listen","load","local","location","lock","locked","logged","lsn","mapping","match","matched","materialized","maxvalue","merge","method","minute","minvalue","mode","month","move","name","names","nested","new","next","nfc","nfd","nfkc","nfkd","no","normalized","nothing","notify","nowait","nulls","object","objects","of","off","oids","old","omit","operator","option","options","ordinality","others","over","overriding","owned","owner","parallel","parameter","parser","partial","partition","partitions","passing","password","path","period","plan","plans","policy","preceding","prepare","prepared","preserve","prior","privileges","procedural","procedure","procedures","program","publication","quote","quotes","range","read","reassign","recursive","ref","referencing","refresh","reindex","relative","release","rename","repeatable","replace","replica","reset","respect","restart","restrict","return","returns","revoke","role","rollback","rollup","routine","routines","rows","rule","savepoint","scalar","schema","schemas","scroll","search","second","security","sequence","sequences","serializable","server","session","set","sets","share","show","simple","skip","snapshot","source","split","sql","stable","standalone","start","statement","statistics","stdin","stdout","storage","stored","strict","string","strip","subscription","support","sysid","system","tables","tablespace","target","temp","template","temporary","text","ties","transaction","transform","trigger","truncate","trusted","type","types","uescape","unbounded","uncommitted","unconditional","unencrypted","unknown","unlisten","unlogged","until","update","vacuum","valid","validate","validator","value","varying","version","view","views","virtual","volatile","wait","whitespace","within","without","work","wrapper","write","xml","year","yes","zone"],RESERVED_KEYWORD:["all","analyse","analyze","and","any","array","as","asc","asymmetric","both","case","cast","check","collate","column","constraint","create","current_catalog","current_date","current_role","current_time","current_timestamp","current_user","default","deferrable","desc","distinct","do","else","end","except","false","fetch","for","foreign","from","grant","group","having","in","initially","intersect","into","lateral","leading","limit","localtime","localtimestamp","not","null","offset","on","only","or","order","placing","primary","references","returning","select","session_user","some","symmetric","system_user","table","then","to","trailing","true","union","unique","user","using","variadic","when","where","window","with"],TYPE_FUNC_NAME_KEYWORD:["authorization","binary","collation","concurrently","cross","current_schema","freeze","full","ilike","inner","is","isnull","join","left","like","natural","notnull","outer","overlaps","right","similar","tablesample","verbose"],COL_NAME_KEYWORD:["between","bigint","bit","boolean","char","character","coalesce","dec","decimal","exists","extract","float","greatest","grouping","inout","int","integer","interval","json","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_scalar","json_serialize","json_table","json_value","least","merge_action","national","nchar","none","normalize","nullif","numeric","out","overlay","position","precision","real","row","setof","smallint","substring","time","timestamp","treat","trim","values","varchar","xmlattributes","xmlconcat","xmlelement","xmlexists","xmlforest","xmlnamespaces","xmlparse","xmlpi","xmlroot","xmlserialize","xmltable"]},_h=new Set(tr.RESERVED_KEYWORD??[]),Rh=new Set(tr.UNRESERVED_KEYWORD??[]),vh=new Set(tr.COL_NAME_KEYWORD??[]),Oh=new Set(tr.TYPE_FUNC_NAME_KEYWORD??[]);});var S,Nh=y(()=>{Fo();S=class s{static escape(t){return `'${t.replace(/'/g,"''")}'`}static escapeEString(t){return t.replace(/\\/g,"\\\\").replace(/'/g,"''")}static formatEString(t){return s.needsEscapePrefix(t)?`E'${s.escapeEString(t)}'`:s.escape(t)}static needsEscapePrefix(t){return !/^\\x[0-9a-fA-F]+$/i.test(t)&&t.includes("\\")}static quoteIdentifier(t){if(!t)return t;let r=true,e=t[0];e>="a"&&e<="z"||e==="_"||(r=false);for(let n=0;n<t.length;n++){let a=t[n];a>="a"&&a<="z"||a>="0"&&a<="9"||a==="_"||(r=false);}if(r){let n=Hi(t);n!=="NO_KEYWORD"&&n!=="UNRESERVED_KEYWORD"&&(r=false);}if(r)return t;let i='"';for(let n=0;n<t.length;n++){let a=t[n];a==='"'&&(i+='"'),i+=a;}return i+='"',i}static quoteIdentifierAfterDot(t){if(!t)return t;let r=true,e=t[0];e>="a"&&e<="z"||e==="_"||(r=false);for(let n=0;n<t.length;n++){let a=t[n];a>="a"&&a<="z"||a>="0"&&a<="9"||a==="_"||(r=false);}if(r)return t;let i='"';for(let n=0;n<t.length;n++){let a=t[n];a==='"'&&(i+='"'),i+=a;}return i+='"',i}static quoteDottedName(t){return !t||t.length===0?"":t.length===1?s.quoteIdentifier(t[0]):t.map((r,e)=>e===0?s.quoteIdentifier(r):s.quoteIdentifierAfterDot(r)).join(".")}static quoteQualifiedIdentifier(t,r){return t?`${s.quoteIdentifier(t)}.${s.quoteIdentifierAfterDot(r)}`:s.quoteIdentifier(r)}static quoteIdentifierTypeName(t){if(!t)return t;let r=true,e=t[0];e>="a"&&e<="z"||e==="_"||(r=false);for(let n=0;n<t.length;n++){let a=t[n];a>="a"&&a<="z"||a>="0"&&a<="9"||a==="_"||(r=false);}if(r&&Hi(t)==="RESERVED_KEYWORD"&&(r=false),r)return t;let i='"';for(let n=0;n<t.length;n++){let a=t[n];a==='"'&&(i+='"'),i+=a;}return i+='"',i}static quoteTypeDottedName(t){return !t||t.length===0?"":t.map(r=>s.quoteIdentifierTypeName(r)).join(".")}};});var Uo=y(()=>{Nh();Fo();});var h,Ih=y(()=>{h=class{static unwrapList(t){return t==null?[]:t.List!==void 0?t.List.items||[]:Array.isArray(t)?t:[t]}static formatList(t,r=", ",e="",i){return !t||t.length===0?"":t.map(n=>`${e}${i(n)}`).join(r)}};});function Rb(s){return s&&typeof s=="object"&&!Array.isArray(s)&&!("ParseResult"in s)&&!("RawStmt"in s)&&("stmts"in s||"version"in s)}var Cb,_b,cs,Lh=y(()=>{Ch();jo();Uo();Ih();Cb=["int2","int4","int8","float4","float8","numeric","varchar","char","bpchar","text","bool","date","time","timetz","timestamp","timestamptz","interval","bytea","uuid","json","jsonb","xml","money","bit","varbit","inet","cidr","macaddr","macaddr8"],_b=[["numeric",["decimal","dec"]],["int4",["int","integer"]],["float8",["float"]],["bpchar",["character"]],["varchar",["character varying"]]];cs=class s{tree;options;constructor(t,r={}){this.options={functionDelimiter:"$$",functionDelimiterFallback:"$EOFCODE$",...r},Rb(t)?this.tree=[{ParseResult:t}]:Array.isArray(t)?this.tree=t:this.tree=[t];}static deparse(t,r={}){return new s(t,r).deparseQuery()}deparseQuery(){let t=new de(this.options.newline,this.options.tab,this.options.pretty),r=new us({formatter:t,prettyMode:this.options.pretty});return this.tree.map(e=>this.deparse(e,r)||"").filter(e=>e!=="").join(r.newline()+r.newline())}getFunctionDelimiter(t){let r=this.options.functionDelimiter||"$$";return t.includes(r)?this.options.functionDelimiterFallback||"$EOFCODE$":r}getObjectTypeKeyword(t){switch(t){case "OBJECT_TABLE":return "TABLE";case "OBJECT_VIEW":return "VIEW";case "OBJECT_INDEX":return "INDEX";case "OBJECT_SEQUENCE":return "SEQUENCE";case "OBJECT_FUNCTION":return "FUNCTION";case "OBJECT_PROCEDURE":return "PROCEDURE";case "OBJECT_SCHEMA":return "SCHEMA";case "OBJECT_DATABASE":return "DATABASE";case "OBJECT_DOMAIN":return "DOMAIN";case "OBJECT_AGGREGATE":return "AGGREGATE";case "OBJECT_CONVERSION":return "CONVERSION";case "OBJECT_LANGUAGE":return "LANGUAGE";case "OBJECT_OPERATOR":return "OPERATOR";case "OBJECT_OPFAMILY":return "OPERATOR FAMILY";case "OBJECT_OPCLASS":return "OPERATOR CLASS";case "OBJECT_TSDICTIONARY":return "TEXT SEARCH DICTIONARY";case "OBJECT_TSCONFIGURATION":return "TEXT SEARCH CONFIGURATION";case "OBJECT_EVENT_TRIGGER":return "EVENT TRIGGER";case "OBJECT_FDW":return "FOREIGN DATA WRAPPER";case "OBJECT_FOREIGN_SERVER":return "SERVER";case "OBJECT_TYPE":return "TYPE";case "OBJECT_COLLATION":return "COLLATION";case "OBJECT_PUBLICATION":return "PUBLICATION";case "OBJECT_ACCESS_METHOD":return "ACCESS METHOD";case "OBJECT_AMOP":return "OPERATOR CLASS";case "OBJECT_AMPROC":return "OPERATOR CLASS";case "OBJECT_ATTRIBUTE":return "ATTRIBUTE";case "OBJECT_CAST":return "CAST";case "OBJECT_COLUMN":return "COLUMN";case "OBJECT_DEFAULT":return "DEFAULT";case "OBJECT_DEFACL":return "DEFAULT PRIVILEGES";case "OBJECT_DOMCONSTRAINT":return "DOMAIN";case "OBJECT_EXTENSION":return "EXTENSION";case "OBJECT_FOREIGN_TABLE":return "FOREIGN TABLE";case "OBJECT_LARGEOBJECT":return "LARGE OBJECT";case "OBJECT_MATVIEW":return "MATERIALIZED VIEW";case "OBJECT_PARAMETER_ACL":return "PARAMETER";case "OBJECT_POLICY":return "POLICY";case "OBJECT_PUBLICATION_NAMESPACE":return "PUBLICATION";case "OBJECT_PUBLICATION_REL":return "PUBLICATION";case "OBJECT_ROLE":return "ROLE";case "OBJECT_ROUTINE":return "ROUTINE";case "OBJECT_RULE":return "RULE";case "OBJECT_STATISTIC_EXT":return "STATISTICS";case "OBJECT_SUBSCRIPTION":return "SUBSCRIPTION";case "OBJECT_TABCONSTRAINT":return "CONSTRAINT";case "OBJECT_TABLESPACE":return "TABLESPACE";case "OBJECT_TRANSFORM":return "TRANSFORM";case "OBJECT_TRIGGER":return "TRIGGER";case "OBJECT_TSPARSER":return "TEXT SEARCH PARSER";case "OBJECT_TSTEMPLATE":return "TEXT SEARCH TEMPLATE";case "OBJECT_USER_MAPPING":return "USER MAPPING";default:throw new Error(`Unsupported objectType: ${t}`)}}deparse(t,r){if(t==null)return null;if(!r){let e=new de(this.options.newline,this.options.tab,this.options.pretty);r=new us({formatter:e,prettyMode:this.options.pretty});}if(typeof t=="number"||t instanceof Number)return t.toString();try{return this.visit(t,r)}catch(e){let i=Object.keys(t)[0];throw new Error(`Error deparsing ${i}: ${e.message}`)}}visit(t,r){if(!r){let a=new de(this.options.newline,this.options.tab,this.options.pretty);r=new us({formatter:a,prettyMode:this.options.pretty});}let e=this.getNodeType(t);if(!e)return "";let i=this.getNodeData(t),n=e;if(typeof this[n]=="function")return this[n](i,r);throw new Error(`Deparser does not handle node type: ${e}`)}getNodeType(t){return Object.keys(t)[0]}getNodeData(t){let r=Object.keys(t);return r.length===1&&typeof t[r[0]]=="object"?t[r[0]]:t}ParseResult(t,r){return !t.stmts||t.stmts.length===0?"":t.stmts.filter(e=>e!=null).map(e=>this.RawStmt(e,r)).filter(e=>e!=="").join(r.newline()+r.newline())}RawStmt(t,r){if(!t.stmt)return "";let e=this.deparse(t.stmt,r);return t.stmt_len?e+";":e}SelectStmt(t,r){let e=[];if(t.withClause&&e.push(this.WithClause(t.withClause,r)),!t.op||t.op==="SETOP_NONE")t.valuesLists==null&&(!r.isPretty()||!t.targetList)&&e.push("SELECT");else {let n=this.SelectStmt(t.larg,r),a=this.SelectStmt(t.rarg,r),o=t.larg&&(t.larg.op&&t.larg.op!=="SETOP_NONE"||t.larg.sortClause||t.larg.limitCount||t.larg.limitOffset||t.larg.withClause),l=t.rarg&&(t.rarg.op&&t.rarg.op!=="SETOP_NONE"||t.rarg.sortClause||t.rarg.limitCount||t.rarg.limitOffset||t.rarg.withClause);switch(o?e.push(r.parens(n)):e.push(n),t.op){case "SETOP_UNION":e.push("UNION");break;case "SETOP_INTERSECT":e.push("INTERSECT");break;case "SETOP_EXCEPT":e.push("EXCEPT");break;default:throw new Error(`Bad SelectStmt op: ${t.op}`)}t.all&&e.push("ALL"),l?e.push(r.parens(a)):e.push(a);}let i="";if(t.distinctClause){let n=h.unwrapList(t.distinctClause);if(n.length>0&&Object.keys(n[0]).length>0){let a=n.map(o=>this.visit(o,r.spawn("SelectStmt",{select:true}))).join(", ");i=" DISTINCT ON "+r.parens(a);}else i=" DISTINCT";if(!r.isPretty())if(n.length>0&&Object.keys(n[0]).length>0){e.push("DISTINCT ON");let a=n.map(o=>this.visit(o,r.spawn("SelectStmt",{select:true}))).join(", ");e.push(r.parens(a));}else e.push("DISTINCT");}if(t.targetList){let n=h.unwrapList(t.targetList);if(r.isPretty())if(n.length===1){let a=n[0],o=this.visit(a,r.spawn("SelectStmt",{select:true}));this.isComplexSelectTarget(a)?(e.push("SELECT"+i),this.containsMultilineStringLiteral(o)?e.push(o):e.push(r.indent(o))):e.push("SELECT"+i+" "+o);}else {let o=n.map(l=>{let u=this.visit(l,r.spawn("SelectStmt",{select:true}));return this.containsMultilineStringLiteral(u)?u:r.indent(u)}).join(","+r.newline());e.push("SELECT"+i),e.push(o);}else {let a=n.map(o=>this.visit(o,r.spawn("SelectStmt",{select:true}))).join(", ");e.push(a);}}if(t.intoClause&&(e.push("INTO"),e.push(this.IntoClause(t.intoClause,r))),t.fromClause){let a=h.unwrapList(t.fromClause).map(o=>this.deparse(o,r.spawn("SelectStmt",{from:true}))).join(", ");e.push("FROM "+a.trim());}if(t.whereClause)if(r.isPretty()){e.push("WHERE");let o=this.visit(t.whereClause,r).split(r.newline()).map((l,u)=>u===0?r.indent(l):l);e.push(o.join(r.newline()));}else e.push("WHERE"),e.push(this.visit(t.whereClause,r));if(t.valuesLists)if(r.isPretty()){e.push("VALUES");let a=h.unwrapList(t.valuesLists).map(o=>{let l=h.unwrapList(o).map(u=>this.visit(u,r));return r.parens(l.join(", "))}).map(o=>this.containsMultilineStringLiteral(o)?o:r.indent(o));e.push(a.join(`,
|
|
66
|
-
`));}else {e.push("VALUES");let n=h.unwrapList(t.valuesLists).map(a=>{let o=h.unwrapList(a).map(l=>this.visit(l,r));return r.parens(o.join(", "))});e.push(n.join(", "));}if(t.groupClause){let n=h.unwrapList(t.groupClause);if(r.isPretty()){let a=n.map(o=>{let l=this.visit(o,r.spawn("SelectStmt",{group:true,indentLevel:r.indentLevel+1}));return this.containsMultilineStringLiteral(l)?l:r.indent(l)}).join(","+r.newline());e.push("GROUP BY"),e.push(a);}else {e.push("GROUP BY");let a=n.map(o=>this.visit(o,r.spawn("SelectStmt",{group:true}))).join(", ");e.push(a);}}if(t.havingClause)if(r.isPretty()){e.push("HAVING");let n=this.visit(t.havingClause,r);this.containsMultilineStringLiteral(n)?e.push(n):e.push(r.indent(n));}else e.push("HAVING"),e.push(this.visit(t.havingClause,r));if(t.windowClause){e.push("WINDOW");let a=h.unwrapList(t.windowClause).map(o=>this.visit(o,r)).join(", ");e.push(a);}if(t.sortClause){let n=h.unwrapList(t.sortClause);if(r.isPretty()){let a=n.map(o=>{let l=this.visit(o,r.spawn("SelectStmt",{sort:true,indentLevel:r.indentLevel+1}));return this.containsMultilineStringLiteral(l)?l:r.indent(l)}).join(","+r.newline());e.push("ORDER BY"),e.push(a);}else {e.push("ORDER BY");let a=n.map(o=>this.visit(o,r.spawn("SelectStmt",{sort:true}))).join(", ");e.push(a);}}if(t.limitCount&&e.push("LIMIT "+this.visit(t.limitCount,r)),t.limitOffset&&e.push("OFFSET "+this.visit(t.limitOffset,r)),t.lockingClause){let a=h.unwrapList(t.lockingClause).map(o=>this.visit(o,r)).join(" ");e.push(a);}return r.isPretty()?e.filter(a=>a.trim()!=="").join(r.newline()):e.join(" ")}A_Expr(t,r){let e=t.kind,i=h.unwrapList(t.name),n=t.lexpr,a=t.rexpr;switch(e){case "AEXPR_OP":if(n&&a){let f=this.deparseOperatorName(i,r),d=this.visit(n,r),m=this.visit(a,r),g=false;if(n&&"A_Expr"in n&&n.A_Expr?.kind==="AEXPR_OP"){let E=this.deparseOperatorName(h.unwrapList(n.A_Expr.name),r);this.needsParentheses(E,f,"left")&&(g=true);}n&&this.isComplexExpression(n)&&(g=true),g&&(d=r.parens(d));let T=false;if(a&&"A_Expr"in a&&a.A_Expr?.kind==="AEXPR_OP"){let E=this.deparseOperatorName(h.unwrapList(a.A_Expr.name),r);this.needsParentheses(E,f,"right")&&(T=true);}return a&&this.isComplexExpression(a)&&(T=true),T&&(m=r.parens(m)),r.format([d,f,m])}else if(a){let f=this.deparseOperatorName(i,r),d=this.visit(a,r);return a&&"A_Expr"in a&&a.A_Expr?.kind==="AEXPR_OP"&&a.A_Expr?.lexpr&&(d=r.parens(d)),r.format([f,d])}break;case "AEXPR_OP_ANY":return r.format([this.visit(n,r),this.deparseOperatorName(i,r),"ANY",r.parens(this.visit(a,r))]);case "AEXPR_OP_ALL":return r.format([this.visit(n,r),this.deparseOperatorName(i,r),"ALL",r.parens(this.visit(a,r))]);case "AEXPR_DISTINCT":{let f=this.visit(n,r),d=this.visit(a,r);return n&&this.isComplexExpression(n)&&(f=r.parens(f)),a&&this.isComplexExpression(a)&&(d=r.parens(d)),r.format([f,"IS DISTINCT FROM",d])}case "AEXPR_NOT_DISTINCT":{let f=this.visit(n,r),d=this.visit(a,r);return n&&this.isComplexExpression(n)&&(f=r.parens(f)),a&&this.isComplexExpression(a)&&(d=r.parens(d)),r.format([f,"IS NOT DISTINCT FROM",d])}case "AEXPR_NULLIF":return r.format(["NULLIF",r.parens([this.visit(n,r),this.visit(a,r)].join(", "))]);case "AEXPR_IN":let o=this.deparseOperatorName(i,r);return o==="<>"||o==="!="?r.format([this.visit(n,r),"NOT IN",r.parens(this.visit(a,r))]):r.format([this.visit(n,r),"IN",r.parens(this.visit(a,r))]);case "AEXPR_LIKE":return this.deparseOperatorName(i,r)==="!~~"?r.format([this.visit(n,r),"NOT LIKE",this.visit(a,r)]):r.format([this.visit(n,r),"LIKE",this.visit(a,r)]);case "AEXPR_ILIKE":return this.deparseOperatorName(i,r)==="!~~*"?r.format([this.visit(n,r),"NOT ILIKE",this.visit(a,r)]):r.format([this.visit(n,r),"ILIKE",this.visit(a,r)]);case "AEXPR_SIMILAR":let c=this.deparseOperatorName(i,r),p;if(a&&"FuncCall"in a&&a.FuncCall?.funcname?.length===2&&a.FuncCall.funcname[0]?.String?.sval==="pg_catalog"&&a.FuncCall.funcname[1]?.String?.sval==="similar_to_escape"){let f=a.FuncCall.args||[];p=this.visit(f[0],r),f.length>1&&(p+=` ESCAPE ${this.visit(f[1],r)}`);}else p=this.visit(a,r);return c==="!~"?r.format([this.visit(n,r),"NOT SIMILAR TO",p]):r.format([this.visit(n,r),"SIMILAR TO",p]);case "AEXPR_BETWEEN":return r.format([this.visit(n,r),"BETWEEN",this.visitBetweenRange(a,r)]);case "AEXPR_NOT_BETWEEN":return r.format([this.visit(n,r),"NOT BETWEEN",this.visitBetweenRange(a,r)]);case "AEXPR_BETWEEN_SYM":return r.format([this.visit(n,r),"BETWEEN SYMMETRIC",this.visitBetweenRange(a,r)]);case "AEXPR_NOT_BETWEEN_SYM":return r.format([this.visit(n,r),"NOT BETWEEN SYMMETRIC",this.visitBetweenRange(a,r)])}throw new Error(`Unhandled A_Expr kind: ${e}`)}deparseOperatorName(t,r){if(!t||t.length===0)return "";let e=t.map(i=>i.String?i.String.sval||i.String.str:this.visit(i,r));return e.length>1?`OPERATOR(${e.join(".")})`:e.join(".")}getOperatorPrecedence(t){return {"||":1,OR:2,AND:3,NOT:4,IS:5,IN:5,BETWEEN:5,LIKE:5,ILIKE:5,SIMILAR:5,"<":6,"<=":6,">":6,">=":6,"=":6,"<>":6,"!=":6,"+":7,"-":7,"*":8,"/":8,"%":8,"^":9,"~":10,"&":10,"|":10,"#":10,"<<":10,">>":10}[t]||0}needsParentheses(t,r,e){let i=this.getOperatorPrecedence(t),n=this.getOperatorPrecedence(r);return i<n||i===n&&e==="right"&&(r==="-"||r==="/")}isComplexExpression(t){return !!(t.NullTest||t.BooleanTest||t.BoolExpr||t.CaseExpr||t.CoalesceExpr||t.SubLink||t.A_Expr)}isComplexSelectTarget(t){if(!t)return false;if(t.ResTarget?.val)return this.isComplexExpression(t.ResTarget.val);if(t.CaseExpr||t.SubLink||t.NullTest||t.BooleanTest||t.BoolExpr)return true;if(t.CoalesceExpr){let r=t.CoalesceExpr.args;if(r&&Array.isArray(r)&&r.length>1)return true}if(t.FuncCall){let r=t.FuncCall,e=r.args?Array.isArray(r.args)?r.args:[r.args]:[];if(r.over||r.agg_filter||r.agg_order||r.agg_distinct||e.length>1)return true;if(e.length===1)return this.isComplexSelectTarget(e[0])}if(t.A_Expr){let r=t.A_Expr;return !!(r.lexpr&&this.isComplexSelectTarget(r.lexpr)||r.rexpr&&this.isComplexSelectTarget(r.rexpr))}return t.TypeCast?this.isComplexSelectTarget(t.TypeCast.arg):t.A_ArrayExpr?true:t.A_Indirection?this.isComplexSelectTarget(t.A_Indirection.arg):(t.A_Const||t.ColumnRef||t.ParamRef||t.A_Star,false)}visitBetweenRange(t,r){return t&&"List"in t&&t.List?.items?t.List.items.map(i=>this.visit(i,r)).join(" AND "):this.visit(t,r)}InsertStmt(t,r){let e=[];if(t.withClause&&e.push(this.WithClause(t.withClause,r)),e.push("INSERT INTO"),e.push(this.RangeVar(t.relation,r)),t.cols){let i=h.unwrapList(t.cols),n=r.spawn("InsertStmt",{insertColumns:true}),a=i.map(o=>this.visit(o,n));if(r.isPretty()){let o=a.map(l=>r.indent(l));e.push(`(
|
|
67
|
-
`+o.join(`,
|
|
68
|
-
`)+`
|
|
69
|
-
)`);}else e.push(r.parens(a.join(", ")));}if(t.selectStmt?e.push(this.visit(t.selectStmt,r)):(!t.cols||t.cols&&h.unwrapList(t.cols).length===0)&&e.push("DEFAULT VALUES"),t.onConflictClause){if(e.push("ON CONFLICT"),t.onConflictClause.infer){let i=t.onConflictClause.infer;if(i.conname)e.push("ON CONSTRAINT"),e.push(i.conname);else if(i.indexElems){let a=h.unwrapList(i.indexElems).map(o=>this.visit(o,r));e.push(r.parens(a.join(", ")));}i.whereClause&&(e.push("WHERE"),e.push(this.visit(i.whereClause,r)));}if(t.onConflictClause.action==="ONCONFLICT_UPDATE"){e.push("DO UPDATE SET");let i=h.unwrapList(t.onConflictClause.targetList);if(i&&i.length){let n=i[0];if(n.ResTarget?.val?.MultiAssignRef&&i.every(a=>a.ResTarget?.val?.MultiAssignRef)){let o=i.sort((l,u)=>l.ResTarget.val.MultiAssignRef.colno-u.ResTarget.val.MultiAssignRef.colno).map(l=>l.ResTarget.name);e.push(r.parens(o.join(", "))),e.push("="),e.push(this.visit(n.ResTarget.val.MultiAssignRef.source,r));}else {let a=r.spawn("UpdateStmt",{update:true}),o=i.map(l=>this.visit(l,a));if(r.isPretty()){let l=o.map(u=>r.indent(u));e.push(`
|
|
70
|
-
`+l.join(`,
|
|
71
|
-
`));}else e.push(o.join(", "));}}t.onConflictClause.whereClause&&(e.push("WHERE"),e.push(this.visit(t.onConflictClause.whereClause,r)));}else t.onConflictClause.action==="ONCONFLICT_NOTHING"&&e.push("DO NOTHING");}if(t.returningList){e.push("RETURNING");let n=h.unwrapList(t.returningList).map(a=>this.visit(a,r));e.push(n.join(", "));}return e.join(" ")}UpdateStmt(t,r){let e=[];t.withClause&&e.push(this.WithClause(t.withClause,r)),e.push("UPDATE"),t.relation&&e.push(this.RangeVar(t.relation,r)),e.push("SET");let i=h.unwrapList(t.targetList);if(i&&i.length){i[0];let a=new Set,o=[];for(let l=0;l<i.length;l++){if(a.has(l))continue;let u=i[l],c=u.ResTarget?.val?.MultiAssignRef;if(c){let p=[];for(let m=l;m<i.length;m++){let g=i[m],T=g.ResTarget?.val?.MultiAssignRef;T&&JSON.stringify(T.source)===JSON.stringify(c.source)&&(p.push(g),a.add(m));}let f=p.map(m=>m.ResTarget.name),d=`${r.parens(f.join(", "))} = ${this.visit(c.source,r)}`;o.push(d);}else o.push(this.visit(u,r.spawn("UpdateStmt",{update:true}))),a.add(l);}e.push(o.join(","));}if(t.fromClause){e.push("FROM");let a=h.unwrapList(t.fromClause).map(o=>this.visit(o,r));e.push(a.join(", "));}return t.whereClause&&(e.push("WHERE"),e.push(this.visit(t.whereClause,r))),t.returningList&&(e.push("RETURNING"),e.push(this.deparseReturningList(t.returningList,r))),e.join(" ")}DeleteStmt(t,r){try{let e=[];if(t.withClause)try{e.push(this.WithClause(t.withClause,r));}catch(i){throw console.warn(`Error processing withClause in DeleteStmt: ${i instanceof Error?i.message:String(i)}`),new Error(`Error deparsing DeleteStmt: ${i instanceof Error?i.message:String(i)}`)}if(e.push("DELETE"),e.push("FROM"),!t.relation)throw new Error("DeleteStmt requires a relation");if(e.push(this.RangeVar(t.relation,r)),t.usingClause){e.push("USING");let n=h.unwrapList(t.usingClause).filter(a=>a!=null&&this.getNodeType(a)!=="undefined").map(a=>{try{return this.visit(a,r)}catch(o){return console.warn(`Error processing usingClause item in DeleteStmt: ${o instanceof Error?o.message:String(o)}`),""}}).filter(a=>a&&a.trim());n.length>0&&e.push(n.join(", "));}if(t.whereClause){e.push("WHERE");try{e.push(this.visit(t.whereClause,r));}catch(i){throw console.warn(`Error processing whereClause in DeleteStmt: ${i instanceof Error?i.message:String(i)}`),new Error(`Error deparsing DeleteStmt: ${i instanceof Error?i.message:String(i)}`)}}if(t.returningList){e.push("RETURNING");try{e.push(this.deparseReturningList(t.returningList,r));}catch(i){throw console.warn(`Error processing returningList in DeleteStmt: ${i instanceof Error?i.message:String(i)}`),new Error(`Error deparsing DeleteStmt: ${i instanceof Error?i.message:String(i)}`)}}return e.join(" ")}catch(e){throw new Error(`Error deparsing DeleteStmt: ${e instanceof Error?e.message:String(e)}`)}}WithClause(t,r){let e=["WITH"];if(t.recursive&&e.push("RECURSIVE"),t.ctes&&t.ctes.length>0){let i=h.unwrapList(t.ctes);if(r.isPretty()){let n=i.map((a,o)=>{let l=this.visit(a,r),u=o===0?r.newline():","+r.newline();return this.containsMultilineStringLiteral(l)?u+l:u+r.indent(l)});e.push(n.join(""));}else {let n=i.map(a=>this.visit(a,r));e.push(n.join(", "));}}return e.join(" ")}ResTarget(t,r){let e=[];if(r.update&&t.name){if(e.push(S.quoteIdentifier(t.name)),t.indirection&&t.indirection.length>0){let i=h.unwrapList(t.indirection).map(n=>n.String?`.${S.quoteIdentifierAfterDot(n.String.sval||n.String.str)}`:this.visit(n,r));e.push(i.join(""));}e.push("="),t.val&&e.push(this.deparse(t.val,r));}else if(r.insertColumns&&t.name){if(e.push(S.quoteIdentifier(t.name)),t.indirection&&t.indirection.length>0){let i=h.unwrapList(t.indirection).map(n=>n.String?`.${S.quoteIdentifierAfterDot(n.String.sval||n.String.str)}`:this.visit(n,r));e.push(i.join(""));}}else t.val&&e.push(this.deparse(t.val,r)),t.name&&(e.push("AS"),e.push(S.quoteIdentifier(t.name)));return e.join(" ")}deparseReturningList(t,r){return h.unwrapList(t).filter(e=>e!=null&&this.getNodeType(e)!=="undefined").map(e=>{try{if(this.getNodeType(e)==="ResTarget"){let i=this.getNodeData(e),n=i.val?this.visit(i.val,r):"",a=i.name?` AS ${S.quoteIdentifier(i.name)}`:"";return n+a}else return this.visit(e,r)}catch(i){return console.warn(`Error processing returning item: ${i instanceof Error?i.message:String(i)}`),""}}).filter(e=>e&&e.trim()).join(", ")}BoolExpr(t,r){let e=t.boolop,i=h.unwrapList(t.args),n="%s";r.bool&&(n="(%s)");let a=r.spawn("BoolExpr",{bool:true});switch(e){case "AND_EXPR":if(r.isPretty()&&i.length>1){let o=i.map(l=>this.visit(l,a)).join(r.newline()+r.indent("AND "));return n.replace("%s",()=>o)}else {let o=i.map(l=>this.visit(l,a)).join(" AND ");return n.replace("%s",()=>o)}case "OR_EXPR":if(r.isPretty()&&i.length>1){let o=i.map(l=>this.visit(l,a)).join(r.newline()+r.indent("OR "));return n.replace("%s",()=>o)}else {let o=i.map(l=>this.visit(l,a)).join(" OR ");return n.replace("%s",()=>o)}case "NOT_EXPR":return `NOT (${this.visit(i[0],r)})`;default:throw new Error(`Unhandled BoolExpr boolop: ${e}`)}}FuncCall(t,r){let e=h.unwrapList(t.funcname),i=h.unwrapList(t.args),n=e.map(c=>c.String?.sval||c.String?.str||"").filter(c=>c),a=S.quoteDottedName(n);if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.xmlexists"&&i.length>=2){let c=this.visit(i[0],r),p=this.visit(i[1],r);return `xmlexists (${c} PASSING ${p})`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.extract"&&i.length>=2){let c=this.visit(i[0],r),p=this.visit(i[1],r);return c.startsWith("'")&&c.endsWith("'")&&(c=c.slice(1,-1).toUpperCase()),`EXTRACT(${c} FROM ${p})`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&(a==="pg_catalog.rtrim"||a==="pg_catalog.ltrim"||a==="pg_catalog.btrim")&&i.length>=1){let c=this.visit(i[0],r),p="";if(i.length>=2&&(p=` ${this.visit(i[1],r)}`),a==="pg_catalog.rtrim")return `TRIM(TRAILING${p} FROM ${c})`;if(a==="pg_catalog.ltrim")return `TRIM(LEADING${p} FROM ${c})`;if(a==="pg_catalog.btrim")return `TRIM(BOTH${p} FROM ${c})`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.pg_collation_for")return `COLLATION FOR (${i.map(p=>this.visit(p,r)).join(", ")})`;if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.substring"){let c=this.visit(i[0],r);if(i.length===3){let p=this.visit(i[1],r),f=this.visit(i[2],r);return `SUBSTRING(${c} FROM ${p} FOR ${f})`}else if(i.length===2){let p=this.visit(i[1],r);return `SUBSTRING(${c} FROM ${p})`}}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.position"&&i.length===2){let c=this.visit(i[0],r);return `POSITION(${this.visit(i[1],r)} IN ${c})`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.overlay"){if(i.length===4){let c=this.visit(i[0],r),p=this.visit(i[1],r),f=this.visit(i[2],r),d=this.visit(i[3],r);return `OVERLAY(${c} PLACING ${p} FROM ${f} FOR ${d})`}else if(i.length===3){let c=this.visit(i[0],r),p=this.visit(i[1],r),f=this.visit(i[2],r);return `OVERLAY(${c} PLACING ${p} FROM ${f})`}}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.is_normalized"){let c=this.visit(i[0],r);if(i.length===2){let f=this.visit(i[1],r).replace(/'/g,"");return `${c} IS ${f} NORMALIZED`}else return `${c} IS NORMALIZED`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.normalize"){let c=this.visit(i[0],r);if(i.length===2){let f=this.visit(i[1],r).replace(/'/g,"");return `normalize(${c}, ${f})`}else return `normalize(${c})`}if(t.funcformat==="COERCE_SQL_SYNTAX"&&a==="pg_catalog.system_user"&&i.length===0)return "SYSTEM_USER";if(a==="pg_catalog.overlaps"&&i.length===4){let c=this.visit(i[0],r),p=this.visit(i[1],r),f=this.visit(i[2],r),d=this.visit(i[3],r);return `(${c}, ${p}) OVERLAPS (${f}, ${d})`}if(a==="pg_catalog.timezone"&&i.length===2){let c=this.visit(i[1],r),p=this.visit(i[0],r);if(i[1]&&"A_Expr"in i[1]&&i[1].A_Expr?.kind==="AEXPR_OP"){let f=this.deparseOperatorName(h.unwrapList(i[1].A_Expr.name),r);(f==="+"||f==="-"||f==="*"||f==="/")&&(c=r.parens(c));}return `${c} AT TIME ZONE ${p}`}let o=[];if(t.agg_star)t.agg_distinct?o.push("DISTINCT *"):o.push("*");else {let c=i.map(p=>this.visit(p,r));if(t.func_variadic&&c.length>0){let p=c.length-1;c[p]=`VARIADIC ${c[p]}`;}t.agg_distinct&&c.length>0?o.push("DISTINCT "+c.join(", ")):o.push(...c);}let l="";if(t.agg_order&&t.agg_order.length>0){let p=h.unwrapList(t.agg_order).map(f=>this.visit(f,r));t.agg_within_group?l=` WITHIN GROUP (ORDER BY ${p.join(", ")})`:l=` ORDER BY ${p.join(", ")}`;}let u;if(t.agg_within_group&&l?u=`${a}(${o.join(", ")})${l}`:u=`${a}(${o.join(", ")}${l})`,t.agg_filter&&(u+=` FILTER (WHERE ${this.visit(t.agg_filter,r)})`),t.over)if(t.over.name)u+=` OVER ${t.over.name}`;else {let c=[];if(t.over.partitionClause){let d=h.unwrapList(t.over.partitionClause).map(m=>this.visit(m,r));c.push(`PARTITION BY ${d.join(", ")}`);}if(t.over.orderClause){let d=h.unwrapList(t.over.orderClause).map(m=>this.visit(m,r));c.push(`ORDER BY ${d.join(", ")}`);}let p=this.formatWindowFrame(t.over,r.spawn("FuncCall"));if(p&&c.push(p),c.length>0)if(r.isPretty()&&c.length>1){let f=c.map(d=>r.indent(d));u+=` OVER (${r.newline()}${f.join(r.newline())}${r.newline()})`;}else u+=` OVER (${c.join(" ")})`;else u+=" OVER ()";}return u}FuncExpr(t,r){let e=`func_${t.funcid}`,i=t.args?h.unwrapList(t.args).map(n=>this.visit(n,r)).join(", "):"";return `${e}(${i})`}A_Const(t,r){let e=t;if(e.ival!==void 0)return typeof e.ival=="object"&&e.ival!==null?e.ival.ival!==void 0?e.ival.ival.toString():Object.keys(e.ival).length===0?"0":e.ival.toString():e.ival===null?"NULL":e.ival.toString();if(e.fval!==void 0)return typeof e.fval=="object"&&e.fval!==null?e.fval.fval!==void 0?e.fval.fval.toString():Object.keys(e.fval).length===0?"0.0":e.fval.toString():e.fval===null?"NULL":e.fval.toString();if(e.sval!==void 0)return typeof e.sval=="object"&&e.sval!==null?e.sval.sval!==void 0?S.formatEString(e.sval.sval):e.sval.String&&e.sval.String.sval!==void 0?S.formatEString(e.sval.String.sval):Object.keys(e.sval).length===0?"''":S.formatEString(e.sval.toString()):e.sval===null?"NULL":S.formatEString(e.sval);if(e.boolval!==void 0)return typeof e.boolval=="object"&&e.boolval!==null?e.boolval.boolval!==void 0?e.boolval.boolval?"true":"false":Object.keys(e.boolval).length===0?"false":e.boolval?"true":"false":e.boolval===null?"NULL":e.boolval?"true":"false";if(e.bsval!==void 0)if(typeof e.bsval=="object"&&e.bsval!==null)if(e.bsval.bsval!==void 0){let i=e.bsval.bsval;return i.startsWith("x")&&/^x[0-9A-Fa-f]+$/.test(i)?`x'${i.substring(1)}'`:i.startsWith("b")?`b'${i.substring(1)}'`:`b'${i}'`}else return Object.keys(e.bsval).length===0?"''":e.bsval.toString();else {if(e.bsval===null)return "NULL";{let i=e.bsval;return i.startsWith("x")&&/^x[0-9A-Fa-f]+$/.test(i)?`x'${i.substring(1)}'`:i.startsWith("b")?`b'${i.substring(1)}'`:`b'${i}'`}}if(e.val){if(e.val.Integer?.ival!==void 0)return e.val.Integer.ival.toString();if(e.val.Float?.fval!==void 0)return e.val.Float.fval.toString();if(e.val.String?.sval!==void 0)return S.escape(e.val.String.sval);if(e.val.Boolean?.boolval!==void 0)return e.val.Boolean.boolval?"true":"false";if(e.val.BitString?.bsval!==void 0)return e.val.BitString.bsval}return e.isnull===true?"NULL":typeof e=="object"&&e!==null?e.Boolean!==void 0?e.Boolean?"true":"false":e.Integer!==void 0?typeof e.Integer=="object"&&e.Integer.ival!==void 0?e.Integer.ival.toString():e.Integer.toString():e.Float!==void 0?typeof e.Float=="object"&&e.Float.fval!==void 0?e.Float.fval.toString():e.Float.toString():e.String!==void 0?typeof e.String=="object"&&e.String.sval!==void 0?S.escape(e.String.sval):S.escape(e.String):(Object.keys(e).length===0||console.warn("A_Const: Unhandled object structure:",JSON.stringify(e,null,2)),"NULL"):"NULL"}ColumnRef(t,r){return h.unwrapList(t.fields).map(i=>i.String?S.quoteIdentifier(i.String.sval||i.String.str):i.A_Star?"*":this.visit(i,r)).join(".")}TypeName(t,r){if(!t.names)return "";let e=[];t.setof&&e.push("SETOF");let i=t.names.map(u=>u.String?u.String.sval||u.String.str:"").filter(Boolean);if(i.length===0)return "";let n=null;t.typmods?i.some(c=>(typeof c=="string"?c:c.String?.sval||c.String?.str)==="interval")?n=this.formatIntervalTypeMods(t.typmods,r):n=this.formatTypeMods(t.typmods,r):t.typemod&&t.typemod!==-1&&(n=this.formatSingleTypeMod(t.typemod,i[0]));let a=(u,c)=>c!=null?u==="interval"?c.startsWith("(")?`${u}${c}`:`${u} ${c}`:`${u}(${c})`:u,o=u=>u.map(c=>c.Integer&&c.Integer.ival!==void 0&&c.Integer.ival!==-1?`[${c.Integer.ival}]`:"[]").join("");if(i.length===1){let u=i[0];if(u==="char")return r.parentNodeTypes.includes("TypeCast")&&n==="1"?e.push('"char"'):e.push(a('"char"',n)),e.join(" ");let c=a(S.quoteIdentifierTypeName(u),n);return t.arrayBounds&&t.arrayBounds.length>0&&(c+=o(t.arrayBounds)),e.push(c),e.join(" ")}if(i.length===2){let[u,c]=i;if(u==="pg_catalog"&&c==="char")return e.push(a("pg_catalog.char",n)),e.join(" ");if(u==="pg_catalog"){let p=`${u}.${c}`;c==="bpchar"&&n?p="char":c==="varchar"?p="varchar":c==="numeric"?p="numeric":c==="int4"?p="int":c==="float8"?p="double precision":c==="float4"?p="real":c==="int8"?p="bigint":c==="int2"?p="smallint":c==="bool"?p="boolean":c==="interval"?(r.parentNodeTypes.includes("TypeCast"),p="interval"):c==="timestamptz"?n?(p=`timestamp(${n}) with time zone`,n=null):p="timestamp with time zone":c==="timetz"?n?(p=`time(${n}) with time zone`,n=null):p="time with time zone":c==="timestamp"?n?(p=`timestamp(${n})`,n=null):p="timestamp":c==="time"&&(n?(p=`time(${n})`,n=null):p="time");let f=a(p,n);return t.arrayBounds&&t.arrayBounds.length>0&&(f+=o(t.arrayBounds)),e.push(f),e.join(" ")}}let l=a(S.quoteTypeDottedName(i),n);return t.arrayBounds&&t.arrayBounds.length>0&&(l+=o(t.arrayBounds)),e.push(l),e.join(" ")}Alias(t,r){let e=t.aliasname,i=[];if(t.colnames){let a=h.unwrapList(t.colnames).map(o=>{let l=this.deparse(o,r);return l.startsWith('"')&&l.endsWith('"')?l:this.quoteIfNeeded(l)});i.push("AS",this.quoteIfNeeded(e)+r.parens(a.join(", ")));}else i.push("AS",this.quoteIfNeeded(e));return i.join(" ")}RangeVar(t,r){let e=[];t&&(!("inh"in t)||t.inh===void 0)&&!r.parentNodeTypes.includes("CompositeTypeStmt")&&!r.parentNodeTypes.includes("AlterTypeStmt")&&r.objtype!=="OBJECT_TYPE"&&!r.parentNodeTypes.includes("CreateForeignTableStmt")&&e.push("ONLY");let i="";if(t.catalogname?(i=S.quoteIdentifier(t.catalogname),t.schemaname&&(i+="."+S.quoteIdentifierAfterDot(t.schemaname)),i+="."+S.quoteIdentifierAfterDot(t.relname)):t.schemaname?i=S.quoteQualifiedIdentifier(t.schemaname,t.relname):i=S.quoteIdentifier(t.relname),e.push(i),t.alias){let a=this.Alias(t.alias,r);e.push(a);}return e.join(" ")}formatIntervalTypeMods(t,r){if(!t||t.length===0)return null;let e=h.unwrapList(t),i={4:"year",2:"month",8:"day",1024:"hour",2048:"minute",4096:"second",6:"year to month",1032:"day to hour",3080:"day to minute",7176:"day to second",3072:"hour to minute",7168:"hour to second",6144:"minute to second"};if(e.length===1){let a=e[0];if(a&&typeof a=="object"){let o=a.A_Const;if(o&&o.ival!==void 0){let l=typeof o.ival=="object"?o.ival.ival:o.ival;if(l!==void 0)return i[l]?i[l]:`(${l})`}}}if(e.length===2){let a=e[0],o=e[1];if(a&&typeof a=="object"){let l=a.A_Const;if(l&&l.ival!==void 0){let u=typeof l.ival=="object"?l.ival.ival:l.ival;if(o&&typeof o=="object"){let c=o.A_Const;if(c&&c.ival!==void 0){let p=typeof c.ival=="object"?c.ival.ival!==void 0?c.ival.ival:0:c.ival;if(u===32767&&p>=0)return `(${p})`;if(i[u]&&p>=0)return `${i[u]}(${p})`}}}}}let n=e.map(a=>{if(a&&typeof a=="object"){let l=a.A_Const;if(l&&l.ival!==void 0){let u=typeof l.ival=="object"?l.ival.ival:l.ival;if(u!==void 0)return i[u]||u.toString()}}return this.visit(a,r)||""}).filter(Boolean);return n.length>0?n.join(" "):null}formatTypeMods(t,r){if(!t||t.length===0)return null;let i=h.unwrapList(t).filter(n=>{if(n&&typeof n=="object"){let a=n.A_Const;if(a&&a.ival&&(typeof a.ival=="object"?a.ival.ival:a.ival)===32767)return false}return true});return i.length===0?null:i.map(n=>this.deparse(n,r)).join(", ")}formatSingleTypeMod(t,r){switch(r){case "varchar":case "bpchar":case "char":if(t>4)return (t-64).toString();break;case "numeric":case "decimal":if(t>4){let e=t-4,i=e>>16&65535,n=e&65535;return n>0?`${i},${n}`:i.toString()}break;case "time":case "timetz":case "timestamp":case "timestamptz":case "interval":if(t>=0)return t.toString();break}return null}getPgCatalogTypeName(t,r){switch(t){case "bpchar":return r!=null?"char":"bpchar";case "varchar":return "varchar";case "numeric":return "numeric";case "bool":return "boolean";case "int2":return "smallint";case "int4":return "int";case "int8":return "bigint";case "real":return "float4";case "time":return "time";case "timestamp":return "timestamp";case "interval":return "interval";case "bit":return "bit";default:return t}}isPgCatalogType(t){let r=t.replace(/^pg_catalog\./,"");if(Cb.includes(r))return true;for(let[e,i]of _b)if(i.includes(r))return true;return false}A_ArrayExpr(t,r){return `ARRAY[${h.unwrapList(t.elements).map(n=>this.visit(n,r)).join(", ")}]`}A_Indices(t,r){let e=[];return t.is_slice?(t.lidx&&e.push(this.visit(t.lidx,r)),e.push(":"),t.uidx&&e.push(this.visit(t.uidx,r))):t.uidx&&e.push(this.visit(t.uidx,r)),`[${e.join("")}]`}A_Indirection(t,r){let e=this.visit(t.arg,r),i=this.getNodeType(t.arg);(i==="TypeCast"||i==="SubLink"||i==="A_Expr"||i==="FuncCall"||i==="A_Indirection"||i==="ColumnRef"||i==="RowExpr")&&(e=`(${e})`);let n=[e],a=h.unwrapList(t.indirection);for(let o of a)if(o.String||o.A_Star){let l=o.A_Star?"*":S.quoteIdentifier(o.String.sval||o.String.str);n.push(`.${l}`);}else n.push(this.visit(o,r));return n.join("")}A_Star(t,r){return "*"}CaseExpr(t,r){let e=["CASE"];t.arg&&e.push(this.visit(t.arg,r));let i=h.unwrapList(t.args);if(r.isPretty()&&i.length>0){for(let n of i){let a=this.visit(n,r);this.containsMultilineStringLiteral(a)?e.push(r.newline()+a):e.push(r.newline()+r.indent(a));}if(t.defresult){let n=this.visit(t.defresult,r);this.containsMultilineStringLiteral(n)?e.push(r.newline()+"ELSE "+n):e.push(r.newline()+r.indent("ELSE "+n));}return e.push(r.newline()+"END"),e.join(" ")}else {for(let n of i)e.push(this.visit(n,r));return t.defresult&&(e.push("ELSE"),e.push(this.visit(t.defresult,r))),e.push("END"),e.join(" ")}}CoalesceExpr(t,r){return `COALESCE(${h.unwrapList(t.args).map(n=>this.visit(n,r)).join(", ")})`}TypeCast(t,r){let e=this.visit(t.arg,r),i=this.TypeName(t.typeName,r);if(i==="bpchar"||i==="pg_catalog.bpchar"){let n=t.typeName?.names;if(n&&n.length===2&&n[0]?.String?.sval==="pg_catalog"&&n[1]?.String?.sval==="bpchar")return `CAST(${e} AS ${i})`}if(this.isPgCatalogType(i)){let n=this.getNodeType(t.arg),a=n==="A_Const"||n==="ColumnRef",o=n==="FuncCall";if((a||o)&&!(a&&(e.includes("(")||e.startsWith("-")))){let u=i.replace("pg_catalog.","");return o?`${r.parens(e)}::${u}`:`${e}::${u}`}}return `CAST(${e} AS ${i})`}CollateClause(t,r){let e=[];if(t.arg){let i=this.visit(t.arg,r),n=this.getNodeType(t.arg);(n==="A_Expr"||n==="FuncCall"||n==="SubLink")&&(i=`(${i})`),e.push(i);}if(e.push("COLLATE"),t.collname){let i=h.unwrapList(t.collname);e.push(i.map(n=>this.visit(n,r)).join("."));}return e.join(" ")}BooleanTest(t,r){let e=[],i=r.spawn("BooleanTest",{bool:true});switch(e.push(this.visit(t.arg,i)),t.booltesttype){case "IS_TRUE":e.push("IS TRUE");break;case "IS_NOT_TRUE":e.push("IS NOT TRUE");break;case "IS_FALSE":e.push("IS FALSE");break;case "IS_NOT_FALSE":e.push("IS NOT FALSE");break;case "IS_UNKNOWN":e.push("IS UNKNOWN");break;case "IS_NOT_UNKNOWN":e.push("IS NOT UNKNOWN");break}return e.join(" ")}NullTest(t,r){let e=[];switch(e.push(this.visit(t.arg,r)),t.nulltesttype){case "IS_NULL":e.push("IS NULL");break;case "IS_NOT_NULL":e.push("IS NOT NULL");break}return e.join(" ")}quoteIfNeeded(t){return S.quoteIdentifier(t)}preserveOperatorDefElemCase(t){return {leftarg:"Leftarg",rightarg:"Rightarg",procedure:"Procedure",function:"Function",commutator:"Commutator",negator:"Negator",restrict:"Restrict",join:"Join",hashes:"Hashes",merges:"Merges"}[t.toLowerCase()]||t}String(t,r){if(r.isStringLiteral||r.isEnumValue)return S.formatEString(t.sval||"");let e=t.sval||"";return r.parentNodeTypes.includes("DefElem")||r.parentNodeTypes.includes("CreateOpClassItem")||r.parentNodeTypes.includes("ObjectWithArgs")&&/^[+\-*/<>=~!@#%^&|`?]+$/.test(e)?e:S.quoteIdentifier(e)}Integer(t,r){return t.ival?.toString()||"0"}Float(t,r){return t.fval||"0.0"}Boolean(t,r){return t.boolval?"true":"false"}BitString(t,r){return t.bsval.startsWith("x")?`x'${t.bsval.substring(1)}'`:t.bsval.startsWith("b")?`b'${t.bsval.substring(1)}'`:`b'${t.bsval}'`}Null(t,r){return "NULL"}List(t,r){return !t.items||t.items.length===0?"":t.items.map(e=>this.visit(e,r)).join(", ")}CreateStmt(t,r){let e=["CREATE"];if(t.relation&&t.relation.relpersistence==="t"?e.push("TEMPORARY"):t.relation&&t.relation.relpersistence==="u"&&e.push("UNLOGGED"),t.if_not_exists?e.push("TABLE IF NOT EXISTS"):e.push("TABLE"),e.push(this.RangeVar(t.relation,r)),t.ofTypename){if(e.push("OF"),e.push(this.TypeName(t.ofTypename,r)),t.tableElts){let n=h.unwrapList(t.tableElts).map(a=>this.deparse(a,r));e.push(r.parens(n.join(", ")));}}else if(t.tableElts){let n=h.unwrapList(t.tableElts).map(a=>this.deparse(a,r.spawn("CreateStmt")));if(r.isPretty()){let a=n.map(o=>{let l=o.trim();return l.startsWith(`
|
|
72
|
-
`)?r.indent(l.substring(1)):r.indent(l)}).join(","+r.newline());e.push("("+r.newline()+a+r.newline()+")");}else e.push(r.parens(n.join(", ")));}else t.partbound||e.push(r.parens(""));if(t.partbound&&t.inhRelations&&t.inhRelations.length>0){e.push("PARTITION OF");let n=h.unwrapList(t.inhRelations).map(a=>this.visit(a,r));if(e.push(n[0]),t.partbound.strategy==="l"&&t.partbound.listdatums){e.push("FOR VALUES IN");let a=h.unwrapList(t.partbound.listdatums).map(o=>this.visit(o,r)).join(", ");e.push(`(${a})`);}else if(t.partbound.strategy==="r"&&(t.partbound.lowerdatums||t.partbound.upperdatums)){if(e.push("FOR VALUES FROM"),t.partbound.lowerdatums){let a=h.unwrapList(t.partbound.lowerdatums).map(o=>this.visit(o,r)).join(", ");e.push(`(${a})`);}if(t.partbound.upperdatums){e.push("TO");let a=h.unwrapList(t.partbound.upperdatums).map(o=>this.visit(o,r)).join(", ");e.push(`(${a})`);}}else if(t.partbound.strategy==="h"&&t.partbound.modulus!==void 0){e.push("FOR VALUES WITH");let a=t.partbound.remainder!==void 0?t.partbound.remainder:0;e.push(`(MODULUS ${t.partbound.modulus}, REMAINDER ${a})`);}else t.partbound.is_default&&e.push("DEFAULT");}else if(t.inhRelations){e.push("INHERITS");let n=h.unwrapList(t.inhRelations).map(a=>this.visit(a,r));e.push(r.parens(n.join(", ")));}if(t.partspec){switch(e.push("PARTITION BY"),t.partspec.strategy){case "PARTITION_STRATEGY_HASH":e.push("HASH");break;case "PARTITION_STRATEGY_LIST":e.push("LIST");break;case "PARTITION_STRATEGY_RANGE":e.push("RANGE");break}if(t.partspec.partParams&&t.partspec.partParams.length>0){let i=h.unwrapList(t.partspec.partParams).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}}if(t.oncommit&&t.oncommit!=="ONCOMMIT_NOOP")switch(e.push("ON COMMIT"),t.oncommit){case "ONCOMMIT_PRESERVE_ROWS":e.push("PRESERVE ROWS");break;case "ONCOMMIT_DELETE_ROWS":e.push("DELETE ROWS");break;case "ONCOMMIT_DROP":e.push("DROP");break}if(t.options&&t.options.length>0){let i=r.spawn("CreateStmt"),n=t.options.map(a=>this.deparse(a,i));e.push("WITH",`(${n.join(", ")})`);}return t.accessMethod&&(e.push("USING"),e.push(this.quoteIfNeeded(t.accessMethod))),e.join(" ")}ColumnDef(t,r){let e=[];if(t.colname&&e.push(S.quoteIdentifier(t.colname)),t.typeName&&e.push(this.TypeName(t.typeName,r)),t.fdwoptions&&t.fdwoptions.length>0){e.push("OPTIONS");let i=r.spawn("ColumnDef"),n=h.unwrapList(t.fdwoptions).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}if(t.collClause&&e.push(this.CollateClause(t.collClause,r)),t.constraints){let n=h.unwrapList(t.constraints).map(a=>{let o=r.spawn("ColumnDef",{isColumnConstraint:true});return this.visit(a,o)});e.push(...n);}return t.raw_default&&(e.push("DEFAULT"),e.push(this.visit(t.raw_default,r))),t.generated&&(e.push("GENERATED ALWAYS AS"),e.push(`(${t.generated})`),e.push("STORED")),t.is_not_null&&e.push("NOT NULL"),e.join(" ")}Constraint(t,r){let e=[];switch(t.conname&&(t.contype==="CONSTR_CHECK"||t.contype==="CONSTR_UNIQUE"||t.contype==="CONSTR_PRIMARY"||t.contype==="CONSTR_FOREIGN")&&(e.push("CONSTRAINT"),e.push(S.quoteIdentifier(t.conname))),t.contype){case "CONSTR_NULL":e.push("NULL");break;case "CONSTR_NOTNULL":e.push("NOT NULL");break;case "CONSTR_DEFAULT":e.push("DEFAULT"),t.raw_expr&&e.push(this.visit(t.raw_expr,r));break;case "CONSTR_CHECK":if(r.isPretty()&&!r.isColumnConstraint?e.push(`
|
|
73
|
-
`+r.indent("CHECK")):e.push("CHECK"),t.raw_expr)if(r.isPretty()){let i=this.visit(t.raw_expr,r);i.includes(`
|
|
74
|
-
`)?e.push(`(
|
|
75
|
-
`+r.indent(i)+`
|
|
76
|
-
)`):e.push(`(${i})`);}else e.push(r.parens(this.visit(t.raw_expr,r)));t.skip_validation&&e.push("NOT VALID"),t.is_no_inherit&&!r.isDomainConstraint&&e.push("NO INHERIT");break;case "CONSTR_GENERATED":e.push("GENERATED"),t.generated_when==="a"?e.push("ALWAYS"):t.generated_when==="s"&&e.push("BY DEFAULT"),e.push("AS"),t.raw_expr&&e.push(r.parens(this.visit(t.raw_expr,r))),e.push("STORED");break;case "CONSTR_IDENTITY":if(e.push("GENERATED"),t.generated_when==="a"?e.push("ALWAYS"):(t.generated_when==="d"||t.generated_when==="s")&&e.push("BY DEFAULT"),e.push("AS IDENTITY"),t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>{if(n.DefElem){let a=n.DefElem;if(a.defname==="sequence_name")return a.arg&&a.arg.List?`SEQUENCE NAME ${h.unwrapList(a.arg).map(u=>this.visit(u,r)).join(".")}`:"SEQUENCE NAME";if(a.defname==="start")return `START WITH ${a.arg?this.visit(a.arg,r):""}`;if(a.defname==="increment")return `INCREMENT BY ${a.arg?this.visit(a.arg,r):""}`;if(a.defname==="minvalue")return a.arg?`MINVALUE ${this.visit(a.arg,r)}`:"NO MINVALUE";if(a.defname==="maxvalue")return a.arg?`MAXVALUE ${this.visit(a.arg,r)}`:"NO MAXVALUE";if(a.defname==="cache")return `CACHE ${a.arg?this.visit(a.arg,r):""}`;if(a.defname==="cycle")return (a.arg?this.visit(a.arg,r):"")==="true"?"CYCLE":"NO CYCLE";let o=a.arg?this.visit(a.arg,r):"";return `${a.defname.toUpperCase()} ${o}`}return this.visit(n,r)});if(r.isPretty()){let n=i.map(a=>r.indent(a));e.push(`(
|
|
77
|
-
`+n.join(`
|
|
78
|
-
`)+`
|
|
79
|
-
)`);}else e.push(`(${i.join(" ")})`);}break;case "CONSTR_PRIMARY":if(e.push("PRIMARY KEY"),t.keys&&t.keys.length>0){let i=h.unwrapList(t.keys).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}t.indexname&&(e.push("USING INDEX"),e.push(t.indexname));break;case "CONSTR_UNIQUE":if(r.isPretty()&&!r.isColumnConstraint?e.push(`
|
|
80
|
-
`+r.indent("UNIQUE")):e.push("UNIQUE"),t.nulls_not_distinct&&e.push("NULLS NOT DISTINCT"),t.keys&&t.keys.length>0){let i=h.unwrapList(t.keys).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}t.indexname&&(e.push("USING INDEX"),e.push(t.indexname));break;case "CONSTR_FOREIGN":if(r.isColumnConstraint)e.push("REFERENCES");else if(r.isPretty()){if(e.push(`
|
|
81
|
-
`+r.indent("FOREIGN KEY")),t.fk_attrs&&t.fk_attrs.length>0){let i=h.unwrapList(t.fk_attrs).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}e.push(`
|
|
82
|
-
`+r.indent("REFERENCES"));}else {if(e.push("FOREIGN KEY"),t.fk_attrs&&t.fk_attrs.length>0){let i=h.unwrapList(t.fk_attrs).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}e.push("REFERENCES");}if(t.pktable)if(r.isPretty()&&!r.isColumnConstraint){let i=e.length-1;i>=0&&e[i].includes("REFERENCES")?e[i]+=" "+this.RangeVar(t.pktable,r):e.push(this.RangeVar(t.pktable,r));}else e.push(this.RangeVar(t.pktable,r));if(t.pk_attrs&&t.pk_attrs.length>0){let i=h.unwrapList(t.pk_attrs).map(n=>this.visit(n,r)).join(", ");if(r.isPretty()&&!r.isColumnConstraint){let n=e.length-1;n>=0?e[n]+=` (${i})`:e.push(`(${i})`);}else e.push(`(${i})`);}if(t.fk_matchtype&&t.fk_matchtype!=="s"){let i="";switch(t.fk_matchtype){case "f":i="MATCH FULL";break;case "p":i="MATCH PARTIAL";break}r.isPretty()&&!r.isColumnConstraint?e.push(`
|
|
83
|
-
`+r.indent(i)):e.push(i);}if(t.fk_upd_action&&t.fk_upd_action!=="a"){let i="ON UPDATE ";switch(t.fk_upd_action){case "r":i+="RESTRICT";break;case "c":i+="CASCADE";break;case "n":i+="SET NULL";break;case "d":i+="SET DEFAULT";break}r.isPretty()?e.push(`
|
|
84
|
-
`+r.indent(i)):(e.push("ON UPDATE"),e.push(i.replace("ON UPDATE ","")));}if(t.fk_del_action&&t.fk_del_action!=="a"){let i="ON DELETE ";switch(t.fk_del_action){case "r":i+="RESTRICT";break;case "c":i+="CASCADE";break;case "n":i+="SET NULL";break;case "d":i+="SET DEFAULT";break}r.isPretty()?e.push(`
|
|
85
|
-
`+r.indent(i)):(e.push("ON DELETE"),e.push(i.replace("ON DELETE ","")));}t.skip_validation&&!r.isDomainConstraint&&(r.isPretty()&&!r.isColumnConstraint?e.push(`
|
|
86
|
-
`+r.indent("NOT VALID")):e.push("NOT VALID"));break;case "CONSTR_ATTR_DEFERRABLE":e.push("DEFERRABLE");break;case "CONSTR_ATTR_NOT_DEFERRABLE":e.push("NOT DEFERRABLE");break;case "CONSTR_ATTR_DEFERRED":e.push("INITIALLY DEFERRED");break;case "CONSTR_ATTR_IMMEDIATE":e.push("INITIALLY IMMEDIATE");break;case "CONSTR_EXCLUSION":if(e.push("EXCLUDE"),t.access_method&&(e.push("USING"),e.push(t.access_method)),t.exclusions&&t.exclusions.length>0){let i=h.unwrapList(t.exclusions).map(n=>{if(this.getNodeType(n)==="List"){let a=h.unwrapList(n);if(a.length>=2){let o=this.visit(a[0],r),l=a[1],u="";if(this.getNodeType(l)==="List"){let c=h.unwrapList(l);c.length>0&&c[0].String&&(u=c[0].String.sval);}else l.String?u=l.String.sval:u=this.visit(l,r);return `${o} WITH ${u}`}}return this.visit(n,r)});e.push(`(${i.join(", ")})`);}t.where_clause&&(e.push("WHERE"),e.push(r.parens(this.visit(t.where_clause,r))));break}if((t.contype==="CONSTR_PRIMARY"||t.contype==="CONSTR_UNIQUE"||t.contype==="CONSTR_FOREIGN")&&(t.deferrable?r.isPretty()&&t.contype==="CONSTR_FOREIGN"?(e.push(`
|
|
87
|
-
`+r.indent("DEFERRABLE")),t.initdeferred===true?e.push(`
|
|
88
|
-
`+r.indent("INITIALLY DEFERRED")):t.initdeferred===false&&e.push(`
|
|
89
|
-
`+r.indent("INITIALLY IMMEDIATE"))):(e.push("DEFERRABLE"),t.initdeferred===true?e.push("INITIALLY DEFERRED"):t.initdeferred===false&&e.push("INITIALLY IMMEDIATE")):t.deferrable===false&&(r.isPretty()&&t.contype==="CONSTR_FOREIGN"?e.push(`
|
|
90
|
-
`+r.indent("NOT DEFERRABLE")):e.push("NOT DEFERRABLE"))),r.isPretty()&&t.contype==="CONSTR_FOREIGN"){let i="";for(let n=0;n<e.length;n++)e[n].startsWith(`
|
|
91
|
-
`)||n>0&&!e[n-1].startsWith(`
|
|
92
|
-
`)&&(i+=" "),i+=e[n];return i}return e.join(" ")}SubLink(t,r){let e=r.parens(this.visit(t.subselect,r));switch(t.subLinkType){case "ANY_SUBLINK":if(t.testexpr&&t.operName){let i=this.visit(t.testexpr,r),n=this.deparseOperatorName(t.operName,r);return `${i} ${n} ANY ${e}`}else if(t.testexpr)return `${this.visit(t.testexpr,r)} IN ${e}`;return e;case "ALL_SUBLINK":if(t.testexpr&&t.operName){let i=this.visit(t.testexpr,r),n=this.deparseOperatorName(t.operName,r);return `${i} ${n} ALL ${e}`}return e;case "EXISTS_SUBLINK":return `EXISTS ${e}`;case "ARRAY_SUBLINK":return `ARRAY${e}`;default:return e}}CaseWhen(t,r){let e=["WHEN"];return t.expr&&e.push(this.visit(t.expr,r)),e.push("THEN"),t.result&&e.push(this.visit(t.result,r)),e.join(" ")}WindowDef(t,r){let e=[];t.name&&e.push(t.name);let i=[];if(t.partitionClause){let a=h.unwrapList(t.partitionClause).map(o=>this.visit(o,r));i.push(`PARTITION BY ${a.join(", ")}`);}if(t.orderClause){let a=h.unwrapList(t.orderClause).map(o=>this.visit(o,r));i.push(`ORDER BY ${a.join(", ")}`);}if(t.frameOptions&&t.frameOptions!==1058){let n=this.formatWindowFrame(t,r.spawn("WindowDef"));n&&i.push(n);}return i.length>0?(t.name&&e.push("AS"),e.push(`(${i.join(" ")})`)):t.name?(e.push("AS"),e.push("()")):e.length===0&&e.push("()"),e.join(" ")}formatWindowFrame(t,r){if(!t.frameOptions)return null;let e=t.frameOptions,n=e&-229377,a=[];if(e&1&&(e&2?a.push("RANGE"):e&4?a.push("ROWS"):e&8&&a.push("GROUPS")),a.length===0)return null;let o=[];if(n===789)o.push("CURRENT ROW"),o.push("AND UNBOUNDED FOLLOWING");else if(n===1077)o.push("UNBOUNDED PRECEDING"),o.push("AND CURRENT ROW");else if(n===18453)t.startOffset&&t.endOffset&&(o.push(`${this.visit(t.startOffset,r)} PRECEDING`),o.push(`AND ${this.visit(t.endOffset,r)} FOLLOWING`));else if(n===1557)o.push("CURRENT ROW"),o.push("AND CURRENT ROW");else if(n===16917)o.push("CURRENT ROW"),t.endOffset&&o.push(`AND ${this.visit(t.endOffset,r)} FOLLOWING`);else {if(n===1058)return null;t.startOffset?e&1024?o.push(`${this.visit(t.startOffset,r)} PRECEDING`):e&2048?o.push(`${this.visit(t.startOffset,r)} FOLLOWING`):o.push(`${this.visit(t.startOffset,r)} PRECEDING`):e&16?o.push("UNBOUNDED PRECEDING"):e&32&&o.push("CURRENT ROW"),t.endOffset?o.length>0&&(e&4096?o.push(`AND ${this.visit(t.endOffset,r)} PRECEDING`):e&8192?o.push(`AND ${this.visit(t.endOffset,r)} FOLLOWING`):o.push(`AND ${this.visit(t.endOffset,r)} FOLLOWING`)):e&128?o.length>0&&o.push("AND UNBOUNDED FOLLOWING"):(o.length>0&&o.push("AND CURRENT ROW"));}return o.length>0&&(a.push("BETWEEN"),a.push(o.join(" "))),e&32768?a.push("EXCLUDE CURRENT ROW"):e&65536?a.push("EXCLUDE GROUP"):e&131072&&a.push("EXCLUDE TIES"),a.join(" ")}SortBy(t,r){let e=[];if(t.node&&e.push(this.visit(t.node,r)),t.sortby_dir==="SORTBY_USING"&&t.useOp){e.push("USING");let i=h.unwrapList(t.useOp);e.push(i.map(n=>n.String&&n.String.sval?n.String.sval:this.visit(n,r)).join("."));}else t.sortby_dir==="SORTBY_ASC"?e.push("ASC"):t.sortby_dir==="SORTBY_DESC"&&e.push("DESC");return t.sortby_nulls==="SORTBY_NULLS_FIRST"?e.push("NULLS FIRST"):t.sortby_nulls==="SORTBY_NULLS_LAST"&&e.push("NULLS LAST"),e.join(" ")}GroupingSet(t,r){switch(t.kind){case "GROUPING_SET_EMPTY":return "()";case "GROUPING_SET_SIMPLE":return "";case "GROUPING_SET_ROLLUP":return `ROLLUP (${h.unwrapList(t.content).map(u=>this.visit(u,r)).join(", ")})`;case "GROUPING_SET_CUBE":return `CUBE (${h.unwrapList(t.content).map(u=>this.visit(u,r)).join(", ")})`;case "GROUPING_SET_SETS":return `GROUPING SETS (${h.unwrapList(t.content).map(u=>this.visit(u,r)).join(", ")})`;default:return ""}}CommonTableExpr(t,r){let e=[];if(t.ctename&&e.push(t.ctename),t.aliascolnames){let n=h.unwrapList(t.aliascolnames).map(a=>this.visit(a,r));e[e.length-1]+=r.parens(n.join(", "));}return e.push("AS"),t.ctematerialized==="CTEMaterializeNever"?e.push("NOT MATERIALIZED"):t.ctematerialized==="CTEMaterializeAlways"&&e.push("MATERIALIZED"),t.ctequery&&e.push(r.parens(this.visit(t.ctequery,r))),e.join(" ")}ParamRef(t,r){return `$${t.number}`}LockingClause(t,r){let e=[];switch(t.strength){case "LCS_FORUPDATE":e.push("FOR UPDATE");break;case "LCS_FORSHARE":e.push("FOR SHARE");break;case "LCS_FORKEYSHARE":e.push("FOR KEY SHARE");break;case "LCS_FORNOKEYUPDATE":e.push("FOR NO KEY UPDATE");break;default:throw new Error(`Unsupported locking strength: ${t.strength}`)}if(t.lockedRels&&t.lockedRels.length>0){e.push("OF");let i=h.unwrapList(t.lockedRels).map(n=>this.visit(n,r)).join(", ");e.push(i);}return t.waitPolicy==="LockWaitSkip"?e.push("SKIP LOCKED"):t.waitPolicy==="LockWaitError"&&e.push("NOWAIT"),e.join(" ")}MinMaxExpr(t,r){let i=h.unwrapList(t.args).map(n=>this.visit(n,r));return t.op==="IS_GREATEST"?`GREATEST(${i.join(", ")})`:`LEAST(${i.join(", ")})`}RowExpr(t,r){let i=h.unwrapList(t.args).map(n=>this.visit(n,r));return t.row_format==="COERCE_IMPLICIT_CAST"?`(${i.join(", ")})`:`ROW(${i.join(", ")})`}OpExpr(t,r){let e=h.unwrapList(t.args);if(e.length===2){let i=this.visit(e[0],r),n=this.visit(e[1],r),a=this.getOperatorName(t.opno);return `${i} ${a} ${n}`}else if(e.length===1){let i=this.visit(e[0],r);return `${this.getOperatorName(t.opno)} ${i}`}throw new Error(`Unsupported OpExpr with ${e.length} arguments`)}DistinctExpr(t,r){let e=h.unwrapList(t.args);if(e.length===2){let i=r.spawn("DistinctExpr",{isStringLiteral:true}),n=this.visit(e[0],i),a=this.visit(e[1],i);return `${n} IS DISTINCT FROM ${a}`}throw new Error(`DistinctExpr requires exactly 2 arguments, got ${e.length}`)}NullIfExpr(t,r){let e=h.unwrapList(t.args);if(e.length===2){let i=r.spawn("NullIfExpr",{isStringLiteral:true}),n=this.visit(e[0],i),a=this.visit(e[1],i);return `NULLIF(${n}, ${a})`}throw new Error(`NullIfExpr requires exactly 2 arguments, got ${e.length}`)}ScalarArrayOpExpr(t,r){let e=h.unwrapList(t.args);if(e.length===2){let i=this.visit(e[0],r),n=this.visit(e[1],r),a=t.useOr?"ANY":"ALL",o=this.getOperatorName(t.opno);return `${i} ${o} ${a}(${n})`}throw new Error(`ScalarArrayOpExpr requires exactly 2 arguments, got ${e.length}`)}Aggref(t,r){let e=this.getAggFunctionName(t.aggfnoid),i=e+"(",n=t.aggdistinct&&t.aggdistinct.length>0;if(t.args&&t.args.length>0){let o=h.unwrapList(t.args).map(l=>this.visit(l,r));n?i+="DISTINCT "+o.join(", "):i+=o.join(", ");}else e.toUpperCase()==="COUNT"&&(n?i+="DISTINCT *":i+="*");if(i+=")",t.aggorder&&t.aggorder.length>0){i+=" ORDER BY ";let o=h.unwrapList(t.aggorder).map(l=>this.visit(l,r));i+=o.join(", ");}return i}WindowFunc(t,r){let i=this.getWindowFunctionName(t.winfnoid)+"(";if(t.args&&t.args.length>0){let a=h.unwrapList(t.args).map(o=>this.visit(o,r));i+=a.join(", ");}return i+=") OVER (",t.winref&&typeof t.winref=="object"?i+=this.visit(t.winref,r):t.winref&&(i+="ORDER BY created_at ASC"),i+=")",i}FieldSelect(t,r){let e=[];return t.arg&&e.push(this.visit(t.arg,r)),t.fieldnum!==void 0&&e.push(`.field_${t.fieldnum}`),e.join("")}RelabelType(t,r){if(t.arg){let e=r.spawn("RelabelType",{isStringLiteral:true});return this.visit(t.arg,e)}return ""}CoerceViaIO(t,r){return t.arg?this.visit(t.arg,r):""}ArrayCoerceExpr(t,r){return t.arg?this.visit(t.arg,r):""}ConvertRowtypeExpr(t,r){if(t.arg){let e=r.spawn("ConvertRowtypeExpr",{isStringLiteral:true});return this.visit(t.arg,e)}return ""}NamedArgExpr(t,r){let e=[];return t.name&&(e.push(t.name),e.push("=>")),t.arg&&e.push(this.visit(t.arg,r)),e.join(" ")}ViewStmt(t,r){let e=[];if(e.push("CREATE"),t.replace&&e.push("OR REPLACE"),t.view&&t.view.relpersistence==="t"&&e.push("TEMPORARY"),e.push("VIEW"),t.view&&e.push(this.RangeVar(t.view,r)),t.aliases&&t.aliases.length>0){let i=h.unwrapList(t.aliases).map(n=>this.visit(n,r));e.push(r.parens(i.join(", ")));}if(t.options&&t.options.length>0){let i=r.spawn("ViewStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`WITH (${n.join(", ")})`);}if(e.push("AS"),t.query&&e.push(this.visit(t.query,r)),t.withCheckOption)switch(t.withCheckOption){case "CASCADED_CHECK_OPTION":e.push("WITH CASCADED CHECK OPTION");break;case "LOCAL_CHECK_OPTION":e.push("WITH LOCAL CHECK OPTION");break}return e.join(" ")}IndexStmt(t,r){let e=[];if(e.push("CREATE"),t.unique&&e.push("UNIQUE"),e.push("INDEX"),t.concurrent&&e.push("CONCURRENTLY"),t.if_not_exists&&e.push("IF NOT EXISTS"),t.idxname&&e.push(S.quoteIdentifier(t.idxname)),e.push("ON"),t.relation&&e.push(this.RangeVar(t.relation,r)),t.accessMethod&&t.accessMethod!=="btree"&&(e.push("USING"),e.push(t.accessMethod)),t.indexParams&&t.indexParams.length>0){let i=h.unwrapList(t.indexParams).map(n=>this.visit(n,r));e.push(r.parens(i.join(", ")));}if(t.indexIncludingParams&&t.indexIncludingParams.length>0){let i=h.unwrapList(t.indexIncludingParams).map(n=>this.visit(n,r));e.push("INCLUDE"),e.push(r.parens(i.join(", ")));}if(t.whereClause&&(e.push("WHERE"),e.push(this.visit(t.whereClause,r))),t.options&&t.options.length>0){let i=r.spawn("IndexStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push("WITH"),e.push(r.parens(n.join(", ")));}return t.nulls_not_distinct&&e.push("NULLS NOT DISTINCT"),t.tableSpace&&(e.push("TABLESPACE"),e.push(S.quoteIdentifier(t.tableSpace))),e.join(" ")}IndexElem(t,r){let e=[];if(t.name?e.push(S.quoteIdentifier(t.name)):t.expr&&e.push(r.parens(this.visit(t.expr,r))),t.collation&&t.collation.length>0){let i=h.unwrapList(t.collation).map(n=>this.visit(n,r));e.push("COLLATE"),e.push(i.join("."));}if(t.opclass&&t.opclass.length>0){let n=h.unwrapList(t.opclass).map(a=>this.visit(a,r)).join(".");if(t.opclassopts&&t.opclassopts.length>0){let a=h.unwrapList(t.opclassopts).map(o=>{if(o.DefElem&&o.DefElem.arg&&this.getNodeType(o.DefElem.arg)==="String"){let l=this.getNodeData(o.DefElem.arg);return `${o.DefElem.defname}='${l.sval}'`}return this.visit(o,r.spawn("IndexElem"))});n+=`(${a.join(", ")})`;}e.push(n);}if(t.ordering)switch(t.ordering){case "SORTBY_ASC":e.push("ASC");break;case "SORTBY_DESC":e.push("DESC");break}if(t.nulls_ordering)switch(t.nulls_ordering){case "SORTBY_NULLS_FIRST":e.push("NULLS FIRST");break;case "SORTBY_NULLS_LAST":e.push("NULLS LAST");break}return e.join(" ")}PartitionElem(t,r){let e=[];if(t.name?e.push(S.quoteIdentifier(t.name)):t.expr&&e.push(r.parens(this.visit(t.expr,r))),t.collation&&t.collation.length>0){let i=h.unwrapList(t.collation).map(n=>this.visit(n,r));e.push("COLLATE"),e.push(i.join("."));}if(t.opclass&&t.opclass.length>0){let i=h.unwrapList(t.opclass).map(n=>this.visit(n,r));e.push(i.join("."));}return e.join(" ")}PartitionCmd(t,r){let e=[];if(t.concurrent&&e.push("CONCURRENTLY"),t.name&&e.push(this.visit(t.name,r)),t.bound)if(t.bound.strategy==="l"&&t.bound.listdatums){e.push("FOR VALUES IN");let i=h.unwrapList(t.bound.listdatums).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}else if(t.bound.strategy==="r"&&(t.bound.lowerdatums||t.bound.upperdatums)){if(e.push("FOR VALUES FROM"),t.bound.lowerdatums){let i=h.unwrapList(t.bound.lowerdatums).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.bound.upperdatums){e.push("TO");let i=h.unwrapList(t.bound.upperdatums).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}}else t.bound.strategy==="h"&&t.bound.modulus!==void 0&&t.bound.remainder!==void 0?(e.push("FOR VALUES WITH"),e.push(`(modulus ${t.bound.modulus}, remainder ${t.bound.remainder})`)):t.bound.is_default&&e.push("DEFAULT");return e.join(" ")}getAggFunctionName(t){return {2100:"avg",2101:"count",2102:"max",2103:"min",2104:"sum",2105:"stddev",2106:"variance",2107:"array_agg",2108:"string_agg"}[t||0]||"unknown_agg"}getWindowFunctionName(t){return {3100:"row_number",3101:"rank",3102:"dense_rank",3103:"percent_rank",3104:"cume_dist",3105:"ntile",3106:"lag",3107:"lead",3108:"first_value",3109:"last_value"}[t||0]||"unknown_window_func"}getOperatorName(t){return {96:"=",518:"<>",97:"<",521:">",523:"<=",525:">=",551:"+",552:"-",553:"*",554:"/",555:"%",484:"-",1752:"~~",1753:"!~~",1754:"~~*",1755:"!~~*",15:"=",58:"<",59:"<=",61:">",62:">="}[t||0]||"="}JoinExpr(t,r){let e=[];t.larg&&e.push(this.visit(t.larg,r));let i="";switch(t.isNatural&&(i="NATURAL "),t.jointype){case "JOIN_INNER":t.isNatural?i+="JOIN":!t.quals&&(!t.usingClause||t.usingClause.length===0)?i+="CROSS JOIN":i+="JOIN";break;case "JOIN_LEFT":i+="LEFT JOIN";break;case "JOIN_FULL":i+="FULL JOIN";break;case "JOIN_RIGHT":i+="RIGHT JOIN";break;default:i+="JOIN";}if(t.rarg){let a=this.visit(t.rarg,r);t.rarg&&"JoinExpr"in t.rarg&&!t.rarg.JoinExpr.alias&&(a=`(${a})`),r.isPretty()?e.push(r.newline()+i+" "+a):e.push(i+" "+a);}else r.isPretty()?e.push(r.newline()+i):e.push(i);if(t.usingClause&&t.usingClause.length>0){let o=h.unwrapList(t.usingClause).map(l=>this.visit(l,r));r.isPretty()?e.push(` USING (${o.join(", ")})`):e.push(`USING (${o.join(", ")})`);}else if(t.quals){let a=this.visit(t.quals,r);r.isPretty()?a.includes("AND")||a.includes("OR")||a.length>50?this.containsMultilineStringLiteral(a)?e.push(` ON ${a}`):e.push(` ON${r.newline()}${r.indent(a)}`):e.push(` ON ${a}`):e.push(`ON ${a}`);}let n;if(r.isPretty()?n=e.join(""):n=e.join(" "),t.join_using_alias&&t.join_using_alias.aliasname){let a=t.join_using_alias.aliasname;if(t.join_using_alias.colnames&&t.join_using_alias.colnames.length>0){let l=h.unwrapList(t.join_using_alias.colnames).map(u=>this.visit(u,r)).join(", ");a+=`(${l})`;}n+=` AS ${a}`;}if(t.alias&&t.alias.aliasname){let a=t.alias.aliasname;if(t.alias.colnames&&t.alias.colnames.length>0){let l=h.unwrapList(t.alias.colnames).map(u=>this.visit(u,r)).join(", ");a+=`(${l})`;}n=`(${n}) ${a}`;}return n}FromExpr(t,r){let n=h.unwrapList(t.fromlist).map(a=>this.visit(a,r)).join(", ");return t.quals&&(n+=` WHERE ${this.visit(t.quals,r)}`),n}TransactionStmt(t,r){let e=[];switch(t.kind){case "TRANS_STMT_BEGIN":e.push("BEGIN");break;case "TRANS_STMT_START":e.push("START TRANSACTION");break;case "TRANS_STMT_COMMIT":e.push("COMMIT");break;case "TRANS_STMT_ROLLBACK":e.push("ROLLBACK");break;case "TRANS_STMT_SAVEPOINT":e.push("SAVEPOINT"),t.savepoint_name&&e.push(S.quoteIdentifier(t.savepoint_name));break;case "TRANS_STMT_RELEASE":e.push("RELEASE SAVEPOINT"),t.savepoint_name&&e.push(S.quoteIdentifier(t.savepoint_name));break;case "TRANS_STMT_ROLLBACK_TO":e.push("ROLLBACK TO"),t.savepoint_name&&e.push(S.quoteIdentifier(t.savepoint_name));break;case "TRANS_STMT_PREPARE":e.push("PREPARE TRANSACTION"),t.gid&&e.push(`'${t.gid}'`);break;case "TRANS_STMT_COMMIT_PREPARED":e.push("COMMIT PREPARED"),t.gid&&e.push(`'${t.gid}'`);break;case "TRANS_STMT_ROLLBACK_PREPARED":e.push("ROLLBACK PREPARED"),t.gid&&e.push(`'${t.gid}'`);break;default:throw new Error(`Unsupported TransactionStmt kind: ${t.kind}`)}if(t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>{if(n.DefElem){let a=n.DefElem;if(a.defname==="transaction_read_only"){let o=false;if(a.arg){let l=this.getNodeData(a.arg);if(l.ival!==void 0)o=(typeof l.ival=="object"?l.ival.ival:l.ival)===1;else if(l.sval!==void 0){let c=(typeof l.sval=="object"?l.sval.sval:l.sval).replace(/'/g,"");o=c.toLowerCase()==="on"||c.toLowerCase()==="true";}}return o?"READ ONLY":"READ WRITE"}else if(a.defname==="transaction_isolation"){if(a.arg&&a.arg.A_Const&&a.arg.A_Const.sval)return `ISOLATION LEVEL ${a.arg.A_Const.sval.sval.toUpperCase()}`}else if(a.defname==="transaction_deferrable"){let o=false;if(a.arg){let l=this.getNodeData(a.arg);if(l.ival!==void 0)o=(typeof l.ival=="object"?l.ival.ival:l.ival)===1;else if(l.sval!==void 0){let c=(typeof l.sval=="object"?l.sval.sval:l.sval).replace(/'/g,"");o=c.toLowerCase()==="on"||c.toLowerCase()==="true";}}return o?"DEFERRABLE":"NOT DEFERRABLE"}}return this.visit(n,r)}).filter(Boolean);i.length>0&&e.push(i.join(", "));}return e.join(" ")}VariableSetStmt(t,r){switch(t.kind){case "VAR_SET_VALUE":let e=t.is_local?"LOCAL ":"",i=t.args?h.unwrapList(t.args).map(u=>{let c=this.getNodeData(u);if(c.sval!==void 0){let p=typeof c.sval=="object"?c.sval.sval:c.sval;return p===""||p.includes(" ")||p.includes("-")||/[A-Z]/.test(p)||/^\d/.test(p)||p.includes(".")||p.includes("$")||p.toLowerCase()==="all"||/^[+-]\d/.test(p)?`'${p}'`:p}return this.visit(u,r)}).join(", "):"",n=S.quoteIdentifier(t.name);return !t.args||t.args.length===0?`SET ${e}${n}`:`SET ${e}${n} TO ${i}`;case "VAR_SET_DEFAULT":return `SET ${S.quoteIdentifier(t.name)} TO DEFAULT`;case "VAR_SET_CURRENT":return `SET ${S.quoteIdentifier(t.name)} FROM CURRENT`;case "VAR_SET_MULTI":if(t.name==="TRANSACTION"||t.name==="SESSION CHARACTERISTICS"){let u=[];if(t.args){let c=h.unwrapList(t.args);for(let p of c)if(p.DefElem){let f=p.DefElem;if(f.defname==="transaction_isolation"){let d=f.arg?this.visit(f.arg,r):"";u.push(`ISOLATION LEVEL ${d.replace(/'/g,"").toUpperCase()}`);}else if(f.defname==="transaction_read_only"){let d=false;if(f.arg){let m=this.getNodeData(f.arg);if(m.ival!==void 0)d=(typeof m.ival=="object"?m.ival.ival:m.ival)===1;else if(m.sval!==void 0){let T=(typeof m.sval=="object"?m.sval.sval:m.sval).replace(/'/g,"");d=T.toLowerCase()==="on"||T.toLowerCase()==="true";}}u.push(d?"READ ONLY":"READ WRITE");}else if(f.defname==="transaction_deferrable"){let d=false;if(f.arg){let m=this.getNodeData(f.arg);if(m.ival!==void 0)d=(typeof m.ival=="object"?m.ival.ival:m.ival)===1;else if(m.sval!==void 0){let T=(typeof m.sval=="object"?m.sval.sval:m.sval).replace(/'/g,"");d=T.toLowerCase()==="on"||T.toLowerCase()==="true";}}u.push(d?"DEFERRABLE":"NOT DEFERRABLE");}}}return t.name==="SESSION CHARACTERISTICS"?`SET SESSION CHARACTERISTICS AS TRANSACTION ${u.join(", ")}`:`SET TRANSACTION ${u.join(", ")}`}else return `SET ${t.args?h.unwrapList(t.args).map(c=>c.VariableSetStmt?this.VariableSetStmt(c.VariableSetStmt,r):this.visit(c,r)).join(", "):""}`;case "VAR_RESET":return `RESET ${S.quoteIdentifier(t.name)}`;case "VAR_RESET_ALL":return "RESET ALL";default:throw new Error(`Unsupported VariableSetStmt kind: ${t.kind}`)}}VariableShowStmt(t,r){return t.name==="ALL"?"SHOW ALL":`SHOW ${t.name}`}CreateSchemaStmt(t,r){let e=["CREATE SCHEMA"];if(t.if_not_exists&&e.push("IF NOT EXISTS"),t.schemaname&&e.push(S.quoteIdentifier(t.schemaname)),t.authrole&&(e.push("AUTHORIZATION"),e.push(this.RoleSpec(t.authrole,r))),t.schemaElts&&t.schemaElts.length>0){let i=h.unwrapList(t.schemaElts).map(n=>this.visit(n,r)).join(" ");e.push(i);}return e.join(" ")}RoleSpec(t,r){if(t.rolename)return this.quoteIfNeeded(t.rolename);switch(t.roletype){case "ROLESPEC_PUBLIC":return "PUBLIC";case "ROLESPEC_CURRENT_USER":return "CURRENT_USER";case "ROLESPEC_SESSION_USER":return "SESSION_USER";case "ROLESPEC_CURRENT_ROLE":return "CURRENT_ROLE";default:return "PUBLIC"}}roletype(t,r){return t.rolename?t.rolename:""}DropStmt(t,r){let e=["DROP"];if(t.removeType)switch(t.removeType){case "OBJECT_TABLE":e.push("TABLE");break;case "OBJECT_VIEW":e.push("VIEW");break;case "OBJECT_INDEX":e.push("INDEX");break;case "OBJECT_SEQUENCE":e.push("SEQUENCE");break;case "OBJECT_SCHEMA":e.push("SCHEMA");break;case "OBJECT_FUNCTION":e.push("FUNCTION");break;case "OBJECT_PROCEDURE":e.push("PROCEDURE");break;case "OBJECT_DATABASE":e.push("DATABASE");break;case "OBJECT_EXTENSION":e.push("EXTENSION");break;case "OBJECT_TYPE":e.push("TYPE");break;case "OBJECT_DOMAIN":e.push("DOMAIN");break;case "OBJECT_TRIGGER":e.push("TRIGGER");break;case "OBJECT_RULE":e.push("RULE");break;case "OBJECT_POLICY":e.push("POLICY");break;case "OBJECT_ROLE":e.push("ROLE");break;case "OBJECT_TABLESPACE":e.push("TABLESPACE");break;case "OBJECT_FOREIGN_SERVER":e.push("SERVER");break;case "OBJECT_FDW":e.push("FOREIGN DATA WRAPPER");break;case "OBJECT_PUBLICATION":e.push("PUBLICATION");break;case "OBJECT_SUBSCRIPTION":e.push("SUBSCRIPTION");break;case "OBJECT_CAST":e.push("CAST");break;case "OBJECT_TRANSFORM":e.push("TRANSFORM");break;case "OBJECT_ACCESS_METHOD":e.push("ACCESS METHOD");break;case "OBJECT_OPERATOR":e.push("OPERATOR");break;case "OBJECT_FOREIGN_TABLE":e.push("FOREIGN TABLE");break;case "OBJECT_MATVIEW":e.push("MATERIALIZED VIEW");break;case "OBJECT_OPCLASS":e.push("OPERATOR CLASS");break;case "OBJECT_OPFAMILY":e.push("OPERATOR FAMILY");break;case "OBJECT_COLLATION":e.push("COLLATION");break;case "OBJECT_CONVERSION":e.push("CONVERSION");break;case "OBJECT_LANGUAGE":e.push("LANGUAGE");break;case "OBJECT_LARGEOBJECT":e.push("LARGE OBJECT");break;case "OBJECT_AGGREGATE":e.push("AGGREGATE");break;case "OBJECT_STATISTIC_EXT":e.push("STATISTICS");break;case "OBJECT_EVENT_TRIGGER":e.push("EVENT TRIGGER");break;case "OBJECT_AMOP":e.push("OPERATOR CLASS");break;case "OBJECT_AMPROC":e.push("OPERATOR CLASS");break;case "OBJECT_ATTRIBUTE":e.push("ATTRIBUTE");break;case "OBJECT_DEFAULT":e.push("DEFAULT");break;case "OBJECT_DEFACL":e.push("DEFAULT PRIVILEGES");break;case "OBJECT_PARAMETER_ACL":e.push("PARAMETER");break;case "OBJECT_PUBLICATION_NAMESPACE":e.push("PUBLICATION");break;case "OBJECT_PUBLICATION_REL":e.push("PUBLICATION");break;case "OBJECT_ROUTINE":e.push("ROUTINE");break;case "OBJECT_TABCONSTRAINT":e.push("CONSTRAINT");break;case "OBJECT_TSCONFIGURATION":e.push("TEXT SEARCH CONFIGURATION");break;case "OBJECT_TSDICTIONARY":e.push("TEXT SEARCH DICTIONARY");break;case "OBJECT_TSPARSER":e.push("TEXT SEARCH PARSER");break;case "OBJECT_TSTEMPLATE":e.push("TEXT SEARCH TEMPLATE");break;case "OBJECT_USER_MAPPING":e.push("USER MAPPING");break;default:throw new Error(`Unsupported DROP object type: ${t.removeType}`)}if(t.concurrent&&e.push("CONCURRENTLY"),t.missing_ok&&e.push("IF EXISTS"),t.objects&&t.objects.length>0)if(t.removeType==="OBJECT_POLICY"){let i=t.objects[0];if(i&&i.List&&i.List.items){let n=i.List.items.map(a=>a.String&&a.String.sval?a.String.sval:this.visit(a,r));if(n.length===3){let[a,o,l]=n;e.push(`${l} ON ${a}.${o}`);}else if(n.length===2){let[a,o]=n;e.push(`${o} ON ${a}`);}else e.push(n.join(", "));}}else if(t.removeType==="OBJECT_CAST"){let i=t.objects.map(n=>{if(n&&n.List&&n.List.items){let o=n.List.items.map(l=>this.visit(l,r)).filter(l=>l&&l.trim());if(o.length===2){let[l,u]=o;return `(${l} AS ${u})`}return o.join(".")}return this.visit(n,r)}).filter(n=>n&&n.trim()).join(", ");i&&e.push(i);}else if(t.removeType==="OBJECT_TRIGGER"||t.removeType==="OBJECT_RULE"){let i=t.objects.map(n=>{if(n&&n.List&&n.List.items){let o=n.List.items.map(l=>l.String&&l.String.sval?S.quoteIdentifier(l.String.sval):this.visit(l,r)).filter(l=>l&&l.trim());if(o.length===2){let[l,u]=o;return `${u} ON ${l}`}else if(o.length===3){let[l,u,c]=o;return `${c} ON ${l}.${u}`}return o.join(".")}return this.visit(n,r)}).filter(n=>n&&n.trim()).join(", ");i&&e.push(i);}else if(t.removeType==="OBJECT_OPFAMILY"||t.removeType==="OBJECT_OPCLASS"){let i=t.objects.map(n=>{if(n&&n.List&&n.List.items){let o=n.List.items.map(l=>l.String&&l.String.sval?l.String.sval:this.visit(l,r)).filter(l=>l&&l.trim());if(o.length===2){let l=o[0],u=o[1];return `${S.quoteIdentifier(u)} USING ${l}`}else if(o.length===3){let l=o[0],u=o[1],c=o[2];return `${S.quoteQualifiedIdentifier(u,c)} USING ${l}`}return o.join(".")}return this.visit(n,r)}).filter(n=>n&&n.trim()).join(", ");i&&e.push(i);}else if(t.removeType==="OBJECT_TRANSFORM"){let i=t.objects.map(n=>{if(n&&n.List&&n.List.items){let o=n.List.items.map(l=>l.String&&l.String.sval?l.String.sval:this.visit(l,r)).filter(l=>l&&l.trim());if(o.length===2){let[l,u]=o;return `FOR ${l} LANGUAGE ${u}`}return o.join(".")}return this.visit(n,r)}).filter(n=>n&&n.trim()).join(", ");i&&e.push(i);}else {let i=t.objects.map(n=>{if(Array.isArray(n))return n.map(u=>this.visit(u,r)).filter(u=>u&&u.trim()).join(".");if(n&&n.List&&n.List.items)return n.List.items.map(u=>u.String&&u.String.sval?S.quoteIdentifier(u.String.sval):this.visit(u,r)).filter(u=>u&&u.trim()).join(".");let a=r.spawn("DropStmt",{objtype:t.removeType});return this.visit(n,a)}).filter(n=>n&&n.trim()).join(", ");i&&e.push(i);}return t.behavior==="DROP_CASCADE"&&e.push("CASCADE"),e.join(" ")}TruncateStmt(t,r){let e=["TRUNCATE"];if(t.relations&&t.relations.length>0){let i=t.relations.map(n=>this.visit(n,r)).join(", ");e.push(i);}return t.restart_seqs&&e.push("RESTART IDENTITY"),t.behavior==="DROP_CASCADE"&&e.push("CASCADE"),e.join(" ")}ReturnStmt(t,r){let e=["RETURN"];if(t.returnval){let i=this.visit(t.returnval,r);e.push(i);}return e.join(" ")}PLAssignStmt(t,r){let e=[];if(t.name){let i=S.quoteIdentifier(t.name);if(t.indirection&&t.indirection.length>0){let n=t.indirection.map(a=>this.visit(a,r)).join("");i+=n;}e.push(i);}if(e.push(":="),t.val){let i=t.val;if(i.targetList){e.push("SELECT");let n=this.targetList(i.targetList,r);e.push(n);}else {let n=this.visit(t.val,r);e.push(n);}}return e.join(" ")}CopyStmt(t,r){let e=["COPY"];if(t.relation){let i=this.RangeVar(t.relation,r);e.push(i);}else if(t.query){let i=this.visit(t.query,r);e.push(`(${i})`);}if(t.attlist&&t.attlist.length>0){let i=h.unwrapList(t.attlist).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.is_from?e.push("FROM"):e.push("TO"),t.is_program&&e.push("PROGRAM"),t.filename?e.push(`'${t.filename}'`):e.push("STDIN"),t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r.spawn("CopyStmt"))).join(", ");e.push(`(${i})`);}if(t.whereClause){e.push("WHERE");let i=this.visit(t.whereClause,r);e.push(i);}return e.join(" ")}AlterTableStmt(t,r){let e=["ALTER"];if(t.objtype)switch(t.objtype){case "OBJECT_TABLE":e.push("TABLE");break;case "OBJECT_INDEX":e.push("INDEX");break;case "OBJECT_SEQUENCE":e.push("SEQUENCE");break;case "OBJECT_VIEW":e.push("VIEW");break;case "OBJECT_MATVIEW":e.push("MATERIALIZED VIEW");break;case "OBJECT_FOREIGN_TABLE":e.push("FOREIGN TABLE");break;case "OBJECT_TYPE":e.push("TYPE");break;default:e.push("TABLE");}else e.push("TABLE");t.missing_ok&&e.push("IF EXISTS");let i=r.spawn("AlterTableStmt",{objtype:t.objtype});if(t.relation){let n=this.RangeVar(t.relation,i);e.push(n);}if(t.cmds&&t.cmds.length>0){let n=h.unwrapList(t.cmds);if(r.isPretty()){let a=n.map(o=>{let l=this.visit(o,i);return r.newline()+r.indent(l)}).join(",");e.push(a);}else {let a=n.map(o=>this.visit(o,i)).join(", ");e.push(a);}}return e.join(" ")}AlterTableCmd(t,r){let e=[];if(t.subtype)switch(t.subtype){case "AT_AddColumn":if(r.objtype==="OBJECT_TYPE"?e.push("ADD ATTRIBUTE"):e.push("ADD COLUMN"),t.missing_ok&&e.push("IF NOT EXISTS"),t.def){let i=this.getNodeData(t.def);if(r.isPretty()){let n=[],a=[];if(i.colname&&n.push(S.quoteIdentifier(i.colname)),i.typeName&&n.push(this.TypeName(i.typeName,r)),i.is_not_null&&a.push("NOT NULL"),i.collClause&&a.push(this.CollateClause(i.collClause,r)),i.constraints&&h.unwrapList(i.constraints).forEach(u=>{let c=r.spawn("ColumnDef",{isColumnConstraint:true}),p=this.visit(u,c);if(p.includes("REFERENCES")&&p.includes("ON DELETE")){let f=p.match(/^(.*REFERENCES[^)]*\([^)]*\))\s*(ON\s+DELETE\s+CASCADE.*)$/);f?(a.push(f[1]),a.push(f[2])):a.push(p);}else if(p==="UNIQUE"&&i.raw_default){let f="DEFAULT "+this.visit(i.raw_default,r);a.push("UNIQUE "+f);}else a.push(p);}),i.raw_default&&!i.constraints?.some(l=>this.visit(l,r.spawn("ColumnDef",{isColumnConstraint:true}))==="UNIQUE")){let l="DEFAULT "+this.visit(i.raw_default,r);a.push(l);}if(i.fdwoptions&&i.fdwoptions.length>0){a.push("OPTIONS");let l=r.spawn("ColumnDef"),u=h.unwrapList(i.fdwoptions).map(c=>this.visit(c,l));a.push(`(${u.join(", ")})`);}let o=n.join(" ");if(a.length>0){let l=a.map(u=>r.indent(u)).join(r.newline());o+=r.newline()+l;}e.push(o);}else {let n=[];if(i.colname&&n.push(S.quoteIdentifier(i.colname)),i.typeName&&n.push(this.TypeName(i.typeName,r)),i.collClause&&n.push(this.CollateClause(i.collClause,r)),i.fdwoptions&&i.fdwoptions.length>0){n.push("OPTIONS");let a=r.spawn("ColumnDef"),o=h.unwrapList(i.fdwoptions).map(l=>this.visit(l,a));n.push(`(${o.join(", ")})`);}if(i.constraints){let o=h.unwrapList(i.constraints).map(l=>{let u=r.spawn("ColumnDef",{isColumnConstraint:true});return this.visit(l,u)});n.push(...o);}i.raw_default&&(n.push("DEFAULT"),n.push(this.visit(i.raw_default,r))),i.is_not_null&&n.push("NOT NULL"),e.push(n.join(" "));}}t.behavior==="DROP_CASCADE"&&e.push("CASCADE");break;case "AT_DropColumn":t.missing_ok?r.objtype==="OBJECT_TYPE"?e.push("DROP ATTRIBUTE IF EXISTS"):e.push("DROP COLUMN IF EXISTS"):r.objtype==="OBJECT_TYPE"?e.push("DROP ATTRIBUTE"):e.push("DROP COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),t.behavior==="DROP_CASCADE"?e.push("CASCADE"):t.behavior==="DROP_RESTRICT"&&e.push("RESTRICT");break;case "AT_AlterColumnType":if(r.objtype==="OBJECT_TYPE"?e.push("ALTER ATTRIBUTE"):e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("TYPE"),t.def){let i=this.getNodeData(t.def);if(i&&i.typeName)e.push(this.TypeName(i.typeName,r)),i.raw_default&&(e.push("USING"),e.push(this.visit(i.raw_default,r)));else {let n=this.visit(t.def,r);e.push(n);}}t.behavior==="DROP_CASCADE"&&e.push("CASCADE");break;case "AT_SetTableSpace":e.push("SET TABLESPACE"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_AddConstraint":if(e.push("ADD"),t.def){let i=this.visit(t.def,r);e.push(i);}break;case "AT_DropConstraint":t.missing_ok?e.push("DROP CONSTRAINT IF EXISTS"):e.push("DROP CONSTRAINT"),t.name&&e.push(S.quoteIdentifier(t.name)),t.behavior==="DROP_CASCADE"?e.push("CASCADE"):t.behavior==="DROP_RESTRICT"&&e.push("RESTRICT");break;case "AT_SetRelOptions":if(e.push("SET"),t.def){let i=r.spawn("AlterTableCmd",{subtype:"AT_SetRelOptions"}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}else e.push("()");break;case "AT_ResetRelOptions":if(e.push("RESET"),t.def){let i=r.spawn("AlterTableCmd",{subtype:"AT_ResetRelOptions"}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}else e.push("()");break;case "AT_ColumnDefault":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),t.def?(e.push("SET DEFAULT"),e.push(this.visit(t.def,r))):e.push("DROP DEFAULT");break;case "AT_SetStorage":if(e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET STORAGE"),t.def){let i=this.visit(t.def,r);e.push(i);}break;case "AT_ClusterOn":e.push("CLUSTER ON"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_DropCluster":e.push("SET WITHOUT CLUSTER");break;case "AT_ChangeOwner":e.push("OWNER TO"),t.newowner&&e.push(this.RoleSpec(t.newowner,r));break;case "AT_AddInherit":e.push("INHERIT"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DropInherit":e.push("NO INHERIT"),t.def&&e.push(this.visit(t.def,r));break;case "AT_SetNotNull":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET NOT NULL");break;case "AT_DropNotNull":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("DROP NOT NULL");break;case "AT_SetStatistics":e.push("ALTER COLUMN"),t.name?e.push(S.quoteIdentifier(t.name)):t.num!==void 0&&t.num!==null&&e.push(t.num.toString()),e.push("SET STATISTICS"),t.def&&e.push(this.visit(t.def,r));break;case "AT_SetOptions":if(e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET"),t.def){let i=r.spawn("AlterTableCmd",{subtype:"AT_SetOptions"}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}else e.push("()");break;case "AT_ResetOptions":if(e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("RESET"),t.def){let i=r.spawn("AlterTableCmd",{subtype:"AT_ResetOptions"}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}else e.push("()");break;case "AT_SetCompression":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET COMPRESSION"),t.def&&e.push(this.visit(t.def,r));break;case "AT_ValidateConstraint":e.push("VALIDATE CONSTRAINT"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableTrig":e.push("ENABLE TRIGGER"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableAlwaysTrig":e.push("ENABLE ALWAYS TRIGGER"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableReplicaTrig":e.push("ENABLE REPLICA TRIGGER"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_DisableTrig":e.push("DISABLE TRIGGER"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableTrigAll":e.push("ENABLE TRIGGER ALL");break;case "AT_DisableTrigAll":e.push("DISABLE TRIGGER ALL");break;case "AT_EnableTrigUser":e.push("ENABLE TRIGGER USER");break;case "AT_DisableTrigUser":e.push("DISABLE TRIGGER USER");break;case "AT_EnableRule":e.push("ENABLE RULE"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableAlwaysRule":e.push("ENABLE ALWAYS RULE"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_EnableReplicaRule":e.push("ENABLE REPLICA RULE"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_DisableRule":e.push("DISABLE RULE"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "AT_SetAccessMethod":e.push("SET ACCESS METHOD"),t.name?e.push(S.quoteIdentifier(t.name)):e.push("DEFAULT");break;case "AT_EnableRowSecurity":e.push("ENABLE ROW LEVEL SECURITY");break;case "AT_DisableRowSecurity":e.push("DISABLE ROW LEVEL SECURITY");break;case "AT_ForceRowSecurity":e.push("FORCE ROW LEVEL SECURITY");break;case "AT_NoForceRowSecurity":e.push("NO FORCE ROW LEVEL SECURITY");break;case "AT_AttachPartition":e.push("ATTACH PARTITION"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DetachPartition":e.push("DETACH PARTITION"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DetachPartitionFinalize":e.push("DETACH PARTITION"),t.def&&e.push(this.visit(t.def,r)),e.push("FINALIZE");break;case "AT_SetLogged":e.push("SET LOGGED");break;case "AT_SetUnLogged":e.push("SET UNLOGGED");break;case "AT_AddColumnToView":if(e.push("ADD COLUMN"),t.def){let i=this.visit(t.def,r);e.push(i);}break;case "AT_CookedColumnDefault":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),t.def?(e.push("SET DEFAULT"),e.push(this.visit(t.def,r))):e.push("DROP DEFAULT");break;case "AT_SetExpression":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET EXPRESSION"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DropExpression":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("DROP EXPRESSION");break;case "AT_CheckNotNull":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET NOT NULL");break;case "AT_AddIndex":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_ReAddIndex":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_ReAddConstraint":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_ReAddDomainConstraint":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_AlterConstraint":if(e.push("ALTER CONSTRAINT"),t.def&&this.getNodeType(t.def)==="Constraint"){let i=this.getNodeData(t.def);i.conname&&(e.push(S.quoteIdentifier(i.conname)),i.deferrable!==void 0&&e.push(i.deferrable?"DEFERRABLE":"NOT DEFERRABLE"),i.initdeferred!==void 0&&e.push(i.initdeferred?"INITIALLY DEFERRED":"INITIALLY IMMEDIATE"));}else t.name&&(e.push(S.quoteIdentifier(t.name)),t.def&&e.push(this.visit(t.def,r)));break;case "AT_AddIndexConstraint":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_ReAddComment":e.push("COMMENT"),t.def&&e.push(this.visit(t.def,r));break;case "AT_AlterColumnGenericOptions":if(e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("OPTIONS"),t.def){let i=r.spawn("AlterTableCmd",{alterColumnOptions:true}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}break;case "AT_DropOids":e.push("SET WITHOUT OIDS");break;case "AT_ReplaceRelOptions":if(e.push("REPLACE"),t.def&&Array.isArray(t.def)){let i=h.unwrapList(t.def).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}else e.push("()");break;case "AT_AddOf":e.push("OF"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DropOf":e.push("NOT OF");break;case "AT_ReplicaIdentity":e.push("REPLICA IDENTITY"),t.def&&e.push(this.visit(t.def,r));break;case "AT_GenericOptions":if(e.push("OPTIONS"),t.def){let i=r.spawn("AlterTableCmd",{alterTableOptions:true}),n=h.unwrapList(t.def).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}break;case "AT_AddIdentity":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;case "AT_SetIdentity":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("SET"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DropIdentity":e.push("ALTER COLUMN"),t.name&&e.push(S.quoteIdentifier(t.name)),e.push("DROP IDENTITY"),t.behavior==="DROP_CASCADE"?e.push("CASCADE"):t.behavior==="DROP_RESTRICT"&&e.push("RESTRICT");break;case "AT_ReAddStatistics":e.push("ADD"),t.def&&e.push(this.visit(t.def,r));break;default:throw new Error(`Unsupported AlterTableCmd subtype: ${t.subtype}`)}return e.join(" ")}CreateFunctionStmt(t,r){let e=["CREATE"];if(t.replace&&e.push("OR REPLACE"),t.is_procedure?e.push("PROCEDURE"):e.push("FUNCTION"),t.funcname&&t.funcname.length>0){let n=t.funcname.map(o=>o.String?.sval||o.String?.str||"").filter(o=>o),a=S.quoteDottedName(n);if(t.parameters&&t.parameters.length>0){let o=t.parameters.filter(l=>this.getNodeData(l).mode!=="FUNC_PARAM_TABLE").map(l=>this.visit(l,r));if(o.length>0)if(r.isPretty()){let l=o.map(u=>r.indent(u)).join(","+r.newline());e.push(a+"("+r.newline()+l+r.newline()+")");}else e.push(a+"("+o.join(", ")+")");else e.push(a+"()");}else e.push(a+"()");}if(t.parameters&&t.parameters.some(n=>this.getNodeData(n).mode==="FUNC_PARAM_TABLE")){let n=t.parameters.filter(a=>this.getNodeData(a).mode==="FUNC_PARAM_TABLE").map(a=>this.visit(a,r));if(r.isPretty()){let a=n.map(o=>r.indent(o)).join(","+r.newline());e.push("RETURNS TABLE ("+r.newline()+a+r.newline()+")");}else e.push("RETURNS TABLE ("),e.push(n.join(", ")),e.push(")");}else t.returnType&&(e.push("RETURNS"),e.push(this.TypeName(t.returnType,r)));if(t.options&&t.options.length>0){let n=r.spawn("CreateFunctionStmt"),a=t.options.map(o=>this.visit(o,n));e.push(...a);}if(t.sql_body){let n=this.getNodeType(t.sql_body);if(n==="ReturnStmt")e.push(this.visit(t.sql_body,r));else {if(e.push("BEGIN ATOMIC"),n==="List"){let a=h.unwrapList(t.sql_body);if(!(a.length===0||a.length===1&&Object.keys(a[0]).length===0)){let o=a;a.length===1&&a[0].List&&(o=h.unwrapList(a[0]));let l=o.filter(u=>u&&Object.keys(u).length>0).map(u=>{let c=this.visit(u,r);return c.endsWith(";")?c:c+";"});l.length>0&&e.push(l.join(" "));}}else {let a=this.visit(t.sql_body,r);a&&!a.endsWith(";")?e.push(a+";"):e.push(a);}e.push("END");}}return e.join(" ")}FunctionParameter(t,r){let e=[];if(t.mode)switch(t.mode){case "FUNC_PARAM_IN":e.push("IN");break;case "FUNC_PARAM_OUT":e.push("OUT");break;case "FUNC_PARAM_INOUT":e.push("INOUT");break;case "FUNC_PARAM_VARIADIC":e.push("VARIADIC");break}return t.name&&e.push(S.quoteIdentifier(t.name)),t.argType&&e.push(this.TypeName(t.argType,r)),t.defexpr&&(e.push("DEFAULT"),e.push(this.visit(t.defexpr,r))),e.join(" ")}CreateEnumStmt(t,r){let e=["CREATE","TYPE"];if(t.typeName){let i=h.unwrapList(t.typeName).map(n=>this.visit(n,r)).join(".");e.push(i);}if(e.push("AS","ENUM"),t.vals&&t.vals.length>0){let i=r.spawn("CreateEnumStmt",{isEnumValue:true}),n=h.unwrapList(t.vals).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}else e.push("()");return e.join(" ")}CreateDomainStmt(t,r){let e=["CREATE","DOMAIN"];if(t.domainname){let i=h.unwrapList(t.domainname).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.typeName&&(e.push("AS"),e.push(this.TypeName(t.typeName,r))),t.collClause&&e.push(this.CollateClause(t.collClause,r)),t.constraints){let i=h.unwrapList(t.constraints).map(n=>this.visit(n,r)).join(" ");i&&e.push(i);}return e.join(" ")}CreateRoleStmt(t,r){let e=["CREATE"];if(t.stmt_type==="ROLESTMT_ROLE"?e.push("ROLE"):t.stmt_type==="ROLESTMT_USER"?e.push("USER"):t.stmt_type==="ROLESTMT_GROUP"?e.push("GROUP"):e.push("ROLE"),t.role){let i=S.quoteIdentifier(t.role);e.push(i);}if(t.options){let i=h.unwrapList(t.options).map(n=>this.visit(n,r.spawn("CreateRoleStmt"))).join(" ");i&&(e.push("WITH"),e.push(i));}return e.join(" ")}DefElem(t,r){if(!t.defname)return "";if(r.parentNodeTypes.includes("DefineStmt")&&["commutator","negator"].includes(t.defname.toLowerCase())&&t.arg&&this.getNodeType(t.arg)==="List"){let e=this.getNodeData(t.arg),i=h.unwrapList(e.items);if(i.length===1&&i[0].String)return `${this.preserveOperatorDefElemCase(t.defname)} = ${i[0].String.sval}`}if(r.parentNodeTypes.includes("IndexElem")){if(t.arg&&this.getNodeType(t.arg)==="String"){let e=this.getNodeData(t.arg);return `${t.defname}='${e.sval}'`}return `${t.defname}=${this.visit(t.arg,r.spawn("DefElem"))}`}if(r.parentNodeTypes.includes("DefineStmt")&&["hashes","merges"].includes(t.defname.toLowerCase())&&!t.arg)return t.defname!==t.defname.toLowerCase()&&t.defname!==t.defname.toUpperCase()?S.quoteIdentifier(t.defname):t.defname.charAt(0).toUpperCase()+t.defname.slice(1).toLowerCase();if(r.parentNodeTypes.includes("AlterFdwStmt")||r.parentNodeTypes.includes("CreateFdwStmt")||r.parentNodeTypes.includes("CreateForeignServerStmt")||r.parentNodeTypes.includes("AlterForeignServerStmt")||r.parentNodeTypes.includes("CreateUserMappingStmt")||r.parentNodeTypes.includes("AlterUserMappingStmt")||r.parentNodeTypes.includes("ColumnDef")||r.parentNodeTypes.includes("CreateForeignTableStmt")||r.parentNodeTypes.includes("ImportForeignSchemaStmt")||r.alterColumnOptions||r.alterTableOptions){if(["handler","validator"].includes(t.defname)){if(!t.arg)return `NO ${t.defname.toUpperCase()}`;let e=r.spawn("DefElem"),i=this.visit(t.arg,e);return `${t.defname.toUpperCase()} ${i}`}if(t.arg){let e=r.spawn("DefElem"),i=this.visit(t.arg,e);if(r.parentNodeTypes.includes("CreateFdwStmt")||r.parentNodeTypes.includes("AlterFdwStmt")){let o=typeof i=="string"&&!i.startsWith("'")?`'${i}'`:i,l=S.quoteIdentifier(t.defname);return t.defaction==="DEFELEM_ADD"?`ADD ${l} ${o}`:t.defaction==="DEFELEM_DROP"?`DROP ${l}`:t.defaction==="DEFELEM_SET"?`SET ${l} ${o}`:`${l} ${o}`}let n=typeof i=="string"&&!i.startsWith("'")?`'${i}'`:i;return t.defaction==="DEFELEM_ADD"?`ADD ${t.defname} ${n}`:t.defaction==="DEFELEM_DROP"?`DROP ${t.defname}`:t.defaction==="DEFELEM_SET"?`SET ${t.defname} ${n}`:`${S.quoteIdentifier(t.defname)} ${n}`}else if(t.defaction==="DEFELEM_DROP")return `DROP ${t.defname}`}if((r.parentNodeTypes.includes("CreateSeqStmt")||r.parentNodeTypes.includes("AlterSeqStmt"))&&(t.defname==="minvalue"||t.defname==="maxvalue")&&!t.arg)return `NO ${t.defname.toUpperCase()}`;if((r.parentNodeTypes.includes("CreateRoleStmt")||r.parentNodeTypes.includes("AlterRoleStmt"))&&t.defname==="password"){if(!t.arg)return "PASSWORD NULL";let e=r.spawn("DefElem"),i=this.visit(t.arg,e);return `PASSWORD ${typeof i=="string"&&!i.startsWith("'")?`'${i}'`:i}`}if(t.arg){let e=r.spawn("DefElem"),i=this.visit(t.arg,e);if(r.parentNodeTypes.includes("AlterOperatorStmt")){if(t.arg&&this.getNodeType(t.arg)==="TypeName"){let a=this.getNodeData(t.arg);if(a.names){let o=h.unwrapList(a.names);if(o.length===1&&o[0].String)return `${t.defname} = ${o[0].String.sval}`}}if(t.arg&&this.getNodeType(t.arg)==="List"){let a=this.getNodeData(t.arg),o=h.unwrapList(a.items);if(o.length===1&&o[0].String)return `${t.defname} = ${o[0].String.sval}`}}if(r.parentNodeTypes.includes("CreatedbStmt")||r.parentNodeTypes.includes("DropdbStmt")){let a=typeof i=="string"?S.escape(i):i;return `${t.defname} = ${a}`}if(r.parentNodeTypes.includes("CreateForeignServerStmt")||r.parentNodeTypes.includes("AlterForeignServerStmt")){let a=typeof i=="string"?S.escape(i):i;return `${S.quoteIdentifier(t.defname)} ${a}`}if(r.parentNodeTypes.includes("CreateRoleStmt")||r.parentNodeTypes.includes("AlterRoleStmt")){if(t.defname==="rolemembers"&&t.arg&&this.getNodeType(t.arg)==="List"){let a=this.getNodeData(t.arg),l=h.unwrapList(a.items).map(u=>this.visit(u,r));return r.parentNodeTypes.includes("CreateRoleStmt")?`ROLE ${l.join(", ")}`:`ADD USER ${l.join(", ")}`}if(t.defname==="addroleto"&&t.arg&&this.getNodeType(t.arg)==="List"){let a=this.getNodeData(t.arg);return `IN ROLE ${h.unwrapList(a.items).map(u=>this.visit(u,r)).join(", ")}`}if(t.defname==="validUntil")return `VALID UNTIL ${typeof i=="string"&&!i.startsWith("'")?`'${i}'`:i}`;if(t.defname==="adminmembers")return `ADMIN ${i}`;if(t.defname==="connectionlimit")return `CONNECTION LIMIT ${i}`;if(t.defname==="sysid")return `SYSID ${i}`;if(String(i)==="true")return t.defname==="isreplication"?"REPLICATION":t.defname==="canlogin"?"LOGIN":t.defname.toUpperCase();if(String(i)==="false")return t.defname==="canlogin"?"NOLOGIN":t.defname==="isreplication"?"NOREPLICATION":`NO${t.defname.toUpperCase()}`}if(r.parentNodeTypes.includes("CreateSeqStmt")||r.parentNodeTypes.includes("AlterSeqStmt")){if(t.defname==="owned_by")if(t.arg&&this.getNodeType(t.arg)==="List"){let a=this.getNodeData(t.arg);return `OWNED BY ${h.unwrapList(a.items).map(u=>{let c=this.getNodeData(u);if(this.getNodeType(u)==="String"){let p=c.sval;return S.quoteIdentifier(p)}return this.visit(u,r)}).join(".")}`}else return `OWNED BY ${i}`;if(t.defname==="cycle"){let a=String(i).toLowerCase();if(a==="true"||a==="1")return "CYCLE";if(a==="false"||a==="0")return "NO CYCLE"}return (t.defname==="minvalue"||t.defname==="maxvalue")&&!t.arg?`NO ${t.defname.toUpperCase()}`:`${t.defname.toUpperCase()} ${i}`}if(r.parentNodeTypes.includes("CreateTableSpaceStmt")||r.parentNodeTypes.includes("AlterTableSpaceOptionsStmt"))return `${t.defname.toUpperCase()} ${i}`;if(r.parentNodeTypes.includes("ExplainStmt"))return i?`${t.defname.toUpperCase()} ${i.toUpperCase()}`:t.defname.toUpperCase();if(r.parentNodeTypes.includes("DoStmt")){if(t.defname==="as"){let a=r.spawn("DefElem"),o=t.arg?this.visit(t.arg,a):"";if(Array.isArray(o)){let u=o.join(""),c=this.getFunctionDelimiter(u);return `${c}${u}${c}`}else {let l=this.getFunctionDelimiter(o);return `${l}${o}${l}`}}return ""}if(r.parentNodeTypes.includes("CreateFunctionStmt")||r.parentNodeTypes.includes("AlterFunctionStmt")){if(t.defname==="as")if(t.arg&&t.arg.List){let l=(t.arg.List.items||[]).map(u=>u.String?u.String.sval:this.visit(u,r));if(l.length===1){let u=l[0],c=this.getFunctionDelimiter(u);return `AS ${c}${u}${c}`}else return `AS ${l.map(u=>{let c=this.getFunctionDelimiter(u);return `${c}${u}${c}`}).join(", ")}`}else if(Array.isArray(i)){let a=i;if(a.length===1){let o=a[0],l=this.getFunctionDelimiter(o);return `AS ${l}${o}${l}`}else return `AS ${a.map(o=>{let l=this.getFunctionDelimiter(o);return `${l}${o}${l}`}).join(", ")}`}else {let a=this.getFunctionDelimiter(i);return `AS ${a}${i}${a}`}return t.defname==="language"?`LANGUAGE ${i}`:t.defname==="volatility"?i.toUpperCase():t.defname==="strict"?i==="true"?"STRICT":"CALLED ON NULL INPUT":t.defname==="security"?i==="true"?"SECURITY DEFINER":"SECURITY INVOKER":t.defname==="leakproof"?i==="true"?"LEAKPROOF":"NOT LEAKPROOF":t.defname==="cost"?`COST ${i}`:t.defname==="rows"?`ROWS ${i}`:t.defname==="window"?i==="true"?"WINDOW":"":t.defname==="set"?this.visit(t.arg,r):`${t.defname.toUpperCase()} ${i}`}if(r.parentNodeTypes.includes("CreateExtensionStmt")||r.parentNodeTypes.includes("AlterExtensionStmt")||r.parentNodeTypes.includes("CreateFdwStmt")||r.parentNodeTypes.includes("AlterFdwStmt")){if(r.parentNodeTypes.includes("AlterExtensionStmt")){if(t.defname==="new_version")return `UPDATE TO ${typeof i=="string"&&!i.startsWith("'")?`'${i}'`:i}`;if(t.defname==="schema")return `SET SCHEMA ${i}`}if(r.parentNodeTypes.includes("CreateFdwStmt")){if(["handler","validator"].includes(t.defname))return `${t.defname.toUpperCase()} ${i}`;let a=typeof i=="string"?S.escape(i):i;return `${t.defname} ${a}`}return t.defname==="cascade"?i==="true"?"CASCADE":"":`${t.defname.toUpperCase()} ${i}`}if(r.parentNodeTypes.includes("IndexStmt"))return `${t.defname}=${i}`;if(r.parentNodeTypes.includes("IndexElem")){if(t.arg&&this.getNodeType(t.arg)==="String"){let a=this.getNodeData(t.arg);return `${t.defname}='${a.sval}'`}return `${t.defname}=${i}`}if(r.parentNodeTypes.includes("CreateStmt")){if(t.arg&&this.getNodeType(t.arg)==="Integer"){let a=this.getNodeData(t.arg);return `${t.defname}=${a.ival}`}return `${t.defname}=${i}`}if(r.parentNodeTypes.includes("CreateEventTrigStmt")){if(t.arg&&this.getNodeType(t.arg)==="List"){let a=this.getNodeData(t.arg),l=h.unwrapList(a.items).map(u=>this.getNodeType(u)==="String"?`'${this.getNodeData(u).sval||""}'`:this.visit(u,r));return `${t.defname} IN (${l.join(", ")})`}return `${t.defname} = ${i}`}if((r.parentNodeTypes.includes("AlterTableCmd")||r.parentNodeTypes.includes("AlterTableStmt"))&&!r.parentNodeTypes.includes("ColumnDef")){let a=t.defnamespace?`${t.defnamespace}.${t.defname}`:t.defname;return t.arg&&this.getNodeType(t.arg)==="TypeName"?`${a} = ${i}`:`${a} = ${i}`}if(r.parentNodeTypes.includes("ViewStmt")){if(typeof i=="string"&&/^\d+$/.test(i))return `${t.defname}=${i}`;let a=typeof i=="string"?S.escape(i):i;return `${t.defname} = ${a}`}if(r.parentNodeTypes.includes("CopyStmt"))return t.defname==="format"&&t.arg&&this.getNodeType(t.arg)==="String"?`FORMAT ${this.getNodeData(t.arg).sval.toUpperCase()}`:t.arg?`${t.defname.toUpperCase()} ${i}`:t.defname.toUpperCase();if(r.parentNodeTypes.includes("DefineStmt")){let a=this.preserveOperatorDefElemCase(t.defname);if(["commutator","negator"].includes(t.defname.toLowerCase())){if(t.arg){if(t.arg&&this.getNodeType(t.arg)==="List"){let u=this.getNodeData(t.arg),c=h.unwrapList(u.items);if(c.length===1&&c[0].String)return `${a} = ${c[0].String.sval}`}let l=i.replace(/^"(.*)"$/,"$1");return `${a} = ${l}`}return a}if(["hashes","merges"].includes(t.defname.toLowerCase()))return t.defname!==t.defname.toLowerCase()&&t.defname!==t.defname.toUpperCase()?S.quoteIdentifier(t.defname):a.toUpperCase();let o=S.quoteIdentifier(t.defname);if(o!==t.defname){if(t.arg){if(this.getNodeType(t.arg)==="String"){let l=this.getNodeData(t.arg);return l.sval==="true"||l.sval==="false"?`${o} = ${l.sval}`:`${o} = '${l.sval}'`}return `${o} = ${i}`}return o}if(a!==t.defname)return t.arg?`${a} = ${i}`:a;if(t.arg&&this.getNodeType(t.arg)==="String"){let l=this.getNodeData(t.arg);return l.sval==="true"||l.sval==="false"?`${t.defname} = ${l.sval}`:`${t.defname} = '${l.sval}'`}if(t.arg&&this.getNodeType(t.arg)==="Boolean"){let l=this.getNodeData(t.arg);return `${t.defname} = ${l.boolval?"true":"false"}`}if(t.arg&&this.getNodeType(t.arg)==="Integer"){let l=this.getNodeData(t.arg);return `${t.defname} = ${l.ival}`}if(t.arg&&this.getNodeType(t.arg)==="TypeName"){let l=this.getNodeData(t.arg);if(l.names){let u=h.unwrapList(l.names);if(u.length===1&&u[0].String)return `${t.defname} = ${u[0].String.sval}`}return `${t.defname} = ${i}`}}let n=typeof i=="string"?S.escape(i):i;return `${t.defname} = ${n}`}return r.parentNodeTypes.includes("DefineStmt")&&!t.arg&&t.defname!==t.defname.toLowerCase()&&t.defname!==t.defname.toUpperCase()?S.quoteIdentifier(t.defname):t.defname.toUpperCase()}CreateTableSpaceStmt(t,r){let e=["CREATE","TABLESPACE"];if(t.tablespacename&&e.push(t.tablespacename),t.owner&&(e.push("OWNER"),e.push(this.RoleSpec(t.owner,r))),t.location&&(e.push("LOCATION"),e.push(`'${t.location}'`)),t.options&&t.options.length>0){e.push("WITH");let i=r.spawn("CreateTableSpaceStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}return e.join(" ")}DropTableSpaceStmt(t,r){let e=["DROP","TABLESPACE"];return t.missing_ok&&e.push("IF","EXISTS"),t.tablespacename&&e.push(t.tablespacename),e.join(" ")}AlterTableSpaceOptionsStmt(t,r){let e=["ALTER","TABLESPACE"];if(t.tablespacename&&e.push(t.tablespacename),t.isReset?e.push("RESET"):e.push("SET"),t.options&&t.options.length>0){let i=r.spawn("AlterTableSpaceOptionsStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}return e.join(" ")}CreateExtensionStmt(t,r){let e=["CREATE","EXTENSION"];if(t.if_not_exists&&e.push("IF","NOT","EXISTS"),t.extname&&e.push(this.quoteIfNeeded(t.extname)),t.options&&t.options.length>0){let i=r.spawn("CreateExtensionStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i)).join(" ");e.push(n);}return e.join(" ")}AlterExtensionStmt(t,r){let e=["ALTER","EXTENSION"];if(t.extname&&e.push(this.quoteIfNeeded(t.extname)),t.options&&t.options.length>0){let i=r.spawn("AlterExtensionStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i)).join(" ");e.push(n);}return e.join(" ")}AlterExtensionContentsStmt(t,r){let e=["ALTER","EXTENSION"];if(t.extname&&e.push(this.quoteIfNeeded(t.extname)),t.action===1?e.push("ADD"):t.action===-1&&e.push("DROP"),t.objtype)try{e.push(this.getObjectTypeKeyword(t.objtype));}catch{e.push(t.objtype.toString());}return t.object&&e.push(this.visit(t.object,r)),e.join(" ")}CreateFdwStmt(t,r){let e=["CREATE","FOREIGN","DATA","WRAPPER"];if(t.fdwname&&e.push(t.fdwname),t.func_options&&t.func_options.length>0){let i=r.spawn("CreateFdwStmt"),n=h.unwrapList(t.func_options).map(a=>this.visit(a,i)).join(" ");e.push(n);}if(t.options&&t.options.length>0){e.push("OPTIONS");let i=r.spawn("CreateFdwStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i)).join(", ");e.push(`(${n})`);}return e.join(" ")}SetOperationStmt(t,r){let e=[];if(t.larg&&e.push(this.visit(t.larg,r)),t.op)switch(t.op){case "SETOP_UNION":e.push(t.all?"UNION ALL":"UNION");break;case "SETOP_INTERSECT":e.push(t.all?"INTERSECT ALL":"INTERSECT");break;case "SETOP_EXCEPT":e.push(t.all?"EXCEPT ALL":"EXCEPT");break;default:throw new Error(`Unsupported SetOperation: ${t.op}`)}return t.rarg&&e.push(this.visit(t.rarg,r)),e.join(" ")}ReplicaIdentityStmt(t,r){let e=[];if(t.identity_type)switch(t.identity_type){case "d":case "REPLICA_IDENTITY_DEFAULT":e.push("DEFAULT");break;case "f":case "REPLICA_IDENTITY_FULL":e.push("FULL");break;case "n":case "REPLICA_IDENTITY_NOTHING":e.push("NOTHING");break;case "i":case "REPLICA_IDENTITY_INDEX":e.push("USING","INDEX"),t.name&&e.push(S.quoteIdentifier(t.name));break;default:throw new Error(`Unsupported replica identity type: ${t.identity_type}`)}return e.join(" ")}AlterCollationStmt(t,r){let e=["ALTER","COLLATION"];if(t.collname&&t.collname.length>0){let i=h.unwrapList(t.collname).map(n=>this.visit(n,r)).join(".");e.push(i);}return e.push("REFRESH","VERSION"),e.join(" ")}AlterDomainStmt(t,r){let e=["ALTER","DOMAIN"];if(t.typeName&&t.typeName.length>0){let i=h.unwrapList(t.typeName).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.subtype)switch(t.subtype){case "AT_SetNotNull":e.push("SET","NOT","NULL");break;case "AT_DropNotNull":e.push("DROP","NOT","NULL");break;case "AT_SetDefault":e.push("SET","DEFAULT"),t.def&&e.push(this.visit(t.def,r));break;case "AT_DropDefault":e.push("DROP","DEFAULT");break;case "AT_AddConstraint":if(e.push("ADD"),t.def){let i=r.spawn("CreateDomainStmt",{isDomainConstraint:true});e.push(this.visit(t.def,i));}break;case "AT_DropConstraint":e.push("DROP","CONSTRAINT"),t.missing_ok&&e.push("IF","EXISTS"),t.name&&e.push(S.quoteIdentifier(t.name)),t.behavior==="DROP_CASCADE"&&e.push("CASCADE");break;case "AT_ValidateConstraint":e.push("VALIDATE","CONSTRAINT"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "C":if(e.push("ADD"),t.def){let i=r.spawn("CreateDomainStmt",{isDomainConstraint:true});e.push(this.visit(t.def,i));}break;case "X":e.push("DROP","CONSTRAINT"),t.missing_ok&&e.push("IF","EXISTS"),t.name&&e.push(S.quoteIdentifier(t.name)),t.behavior==="DROP_CASCADE"&&e.push("CASCADE");break;case "V":e.push("VALIDATE","CONSTRAINT"),t.name&&e.push(S.quoteIdentifier(t.name));break;case "O":e.push("SET","NOT","NULL");break;case "N":e.push("DROP","NOT","NULL");break;case "T":t.def?(e.push("SET","DEFAULT"),e.push(this.visit(t.def,r))):e.push("DROP","DEFAULT");break;default:throw new Error(`Unsupported AlterDomainStmt subtype: ${t.subtype}`)}return e.join(" ")}PrepareStmt(t,r){let e=["PREPARE"];if(t.name&&e.push(t.name),t.argtypes&&t.argtypes.length>0){let i=h.unwrapList(t.argtypes).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return e.push("AS"),t.query&&e.push(this.visit(t.query,r)),e.join(" ")}ExecuteStmt(t,r){let e=["EXECUTE"];if(t.name&&e.push(t.name),t.params&&t.params.length>0){let i=h.unwrapList(t.params).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return e.join(" ")}DeallocateStmt(t,r){let e=["DEALLOCATE"];return t.isall?e.push("ALL"):t.name&&e.push(t.name),e.join(" ")}NotifyStmt(t,r){let e=["NOTIFY"];return t.conditionname&&e.push(t.conditionname),t.payload!==null&&t.payload!==void 0&&(e.push(","),e.push(`'${t.payload}'`)),e.join(" ")}ListenStmt(t,r){let e=["LISTEN"];return t.conditionname&&e.push(t.conditionname),e.join(" ")}UnlistenStmt(t,r){let e=["UNLISTEN"];return t.conditionname?e.push(t.conditionname):e.push("*"),e.join(" ")}CheckPointStmt(t,r){return "CHECKPOINT"}LoadStmt(t,r){if(!t.filename)throw new Error("LoadStmt requires filename");return `LOAD '${t.filename}'`}DiscardStmt(t,r){switch(t.target){case "DISCARD_ALL":return "DISCARD ALL";case "DISCARD_PLANS":return "DISCARD PLANS";case "DISCARD_SEQUENCES":return "DISCARD SEQUENCES";case "DISCARD_TEMP":return "DISCARD TEMP";default:throw new Error(`Unsupported DiscardStmt target: ${t.target}`)}}CommentStmt(t,r){let e=["COMMENT ON"];if(t.objtype)switch(t.objtype){case "OBJECT_TABLE":e.push("TABLE");break;case "OBJECT_COLUMN":e.push("COLUMN");break;case "OBJECT_INDEX":e.push("INDEX");break;case "OBJECT_FUNCTION":e.push("FUNCTION");break;case "OBJECT_VIEW":e.push("VIEW");break;case "OBJECT_SCHEMA":e.push("SCHEMA");break;case "OBJECT_DATABASE":e.push("DATABASE");break;case "OBJECT_MATVIEW":e.push("MATERIALIZED VIEW");break;case "OBJECT_TABCONSTRAINT":e.push("CONSTRAINT");break;case "OBJECT_TRIGGER":e.push("TRIGGER");break;case "OBJECT_FDW":e.push("FOREIGN DATA WRAPPER");break;case "OBJECT_EVENT_TRIGGER":e.push("EVENT TRIGGER");break;case "OBJECT_FOREIGN_SERVER":e.push("SERVER");break;case "OBJECT_FOREIGN_TABLE":e.push("FOREIGN TABLE");break;case "OBJECT_STATISTIC_EXT":e.push("STATISTICS");break;case "OBJECT_LARGEOBJECT":e.push("LARGE OBJECT");break;case "OBJECT_OPERATOR":e.push("OPERATOR");break;case "OBJECT_OPCLASS":e.push("OPERATOR CLASS");break;case "OBJECT_OPFAMILY":e.push("OPERATOR FAMILY");break;case "OBJECT_POLICY":e.push("POLICY");break;case "OBJECT_TSPARSER":e.push("TEXT SEARCH PARSER");break;case "OBJECT_TSDICTIONARY":e.push("TEXT SEARCH DICTIONARY");break;case "OBJECT_TSTEMPLATE":e.push("TEXT SEARCH TEMPLATE");break;case "OBJECT_TSCONFIGURATION":e.push("TEXT SEARCH CONFIGURATION");break;case "OBJECT_TRANSFORM":e.push("TRANSFORM");break;default:e.push(t.objtype.replace("OBJECT_",""));}if(t.object)if(t.object&&typeof t.object=="object"&&"List"in t.object){let i=t.object.List;if(i.items&&i.items.length>0){let n=h.unwrapList(i.items).map(a=>this.visit(a,r));if(t.objtype==="OBJECT_TABCONSTRAINT")if(n.length===3){let[a,o,l]=n;e.push(l),e.push("ON"),e.push(`${a}.${o}`);}else if(n.length===2){let[a,o]=n;e.push(o),e.push("ON"),e.push(a);}else e.push(n.join("."));else if(t.objtype==="OBJECT_TRIGGER")if(n.length===2){let[a,o]=n;e.push(o),e.push("ON"),e.push(a);}else e.push(n.join("."));else if(t.objtype==="OBJECT_RULE")if(n.length===2){let[a,o]=n;e.push(o),e.push("ON"),e.push(a);}else e.push(n.join("."));else if(t.objtype==="OBJECT_OPERATOR")if(t.object&&t.object.ObjectWithArgs){let a=t.object.ObjectWithArgs,o=a.objname&&a.objname[0]&&a.objname[0].String?a.objname[0].String.sval:"unknown";o.startsWith('"')&&o.endsWith('"')&&(o=o.slice(1,-1));let l=[];a.objargs&&a.objargs.forEach(u=>{if(!u||Object.keys(u).length===0)l.push("NONE");else if(u.TypeName){let c=this.visit(u,r);l.push(c);}else l.push("unknown");}),e.push(`${o} (${l.join(", ")})`);}else e.push(n.join("."));else if(t.objtype==="OBJECT_OPCLASS"||t.objtype==="OBJECT_OPFAMILY")if(n.length>=2){let a=n[n.length-1],o=n[n.length-2];e.push(`${a} USING ${o}`);}else e.push(n.join(" USING "));else if(t.objtype==="OBJECT_POLICY")if(n.length===2){let[a,o]=n;e.push(o),e.push("ON"),e.push(a);}else e.push(n.join("."));else if(t.objtype==="OBJECT_TRANSFORM")if(n.length===2){let[a,o]=n;e.push("FOR"),e.push(a),e.push("LANGUAGE"),e.push(o);}else e.push(n.join("."));else e.push(n.join("."));}}else if(t.objtype==="OBJECT_OPERATOR"&&t.object&&t.object.ObjectWithArgs){let i=t.object.ObjectWithArgs,n=i.objname&&i.objname[0]&&i.objname[0].String?i.objname[0].String.sval:"unknown";n.startsWith('"')&&n.endsWith('"')&&(n=n.slice(1,-1));let a=[];i.objargs&&i.objargs.forEach(o=>{if(!o||Object.keys(o).length===0)a.push("NONE");else if(o.TypeName){let l=this.visit(o,r);a.push(l);}else a.push("unknown");}),e.push(`${n}(${a.join(", ")})`);}else {let i=r.spawn("CommentStmt",{objtype:t.objtype});e.push(this.visit(t.object,i));}return e.push("IS"),t.comment===null||t.comment===void 0?e.push("NULL"):t.comment&&e.push(S.formatEString(t.comment)),e.join(" ")}LockStmt(t,r){let e=["LOCK","TABLE"];if(t.relations&&t.relations.length>0){let i=h.unwrapList(t.relations).map(n=>this.visit(n,r)).join(", ");e.push(i);}if(t.mode!==void 0){let i=["","ACCESS SHARE","ROW SHARE","ROW EXCLUSIVE","SHARE UPDATE EXCLUSIVE","SHARE","SHARE ROW EXCLUSIVE","EXCLUSIVE","ACCESS EXCLUSIVE"];t.mode>=1&&t.mode<i.length&&e.push("IN",i[t.mode],"MODE");}return t.nowait&&e.push("NOWAIT"),e.join(" ")}CreatePolicyStmt(t,r){let e=[],i=["CREATE","POLICY"];if(t.policy_name&&i.push(S.quoteIdentifier(t.policy_name)),e.push(i.join(" ")),t.table&&(r.isPretty()?e.push(r.newline()+r.indent(`ON ${this.RangeVar(t.table,r)}`)):(e.push("ON"),e.push(this.RangeVar(t.table,r)))),t.permissive===void 0?r.isPretty()?e.push(r.newline()+r.indent("AS RESTRICTIVE")):e.push("AS","RESTRICTIVE"):t.permissive===true&&(r.isPretty()?e.push(r.newline()+r.indent("AS PERMISSIVE")):e.push("AS","PERMISSIVE")),t.cmd_name&&(r.isPretty()?e.push(r.newline()+r.indent(`FOR ${t.cmd_name.toUpperCase()}`)):e.push("FOR",t.cmd_name.toUpperCase())),t.roles&&t.roles.length>0){let n=h.unwrapList(t.roles).map(a=>this.visit(a,r));r.isPretty()?e.push(r.newline()+r.indent(`TO ${n.join(", ")}`)):(e.push("TO"),e.push(n.join(", ")));}if(t.qual)if(r.isPretty()){let n=this.visit(t.qual,r);e.push(r.newline()+r.indent("USING (")),e.push(r.newline()+r.indent(r.indent(n))),e.push(r.newline()+r.indent(")"));}else e.push("USING"),e.push(`(${this.visit(t.qual,r)})`);if(t.with_check)if(r.isPretty()){let n=this.visit(t.with_check,r);e.push(r.newline()+r.indent("WITH CHECK (")),e.push(r.newline()+r.indent(r.indent(n))),e.push(r.newline()+r.indent(")"));}else e.push("WITH CHECK"),e.push(`(${this.visit(t.with_check,r)})`);return r.isPretty()?e.join(""):e.join(" ")}AlterPolicyStmt(t,r){let e=["ALTER","POLICY"];if(t.policy_name&&e.push(S.quoteIdentifier(t.policy_name)),t.table&&(e.push("ON"),e.push(this.RangeVar(t.table,r))),t.roles&&t.roles.length>0){e.push("TO");let i=h.unwrapList(t.roles).map(n=>this.visit(n,r));e.push(i.join(", "));}return t.qual&&(e.push("USING"),e.push(`(${this.visit(t.qual,r)})`)),t.with_check&&(e.push("WITH CHECK"),e.push(`(${this.visit(t.with_check,r)})`)),e.join(" ")}CreateUserMappingStmt(t,r){let e=["CREATE"];if(t.if_not_exists&&e.push("IF","NOT","EXISTS"),e.push("USER","MAPPING"),e.push("FOR"),t.user?e.push(this.RoleSpec(t.user,r)):e.push("CURRENT_USER"),e.push("SERVER"),t.servername&&e.push(S.quoteIdentifier(t.servername)),t.options&&t.options.length>0){e.push("OPTIONS");let i=r.spawn("CreateUserMappingStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}return e.join(" ")}CreateStatsStmt(t,r){let e=["CREATE"];if(t.if_not_exists&&e.push("IF","NOT","EXISTS"),e.push("STATISTICS"),t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map(n=>this.visit(n,r));e.push(i.join("."));}if(t.stat_types&&t.stat_types.length>0){let i=h.unwrapList(t.stat_types).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}if(e.push("ON"),t.exprs&&t.exprs.length>0){let i=h.unwrapList(t.exprs).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.relations&&t.relations.length>0){e.push("FROM");let i=h.unwrapList(t.relations).map(n=>this.visit(n,r));e.push(i.join(", "));}return e.join(" ")}StatsElem(t,r){return t.name?this.quoteIfNeeded(t.name):t.expr?`(${this.visit(t.expr,r)})`:""}CreatePublicationStmt(t,r){let e=["CREATE","PUBLICATION"];if(t.pubname&&e.push(S.quoteIdentifier(t.pubname)),t.pubobjects&&t.pubobjects.length>0){e.push("FOR","TABLE");let i=h.unwrapList(t.pubobjects).map(n=>this.visit(n,r));e.push(i.join(", "));}else t.for_all_tables&&e.push("FOR","ALL","TABLES");if(t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return e.join(" ")}CreateSubscriptionStmt(t,r){let e=["CREATE","SUBSCRIPTION"];if(t.subname&&e.push(S.quoteIdentifier(t.subname)),e.push("CONNECTION"),t.conninfo&&e.push(`'${t.conninfo}'`),e.push("PUBLICATION"),t.publication&&t.publication.length>0){let i=h.unwrapList(t.publication).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return e.join(" ")}AlterPublicationStmt(t,r){let e=["ALTER","PUBLICATION"];if(t.pubname&&e.push(S.quoteIdentifier(t.pubname)),t.action)switch(t.action){case "AP_AddObjects":e.push("ADD");break;case "AP_DropObjects":e.push("DROP");break;case "AP_SetObjects":e.push("SET");break;default:throw new Error(`Unsupported AlterPublicationStmt action: ${t.action}`)}if(t.for_all_tables)e.push("FOR ALL TABLES");else if(t.pubobjects&&t.pubobjects.length>0){e.push("FOR TABLE");let i=h.unwrapList(t.pubobjects).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return e.join(" ")}AlterSubscriptionStmt(t,r){let e=["ALTER","SUBSCRIPTION"];if(t.subname&&e.push(S.quoteIdentifier(t.subname)),t.kind)switch(t.kind){case "ALTER_SUBSCRIPTION_OPTIONS":e.push("SET");break;case "ALTER_SUBSCRIPTION_CONNECTION":e.push("CONNECTION"),t.conninfo&&e.push(`'${t.conninfo}'`);break;case "ALTER_SUBSCRIPTION_SET_PUBLICATION":if(e.push("SET PUBLICATION"),t.publication&&t.publication.length>0){let i=h.unwrapList(t.publication).map(n=>this.visit(n,r));e.push(i.join(", "));}break;case "ALTER_SUBSCRIPTION_REFRESH":e.push("REFRESH PUBLICATION");break;case "ALTER_SUBSCRIPTION_ENABLED":e.push("ENABLE");break;case "ALTER_SUBSCRIPTION_SKIP":e.push("SKIP");break;default:throw new Error(`Unsupported AlterSubscriptionStmt kind: ${t.kind}`)}if(t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return e.join(" ")}DropSubscriptionStmt(t,r){let e=["DROP","SUBSCRIPTION"];if(t.missing_ok&&e.push("IF EXISTS"),t.subname&&e.push(S.quoteIdentifier(t.subname)),t.behavior)switch(t.behavior){case "DROP_CASCADE":e.push("CASCADE");break;case "DROP_RESTRICT":e.push("RESTRICT");break}return e.join(" ")}DoStmt(t,r){let e=["DO"];if(t.args&&t.args.length>0){let i=r.spawn("DoStmt"),n=h.unwrapList(t.args),a=[];for(let o of n)if(this.getNodeType(o)==="DefElem"){let u=this.getNodeData(o);if(u.defname==="language"){let c=this.visit(u.arg,i);a.push(`LANGUAGE ${c}`);}else if(u.defname==="as")if(this.getNodeType(u.arg)==="String"){let p=this.getNodeData(u.arg),f=this.getFunctionDelimiter(p.sval);a.push(`${f}${p.sval}${f}`);}else a.push(this.visit(u.arg,i));}e.push(...a);}return e.join(" ")}generateUniqueDollarTag(t){let r=/\$[a-zA-Z0-9_]*\$/g,e=t.match(r)||[];if(e.length===0)return "$$";let i=new Set(e);if(i.has("$$")){let n=1,a=`$do${n}$`;for(;i.has(a);)n++,a=`$do${n}$`;return a}return "$$"}InlineCodeBlock(t,r){if(t.source_text){let i=this.getFunctionDelimiter(t.source_text);return `${i}${t.source_text}${i}`}let e=this.options.functionDelimiter||"$$";return `${e}${e}`}CallContext(t,r){return t.atomic!==void 0?t.atomic?"ATOMIC":"NOT ATOMIC":""}ConstraintsSetStmt(t,r){let e=["SET","CONSTRAINTS"];if(t.constraints&&t.constraints.length>0){let i=h.unwrapList(t.constraints).map(n=>this.visit(n,r));e.push(i.join(", "));}else e.push("ALL");return e.push(t.deferred?"DEFERRED":"IMMEDIATE"),e.join(" ")}AlterSystemStmt(t,r){let e=["ALTER","SYSTEM"];if(t.setstmt){let n=this.VariableSetStmt(t.setstmt,r).replace(/^SET\s+/,"");e.push("SET",n);}return e.join(" ")}VacuumRelation(t,r){let e=[];if(t.relation&&e.push(this.RangeVar(t.relation,r)),t.va_cols&&t.va_cols.length>0){e.push("(");let i=h.unwrapList(t.va_cols).map(n=>this.visit(n,r));e.push(i.join(", ")),e.push(")");}return e.join(" ")}DropOwnedStmt(t,r){let e=["DROP","OWNED","BY"];if(t.roles&&t.roles.length>0){let i=h.unwrapList(t.roles).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.behavior)switch(t.behavior){case "DROP_CASCADE":e.push("CASCADE");break;case "DROP_RESTRICT":e.push("RESTRICT");break}return e.join(" ")}ReassignOwnedStmt(t,r){let e=["REASSIGN","OWNED","BY"];if(t.roles&&t.roles.length>0){let i=h.unwrapList(t.roles).map(n=>this.visit(n,r));e.push(i.join(", "));}return e.push("TO"),t.newrole&&e.push(this.RoleSpec(t.newrole,r)),e.join(" ")}AlterTSDictionaryStmt(t,r){let e=["ALTER","TEXT","SEARCH","DICTIONARY"];if(t.dictname&&t.dictname.length>0){let i=h.unwrapList(t.dictname).map(n=>this.visit(n,r));e.push(i.join("."));}if(t.options&&t.options.length>0){e.push("(");let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(i.join(", ")),e.push(")");}return e.join(" ")}AlterTSConfigurationStmt(t,r){let e=["ALTER","TEXT","SEARCH","CONFIGURATION"];if(t.cfgname&&t.cfgname.length>0){let i=h.unwrapList(t.cfgname).map(n=>this.visit(n,r));e.push(i.join("."));}if(t.kind)switch(t.kind){case "ALTER_TSCONFIG_ADD_MAPPING":if(e.push("ADD","MAPPING","FOR"),t.tokentype&&t.tokentype.length>0){let i=h.unwrapList(t.tokentype).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.dicts&&t.dicts.length>0){e.push("WITH");let i=h.unwrapList(t.dicts).map(n=>n.List&&n.List.items?h.unwrapList(n.List.items).map(a=>this.visit(a,r)).join("."):this.visit(n,r));e.push(i.join(", "));}break;case "ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN":if(e.push("ALTER","MAPPING","FOR"),t.tokentype&&t.tokentype.length>0){let i=h.unwrapList(t.tokentype).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.dicts&&t.dicts.length>0){e.push("WITH");let i=h.unwrapList(t.dicts).map(n=>n.List&&n.List.items?h.unwrapList(n.List.items).map(a=>this.visit(a,r)).join("."):this.visit(n,r));e.push(i.join(", "));}break;case "ALTER_TSCONFIG_REPLACE_DICT":if(e.push("ALTER","MAPPING","REPLACE"),t.dicts&&t.dicts.length>=2){let i=h.unwrapList(t.dicts).map(n=>n.List&&n.List.items?h.unwrapList(n.List.items).map(a=>this.visit(a,r)).join("."):this.visit(n,r));e.push(i[0],"WITH",i.slice(1).join(", "));}break;case "ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN":if(e.push("ALTER","MAPPING","FOR"),t.tokentype&&t.tokentype.length>0){let i=h.unwrapList(t.tokentype).map(n=>this.visit(n,r));e.push(i.join(", "));}if(t.dicts&&t.dicts.length>=2){e.push("REPLACE");let i=h.unwrapList(t.dicts).map(n=>n.List&&n.List.items?h.unwrapList(n.List.items).map(a=>this.visit(a,r)).join("."):this.visit(n,r));e.push(i[0],"WITH",i.slice(1).join(", "));}break;case "ALTER_TSCONFIG_DROP_MAPPING":if(e.push("DROP","MAPPING","FOR"),t.tokentype&&t.tokentype.length>0){let i=h.unwrapList(t.tokentype).map(n=>this.visit(n,r));e.push(i.join(", "));}break;default:throw new Error(`Unsupported AlterTSConfigurationStmt kind: ${t.kind}`)}return e.join(" ")}ClosePortalStmt(t,r){let e=["CLOSE"];return t.portalname?e.push(S.quoteIdentifier(t.portalname)):e.push("ALL"),e.join(" ")}FetchStmt(t,r){let e=[t.ismove?"MOVE":"FETCH"],i=t.howMany===9223372036854776e3;if(t.direction)switch(t.direction){case "FETCH_FORWARD":i?e.push("FORWARD","ALL"):t.howMany!==void 0&&t.howMany!==null?e.push("FORWARD",t.howMany.toString()):e.push("FORWARD");break;case "FETCH_BACKWARD":i?e.push("BACKWARD","ALL"):t.howMany!==void 0&&t.howMany!==null?e.push("BACKWARD",t.howMany.toString()):e.push("BACKWARD");break;case "FETCH_ABSOLUTE":t.howMany!==void 0&&t.howMany!==null&&e.push("ABSOLUTE",t.howMany.toString());break;case "FETCH_RELATIVE":t.howMany!==void 0&&t.howMany!==null?e.push("RELATIVE",t.howMany.toString()):e.push("RELATIVE","0");break;default:throw new Error(`Unsupported FetchStmt direction: ${t.direction}`)}else i&&e.push("ALL");return t.portalname&&e.push(S.quoteIdentifier(t.portalname)),e.join(" ")}AlterStatsStmt(t,r){let e=["ALTER","STATISTICS"];if(t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map(n=>this.visit(n,r));e.push(i.join("."));}return e.push("SET","STATISTICS"),t.stxstattarget&&e.push(this.visit(t.stxstattarget,r)),e.join(" ")}ObjectWithArgs(t,r){let e="";if(t.objname&&t.objname.length>0){let i=r.spawn("ObjectWithArgs");e=h.unwrapList(t.objname).map(a=>this.visit(a,i)).join(".");}if(t.objfuncargs&&t.objfuncargs.length>0){let i=h.unwrapList(t.objfuncargs).map(n=>this.visit(n,r));e+=`(${i.join(", ")})`;}else if(t.objargs&&t.objargs.length>0){let i=h.unwrapList(t.objargs).map(n=>!n||Object.keys(n).length===0?"NONE":this.visit(n,r));e+=`(${i.join(", ")})`;}else t.args_unspecified||((r.parentNodeTypes.includes("CommentStmt")||r.parentNodeTypes.includes("DropStmt"))&&r.objtype==="OBJECT_AGGREGATE"?e+="(*)":r.parentNodeTypes.includes("CreateOpClassItem")||(e+="()"));return e}AlterOperatorStmt(t,r){let e=["ALTER","OPERATOR"];if(t.opername&&e.push(this.ObjectWithArgs(t.opername,r)),e.push("SET"),t.options&&t.options.length>0){let i=r.spawn("AlterOperatorStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}return e.join(" ")}AlterFdwStmt(t,r){let e=["ALTER","FOREIGN","DATA","WRAPPER"];if(t.fdwname&&e.push(S.quoteIdentifier(t.fdwname)),t.func_options&&t.func_options.length>0){let i=r.spawn("AlterFdwStmt"),n=h.unwrapList(t.func_options).map(a=>this.visit(a,i));e.push(n.join(" "));}if(t.options&&t.options.length>0){e.push("OPTIONS");let i=r.spawn("AlterFdwStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}return e.join(" ")}CreateForeignServerStmt(t,r){let e=["CREATE","SERVER"];if(t.if_not_exists&&e.push("IF","NOT","EXISTS"),t.servername&&e.push(S.quoteIdentifier(t.servername)),t.servertype&&e.push("TYPE",S.escape(t.servertype)),t.version&&e.push("VERSION",S.escape(t.version)),t.fdwname&&e.push("FOREIGN","DATA","WRAPPER",S.quoteIdentifier(t.fdwname)),t.options&&t.options.length>0){e.push("OPTIONS"),e.push("(");let i=r.spawn("CreateForeignServerStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(n.join(", ")),e.push(")");}return e.join(" ")}AlterForeignServerStmt(t,r){let e=["ALTER","SERVER"];if(t.servername&&e.push(S.quoteIdentifier(t.servername)),t.version&&e.push("VERSION",S.escape(t.version)),t.options&&t.options.length>0){e.push("OPTIONS"),e.push("(");let i=r.spawn("AlterForeignServerStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(n.join(", ")),e.push(")");}return e.join(" ")}AlterUserMappingStmt(t,r){let e=["ALTER","USER","MAPPING","FOR"];if(t.user?e.push(this.RoleSpec(t.user,r)):e.push("CURRENT_USER"),e.push("SERVER"),t.servername&&e.push(S.quoteIdentifier(t.servername)),t.options&&t.options.length>0){e.push("OPTIONS");let i=r.spawn("AlterUserMappingStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}return e.join(" ")}DropUserMappingStmt(t,r){let e=["DROP","USER","MAPPING"];return t.missing_ok&&e.push("IF","EXISTS"),e.push("FOR"),t.user?e.push(this.RoleSpec(t.user,r)):e.push("CURRENT_USER"),e.push("SERVER"),t.servername&&e.push(S.quoteIdentifier(t.servername)),e.join(" ")}ImportForeignSchemaStmt(t,r){let e=["IMPORT","FOREIGN","SCHEMA"];if(t.remote_schema&&e.push(S.quoteIdentifier(t.remote_schema)),t.list_type)switch(t.list_type){case "FDW_IMPORT_SCHEMA_ALL":break;case "FDW_IMPORT_SCHEMA_LIMIT_TO":if(e.push("LIMIT","TO"),t.table_list&&t.table_list.length>0){let i=h.unwrapList(t.table_list).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}break;case "FDW_IMPORT_SCHEMA_EXCEPT":if(e.push("EXCEPT"),t.table_list&&t.table_list.length>0){let i=h.unwrapList(t.table_list).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}break;default:throw new Error(`Unsupported ImportForeignSchemaStmt list_type: ${t.list_type}`)}if(e.push("FROM","SERVER"),t.server_name&&e.push(S.quoteIdentifier(t.server_name)),e.push("INTO"),t.local_schema&&e.push(S.quoteIdentifier(t.local_schema)),t.options&&t.options.length>0){let i=r.spawn("ImportForeignSchemaStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`OPTIONS (${n.join(", ")})`);}return e.join(" ")}ClusterStmt(t,r){let e=["CLUSTER"];if(t.relation&&(e.push(this.RangeVar(t.relation,r)),t.indexname&&e.push("USING",S.quoteIdentifier(t.indexname))),t.params&&t.params.length>0){let i=h.unwrapList(t.params).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return e.join(" ")}VacuumStmt(t,r){let e=[t.is_vacuumcmd?"VACUUM":"ANALYZE"];if(t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}if(t.rels&&t.rels.length>0){let i=h.unwrapList(t.rels).map(n=>this.visit(n,r));e.push(i.join(", "));}return e.join(" ")}ExplainStmt(t,r){let e=["EXPLAIN"];if(t.options&&t.options.length>0){let i=r.spawn("ExplainStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}return t.query&&e.push(this.visit(t.query,r)),e.join(" ")}ReindexStmt(t,r){let e=["REINDEX"];if(t.params&&t.params.length>0){let i=h.unwrapList(t.params).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}if(t.kind)switch(t.kind){case "REINDEX_OBJECT_INDEX":e.push("INDEX");break;case "REINDEX_OBJECT_TABLE":e.push("TABLE");break;case "REINDEX_OBJECT_SCHEMA":e.push("SCHEMA");break;case "REINDEX_OBJECT_SYSTEM":e.push("SYSTEM");break;case "REINDEX_OBJECT_DATABASE":e.push("DATABASE");break;default:throw new Error(`Unsupported ReindexStmt kind: ${t.kind}`)}return t.relation&&e.push(this.RangeVar(t.relation,r)),t.name&&e.push(S.quoteIdentifier(t.name)),e.join(" ")}CallStmt(t,r){let e=["CALL"];if(t.funccall){let i=t.funccall;if(i.funcname&&i.funcname.length>0){let a=i.funcname.map(l=>l.String?l.String.sval:this.visit(l,r)).join("."),o="";i.args&&i.args.length>0?o=`(${i.args.map(u=>this.visit(u,r)).join(", ")})`:o="()",e.push(`${a}${o}`);}}else if(t.funcexpr)e.push(this.FuncExpr(t.funcexpr,r));else throw new Error("CallStmt requires either funccall or funcexpr");return e.join(" ")}CreatedbStmt(t,r){let e=["CREATE DATABASE"];if(!t.dbname)throw new Error("CreatedbStmt requires dbname");if(e.push(S.quoteIdentifier(t.dbname)),t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>this.visit(n,r)).join(" ");e.push("WITH",i);}return e.join(" ")}DropdbStmt(t,r){let e=["DROP DATABASE"];if(t.missing_ok&&e.push("IF EXISTS"),!t.dbname)throw new Error("DropdbStmt requires dbname");if(e.push(S.quoteIdentifier(t.dbname)),t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>this.visit(n,r)).join(" ");e.push("WITH",i);}return e.join(" ")}RenameStmt(t,r){let e=["ALTER"];if(!t.renameType)throw new Error("RenameStmt requires renameType");switch(t.renameType){case "OBJECT_TABLE":e.push("TABLE");break;case "OBJECT_VIEW":e.push("VIEW");break;case "OBJECT_INDEX":e.push("INDEX");break;case "OBJECT_SEQUENCE":e.push("SEQUENCE");break;case "OBJECT_FUNCTION":e.push("FUNCTION");break;case "OBJECT_PROCEDURE":e.push("PROCEDURE");break;case "OBJECT_SCHEMA":e.push("SCHEMA");break;case "OBJECT_DATABASE":e.push("DATABASE");break;case "OBJECT_COLUMN":t.relationType==="OBJECT_FOREIGN_TABLE"?e.push("FOREIGN TABLE"):t.relationType==="OBJECT_VIEW"?e.push("VIEW"):e.push("TABLE");break;case "OBJECT_DOMAIN":e.push("DOMAIN");break;case "OBJECT_TYPE":e.push("TYPE");break;case "OBJECT_DOMCONSTRAINT":e.push("DOMAIN");break;case "OBJECT_TABCONSTRAINT":e.push("TABLE");break;case "OBJECT_AGGREGATE":e.push("AGGREGATE");break;case "OBJECT_COLLATION":e.push("COLLATION");break;case "OBJECT_CONVERSION":e.push("CONVERSION");break;case "OBJECT_EXTENSION":e.push("EXTENSION");break;case "OBJECT_FOREIGN_SERVER":e.push("SERVER");break;case "OBJECT_FOREIGN_TABLE":e.push("FOREIGN TABLE");break;case "OBJECT_LANGUAGE":e.push("LANGUAGE");break;case "OBJECT_MATVIEW":e.push("MATERIALIZED VIEW");break;case "OBJECT_OPCLASS":e.push("OPERATOR CLASS");break;case "OBJECT_OPERATOR":e.push("OPERATOR");break;case "OBJECT_OPFAMILY":e.push("OPERATOR FAMILY");break;case "OBJECT_POLICY":e.push("POLICY"),t.subname&&e.push(S.quoteIdentifier(t.subname));break;case "OBJECT_PUBLICATION":e.push("PUBLICATION");break;case "OBJECT_ROLE":e.push("ROLE");break;case "OBJECT_RULE":e.push("RULE");break;case "OBJECT_SUBSCRIPTION":e.push("SUBSCRIPTION");break;case "OBJECT_TABLESPACE":e.push("TABLESPACE");break;case "OBJECT_TRIGGER":e.push("TRIGGER");break;case "OBJECT_TSCONFIGURATION":e.push("TEXT SEARCH CONFIGURATION");break;case "OBJECT_TSDICTIONARY":e.push("TEXT SEARCH DICTIONARY");break;case "OBJECT_TSPARSER":e.push("TEXT SEARCH PARSER");break;case "OBJECT_TSTEMPLATE":e.push("TEXT SEARCH TEMPLATE");break;case "OBJECT_FDW":e.push("FOREIGN DATA WRAPPER");break;case "OBJECT_EVENT_TRIGGER":e.push("EVENT TRIGGER");break;case "OBJECT_ATTRIBUTE":t.relationType==="OBJECT_TYPE"?e.push("TYPE"):e.push("TABLE");break;case "OBJECT_ROUTINE":e.push("ROUTINE");break;default:throw new Error(`Unsupported RenameStmt renameType: ${t.renameType}`)}if(t.missing_ok&&e.push("IF EXISTS"),t.renameType==="OBJECT_RULE"&&t.subname&&t.relation)e.push(S.quoteIdentifier(t.subname)),e.push("ON"),e.push(this.RangeVar(t.relation,r));else if(t.relation){let i=r.spawn("RenameStmt",{objtype:t.relationType});t.renameType==="OBJECT_POLICY"&&e.push("ON"),e.push(this.RangeVar(t.relation,i));}else if(t.object)if((t.renameType==="OBJECT_OPFAMILY"||t.renameType==="OBJECT_OPCLASS")&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(`${S.quoteIdentifier(a)} USING ${n}`);}else e.push(this.visit(t.object,r));}else if(t.renameType==="OBJECT_SCHEMA"&&t.object.List){let i=h.unwrapList(t.object);i.length>0&&i[0].String?e.push(this.quoteIfNeeded(i[0].String.sval)):e.push(this.visit(t.object,r));}else e.push(this.visit(t.object,r));if(t.renameType==="OBJECT_COLUMN"&&t.subname?e.push("RENAME COLUMN",S.quoteIdentifier(t.subname),"TO"):t.renameType==="OBJECT_DOMCONSTRAINT"&&t.subname?e.push("RENAME CONSTRAINT",S.quoteIdentifier(t.subname),"TO"):t.renameType==="OBJECT_TABCONSTRAINT"&&t.subname?e.push("RENAME CONSTRAINT",S.quoteIdentifier(t.subname),"TO"):t.renameType==="OBJECT_ATTRIBUTE"&&t.subname?e.push("RENAME ATTRIBUTE",S.quoteIdentifier(t.subname),"TO"):t.renameType==="OBJECT_ROLE"&&t.subname?e.push(S.quoteIdentifier(t.subname),"RENAME TO"):t.renameType==="OBJECT_SCHEMA"&&t.subname?e.push(this.quoteIfNeeded(t.subname),"RENAME TO"):(t.renameType,e.push("RENAME TO")),!t.newname)throw new Error("RenameStmt requires newname");return e.push(S.quoteIdentifier(t.newname)),t.behavior==="DROP_CASCADE"&&e.push("CASCADE"),e.join(" ")}AlterOwnerStmt(t,r){let e=["ALTER"];if(!t.objectType)throw new Error("AlterOwnerStmt requires objectType");if(e.push(this.getObjectTypeKeyword(t.objectType)),t.relation)e.push(this.RangeVar(t.relation,r));else if(t.object)if((t.objectType==="OBJECT_OPFAMILY"||t.objectType==="OBJECT_OPCLASS")&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(`${S.quoteIdentifier(a)} USING ${n}`);}else e.push(this.visit(t.object,r));}else e.push(this.visit(t.object,r));if(e.push("OWNER TO"),!t.newowner)throw new Error("AlterOwnerStmt requires newowner");return e.push(this.RoleSpec(t.newowner,r)),e.join(" ")}GrantStmt(t,r){let e=[];if(t.is_grant?e.push("GRANT"):(e.push("REVOKE"),t.grant_option&&e.push("GRANT OPTION FOR")),t.privileges&&t.privileges.length>0){let i=r.spawn("GrantStmt"),n=h.unwrapList(t.privileges).map(a=>this.visit(a,i)).join(", ");e.push(n);}else e.push("ALL");if(e.push("ON"),t.objtype&&t.targtype==="ACL_TARGET_DEFAULTS")switch(t.objtype){case "OBJECT_TABLE":e.push("TABLES");break;case "OBJECT_SEQUENCE":e.push("SEQUENCES");break;case "OBJECT_FUNCTION":e.push("FUNCTIONS");break;case "OBJECT_PROCEDURE":e.push("PROCEDURES");break;case "OBJECT_ROUTINE":e.push("ROUTINES");break;case "OBJECT_TYPE":e.push("TYPES");break;case "OBJECT_SCHEMA":e.push("SCHEMAS");break;}switch(t.targtype){case "ACL_TARGET_OBJECT":if(t.objtype==="OBJECT_SCHEMA"?e.push("SCHEMA"):t.objtype==="OBJECT_LANGUAGE"?e.push("LANGUAGE"):t.objtype==="OBJECT_FUNCTION"?e.push("FUNCTION"):t.objtype==="OBJECT_PROCEDURE"?e.push("PROCEDURE"):t.objtype==="OBJECT_TYPE"?e.push("TYPE"):t.objtype==="OBJECT_DOMAIN"?e.push("DOMAIN"):t.objtype==="OBJECT_LARGEOBJECT"?e.push("LARGE OBJECT"):t.objtype==="OBJECT_FDW"?e.push("FOREIGN","DATA","WRAPPER"):t.objtype==="OBJECT_FOREIGN_SERVER"?e.push("FOREIGN","SERVER"):t.objtype==="OBJECT_DATABASE"&&e.push("DATABASE"),t.objects&&t.objects.length>0){let i=h.unwrapList(t.objects).map(n=>this.visit(n,r)).join(", ");e.push(i);}break;case "ACL_TARGET_ALL_IN_SCHEMA":switch(t.objtype){case "OBJECT_TABLE":e.push("ALL TABLES IN SCHEMA");break;case "OBJECT_SEQUENCE":e.push("ALL SEQUENCES IN SCHEMA");break;case "OBJECT_FUNCTION":e.push("ALL FUNCTIONS IN SCHEMA");break;case "OBJECT_PROCEDURE":e.push("ALL PROCEDURES IN SCHEMA");break;case "OBJECT_ROUTINE":e.push("ALL ROUTINES IN SCHEMA");break;case "OBJECT_TYPE":e.push("ALL TYPES IN SCHEMA");break;default:e.push("ALL TABLES IN SCHEMA");break}if(t.objects&&t.objects.length>0){let i=h.unwrapList(t.objects).map(n=>this.visit(n,r)).join(", ");e.push(i);}break;default:if(t.objects&&t.objects.length>0){let i=h.unwrapList(t.objects).map(n=>this.visit(n,r)).join(", ");e.push(i);}}if(t.is_grant?e.push("TO"):e.push("FROM"),t.grantees&&t.grantees.length>0){let i=h.unwrapList(t.grantees).map(n=>this.visit(n,r)).join(", ");e.push(i);}return t.grant_option&&t.is_grant&&e.push("WITH GRANT OPTION"),t.is_grant||(t.behavior==="DROP_CASCADE"?e.push("CASCADE"):t.behavior==="DROP_RESTRICT"&&e.push("RESTRICT")),e.join(" ")}GrantRoleStmt(t,r){let e=[],i=false,n=false,a=false,o,l,u;if(t.opt&&t.opt.length>0){let c=h.unwrapList(t.opt),p=c.find(m=>m.DefElem&&m.DefElem.defname==="inherit"),f=c.find(m=>m.String&&m.String.sval==="admin"||m.DefElem&&m.DefElem.defname==="admin"),d=c.find(m=>m.DefElem&&m.DefElem.defname==="set");p&&p.DefElem&&(i=true,o=p.DefElem.arg?.Boolean?.boolval),f&&(n=true,f.DefElem&&f.DefElem.arg&&(l=f.DefElem.arg.Boolean?.boolval)),d&&d.DefElem&&(a=true,u=d.DefElem.arg?.Boolean?.boolval);}if(t.is_grant?e.push("GRANT"):(e.push("REVOKE"),i?e.push("INHERIT OPTION FOR"):n&&e.push("ADMIN OPTION FOR")),t.granted_roles&&t.granted_roles.length>0){let c=h.unwrapList(t.granted_roles).map(p=>this.visit(p,r)).join(", ");e.push(c);}if(t.is_grant?e.push("TO"):e.push("FROM"),t.grantee_roles&&t.grantee_roles.length>0){let c=h.unwrapList(t.grantee_roles).map(p=>this.visit(p,r)).join(", ");e.push(c);}if(t.is_grant){let c=[];n&&(l===true?c.push("ADMIN OPTION"):l===false?c.push("ADMIN FALSE"):c.push("ADMIN OPTION")),i&&(o===true?c.push("INHERIT OPTION"):o===false&&c.push("INHERIT FALSE")),a&&(u===true?c.push("SET TRUE"):u===false&&c.push("SET FALSE")),c.length>0&&e.push("WITH",c.join(", "));}return e.join(" ")}SecLabelStmt(t,r){let e=["SECURITY LABEL"];if(t.provider&&e.push("FOR",S.quoteIdentifier(t.provider)),e.push("ON"),t.objtype)switch(t.objtype){case "OBJECT_TABLE":e.push("TABLE");break;case "OBJECT_COLUMN":e.push("COLUMN");break;case "OBJECT_FUNCTION":e.push("FUNCTION");break;case "OBJECT_SCHEMA":e.push("SCHEMA");break;case "OBJECT_DATABASE":e.push("DATABASE");break;case "OBJECT_ROLE":e.push("ROLE");break;default:e.push(t.objtype.replace("OBJECT_",""));}return t.object&&e.push(this.visit(t.object,r)),e.push("IS"),t.label?e.push(`'${t.label}'`):e.push("NULL"),e.join(" ")}AlterDefaultPrivilegesStmt(t,r){let e=["ALTER DEFAULT PRIVILEGES"];if(t.options&&t.options.length>0){let i=h.unwrapList(t.options);for(let n of i){let a=this.getNodeData(n);if(a.defname==="schemas"){if(e.push("IN SCHEMA"),a.arg){let o=h.unwrapList(a.arg).map(l=>this.visit(l,r)).join(", ");e.push(o);}}else if(a.defname==="roles"&&(e.push("FOR ROLE"),a.arg)){let o=h.unwrapList(a.arg).map(l=>this.visit(l,r)).join(", ");e.push(o);}}}if(t.action){let i=this.GrantStmt(t.action,r);if(r.isPretty())return e.join(" ")+r.newline()+r.indent(i);e.push(i);}return e.join(" ")}CreateConversionStmt(t,r){let e=["CREATE"];if(t.def&&e.push("DEFAULT"),e.push("CONVERSION"),t.conversion_name&&t.conversion_name.length>0){let i=h.unwrapList(t.conversion_name).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.for_encoding_name&&e.push("FOR",`'${t.for_encoding_name}'`),t.to_encoding_name&&e.push("TO",`'${t.to_encoding_name}'`),t.func_name&&t.func_name.length>0){e.push("FROM");let i=h.unwrapList(t.func_name).map(n=>this.visit(n,r)).join(".");e.push(i);}return e.join(" ")}CreateCastStmt(t,r){let e=["CREATE CAST"];if(e.push("("),t.sourcetype&&e.push(this.TypeName(t.sourcetype,r)),e.push("AS"),t.targettype&&e.push(this.TypeName(t.targettype,r)),e.push(")"),t.func?(e.push("WITH FUNCTION"),e.push(this.ObjectWithArgs(t.func,r))):t.inout?e.push("WITH INOUT"):e.push("WITHOUT FUNCTION"),t.context)switch(t.context){case "COERCION_IMPLICIT":e.push("AS IMPLICIT");break;case "COERCION_ASSIGNMENT":e.push("AS ASSIGNMENT");break;case "COERCION_EXPLICIT":break;default:throw new Error(`Unsupported CreateCastStmt context: ${t.context}`)}else t.context==="COERCION_ASSIGNMENT"&&e.push("AS ASSIGNMENT");return e.join(" ")}CreatePLangStmt(t,r){let e=["CREATE"];if(t.replace&&e.push("OR REPLACE"),t.pltrusted&&e.push("TRUSTED"),e.push("LANGUAGE"),t.plname&&e.push(S.quoteIdentifier(t.plname)),t.plhandler&&t.plhandler.length>0){e.push("HANDLER");let i=h.unwrapList(t.plhandler).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.plinline&&t.plinline.length>0){e.push("INLINE");let i=h.unwrapList(t.plinline).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.plvalidator&&t.plvalidator.length>0){e.push("VALIDATOR");let i=h.unwrapList(t.plvalidator).map(n=>this.visit(n,r)).join(".");e.push(i);}return e.join(" ")}CreateTransformStmt(t,r){let e=["CREATE"];t.replace&&e.push("OR REPLACE"),e.push("TRANSFORM FOR"),t.type_name&&e.push(this.TypeName(t.type_name,r)),e.push("LANGUAGE"),t.lang&&e.push(S.quoteIdentifier(t.lang)),e.push("(");let i=[];if(t.fromsql){let n=this.ObjectWithArgs(t.fromsql,r);i.push(`FROM SQL WITH FUNCTION ${n}`);}if(t.tosql){let n=this.ObjectWithArgs(t.tosql,r);i.push(`TO SQL WITH FUNCTION ${n}`);}return e.push(i.join(", ")),e.push(")"),e.join(" ")}CreateTrigStmt(t,r){let e=["CREATE"];if(t.replace&&e.push("OR REPLACE"),t.isconstraint&&e.push("CONSTRAINT"),e.push("TRIGGER"),t.trigname&&e.push(S.quoteIdentifier(t.trigname)),r.isPretty()){let i=[],n=[];t.timing&2?n.push("BEFORE"):t.timing&64?n.push("INSTEAD OF"):n.push("AFTER");let a=[];if(t.events&4&&a.push("INSERT"),t.events&8&&a.push("DELETE"),t.events&16){let l="UPDATE";if(t.columns&&t.columns.length>0){let u=h.unwrapList(t.columns).map(c=>this.visit(c,r)).join(", ");l+=" OF "+u;}a.push(l);}if(t.events&32&&a.push("TRUNCATE"),i.push(r.indent(n.join(" ")+" "+a.join(" OR "))),t.relation&&i.push(r.indent("ON "+this.RangeVar(t.relation,r))),t.transitionRels&&t.transitionRels.length>0){let l=h.unwrapList(t.transitionRels).map(u=>this.visit(u,r)).join(" ");i.push(r.indent("REFERENCING "+l));}if(t.deferrable&&i.push(r.indent("DEFERRABLE")),t.initdeferred&&i.push(r.indent("INITIALLY DEFERRED")),t.row?i.push(r.indent("FOR EACH ROW")):i.push(r.indent("FOR EACH STATEMENT")),t.whenClause){let l="WHEN ("+this.visit(t.whenClause,r)+")";i.push(r.indent(l));}let o="EXECUTE";if(t.funcname&&t.funcname.length>0){let l=h.unwrapList(t.funcname).map(u=>this.visit(u,r)).join(".");o+=" PROCEDURE "+l;}if(t.args&&t.args.length>0){let l=r.spawn("CreateTrigStmt",{isStringLiteral:true}),u=h.unwrapList(t.args).map(c=>this.visit(c,l)).join(", ");o+="("+u+")";}else o+="()";return i.push(r.indent(o)),e.join(" ")+r.newline()+i.join(r.newline())}else {let i=[];t.timing&2?i.push("BEFORE"):t.timing&64?i.push("INSTEAD OF"):i.push("AFTER"),e.push(i.join(" "));let n=[];if(t.events&4&&n.push("INSERT"),t.events&8&&n.push("DELETE"),t.events&16&&n.push("UPDATE"),t.events&32&&n.push("TRUNCATE"),e.push(n.join(" OR ")),t.columns&&t.columns.length>0){e.push("OF");let a=h.unwrapList(t.columns).map(o=>this.visit(o,r)).join(", ");e.push(a);}if(e.push("ON"),t.relation&&e.push(this.RangeVar(t.relation,r)),t.constrrel&&(e.push("FROM"),e.push(this.RangeVar(t.constrrel,r))),t.deferrable&&e.push("DEFERRABLE"),t.initdeferred&&e.push("INITIALLY DEFERRED"),t.transitionRels&&t.transitionRels.length>0){e.push("REFERENCING");let a=h.unwrapList(t.transitionRels).map(o=>this.visit(o,r)).join(" ");e.push(a);}if(t.row?e.push("FOR EACH ROW"):e.push("FOR EACH STATEMENT"),t.whenClause&&(e.push("WHEN"),e.push("("),e.push(this.visit(t.whenClause,r)),e.push(")")),e.push("EXECUTE"),t.funcname&&t.funcname.length>0){let a=h.unwrapList(t.funcname).map(o=>this.visit(o,r)).join(".");e.push("FUNCTION",a);}if(t.args&&t.args.length>0){e.push("(");let a=r.spawn("CreateTrigStmt",{isStringLiteral:true}),o=h.unwrapList(t.args).map(l=>this.visit(l,a)).join(", ");e.push(o),e.push(")");}else e.push("()");return e.join(" ")}}TriggerTransition(t,r){let e=[];return t.isNew?e.push("NEW TABLE AS"):e.push("OLD TABLE AS"),t.name&&e.push(S.quoteIdentifier(t.name)),e.join(" ")}CreateEventTrigStmt(t,r){let e=["CREATE EVENT TRIGGER"];if(t.trigname&&e.push(S.quoteIdentifier(t.trigname)),e.push("ON"),t.eventname&&e.push(t.eventname),t.whenclause&&t.whenclause.length>0){e.push("WHEN");let i=r.spawn("CreateEventTrigStmt"),n=h.unwrapList(t.whenclause).map(a=>this.visit(a,i)).join(" AND ");e.push(n);}if(e.push("EXECUTE"),t.funcname&&t.funcname.length>0){let i=h.unwrapList(t.funcname).map(n=>this.visit(n,r)).join(".");e.push("PROCEDURE",i+"()");}return e.join(" ")}AlterEventTrigStmt(t,r){let e=["ALTER EVENT TRIGGER"];if(t.trigname&&e.push(S.quoteIdentifier(t.trigname)),t.tgenabled)switch(t.tgenabled){case "O":e.push("ENABLE");break;case "D":e.push("DISABLE");break;case "R":e.push("ENABLE REPLICA");break;case "A":e.push("ENABLE ALWAYS");break;default:throw new Error(`Unsupported trigger enable state: ${t.tgenabled}`)}return e.join(" ")}CreateOpClassStmt(t,r){let e=["CREATE OPERATOR CLASS"];if(t.opclassname&&t.opclassname.length>0){let i=h.unwrapList(t.opclassname).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.isDefault&&e.push("DEFAULT"),e.push("FOR TYPE"),t.datatype&&e.push(this.TypeName(t.datatype,r)),e.push("USING"),t.amname&&e.push(t.amname),t.opfamilyname&&t.opfamilyname.length>0){e.push("FAMILY");let i=h.unwrapList(t.opfamilyname).map(n=>this.visit(n,r)).join(".");e.push(i);}if(e.push("AS"),t.items&&t.items.length>0){let i=h.unwrapList(t.items).map(n=>this.visit(n,r)).join(", ");e.push(i);}return e.join(" ")}CreateOpFamilyStmt(t,r){let e=["CREATE OPERATOR FAMILY"];if(t.opfamilyname&&t.opfamilyname.length>0){let i=h.unwrapList(t.opfamilyname).map(n=>this.visit(n,r)).join(".");e.push(i);}return e.push("USING"),t.amname&&e.push(t.amname),e.join(" ")}AlterOpFamilyStmt(t,r){let e=["ALTER OPERATOR FAMILY"];if(t.opfamilyname&&t.opfamilyname.length>0){let i=h.unwrapList(t.opfamilyname).map(n=>this.visit(n,r)).join(".");e.push(i);}if(e.push("USING"),t.amname&&e.push(t.amname),t.isDrop?e.push("DROP"):e.push("ADD"),t.items&&t.items.length>0){let i=h.unwrapList(t.items).map(n=>this.visit(n,r)).join(", ");e.push(i);}return e.join(" ")}MergeStmt(t,r){let e=[];if(t.withClause&&e.push(this.WithClause(t.withClause,r)),e.push("MERGE INTO"),t.relation&&e.push(this.RangeVar(t.relation,r)),t.sourceRelation&&(e.push("USING"),e.push(this.visit(t.sourceRelation,r))),t.joinCondition&&(e.push("ON"),e.push(this.visit(t.joinCondition,r))),t.mergeWhenClauses&&t.mergeWhenClauses.length>0){let i=h.unwrapList(t.mergeWhenClauses).map(n=>this.visit(n,r)).join(" ");e.push(i);}return e.join(" ")}AlterTableMoveAllStmt(t,r){let e=["ALTER"];return t.objtype==="OBJECT_TABLE"?e.push("TABLE"):t.objtype==="OBJECT_INDEX"?e.push("INDEX"):e.push("TABLE"),e.push("ALL","IN","TABLESPACE"),t.orig_tablespacename&&e.push(S.quoteIdentifier(t.orig_tablespacename)),e.push("SET","TABLESPACE"),t.new_tablespacename&&e.push(S.quoteIdentifier(t.new_tablespacename)),t.nowait&&e.push("NOWAIT"),e.join(" ")}CreateSeqStmt(t,r){let e=["CREATE"];if(t.sequence&&t.sequence.relpersistence==="t"&&e.push("TEMPORARY"),e.push("SEQUENCE"),t.if_not_exists&&e.push("IF NOT EXISTS"),t.sequence){let i=[],n=t.sequence;n.schemaname&&i.push(S.quoteIdentifier(n.schemaname)),n.relname&&i.push(S.quoteIdentifier(n.relname)),e.push(i.join("."));}if(t.options&&t.options.length>0){let i=r.spawn("CreateSeqStmt"),n=h.unwrapList(t.options).filter(a=>a!=null&&this.getNodeType(a)!=="undefined").map(a=>{try{return this.visit(a,i)}catch(o){return console.warn(`Error processing option in CreateSeqStmt: ${o instanceof Error?o.message:String(o)}`),""}}).filter(a=>a!=="").join(" ");n&&e.push(n);}return e.join(" ")}AlterSeqStmt(t,r){let e=["ALTER","SEQUENCE"];if(t.missing_ok&&e.push("IF EXISTS"),t.sequence){let i=[],n=t.sequence;n.schemaname&&i.push(S.quoteIdentifier(n.schemaname)),n.relname&&i.push(S.quoteIdentifier(n.relname)),e.push(i.join("."));}if(t.options&&t.options.length>0){let i=r.spawn("AlterSeqStmt"),n=h.unwrapList(t.options).filter(a=>a&&a!==void 0).map(a=>{try{return !a||this.getNodeType(a)==="undefined"?"":this.visit(a,i)}catch(o){return console.warn(`Error processing option in AlterSeqStmt: ${o instanceof Error?o.message:String(o)}`),""}}).filter(a=>a&&a.trim().length>0).join(" ");n&&e.push(n);}return t.for_identity&&e.push("FOR IDENTITY"),e.join(" ")}CompositeTypeStmt(t,r){let e=["CREATE","TYPE"];if(t.typevar){let i=r.spawn("CompositeTypeStmt");e.push(this.RangeVar(t.typevar,i));}if(e.push("AS"),t.coldeflist&&t.coldeflist.length>0){let i=h.unwrapList(t.coldeflist).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}else e.push("()");return e.join(" ")}CreateRangeStmt(t,r){let e=["CREATE","TYPE"];if(t.typeName&&t.typeName.length>0){let i=h.unwrapList(t.typeName).map(n=>this.visit(n,r)).join(".");e.push(i);}if(e.push("AS","RANGE"),t.params&&t.params.length>0){let i=h.unwrapList(t.params).map(n=>{let a=this.getNodeData(n);if(a.defname&&a.arg){let o=this.visit(a.arg,r);return `${a.defname} = ${o}`}return this.visit(n,r)});e.push(`(${i.join(", ")})`);}return e.join(" ")}AlterEnumStmt(t,r){let e=["ALTER","TYPE"];if(t.typeName&&t.typeName.length>0){let i=h.unwrapList(t.typeName).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.oldVal&&t.newVal){let i=t.oldVal.replace(/'/g,"''"),n=t.newVal.replace(/'/g,"''");e.push("RENAME","VALUE",`'${i}'`,"TO",`'${n}'`);}else if(t.newVal){e.push("ADD","VALUE"),t.skipIfNewValExists&&e.push("IF NOT EXISTS");let i=t.newVal.replace(/'/g,"''");if(e.push(`'${i}'`),t.newValNeighbor){let n=t.newValNeighbor.replace(/'/g,"''");t.newValIsAfter?e.push("AFTER",`'${n}'`):e.push("BEFORE",`'${n}'`);}}return e.join(" ")}AlterTypeStmt(t,r){let e=["ALTER","TYPE"];if(t.typeName&&t.typeName.length>0){let i=h.unwrapList(t.typeName).map(n=>this.visit(n,r)).join(".");e.push(i);}if(e.push("SET"),t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>{let a=this.getNodeData(n);if(a.defname&&a.arg){let o=this.visit(a.arg,r);return `${a.defname} = ${o}`}return this.visit(n,r)});e.push(`(${i.join(", ")})`);}return e.join(" ")}AlterRoleStmt(t,r){let e=t.options&&h.unwrapList(t.options).some(n=>n.DefElem&&n.DefElem.defname==="rolemembers"),i=["ALTER",e?"GROUP":"ROLE"];if(t.role&&i.push(this.RoleSpec(t.role,r)),t.options){let n=r.spawn("AlterRoleStmt");if(e){let a=h.unwrapList(t.options).find(o=>o.DefElem&&o.DefElem.defname==="rolemembers");if(a&&a.DefElem){let o=t.action===1?"ADD":"DROP";if(i.push(o,"USER"),a.DefElem.arg&&a.DefElem.arg.List){let l=h.unwrapList(a.DefElem.arg.List.items).map(u=>this.visit(u,n)).join(", ");i.push(l);}}}else {let a=h.unwrapList(t.options).map(o=>this.visit(o,n)).join(" ");a&&i.push(a);}}return i.join(" ")}DropRoleStmt(t,r){let e=["DROP","ROLE"];if(t.missing_ok&&e.push("IF EXISTS"),t.roles){let i=h.unwrapList(t.roles).map(n=>this.visit(n,r)).join(", ");e.push(i);}return e.join(" ")}targetList(t,r){return !t||!Array.isArray(t)?"":t.map(e=>this.visit(e,r)).join(", ")}CreateAggregateStmt(t,r){let e=["CREATE"];if(t.replace&&e.push("OR REPLACE"),e.push("AGGREGATE"),t.defnames&&t.defnames.length>0){let n=h.unwrapList(t.defnames).map(a=>this.visit(a,r)).join(".");e.push(n);}if(e.push("("),t.args&&t.args.length>0){let n=h.unwrapList(t.args).map(a=>this.visit(a,r)).join(", ");e.push(n);}else e.push("*");e.push(")"),e.push("(");let i=[];if(t.definition&&t.definition.length>0){let n=h.unwrapList(t.definition).map(a=>{let o=this.getNodeData(a);return o.defname==="sfunc"||o.defname==="sfunc1"?`SFUNC = ${this.visit(o.arg,r)}`:o.defname==="stype"||o.defname==="stype1"?`STYPE = ${this.visit(o.arg,r)}`:o.defname==="basetype"?`BASETYPE = ${this.visit(o.arg,r)}`:o.defname==="finalfunc"?`FINALFUNC = ${this.visit(o.arg,r)}`:o.defname==="initcond"||o.defname==="initcond1"?`INITCOND = ${this.visit(o.arg,r)}`:o.defname==="combinefunc"?`COMBINEFUNC = ${this.visit(o.arg,r)}`:o.defname==="serialfunc"?`SERIALFUNC = ${this.visit(o.arg,r)}`:o.defname==="deserialfunc"?`DESERIALFUNC = ${this.visit(o.arg,r)}`:o.defname==="parallel"?`PARALLEL = ${this.visit(o.arg,r)}`:this.visit(a,r)});i.push(...n);}return e.push(i.join(", ")),e.push(")"),e.join(" ")}CreateTableAsStmt(t,r){let e=["CREATE"];if(t.objtype==="OBJECT_MATVIEW"?e.push("MATERIALIZED VIEW"):t.into&&t.into.rel&&t.into.rel.relpersistence==="t"?e.push("TEMPORARY TABLE"):e.push("TABLE"),t.if_not_exists&&e.push("IF NOT EXISTS"),t.into&&t.into.rel&&e.push(this.RangeVar(t.into.rel,r)),t.into&&t.into.colNames&&t.into.colNames.length>0){e.push("(");let i=h.unwrapList(t.into.colNames).map(n=>this.visit(n,r)).join(", ");e.push(i),e.push(")");}if(t.into&&t.into.accessMethod&&(e.push("USING"),e.push(t.into.accessMethod)),t.into&&t.into.onCommit&&t.into.onCommit!=="ONCOMMIT_NOOP")switch(e.push("ON COMMIT"),t.into.onCommit){case "ONCOMMIT_PRESERVE_ROWS":e.push("PRESERVE ROWS");break;case "ONCOMMIT_DELETE_ROWS":e.push("DELETE ROWS");break;case "ONCOMMIT_DROP":e.push("DROP");break}if(e.push("AS"),t.query&&e.push(this.visit(t.query,r)),t.into&&t.into.options&&t.into.options.length>0){e.push("WITH");let i=h.unwrapList(t.into.options).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return t.into&&t.into.skipData&&e.push("WITH NO DATA"),e.join(" ")}RefreshMatViewStmt(t,r){let e=["REFRESH","MATERIALIZED","VIEW"];return t.concurrent&&e.push("CONCURRENTLY"),t.relation&&e.push(this.visit(t.relation,r)),t.skipData&&e.push("WITH NO DATA"),e.join(" ")}AccessPriv(t,r){let e=[];if(t.priv_name?e.push(t.priv_name.toUpperCase()):e.push("ALL"),t.cols&&t.cols.length>0){e.push("(");let i=r.spawn("AccessPriv"),n=h.unwrapList(t.cols).map(a=>this.visit(a,i));e.push(n.join(", ")),e.push(")");}return e.join(" ")}aliasname(t,r){return typeof t=="string"?S.quoteIdentifier(t):this.visit(t,r)}DefineStmt(t,r){let e=[];if(!t.kind)throw new Error("DefineStmt requires kind property");switch(t.kind){case "OBJECT_OPERATOR":if(e.push("CREATE OPERATOR"),t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map((n,a)=>{if(a===t.defnames.length-1){let o=this.getNodeData(n);if(o&&o.sval)return o.sval}return this.visit(n,r)});e.push(i.join("."));}if(t.definition&&t.definition.length>0){e.push("(");let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l){let u=S.quoteIdentifier(o),c=u!==o?u:this.preserveOperatorDefElemCase(o);if((o.toLowerCase()==="commutator"||o.toLowerCase()==="negator")&&l.List){let p=h.unwrapList(l.List.items);if(p.length===1&&p[0].String)return `${c} = ${p[0].String.sval}`}return o.toLowerCase()==="commutator"||o.toLowerCase()==="negator"?`${c} = ${this.visit(l,r)}`:`${c} = ${this.visit(l,r)}`}else if(o&&!l)return o==="Hashes"||o==="Merges"?S.quoteIdentifier(o):this.preserveOperatorDefElemCase(o).toUpperCase()}return this.visit(n,r)});e.push(i.join(", ")),e.push(")");}break;case "OBJECT_TYPE":if(e.push("CREATE TYPE"),t.defnames&&t.defnames.length>0&&e.push(h.unwrapList(t.defnames).map(i=>this.visit(i,r)).join(".")),t.definition&&t.definition.length>0){let i=r.spawn("DefineStmt"),n=h.unwrapList(t.definition).map(a=>this.visit(a,i));e.push(`(${n.join(", ")})`);}break;case "OBJECT_AGGREGATE":if(e.push("CREATE"),t.replace&&e.push("OR REPLACE"),e.push("AGGREGATE"),t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map(n=>this.visit(n,r));e.push(i.join("."));}if(t.args&&t.args.length>0){let i=h.unwrapList(t.args),n=i.some(l=>l.Integer&&l.Integer.ival===1),a=i.length>=2&&i[0].List&&i[0].List.items&&i[0].List.items.length===1&&i[0].List.items[0].FunctionParameter&&i[0].List.items[0].FunctionParameter.mode==="FUNC_PARAM_DEFAULT"&&i[1].Integer&&Object.keys(i[1].Integer).length===0,o=i.filter(l=>!(l.Integer&&(l.Integer.ival===-1||l.Integer.ival===1)||l.Integer&&Object.keys(l.Integer).length===0&&a));if(o.length>0)if(a){let l=o[0];if(l.List&&l.List.items&&l.List.items[0].FunctionParameter){let u=l.List.items[0].FunctionParameter,c;if(u.argType&&u.argType.names){let p=u.argType.names;p.length>=2&&p[0].String&&p[0].String.sval==="pg_catalog"?c=p[1].String.sval:p.length>=1&&p[0].String?c=p[0].String.sval:c="unknown";}else c=this.visit({TypeName:u.argType},r);e.push(`(ORDER BY ${c})`);}else {let u=this.visit(l,r);e.push(`(ORDER BY ${u})`);}}else if(n&&o.length===1&&o[0].List){let l=o[0].List;if(l.items&&l.items.length>=2){let u=h.unwrapList(l.items),c=this.visit(u[0],r),p=u.slice(1).map(f=>this.visit(f,r));e.push(`(${c} ORDER BY ${p.join(", ")})`);}else if(l.items&&l.items.length===1){let u=l.items[0];if(u.FunctionParameter&&u.FunctionParameter.mode==="FUNC_PARAM_VARIADIC"){let c=this.visit(u,r);e.push(`(${c} ORDER BY ${c})`);}else {let c=this.visit(u,r);e.push(`(${c})`);}}else {let u=o.map(c=>Object.keys(c).length===0?"*":this.visit(c,r));e.push(`(${u.join(", ")})`);}}else {let l=o.map(u=>Object.keys(u).length===0?"*":this.visit(u,r));e.push(`(${l.join(", ")})`);}}if(t.definition&&t.definition.length>0){let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l){let u=S.quoteIdentifier(o),c=u!==o?u:o;return l.String?`${c} = '${l.String.sval}'`:`${c} = ${this.visit(l,r)}`}}return this.visit(n,r)});e.push(`(${i.join(", ")})`);}break;case "OBJECT_TSDICTIONARY":if(e.push("CREATE TEXT SEARCH DICTIONARY"),t.defnames&&t.defnames.length>0&&e.push(h.unwrapList(t.defnames).map(i=>this.visit(i,r)).join(".")),t.definition&&t.definition.length>0){e.push("(");let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l)return `${o} = ${this.visit(l,r)}`}return this.visit(n,r)});e.push(i.join(", ")),e.push(")");}break;case "OBJECT_TSCONFIGURATION":if(e.push("CREATE TEXT SEARCH CONFIGURATION"),t.defnames&&t.defnames.length>0&&e.push(h.unwrapList(t.defnames).map(i=>this.visit(i,r)).join(".")),t.definition&&t.definition.length>0){e.push("(");let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l)return `${o} = ${this.visit(l,r)}`}return this.visit(n,r)});e.push(i.join(", ")),e.push(")");}break;case "OBJECT_TSPARSER":if(e.push("CREATE TEXT SEARCH PARSER"),t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.definition&&t.definition.length>0){e.push("(");let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l)return `${o} = ${this.visit(l,r)}`}return this.visit(n,r)});e.push(i.join(", ")),e.push(")");}break;case "OBJECT_TSTEMPLATE":if(e.push("CREATE TEXT SEARCH TEMPLATE"),t.defnames&&t.defnames.length>0){let i=h.unwrapList(t.defnames).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.definition&&t.definition.length>0){e.push("(");let i=h.unwrapList(t.definition).map(n=>{if(n.DefElem){let a=n.DefElem,o=a.defname,l=a.arg;if(o&&l)return `${o} = ${this.visit(l,r)}`}return this.visit(n,r)});e.push(i.join(", ")),e.push(")");}break;case "OBJECT_COLLATION":if(e.push("CREATE COLLATION"),t.defnames&&t.defnames.length>0&&e.push(h.unwrapList(t.defnames).map(i=>this.visit(i,r)).join(".")),t.definition&&t.definition.length>0){let i=h.unwrapList(t.definition).map(a=>{if(a.DefElem){let o=a.DefElem,l=o.defname,u=o.arg;if(l&&u){if(l==="from")return `FROM ${this.visit(u,r)}`;let c;return u.String?c=`'${u.String.sval}'`:c=this.visit(u,r),`${l} = ${c}`}}return this.visit(a,r)});i.some(a=>a.startsWith("FROM "))?e.push(i.join(" ")):e.push(`(${i.join(", ")})`);}break;default:throw new Error(`Unsupported DefineStmt kind: ${t.kind}`)}return e.join(" ")}AlterDatabaseStmt(t,r){let e=["ALTER","DATABASE"];if(t.dbname&&e.push(S.quoteIdentifier(t.dbname)),t.options&&t.options.length>0){let i=h.unwrapList(t.options).map(n=>this.visit(n,r));e.push(i.join(" "));}return e.join(" ")}AlterDatabaseRefreshCollStmt(t,r){let e=["ALTER","DATABASE"];return t.dbname&&e.push(S.quoteIdentifier(t.dbname)),e.push("REFRESH","COLLATION","VERSION"),e.join(" ")}AlterDatabaseSetStmt(t,r){let e=["ALTER","DATABASE"];if(t.dbname&&e.push(S.quoteIdentifier(t.dbname)),t.setstmt){let i=this.VariableSetStmt(t.setstmt,r);e.push(i);}return e.join(" ")}DeclareCursorStmt(t,r){let e=["DECLARE"];t.portalname&&e.push(S.quoteIdentifier(t.portalname));let i=[];return t.options&&(t.options&2?i.push("SCROLL"):t.options&4&&i.push("NO SCROLL"),t.options&1&&i.push("BINARY"),t.options&8&&i.push("INSENSITIVE")),i.length>0&&e.push(...i),e.push("CURSOR"),t.options&&t.options&32&&e.push("WITH HOLD"),e.push("FOR"),t.query&&e.push(this.visit(t.query,r)),e.join(" ")}PublicationObjSpec(t,r){let e=[];return t.pubobjtype==="PUBLICATIONOBJ_TABLE"?(e.push("TABLE"),t.pubtable&&e.push(this.PublicationTable(t.pubtable,r))):t.pubobjtype==="PUBLICATIONOBJ_TABLES_IN_SCHEMA"?(e.push("TABLES IN SCHEMA"),t.name&&e.push(S.quoteIdentifier(t.name))):t.pubobjtype==="PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA"&&e.push("TABLES IN SCHEMA CURRENT_SCHEMA"),e.join(" ")}PublicationTable(t,r){let e=[];if(t.relation&&e.push(this.RangeVar(t.relation,r)),t.columns&&t.columns.length>0){let i=h.unwrapList(t.columns).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return t.whereClause&&(e.push("WHERE"),e.push(this.visit(t.whereClause,r))),e.join(" ")}CreateAmStmt(t,r){let e=["CREATE","ACCESS","METHOD"];switch(t.amname&&e.push(S.quoteIdentifier(t.amname)),e.push("TYPE"),t.amtype){case "i":e.push("INDEX");break;case "t":e.push("TABLE");break;default:e.push(t.amtype||"");break}if(t.handler_name&&t.handler_name.length>0){e.push("HANDLER");let i=h.unwrapList(t.handler_name).map(n=>this.visit(n,r)).join(".");e.push(i);}return e.join(" ")}IntoClause(t,r){let e=[];if(t.rel&&e.push(this.RangeVar(t.rel,r)),t.colNames&&t.colNames.length>0){let i=h.unwrapList(t.colNames).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.accessMethod&&e.push("USING",t.accessMethod),t.options&&t.options.length>0){e.push("WITH");let i=h.unwrapList(t.options).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.onCommit&&t.onCommit!=="ONCOMMIT_NOOP")switch(e.push("ON COMMIT"),t.onCommit){case "ONCOMMIT_PRESERVE_ROWS":e.push("PRESERVE ROWS");break;case "ONCOMMIT_DELETE_ROWS":e.push("DELETE ROWS");break;case "ONCOMMIT_DROP":e.push("DROP");break}return t.tableSpaceName&&e.push("TABLESPACE",S.quoteIdentifier(t.tableSpaceName)),e.join(" ")}OnConflictExpr(t,r){let e=["ON CONFLICT"];if(t.arbiterElems&&t.arbiterElems.length>0){let i=h.unwrapList(t.arbiterElems).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.arbiterWhere&&(e.push("WHERE"),e.push(this.visit(t.arbiterWhere,r))),t.action==="ONCONFLICT_NOTHING")e.push("DO NOTHING");else if(t.action==="ONCONFLICT_UPDATE"){if(e.push("DO UPDATE SET"),t.onConflictSet&&t.onConflictSet.length>0){let i=h.unwrapList(t.onConflictSet).map(n=>this.visit(n,r)).join(", ");e.push(i);}t.onConflictWhere&&(e.push("WHERE"),e.push(this.visit(t.onConflictWhere,r)));}return e.join(" ")}ScanToken(t,r){return ""}CreateOpClassItem(t,r){let e=[];if(t.itemtype===1){e.push("OPERATOR");let i=t.number!==void 0?t.number:0;if(e.push(i.toString()),t.name){let n=r.spawn("CreateOpClassItem");e.push(this.ObjectWithArgs(t.name,n));}}else if(t.itemtype===2){e.push("FUNCTION");let i=t.number!==void 0?t.number:0;if(e.push(i.toString()),t.name){let n=r.spawn("CreateOpClassItem");e.push(this.ObjectWithArgs(t.name,n));}}else t.itemtype===3&&(e.push("STORAGE"),t.storedtype&&e.push(this.TypeName(t.storedtype,r)));if(t.order_family&&t.order_family.length>0){e.push("FOR ORDER BY");let i=h.unwrapList(t.order_family).map(n=>this.visit(n,r)).join(".");e.push(i);}if(t.class_args&&t.class_args.length>0){let i=h.unwrapList(t.class_args).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return e.join(" ")}Var(t,r){return t.varno&&t.varattno?`$${t.varno}.${t.varattno}`:"$var"}TableFunc(t,r){let e=[];if(t.functype==="TFT_XMLTABLE"){if(e.push("XMLTABLE"),t.ns_names&&t.ns_names.length>0){e.push("XMLNAMESPACES");let i=h.unwrapList(t.ns_names).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}if(t.rowexpr&&e.push(`(${this.visit(t.rowexpr,r)})`),t.docexpr&&(e.push("PASSING"),e.push(this.visit(t.docexpr,r))),t.colexprs&&t.colexprs.length>0){e.push("COLUMNS");let i=h.unwrapList(t.colexprs).map(n=>this.visit(n,r)).join(", ");e.push(i);}}else if(t.functype==="TFT_JSON_TABLE"&&(e.push("JSON_TABLE"),t.docexpr&&e.push(`(${this.visit(t.docexpr,r)})`),t.rowexpr&&(e.push(","),e.push(`'${this.visit(t.rowexpr,r)}'`)),t.colexprs&&t.colexprs.length>0)){e.push("COLUMNS");let i=h.unwrapList(t.colexprs).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return e.join(" ")}RangeTableFunc(t,r){let e=[];if(t.lateral&&e.push("LATERAL"),t.docexpr&&e.push(this.visit(t.docexpr,r)),t.rowexpr&&(e.push("PASSING"),e.push(this.visit(t.rowexpr,r))),t.columns&&t.columns.length>0){e.push("COLUMNS");let i=h.unwrapList(t.columns).map(n=>this.visit(n,r)).join(", ");e.push(`(${i})`);}return t.alias&&e.push(this.Alias(t.alias,r)),e.join(" ")}RangeTableFuncCol(t,r){let e=[];return t.colname&&e.push(S.quoteIdentifier(t.colname)),t.for_ordinality?e.push("FOR ORDINALITY"):t.typeName&&e.push(this.TypeName(t.typeName,r)),t.colexpr&&(e.push("PATH"),e.push(`'${this.visit(t.colexpr,r)}'`)),t.coldefexpr&&(e.push("DEFAULT"),e.push(this.visit(t.coldefexpr,r))),e.join(" ")}JsonArrayQueryConstructor(t,r){let e=["JSON_ARRAYAGG"];return t.query&&e.push(`(${this.visit(t.query,r)})`),t.format&&e.push("FORMAT JSON"),t.output&&e.push("RETURNING TEXT"),t.absent_on_null?e.push("ABSENT ON NULL"):e.push("NULL ON NULL"),e.join(" ")}RangeFunction(t,r){let e=[];if(t.lateral&&e.push("LATERAL"),t.is_rowsfrom){if(e.push("ROWS FROM"),t.functions&&t.functions.length>0){let i=h.unwrapList(t.functions).filter(n=>n!=null).map(n=>{try{if(this.getNodeType(n)==="List"){let o=this.getNodeData(n);if(o&&o.items&&Array.isArray(o.items)){let l=o.items;if(l.length>=2){let u=this.visit(l[0],r),c=this.getNodeData(l[1]);if(c&&c.items&&Array.isArray(c.items)){let p=c.items.map(f=>this.visit(f,r)).filter(f=>f&&f.trim());if(p.length>0)return `${u} AS (${p.join(", ")})`}return u}else if(l.length===1)return this.visit(l[0],r)}}return this.visit(n,r)}catch(a){return console.warn(`Error processing function in RangeFunction: ${a instanceof Error?a.message:String(a)}`),""}}).filter(n=>n&&n.trim());i.length>0&&e.push(`(${i.join(", ")})`);}}else if(t.functions&&t.functions.length>0){let i=h.unwrapList(t.functions).filter(n=>n!=null).map(n=>{try{if(this.getNodeType(n)==="List"){let o=this.getNodeData(n);if(o&&o.items&&Array.isArray(o.items)){let l=o.items;if(l.length>=1)return this.visit(l[0],r)}}return this.visit(n,r)}catch(a){return console.warn(`Error processing function in RangeFunction: ${a instanceof Error?a.message:String(a)}`),""}}).filter(n=>n&&n.trim());i.length>0&&e.push(i.join(", "));}if(t.ordinality&&e.push("WITH ORDINALITY"),t.alias)if(t.coldeflist&&t.coldeflist.length>0){let i=t.alias.aliasname,n=h.unwrapList(t.coldeflist).map(a=>this.visit(a,r)).filter(a=>a&&a.trim());e.push(`${i} (${n.join(", ")})`);}else e.push(this.Alias(t.alias,r));else if(t.coldeflist&&t.coldeflist.length>0){let i=h.unwrapList(t.coldeflist).map(n=>this.visit(n,r)).filter(n=>n&&n.trim());e.push(`AS (${i.join(", ")})`);}return e.join(" ")}XmlExpr(t,r){if(t.op==="IS_XMLPI")if(t.name&&t.args&&t.args.length>0){let i=h.unwrapList(t.args).map(n=>this.visit(n,r));return `xmlpi(name ${S.quoteIdentifier(t.name)}, ${i.join(", ")})`}else return t.name?`xmlpi(name ${S.quoteIdentifier(t.name)})`:"XMLPI()";let e=[];switch(t.op){case "IS_XMLCONCAT":e.push("XMLCONCAT");break;case "IS_XMLELEMENT":e.push("XMLELEMENT");let i=[];if(t.name&&i.push(`NAME ${S.quoteIdentifier(t.name)}`),t.named_args&&t.named_args.length>0){let a=h.unwrapList(t.named_args).map(o=>this.visit(o,r));i.push(`XMLATTRIBUTES(${a.join(", ")})`);}if(t.args&&t.args.length>0){let a=h.unwrapList(t.args).map(o=>this.visit(o,r));i.push(...a);}i.length>0&&e.push(`(${i.join(", ")})`);break;case "IS_XMLFOREST":e.push("XMLFOREST");break;case "IS_XMLPARSE":e.push("XMLPARSE");let n=[];if(t.xmloption&&(t.xmloption==="XMLOPTION_DOCUMENT"?n.push("DOCUMENT"):t.xmloption==="XMLOPTION_CONTENT"&&n.push("CONTENT")),t.args&&t.args.length>0){let a=h.unwrapList(t.args).map(o=>this.visit(o,r));a.length>0&&n.push(a[0]);}n.length>0&&e.push(`(${n.join(" ")})`);break;case "IS_XMLROOT":if(e.push("XMLROOT"),t.args&&t.args.length>0){let a=h.unwrapList(t.args),o=[];if(a[0]&&o.push(this.visit(a[0],r)),a[1]){let l=a[1];l.A_Const&&l.A_Const.isnull?o.push("version NO VALUE"):o.push(`version ${this.visit(l,r)}`);}if(a[2]){let l=a[2];l.A_Const&&l.A_Const.ival!==void 0?l.A_Const.ival.ival===1?o.push("STANDALONE NO"):l.A_Const.ival.ival===2?o.push("STANDALONE NO VALUE"):l.A_Const.ival.ival===3||(Object.keys(l.A_Const.ival).length===0?o.push("STANDALONE YES"):o.push(`STANDALONE ${this.visit(l,r)}`)):o.push(`STANDALONE ${this.visit(l,r)}`);}o.length>0&&e.push(`(${o.join(", ")})`);}break;case "IS_XMLSERIALIZE":e.push("XMLSERIALIZE");break;case "IS_DOCUMENT":if(t.args&&t.args.length>0){let a=h.unwrapList(t.args).map(o=>this.visit(o,r));e.push(`${a[0]} IS DOCUMENT`);}else e.push("IS DOCUMENT");break;default:throw new Error(`Unsupported XmlExpr op: ${t.op}`)}if(t.op!=="IS_XMLELEMENT"&&t.op!=="IS_XMLPARSE"&&t.op!=="IS_XMLROOT"&&t.op!=="IS_DOCUMENT"){if(t.name){let i=S.quoteIdentifier(t.name);e.push(`NAME ${i}`);}if(t.args&&t.args.length>0){let i=h.unwrapList(t.args).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}}if(t.named_args&&t.named_args.length>0&&t.op!=="IS_XMLELEMENT"){let i=h.unwrapList(t.named_args).map(n=>this.visit(n,r));t.op==="IS_XMLFOREST"?e.push(`(${i.join(", ")})`):e.push(`XMLATTRIBUTES(${i.join(", ")})`);}return e.join(" ")}schemaname(t,r){if(typeof t=="string")return S.quoteIdentifier(t);if(t&&t.String&&t.String.sval)return S.quoteIdentifier(t.String.sval);if(t&&typeof t=="object"){if(t.sval!==void 0)return S.quoteIdentifier(t.sval);if(t.List&&Array.isArray(t.List.items)){let e=t.List.items;if(e.length>0&&e[0].String&&e[0].String.sval)return S.quoteIdentifier(e[0].String.sval)}return t.val!==void 0?S.quoteIdentifier(t.val):""}return ""}RangeTableSample(t,r){let e=[];if(t.relation&&e.push(this.visit(t.relation,r)),e.push("TABLESAMPLE"),t.method&&t.method.length>0){let i=t.method.map(n=>this.visit(n,r));e.push(i.join("."));}if(t.args&&t.args.length>0){let i=t.args.map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}return t.repeatable&&(e.push("REPEATABLE"),e.push(`(${this.visit(t.repeatable,r)})`)),e.join(" ")}XmlSerialize(t,r){let e=["XMLSERIALIZE"];return e.push("("),t.typeName&&(t.xmloption==="XMLOPTION_DOCUMENT"?e.push("DOCUMENT"):e.push("CONTENT"),e.push(this.visit(t.expr,r)),e.push("AS"),e.push(this.TypeName(t.typeName,r))),e.push(")"),e.join(" ")}ctes(t,r){if(!t||!Array.isArray(t))return "";let e=["WITH"];t.length>0&&t[0]&&t[0].CommonTableExpr&&t[0].CommonTableExpr.recursive&&e.push("RECURSIVE");let i=t.map(n=>this.visit(n,r));return e.push(i.join(", ")),e.join(" ")}RuleStmt(t,r){let e=["CREATE"];if(t.replace&&e.push("OR REPLACE"),e.push("RULE"),t.rulename&&e.push(S.quoteIdentifier(t.rulename)),e.push("AS ON"),t.event)switch(t.event){case "CMD_SELECT":e.push("SELECT");break;case "CMD_INSERT":e.push("INSERT");break;case "CMD_UPDATE":e.push("UPDATE");break;case "CMD_DELETE":e.push("DELETE");break;default:e.push(t.event.toString());}if(e.push("TO"),t.relation&&e.push(this.RangeVar(t.relation,r)),t.whereClause&&(e.push("WHERE"),e.push(this.visit(t.whereClause,r))),e.push("DO"),t.instead&&e.push("INSTEAD"),t.actions&&t.actions.length>0)if(t.actions.length===1)e.push(this.visit(t.actions[0],r));else {e.push("(");let i=h.unwrapList(t.actions).map(n=>this.visit(n,r));e.push(i.join("; ")),e.push(")");}else e.push("NOTHING");return e.join(" ")}RangeSubselect(t,r){let e=[];return t.lateral&&e.push("LATERAL"),t.subquery&&(e.push("("),e.push(this.visit(t.subquery,r)),e.push(")")),t.alias&&e.push(this.Alias(t.alias,r)),e.join(" ")}relname(t,r){return typeof t=="string"?S.quoteIdentifier(t):t&&t.String&&t.String.sval?S.quoteIdentifier(t.String.sval):t&&typeof t=="object"&&t.relname?S.quoteIdentifier(t.relname):this.visit(t,r)}rel(t,r){return typeof t=="string"?S.quoteIdentifier(t):t&&t.String&&t.String.sval?S.quoteIdentifier(t.String.sval):t&&t.RangeVar?this.RangeVar(t.RangeVar,r):t&&typeof t=="object"&&t.relname?S.quoteIdentifier(t.relname):this.visit(t,r)}objname(t,r){return typeof t=="string"?S.quoteIdentifier(t):t&&t.String&&t.String.sval?S.quoteIdentifier(t.String.sval):Array.isArray(t)?t.map(i=>i&&i.String&&i.String.sval?S.quoteIdentifier(i.String.sval):this.visit(i,r)).join("."):this.visit(t,r)}SQLValueFunction(t,r){switch(t.op){case "SVFOP_CURRENT_DATE":return "CURRENT_DATE";case "SVFOP_CURRENT_TIME":return "CURRENT_TIME";case "SVFOP_CURRENT_TIME_N":return `CURRENT_TIME(${t.typmod||0})`;case "SVFOP_CURRENT_TIMESTAMP":return "CURRENT_TIMESTAMP";case "SVFOP_CURRENT_TIMESTAMP_N":return `CURRENT_TIMESTAMP(${t.typmod||0})`;case "SVFOP_LOCALTIME":return "LOCALTIME";case "SVFOP_LOCALTIME_N":return `LOCALTIME(${t.typmod||0})`;case "SVFOP_LOCALTIMESTAMP":return "LOCALTIMESTAMP";case "SVFOP_LOCALTIMESTAMP_N":return `LOCALTIMESTAMP(${t.typmod||0})`;case "SVFOP_CURRENT_ROLE":return "CURRENT_ROLE";case "SVFOP_CURRENT_USER":return "CURRENT_USER";case "SVFOP_USER":return "USER";case "SVFOP_SESSION_USER":return "SESSION_USER";case "SVFOP_CURRENT_CATALOG":return "CURRENT_CATALOG";case "SVFOP_CURRENT_SCHEMA":return "CURRENT_SCHEMA";default:throw new Error(`Unsupported SQLValueFunction op: ${t.op}`)}}GroupingFunc(t,r){let e=["GROUPING"];if(t.args&&t.args.length>0){let i=h.unwrapList(t.args).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}else e.push("()");return e.join("")}MultiAssignRef(t,r){let e=[];return t.source&&e.push(this.visit(t.source,r)),t.colno>0&&e.push(`[${t.colno}]`),e.join("")}SetToDefault(t,r){return "DEFAULT"}CurrentOfExpr(t,r){let e=["CURRENT OF"];return t.cursor_name&&e.push(S.quoteIdentifier(t.cursor_name)),t.cursor_param>0&&e.push(`$${t.cursor_param}`),e.join(" ")}TableLikeClause(t,r){let e=["LIKE"];if(t.relation&&e.push(this.visit(t.relation,r)),t.options&&typeof t.options=="number")if(t.options===2147483647||t.options===2147483647)e.push("INCLUDING ALL");else {let i=[];t.options&1&&i.push("INCLUDING COMMENTS"),t.options&4&&i.push("INCLUDING CONSTRAINTS"),t.options&8&&i.push("INCLUDING DEFAULTS"),t.options&16&&i.push("INCLUDING GENERATED"),t.options&32&&i.push("INCLUDING IDENTITY"),t.options&64&&i.push("INCLUDING INDEXES"),t.options&128&&i.push("INCLUDING STATISTICS"),t.options&256&&i.push("INCLUDING STORAGE"),i.length>0&&e.push(i.join(" "));}return e.join(" ")}AlterFunctionStmt(t,r){let e=["ALTER"];if(t.objtype==="OBJECT_PROCEDURE"?e.push("PROCEDURE"):e.push("FUNCTION"),t.func&&e.push(this.ObjectWithArgs(t.func,r)),t.actions&&t.actions.length>0){let i=r.spawn("AlterFunctionStmt"),n=h.unwrapList(t.actions).map(a=>this.visit(a,i));e.push(n.join(" "));}return e.join(" ")}AlterObjectSchemaStmt(t,r){let e=["ALTER"];try{e.push(this.getObjectTypeKeyword(t.objectType));}catch{e.push(t.objectType.toString());}if(t.missing_ok&&e.push("IF EXISTS"),t.relation&&(t.objectType==="OBJECT_TABLE"||t.objectType==="OBJECT_FOREIGN_TABLE"||t.objectType==="OBJECT_MATVIEW"))e.push(this.RangeVar(t.relation,r));else if(t.object)if(t.objectType==="OBJECT_DOMAIN"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_TYPE"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_CONVERSION"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_TSPARSER"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_TSCONFIGURATION"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_TSTEMPLATE"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_TSDICTIONARY"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(S.quoteQualifiedIdentifier(n,a));}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_OPCLASS"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(`${S.quoteIdentifier(a)} USING ${n}`);}else if(i.length===3){let n=i[0].String?.sval||"",a=i[1].String?.sval||"",o=i[2].String?.sval||"";e.push(`${S.quoteQualifiedIdentifier(a,o)} USING ${n}`);}else e.push(this.visit(t.object,r));}else if(t.objectType==="OBJECT_OPFAMILY"&&t.object.List){let i=h.unwrapList(t.object);if(i.length===2){let n=i[0].String?.sval||"",a=i[1].String?.sval||"";e.push(`${S.quoteIdentifier(a)} USING ${n}`);}else if(i.length===3){let n=i[0].String?.sval||"",a=i[1].String?.sval||"",o=i[2].String?.sval||"";e.push(`${S.quoteQualifiedIdentifier(a,o)} USING ${n}`);}else e.push(this.visit(t.object,r));}else e.push(this.visit(t.object,r));return e.push("SET SCHEMA"),t.newschema&&e.push(S.quoteIdentifier(t.newschema)),e.join(" ")}AlterRoleSetStmt(t,r){let e=["ALTER","ROLE"];if(t.role?e.push(this.RoleSpec(t.role,r)):e.push("ALL"),t.database&&(e.push("IN DATABASE"),e.push(this.quoteIfNeeded(t.database))),t.setstmt){if(t.setstmt.kind==="VAR_RESET")e.push("RESET"),t.setstmt.name&&e.push(t.setstmt.name);else if(e.push("SET"),t.setstmt.name&&e.push(t.setstmt.name),t.setstmt.args&&t.setstmt.args.length>0){e.push("TO");let i=h.unwrapList(t.setstmt.args).map(n=>this.visit(n,r)).join(", ");e.push(i);}}return e.join(" ")}CreateForeignTableStmt(t,r){let e=["CREATE FOREIGN TABLE"];if(t.base&&t.base.relation){let i=r.spawn("CreateForeignTableStmt");e.push(this.RangeVar(t.base.relation,i));}if(t.base&&t.base.tableElts){let i=h.unwrapList(t.base.tableElts).map(n=>this.visit(n,r));e.push(`(${i.join(", ")})`);}else t.base?.partbound||e.push("()");if(t.base&&t.base.inhRelations&&t.base.inhRelations.length>0)if(t.base.partbound){let i=h.unwrapList(t.base.inhRelations).map(n=>this.visit(n,r));e.push(`PARTITION OF ${i.join(", ")}`),t.base.partbound.is_default&&e.push("DEFAULT");}else {let i=h.unwrapList(t.base.inhRelations).map(n=>this.visit(n,r));e.push(`INHERITS (${i.join(", ")})`);}if(t.servername&&(e.push("SERVER"),e.push(S.quoteIdentifier(t.servername))),t.options&&t.options.length>0){let i=r.spawn("CreateForeignTableStmt"),n=h.unwrapList(t.options).map(a=>this.visit(a,i));e.push(`OPTIONS (${n.join(", ")})`);}return e.join(" ")}containsMultilineStringLiteral(t){return /'[^']*\n[^']*'/g.test(t)}};});var Mo=y(()=>{Lh();Uo();cs.deparse;});function er(s){if("String"in s)return s.String.sval}function De(s){return s.map(er).filter(t=>t!=null)}function ke(s){return s==null?[]:s.List!==void 0?s.List.items||[]:Array.isArray(s)?s:[s]}function Vi(s){return S.quoteIdentifier(s)}function ps(s){return Object.keys(s)[0]}function $h(s){if("A_Const"in s){if(s.A_Const.ival)return s.A_Const.ival.ival;if(s.A_Const.fval)return s.A_Const.fval.fval;if(s.A_Const.sval)return s.A_Const.sval.sval;if(s.A_Const.boolval)return s.A_Const.boolval.boolval;if(s.A_Const.isnull)return null}}var xe=y(()=>{Mo();});function Dh(s){let t=s.toLowerCase().trim();if(t.startsWith("_")||t.endsWith("[]"))return "TEXT";let r=Ob[t];if(!r)throw new je(`Unsupported PostgreSQL type: "${s}"`);return r}function Ji(s){let t=s.toLowerCase();return ["serial","serial4","bigserial","serial8","smallserial","serial2"].includes(t)}function Yi(s){let t=s.toLowerCase();return ["varchar","character varying","char","character","bpchar"].includes(t)}function Ki(s){let t=s.toLowerCase();return ["numeric","decimal"].includes(t)}var je,G,Ob,Ph,Nb,zi,fs=y(()=>{xe();je=class extends Error{},G=class extends je{constructor(r,e){super(e??`Unsupported node type: ${ps(r)}`);this.node=r;}},Ob={int2:"INTEGER",smallint:"INTEGER",int4:"INTEGER",integer:"INTEGER",int:"INTEGER",int8:"INTEGER",bigint:"INTEGER",serial:"INTEGER",serial4:"INTEGER",bigserial:"INTEGER",serial8:"INTEGER",smallserial:"INTEGER",serial2:"INTEGER",float4:"REAL",real:"REAL",float8:"REAL","double precision":"REAL",numeric:"REAL",decimal:"REAL",text:"TEXT",varchar:"TEXT","character varying":"TEXT",char:"TEXT",character:"TEXT",bpchar:"TEXT",name:"TEXT",bytea:"BLOB",bool:"INTEGER",boolean:"INTEGER",date:"TEXT",time:"TEXT","time without time zone":"TEXT",timetz:"TEXT","time with time zone":"TEXT",timestamp:"TEXT","timestamp without time zone":"TEXT",timestamptz:"TEXT","timestamp with time zone":"TEXT",interval:"TEXT",json:"TEXT",jsonb:"TEXT",uuid:"TEXT",inet:"TEXT"},Ph=["<",">","<=",">=","=","<>","!=","+","-","*","/","%","&","|","<<",">>","||","BETWEEN","NOT BETWEEN","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL","IS TRUE","IS NOT TRUE","IS FALSE","IS NOT FALSE","IS UNKNOWN","IS NOT UNKNOWN","AND","OR","NOT","->>"];Nb={CreateEnumStmt:{react:"ignore"},CreateDomainStmt:{react:"warn"},CreateSeqStmt:{react:"error"},AlterSeqStmt:{react:"error"},CreateSchemaStmt:{react:"warn"},CreatePolicyStmt:{react:"ignore"},PartitionElem:{react:"error"},PartitionCmd:{react:"error"},VariableSetStmt:{react:"ignore"},CompositeTypeStmt:{react:"error"},AlterEnumStmt:{react:"error"},AlterObjectSchemaStmt:{react:"error"},AlterOwnerStmt:{react:"error"},AlterTypeStmt:{react:"error"},AlterFunctionStmt:{react:"error"},AlterDefaultPrivilegesStmt:{react:"error"},GrantStmt:{react:"error"},GrantRoleStmt:{react:"error"},CopyStmt:{react:"error"},CreateCastStmt:{react:"error"},AlterOpFamilyStmt:{react:"error"},AlterOperatorStmt:{react:"error"},TruncateStmt:{react:"error"},A_Indirection:{react:"error"},XmlExpr:{react:"error"},XmlSerialize:{react:"error"},RangeTableSample:{react:"error"},GroupingSet:{react:"error"}},zi=new Map(Object.entries(Nb));});var Mt,sr,Bo=y(()=>{xe();fs();Mt=class extends G{constructor(t,r){super(t,`Unsupported expression: ${r}`);}},sr=class{deparse(t){if("A_Const"in t){let i=t.A_Const;if(i.boolval!==void 0)return i.boolval.boolval?{}:{$always:false}}let r=Object.keys(t)[0],e=this[r];if(!e)throw new Mt({[r]:t},`Unsupported expression: ${r}`);return e.call(this,t[r])}deparseValue(t){if("A_Const"in t)return this.A_Const(t.A_Const);if("ColumnRef"in t)return this.ColumnRef(t.ColumnRef);if("FuncCall"in t)return this.FuncCall(t.FuncCall);if("SubLink"in t)return this.SubLink(t.SubLink);if("TypeCast"in t)return this.TypeCast(t.TypeCast);if("A_Expr"in t){let e=this.isJwtAccessor(t.A_Expr);return e||this.A_Expr(t.A_Expr)}if("BoolExpr"in t)return this.BoolExpr(t.BoolExpr);let r=Object.keys(t)[0];throw new Mt({[r]:t},`deparseValue: ${r}`)}A_Expr(t){if(t.kind==="AEXPR_OP"){let r=t.name?.[0],e=r?er(r):void 0;if(!e)throw new Mt({A_Expr:t},"A_Expr missing operator");let i=this.isJwtAccessor(t);if(i)return {[i]:{}};let n=t.lexpr?this.deparseValue(t.lexpr):void 0,a=t.rexpr?this.deparseValue(t.rexpr):void 0,o=this.mapOperator(e);if(!o)throw new Mt({A_Expr:t},`Unsupported operator: ${e}`);let l=t.rexpr!=null&&"ColumnRef"in t.rexpr;if(typeof n=="string"&&n.startsWith("{{")&&l)return {[a]:{[o]:n}};let u=l&&typeof a=="string"?{$ref:a}:a;return {[n]:{[o]:u}}}if(t.kind==="AEXPR_LIKE"||t.kind==="AEXPR_ILIKE"){let r=t.lexpr?this.deparseValue(t.lexpr):void 0,e=t.rexpr?this.deparseValue(t.rexpr):void 0,n=(t.name?.[0]?er(t.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[r]:{[n]:e}}}if(t.kind==="AEXPR_IN"){let r=t.lexpr?this.deparseValue(t.lexpr):void 0,e=t.rexpr&&"List"in t.rexpr&&t.rexpr.List.items?t.rexpr.List.items.map(i=>this.deparseValue(i)):[];return {[r]:{$in:e}}}throw new Mt({A_Expr:t},`A_Expr kind: ${t.kind}`)}BoolExpr(t){let r=t.args??[];switch(t.boolop){case "AND_EXPR":return {$and:r.map(e=>this.deparse(e))};case "OR_EXPR":return {$or:r.map(e=>this.deparse(e))};case "NOT_EXPR":return {$not:this.deparse(r[0])};default:throw new Mt({BoolExpr:t},`BoolExpr op: ${t.boolop}`)}}NullTest(t){let r=t.arg?this.deparseValue(t.arg):void 0;return t.nulltesttype==="IS_NULL"?{[r]:{$is:null}}:{[r]:{$isNot:null}}}SubLink(t){if(t.subLinkType==="ANY_SUBLINK"){let r=t.testexpr?this.deparseValue(t.testexpr):void 0,e=t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0;return {[r]:{$in:e}}}if(t.subLinkType==="EXISTS_SUBLINK")return {$exists:t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0};if(t.subLinkType==="EXPR_SUBLINK"){let r=t.subselect?t.subselect.SelectStmt:void 0;if(r?.fromClause?.length)return this.SelectStmt(r);if(r?.targetList?.[0]){let e=r.targetList[0],i="ResTarget"in e?e.ResTarget:void 0;if(i?.val){let n=this.deparseValue(i.val);return n}}}throw new Mt({SubLink:t},`SubLink type: ${t.subLinkType}`)}SelectStmt(t){let{from:r,schema:e,join:i}=this.deparseFromClause(t.fromClause??[]),n=[];for(let f of t.targetList??[]){let d="ResTarget"in f?f.ResTarget:void 0;if(d?.val){let m=this.deparseValue(d.val);Array.isArray(m)?n.push(...m.map(String)):m!=null&&m!==""&&n.push(String(m));}}let a=t.whereClause?this.deparse(t.whereClause):void 0,o=this.deparseSortClause(t.sortClause),l=this.deparseLimit(t.limitCount),u=this.deparseLimit(t.limitOffset),c=this.deparseGroupClause(t.groupClause),p={type:"query",from:r,select:n};return e&&(p.schema=e),Object.keys(i).length>0&&(p.join=i),a&&(p.where=a),o.length>0&&(p.order=o),l!==void 0&&(p.limit=l),u!==void 0&&(p.offset=u),c.length>0&&(p.group=c),p}FuncCall(t){let r=this.isAuthFunc(t.funcname??[]);if(r)return r;throw new Mt({FuncCall:t},`FuncCall: ${De(t.funcname??[]).join(".")}`)}ColumnRef(t){let r=De(t.fields??[]);return r.length===1?r[0]:r.join(".")}A_Const(t){if(t.boolval!==void 0)return t.boolval.boolval;if(t.ival!==void 0)return t.ival.ival??0;if(t.fval!==void 0)return parseFloat(t.fval.fval??"0");if(t.sval!==void 0)return t.sval.sval??"";if(t.isnull)return null;throw new Mt({A_Const:t},"A_Const: unknown variant")}TypeCast(t){if(!t.arg)throw new Mt({TypeCast:t},"TypeCast: missing arg");return this.deparseValue(t.arg)}BooleanTest(t){let r=t.arg?this.deparseValue(t.arg):void 0;return t.booltesttype==="IS_TRUE"?{[r]:{$eq:true}}:{[r]:{$eq:false}}}deparseFromClause(t){let r={};if(t.length===0)return {from:"",join:r};let e=t[0];if("RangeVar"in e){let i=e.RangeVar;return {from:i.relname??"",schema:i.schemaname,join:r}}if("JoinExpr"in e){let{from:i,schema:n}=this.walkJoinExpr(e.JoinExpr,r);return {from:i,schema:n,join:r}}return {from:"",join:r}}walkJoinExpr(t,r){let e={from:""};if(t.larg)if("RangeVar"in t.larg){let i=t.larg.RangeVar;e={from:i.relname??"",schema:i.schemaname};}else "JoinExpr"in t.larg&&(e=this.walkJoinExpr(t.larg.JoinExpr,r));if(t.rarg&&"RangeVar"in t.rarg){let i=t.rarg.RangeVar,n=i.relname??"",a=i.alias?.aliasname??n,o=t.jointype==="JOIN_LEFT"?"left":"inner",l={from:n,type:o};t.quals&&(l.on=this.deparse(t.quals));let u=a;if(u in r){let c=2;for(;`${u}_${c}`in r;)c++;u=`${u}_${c}`;}r[u]=l;}return e}deparseSortClause(t){if(!t)return [];let r=[];for(let e of t){if(!("SortBy"in e))continue;let i=e.SortBy;if(!i.node)continue;let n=String(this.deparseValue(i.node)),a=i.sortby_dir==="SORTBY_DESC"?"desc":"asc",o={column:n,direction:a};i.sortby_nulls==="SORTBY_NULLS_FIRST"?o.nullsFirst=true:i.sortby_nulls==="SORTBY_NULLS_LAST"&&(o.nullsFirst=false),r.push(o);}return r}deparseLimit(t){if(!t)return;let r=this.deparseValue(t);return typeof r=="number"?r:Number(r)}deparseGroupClause(t){return t?t.map(r=>String(this.deparseValue(r))):[]}isAuthFunc(t){let r=De(t);if(r.length===2&&r[0]==="auth"){if(r[1]==="uid")return "{{auth.uid}}";if(r[1]==="jwt")return "{{auth.jwt}}";if(r[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${r.slice(1).join(".")}"`)}return null}isJwtAccessor(t){if(t.kind!=="AEXPR_OP")return null;let r=t.name?.[0]?er(t.name[0]):void 0;if(r!=="->"&&r!=="->>")return null;let e=t.rexpr&&"A_Const"in t.rexpr?t.rexpr.A_Const.sval?.sval:void 0;if(e===void 0)return null;if(t.lexpr&&"FuncCall"in t.lexpr)return this.isAuthFunc(t.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${e}}}`:null;if(t.lexpr&&"A_Expr"in t.lexpr){let i=this.isJwtAccessor(t.lexpr.A_Expr);if(i)return `${i.slice(0,-2)}.${e}}}`}return null}mapOperator(t){switch(t){case "=":return "$eq";case "<>":case "!=":return "$neq";case ">":return "$gt";case ">=":return "$gte";case "<":return "$lt";case "<=":return "$lte";case "~~":return "$like";case "!~~":return "$notLike";default:return}}};});var rr,qo=y(()=>{rr=class s{constructor(t){this.data=t;}appliesTo(t){return this.data.command==="ALL"||this.data.command===t}appliesToRole(t){return this.data.roles.length===0||this.data.roles.includes(t)}toJSON(){return this.data}static fromJSON(t){return new s(t)}};});var ir,Go=y(()=>{ir=class extends Error{constructor(r,e,i,n){super(`check constraint "${i}" violated for ${r}.${e}`);this.table=r;this.column=e;this.constraint=i;this.value=n;this.name="CheckConstraintError";}};});var Tt,oe=y(()=>{Go();Tt=class{context;constructor(t){this.context=t;}get isShimBacked(){return false}checkConstraint(){return null}serialize(t){return t}deserialize(t){return t}validateStorage(t){return {status:"pass",message:null}}validationFail(t,r){return {status:"fail",message:t,action:r}}validationPass(){return {status:"pass",message:null}}isNullish(t){return t==null}toColumnDDL(t){let{includeNullable:r=true}=t??{},e=[],i=this.context.column;e.push(this.quoteIfNeeded(i)),e.push(this.sqliteType),this.context.isPrimaryKey&&e.push("PRIMARY KEY"),this.context.isSerial&&this.context.isPrimaryKey&&e.push("AUTOINCREMENT"),r&&!this.context.nullable&&!this.context.isPrimaryKey&&e.push("NOT NULL"),this.context.isUnique&&!this.context.isPrimaryKey&&e.push("UNIQUE"),this.context.defaultValue!==null&&e.push(`DEFAULT ${this.context.defaultValue}`);let n=this.checkConstraint();return n&&e.push(`CHECK (${n})`),e.join(" ")}checkError(t,r){return new ir(this.context.table,this.context.column,t,r)}quoteIfNeeded(t){return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)?t:`"${t}"`}};});var Fe,Xi=y(()=>{oe();Fe=class extends Tt{get sqliteType(){return "INTEGER"}};});var nr,Wo=y(()=>{Xi();nr=class extends Fe{constructor(t){super({...t,isSerial:true});}};});function Ib(s,t){let{precision:r,scale:e}=t,i=10**e,n=10**(r-e);return Math.abs(Math.round(s*i)-s*i)<1e-4&&Math.abs(s)<n}var Ue,Qi=y(()=>{oe();Ue=class extends Tt{numericPrecision;constructor(t,r){super(t),this.numericPrecision=r;}get isShimBacked(){return this.numericPrecision!==void 0}get sqliteType(){return "REAL"}checkConstraint(){if(this.numericPrecision){let{precision:t,scale:r}=this.numericPrecision,e=this.context.column,i=10**r,n=10**(t-r);return `ABS(ROUND(${e} * ${i}) - ${e} * ${i}) < 0.0001 AND ABS(${e}) < ${n}`}return null}validateStorage(t){if(this.isNullish(t))return this.validationPass();if(typeof t!="number"||!Number.isFinite(t))return this.validationFail("Expected finite number.","Patch rows with finite numbers.");if(this.numericPrecision){let{precision:r,scale:e}=this.numericPrecision;if(!Ib(t,this.numericPrecision))return this.validationFail(`Does not fit numeric(${r}, ${e}).`,"Patch rows within numeric precision.")}return this.validationPass()}};});var ut,Bt=y(()=>{oe();ut=class extends Tt{lengthConstraint;constructor(t,r){super(t),this.lengthConstraint=r;}get isShimBacked(){return this.lengthConstraint!==void 0}get sqliteType(){return "TEXT"}checkConstraint(){return this.lengthConstraint!==void 0?`length(${this.context.column}) <= ${this.lengthConstraint}`:null}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"?this.validationFail("Expected text.","Patch rows with text values."):this.lengthConstraint!==void 0&&Array.from(t).length>this.lengthConstraint?this.validationFail(`Exceeds length ${this.lengthConstraint}.`,"Patch rows with shorter text."):this.validationPass()}};});var ar,Ho=y(()=>{oe();ar=class extends Tt{get sqliteType(){return "BLOB"}};});var or,Vo=y(()=>{oe();or=class extends Tt{get isShimBacked(){return true}get sqliteType(){return "INTEGER"}checkConstraint(){return `${this.context.column} IN (0, 1)`}serialize(t){if(this.isNullish(t))return t;if(t===true||t===1)return 1;if(t===false||t===0)return 0;throw this.checkError("boolean_range",t)}deserialize(t){return this.isNullish(t)?t:t===1?true:t===0?false:t}validateStorage(t){return this.isNullish(t)?this.validationPass():t===1||t===0?this.validationPass():this.validationFail("Expected 0 or 1.","Patch rows with boolean values.")}};});function kh(s){try{return {ok:!0,value:JSON.parse(s)}}catch{return {ok:false}}}var lr,Jo=y(()=>{oe();lr=class extends Tt{get isShimBacked(){return true}get sqliteType(){return "TEXT"}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR json_valid(${t})`}serialize(t){if(this.isNullish(t))return t;try{return JSON.stringify(t)}catch{throw this.checkError("json_valid",t)}}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let r=kh(t);return r.ok?r.value:t}return t}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"?this.validationFail("Expected JSON text.","Patch rows with JSON values."):kh(t).ok?this.validationPass():this.validationFail("Invalid JSON text.","Patch rows with valid JSON.")}};});function Lb(s){if(!/^\d{4}-\d{2}-\d{2}$/.test(s))return false;let t=new Date(`${s}T00:00:00.000Z`);return !Number.isNaN(t.getTime())&&t.toISOString().slice(0,10)===s}var ur,Yo=y(()=>{Bt();ur=class extends ut{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR date(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Lb(t)?this.validationFail("Invalid date.","Patch rows with YYYY-MM-DD dates."):this.validationPass()}};});function $b(s){let t=s.match(/^(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?([+-](\d{2}):?(\d{2}))?$/);if(!t)return false;let r=Number(t[1]),e=Number(t[2]),i=t[3]===void 0?0:Number(t[3]),n=t[5]===void 0?null:Number(t[5]),a=t[6]===void 0?null:Number(t[6]),o=n===null||a!==null&&n<=15&&a<=59;return r<=24&&e<=59&&i<=59&&(r!==24||e===0&&i===0)&&o}var cr,Ko=y(()=>{Bt();cr=class extends ut{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR time(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!$b(t)?this.validationFail("Invalid time.","Patch rows with HH:MM[:SS] times."):this.validationPass()}};});function Pb(s){let t=s.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?(?:Z|([+-](\d{2}):?(\d{2})))?$/);if(!t)return false;let r=Number(t[1]),e=Number(t[2]),i=Number(t[3]),n=Number(t[4]),a=Number(t[5]),o=t[6]===void 0?0:Number(t[6]),l=t[8]===void 0?null:Number(t[8]),u=t[9]===void 0?null:Number(t[9]),c=new Date(Date.UTC(r,e-1,i)),p=c.getUTCFullYear()===r&&c.getUTCMonth()===e-1&&c.getUTCDate()===i,f=n<=24&&a<=59&&o<=59&&(n!==24||a===0&&o===0),d=l===null||u!==null&&l<=15&&u<=59;return p&&f&&d}var pr,zo=y(()=>{Bt();pr=class extends ut{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR datetime(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Pb(t)?this.validationFail("Invalid timestamp.","Patch rows with ISO timestamps."):this.validationPass()}};});var fr,Xo=y(()=>{Bt();fr=class extends ut{get isShimBacked(){return true}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||t.trim().length===0?this.validationFail("Expected interval text.","Patch rows with interval strings."):/^-?\d+(?:\.\d+)?$/.test(t.trim())?this.validationFail("Ambiguous numeric interval.","Patch rows with explicit interval strings."):this.validationPass()}};});var hr,Qo=y(()=>{Bt();hr=class extends ut{enumValues;constructor(t,r){super(t),this.enumValues=r;}get isShimBacked(){return true}checkConstraint(){let t=this.context.column,r=this.enumValues.map(e=>`'${e.replace(/'/g,"''")}'`).join(", ");return `${t} IN (${r})`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string"||!this.enumValues.includes(t))throw this.checkError("enum_membership",t);return t}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!this.enumValues.includes(t)?this.validationFail("Invalid enum value.","Patch rows with declared enum values."):this.validationPass()}};});function xh(s){try{return {ok:!0,value:JSON.parse(s)}}catch{return {ok:false}}}var Ee,Zi=y(()=>{oe();Ee=class extends Tt{elementField;constructor(t,r){super(t),this.elementField=r;}get sqliteType(){return "TEXT"}get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR (json_valid(${t}) AND json_type(${t}) = 'array')`}serialize(t){if(this.isNullish(t))return t;if(!Array.isArray(t))throw this.checkError("array_type",t);return this.elementField?JSON.stringify(t.map(r=>this.elementField.serialize(r))):JSON.stringify(t)}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let r=xh(t);if(r.ok&&Array.isArray(r.value))return this.elementField?r.value.map(e=>this.elementField.deserialize(e)):r.value}return t}validateStorage(t){if(this.isNullish(t))return this.validationPass();if(typeof t!="string")return this.validationFail("Expected JSON array text.","Patch rows with array values.");let r=xh(t);if(!r.ok)return this.validationFail("Invalid JSON array text.","Patch rows with array values.");if(!Array.isArray(r.value))return this.validationFail("Expected JSON array.","Patch rows with array values.");if(this.elementField)for(let e of r.value){let i=this.elementField.validateStorage(e);if(i.status==="fail")return this.validationFail(`Invalid ${this.elementField.context.pgTypeName} array element.`,i.action??"Patch rows with valid array elements.")}return this.validationPass()}};});function jh(s){return kb.test(s.toLowerCase())}var Db,kb,mr,Zo=y(()=>{Bt();Db="????????-????-????-????-????????????",kb=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;mr=class extends ut{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR ${t} GLOB '${Db}'`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("uuid_format",t);let r=t.toLowerCase();if(!jh(r))throw this.checkError("uuid_format",t);return r}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!jh(t)?this.validationFail("Invalid UUID.","Patch rows with valid UUIDs."):this.validationPass()}};});function xb(s){let t=s.split("/");if(t.length>2)return null;let r=t[0];if(!r)return null;if(t.length===1)return {address:r,prefix:null};let e=t[1];return !e||!/^\d+$/.test(e)?null:{address:r,prefix:Number(e)}}function jb(s){let t=s.split(".");return t.length!==4?false:t.every(r=>{if(!/^\d+$/.test(r))return false;let e=Number(r);return e>=0&&e<=255})}function Fb(s){if(!s.includes(":"))return false;try{return new URL(`http://[${s}]/`),!0}catch{return false}}function Fh(s){let t=xb(s);return t?jb(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=32:Fb(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=128:false:false}var gr,tl=y(()=>{Bt();gr=class extends ut{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR (length(${t}) BETWEEN 3 AND 49 AND (instr(${t}, '.') > 0 OR instr(${t}, ':') > 0))`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("inet_format",t);let r=t.trim();if(!Fh(r))throw this.checkError("inet_format",t);return r}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Fh(t.trim())?this.validationFail("Invalid inet address.","Patch rows with valid inet strings."):this.validationPass()}};});var dr,el=y(()=>{Bt();dr=class extends ut{serialize(t){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}deserialize(t){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}toColumnDDL(){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}};});function Me(s,t){if(t?.isArray){let e=Me(s,{...t,isArray:false});return new Ee(s,e)}if(t?.enumValues)return new hr(s,t.enumValues);let r=s.pgTypeName.toLowerCase().trim();if(r.startsWith("_")||r.endsWith("[]")){let e=r.startsWith("_")?r.slice(1):r.slice(0,-2),i={...s,pgTypeName:e},n=Me(i);return new Ee(s,n)}return Mb.has(r)?new nr(s):Ub.has(r)?new Fe(s):Wb.has(r)?new or(s):Hb.has(r)?new lr(s):Kb.has(r)?new ur(s):zb.has(r)?new cr(s):Xb.has(r)?new pr(s):Qb.has(r)?new fr(s):Gb.has(r)?new ar(s):Bb.has(r)?new Ue(s,t?.numericPrecision):Vb.has(r)?new mr(s):Jb.has(r)?new ut(s,63):Yb.has(r)?new gr(s):qb.has(r)?new ut(s,t?.lengthConstraint):new dr(s)}var Ub,Mb,Bb,qb,Gb,Wb,Hb,Vb,Jb,Yb,Kb,zb,Xb,Qb,sl=y(()=>{Xi();Wo();Qi();Bt();Ho();Vo();Jo();Yo();Ko();zo();Xo();Qo();Zi();Zo();tl();el();Ub=new Set(["int2","smallint","int4","integer","int","int8","bigint"]),Mb=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]),Bb=new Set(["float4","real","float8","double precision","numeric","decimal"]),qb=new Set(["text","varchar","character varying","char","character","bpchar"]),Gb=new Set(["bytea"]),Wb=new Set(["bool","boolean"]),Hb=new Set(["json","jsonb"]),Vb=new Set(["uuid"]),Jb=new Set(["name"]),Yb=new Set(["inet"]),Kb=new Set(["date"]),zb=new Set(["time","timetz","time without time zone","time with time zone"]),Xb=new Set(["timestamp","timestamptz","timestamp without time zone","timestamp with time zone"]),Qb=new Set(["interval"]);});function rl(s,t="auto"){let r=s.toLowerCase(),e=tn[r];if(!e)return null;switch(t){case "translate":{if(!e.sqlite)throw new Error(`No SQLite translation for function "${s}"`);return {sqliteExpr:e.sqlite(),jsFn:null}}case "synthetic":{if(!e.js)throw new Error(`No JS implementation for function "${s}"`);return {sqliteExpr:null,jsFn:e.js}}case "auto":return e.js?{sqliteExpr:null,jsFn:e.js}:e.sqlite?{sqliteExpr:e.sqlite(),jsFn:null}:null}}var Uh,tn,il=y(()=>{Uh="lower(hex(randomblob(4))) || '-' || lower(hex(randomblob(2))) || '-4' || substr(lower(hex(randomblob(2))),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(lower(hex(randomblob(2))),2) || '-' || lower(hex(randomblob(6)))",tn={gen_random_uuid:{sqlite:()=>Uh,js:()=>crypto.randomUUID()},uuid_generate_v4:{sqlite:()=>Uh,js:()=>crypto.randomUUID()},now:{sqlite:()=>"datetime('now')",js:()=>new Date().toISOString()},current_timestamp:{sqlite:()=>"datetime('now')",js:()=>new Date().toISOString()},current_date:{sqlite:()=>"date('now')",js:()=>new Date().toISOString().split("T")[0]},current_time:{sqlite:()=>"time('now')",js:()=>new Date().toISOString().split("T")[1].replace("Z","")},random:{sqlite:()=>"random()",js:()=>Math.random()},length:{sqlite:()=>"length",js:null},lower:{sqlite:()=>"lower",js:null},upper:{sqlite:()=>"upper",js:null},substr:{sqlite:()=>"substr",js:null},substring:{sqlite:()=>"substr",js:null},trim:{sqlite:()=>"trim",js:null},ltrim:{sqlite:()=>"ltrim",js:null},rtrim:{sqlite:()=>"rtrim",js:null},replace:{sqlite:()=>"replace",js:null},coalesce:{sqlite:()=>"coalesce",js:null},nullif:{sqlite:()=>"nullif",js:null},count:{sqlite:()=>"count",js:null},sum:{sqlite:()=>"sum",js:null},avg:{sqlite:()=>"avg",js:null},min:{sqlite:()=>"min",js:null},max:{sqlite:()=>"max",js:null},localtime:{sqlite:()=>"time('now', 'localtime')",js:null},localtimestamp:{sqlite:()=>"datetime('now', 'localtime')",js:null}};});var Er,Mh=y(()=>{Er=class{table;schema;fields;constructor(t,r="public",e=new Map){this.table=t,this.schema=r,this.fields=e;}get(t){return this.fields.get(t)}has(t){return this.fields.has(t)}set(t,r){this.fields.set(t,r);}columns(){return Array.from(this.fields.keys())}all(){return Array.from(this.fields.values())}serializeRow(t){let r={};for(let[e,i]of Object.entries(t)){let n=this.fields.get(e);r[e]=n?n.serialize(i):i;}return r}deserializeRow(t){let r={};for(let[e,i]of Object.entries(t)){let n=this.fields.get(e);r[e]=n?n.deserialize(i):i;}return r}applyDefaults(t){let r={...t};for(let[e,i]of this.fields)!(e in r)&&i.context.defaultFn&&(r[e]=i.context.defaultFn());return r}};});var Bh=y(()=>{oe();Go();Xi();Wo();Qi();Bt();Ho();Vo();Jo();Yo();Ko();zo();Xo();Qo();Zi();Zo();tl();el();sl();il();Mh();});var fl={};dt(fl,{_resetWarnedMissingToClauseForTests:()=>Zb,collectComments:()=>pl,collectEnums:()=>al,collectPolicies:()=>ll,collectSchema:()=>ul,collectTableConstraints:()=>cl,collectVariables:()=>ol});function Zb(){nl.clear();}function al(s){let t=new Map;for(let r of s.stmts??[]){if(!r.stmt||!("CreateEnumStmt"in r.stmt))continue;let e=r.stmt.CreateEnumStmt,i=De(e.typeName??[]).join(".");if(!i||!e.vals)continue;let n=De(e.vals);t.set(i.toLowerCase(),n);}return t}function ol(s){let t=new Map;for(let r of s.stmts??[]){if(!r.stmt||!("VariableSetStmt"in r.stmt))continue;let e=r.stmt.VariableSetStmt,i=e.name,n=$h(e.args?.[0]??{});t.set(i,{value:n,local:e.is_local});}return t}function ll(s){let t=new sr,r=new Set,e=[];for(let i of s.stmts??[])if(i.stmt){if("CreatePolicyStmt"in i.stmt){let n=i.stmt.CreatePolicyStmt,a=n.table?.relname??"",o=n.table?.schemaname,l={select:"SELECT",insert:"INSERT",update:"UPDATE",delete:"DELETE"},u=n.cmd_name?l[n.cmd_name]??"ALL":"ALL",c=n.permissive===true,p=[],f=false;for(let T of n.roles??[])if("RoleSpec"in T){let E=T.RoleSpec;E.roletype==="ROLESPEC_PUBLIC"?E.location===-1&&(f=true):E.roletype==="ROLESPEC_CSTRING"&&E.rolename&&p.push(E.rolename);}if(f){let T=o?`${o}.${a}`:a,E=n.policy_name??"",b=`${T}::${E}`;nl.has(b)||(nl.add(b),console.warn(`[supalite] policy "${E}" on "${T}" has no TO clause \u2014 applies to all roles (PUBLIC). For clarity, prefer an explicit \`TO <role>\` clause (e.g. \`TO authenticated\`).`));}let d=n.qual?t.deparse(n.qual):void 0,m=n.with_check?t.deparse(n.with_check):void 0,g=new rr({name:n.policy_name??"",table:a,schema:o,command:u,permissive:c,roles:p,using:d,withCheck:m});e.push(g);}if("AlterTableStmt"in i.stmt){let n=i.stmt.AlterTableStmt;if((n.cmds??[]).some(l=>"AlterTableCmd"in l&&(l.AlterTableCmd.subtype==="AT_EnableRowSecurity"||l.AlterTableCmd.subtype==="AT_ForceRowSecurity"))){let l=n.relation?.relname??"";r.add(l);}}}return {policies:e,tables:r}}function ul(s,t){let r=new Map;for(let e of s.stmts??[]){if(!e.stmt||!("CreateStmt"in e.stmt))continue;let i=e.stmt.CreateStmt,n=i.relation?.relname??"",a=i.relation?.schemaname??"public";if(!n)continue;let o=new Er(n,a);for(let l of i.tableElts??[]){if(!("ColumnDef"in l))continue;let u=l.ColumnDef,c=u.colname;if(!c)continue;let p=u.typeName?.names?.map(O=>O.String?.sval||O.String?.str).filter(Boolean),f=p&&(p.length===2&&p[0]==="pg_catalog"?p[1]:p[0]);if(!f)continue;let d=!!u.typeName?.arrayBounds?.length,m=Array.isArray(u.typeName?.typmods)?u.typeName.typmods:[],g=O=>m[O]?.A_Const?.ival?.ival??m[O]?.A_Const?.val?.ival?.ival,T={isArray:d};if(Yi(f)&&m.length>0){let O=g(0);typeof O=="number"&&O>0&&(T.lengthConstraint=O);}if(Ki(f)&&m.length>=2){let O=g(0),W=g(1);typeof O=="number"&&typeof W=="number"&&O>0&&W>=0&&(T.numericPrecision={precision:O,scale:W});}let E=t.get(f.toLowerCase());E&&(T.enumValues=E);let b=Array.isArray(u.constraints)?u.constraints:[],N=b.some(O=>O.Constraint?.contype==="CONSTR_PRIMARY"),R=Ji(f)||b.some(O=>O.Constraint?.contype==="CONSTR_IDENTITY"),P=b.some(O=>O.Constraint?.contype==="CONSTR_NOTNULL"),D=b.find(O=>O.Constraint?.contype==="CONSTR_UNIQUE"),v=b.find(O=>O.Constraint?.contype==="CONSTR_GENERATED"),_=b.find(O=>O.Constraint?.contype==="CONSTR_FOREIGN"),x=b.find(O=>O.Constraint?.contype==="CONSTR_CHECK"),w;if(_){let O=_.Constraint,W=O.pktable?.relname,A=O.pktable?.schemaname,C=O.pk_attrs?.[0]?.String?.sval;W&&C&&(w={refSchema:A,refTable:W,refColumn:C,constraintName:O.conname||void 0});}let j={schema:a,table:n,column:c,pgTypeName:f,nullable:!P&&!N,defaultValue:null,defaultFn:null,isPrimaryKey:N,isUnique:!!D,isSerial:R,isGenerated:!!v,fkRef:w,hasCheck:!!x,checkConstraintName:x?.Constraint?.conname||void 0,uniqueConstraintName:D?.Constraint?.conname||void 0};o.set(c,Me(j,T));}r.set(`${a}.${n}`,o);}return r}function cl(s){let t=[];for(let r of s.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let e=r.stmt.CreateStmt,i=e.relation?.relname??"",n=e.relation?.schemaname??"public";if(i)for(let a of e.tableElts??[]){if("ColumnDef"in a)continue;let o=a;if(!o.Constraint)continue;let l=o.Constraint,u=l.contype;if(u==="CONSTR_UNIQUE"){let c=(l.keys??[]).map(p=>p.String?.sval??p.String?.str).filter(Boolean);if(c.length===0)continue;t.push({schema:n,table:i,kind:"unique",name:l.conname||void 0,columns:c});}else if(u==="CONSTR_CHECK")t.push({schema:n,table:i,kind:"check",name:l.conname||void 0,columns:[]});else if(u==="CONSTR_FOREIGN"){let c=(l.fk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),p=(l.pk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),f=l.pktable?.relname;if(!f)continue;t.push({schema:n,table:i,kind:"foreign_key",name:l.conname||void 0,columns:c,refSchema:l.pktable?.schemaname,refTable:f,refColumns:p});}}}return t}function pl(s){let t=[];for(let r of s.stmts??[]){if(!r.stmt||!("CommentStmt"in r.stmt))continue;let e=r.stmt.CommentStmt,i=e.comment??"";if(!i)continue;let n=e.objtype,a=(e.object?.List?.items??e.object?.items??[]).map(o=>o.String?.sval??o.String?.str).filter(Boolean);if(a.length!==0){if(n==="OBJECT_TABLE"||n==="OBJECT_VIEW"){let[o,l]=a.length>=2?a:["public",a[0]];t.push({schema:o,table:l,text:i});}else if(n==="OBJECT_COLUMN"){let o="public",l,u;a.length>=3?[o,l,u]=a:[l,u]=a,t.push({schema:o,table:l,column:u,text:i});}}}return t}var nl,hl=y(()=>{Bo();xe();qo();Bh();fs();nl=new Set;});async function yr(s,t){let r=await s.connection.introspect(),e=ml(r);await Jh(s,{...t,dbHasTables:r.tables.length>0,dbFingerprint:e}),r.tables.length===0&&await gl(s);let i=await s.connection.introspect();Kh(i,s);}async function eA(s){let t=await zs(s.config.db?.seed?.sql_paths??["./seed.sql"],{cwd:J__default.join(process.cwd(),"supabase"),absolute:true});return (await Promise.all(t.map(e=>mt__default.readFile(e,"utf-8")))).flatMap(e=>splitSqlStatements(e))}async function Tr(s,t){let r=await eA(s);if(r.length===0)return 0;console.log(M.default.dim("Seeding database..."));try{return await s.connection.transaction(r),r.length}catch(e){let i=t?.recoveryHint??"Fix `supabase/seed.sql`, then run `bun run dev --recreate` to reset and reseed.";throw new Error(`Seed failed and was rolled back: ${String(e.message??e)}
|
|
93
|
-
${i}`)}}async function gl(s){await Tr(s);}async function St(s){let t=await zs(s.config?.db?.migrations?.schema_paths??["./schemas/*.sql"],{cwd:J__default.join(process.cwd(),"supabase"),absolute:true}),r=await Promise.all(t.map(async e=>await mt__default.readFile(e,"utf-8"))).then(e=>e.map(i=>i.split(`
|
|
94
|
-
`).filter(n=>n.trim().length>0&&!n.trim().startsWith("--")).join(`
|
|
60
|
+
`)}function Qn(e){let t=[],r="",n=0,s=e.length,i=o=>{Jg(o).length>0&&t.push(o.trim());};for(;n<s;){let o=e[n],a=e[n+1];if(o==="-"&&a==="-"){for(;n<s&&e[n]!==`
|
|
61
|
+
`;)r+=e[n],n++;continue}if(o==="/"&&a==="*"){for(r+="/*",n+=2;n<s&&!(e[n]==="*"&&e[n+1]==="/");)r+=e[n],n++;n<s&&(r+="*/",n+=2);continue}if(o==="'"){for(r+=o,n++;n<s;){if(e[n]==="'"&&e[n+1]==="'"){r+="''",n+=2;continue}if(r+=e[n],e[n]==="'"){n++;break}n++;}continue}if(o==='"'){for(r+=o,n++;n<s;){if(e[n]==='"'&&e[n+1]==='"'){r+='""',n+=2;continue}if(r+=e[n],e[n]==='"'){n++;break}n++;}continue}if(o==="$"){let l=e.indexOf("$",n+1);if(l!==-1){let c=e.slice(n,l+1);if(/^\$[A-Za-z_][A-Za-z0-9_]*\$$|^\$\$$/.test(c)){r+=c,n=l+1;let p=e.indexOf(c,n);p===-1?(r+=e.slice(n),n=s):(r+=e.slice(n,p+c.length),n=p+c.length);continue}}}if(o===";"){i(r),r="",n++;continue}r+=o,n++;}return i(r),t}function Jg(e){let t="",r=0,n=e.length;for(;r<n;){let s=e[r],i=e[r+1];if(s==="-"&&i==="-"){for(;r<n&&e[r]!==`
|
|
62
|
+
`;)r++;continue}if(s==="/"&&i==="*"){for(r+=2;r<n&&!(e[r]==="*"&&e[r+1]==="/");)r++;r+=2;continue}t+=s,r++;}return t.trim()}function ro(e){return (e??"").trim().toLowerCase()}function no(e){return (e??"").replace(/\s+/g," ").replace(/"/g,"").trim().toLowerCase()}function so(e){if(e==null)return null;let t=e.trim();for(;t.startsWith("(")&&t.endsWith(")");)t=t.slice(1,-1).trim();return (t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"'))&&(t=t.slice(1,-1)),t}var $r=y(()=>{});function Xg(e,t,r=void 0){let n=typeof t=="string"?Vc(t):ao(t);return ts(e,n,r)}function ts(e,t,r=void 0){let n=typeof t=="string"?t.split(/[.\[\]\"]+/).filter(s=>s):t;if(n.length===0)return e;try{let[s,...i]=n;return !s||!(s in e)?r:ts(e[s],i,r)}catch{if(typeof r<"u")return r;throw new Error(`Invalid path: ${n.join(".")}`)}}function ey(e){return e===null}function he(e){return !Array.isArray(e)&&typeof e=="object"&&e!==null}function ty(e){return Object.prototype.toString.call(e)==="[object Object]"}function Ke(e){return typeof e=="string"}function et(e){return typeof e=="number"}function ry(e){return typeof e=="number"&&Number.isInteger(e)}function uo(e){return typeof e=="boolean"}function ut(e){return Array.isArray(e)}function ny(e){return typeof e!="boolean"}function sy(e){return e!==void 0&&ny(e)&&"type"in e}function Ae(e){return e!==void 0&&he(e)&&Te in e}function iy(e){return Ae(e)&&typeof e.toJSON()=="boolean"}function oy(e,t,r){if(!e)throw new Zg(t,r)}function Kc(e){return Ke(e)?e.normalize("NFC"):e}function Tr(e,t){let r=typeof e;if(r!==typeof t)return false;if(Array.isArray(e)){if(!Array.isArray(t))return false;let n=e.length;if(n!==t.length)return false;for(let s=0;s<n;s++)if(!Tr(e[s],t[s]))return false;return true}if(r==="object"){if(!e||!t)return e===t;let n=Object.keys(e),s=Object.keys(t);if(n.length!==s.length)return false;for(let i of n)if(!Tr(e[i],t[i]))return false;return true}return e===t}function ay(e,t){return t.reduce((r,n)=>(n in e&&(r[n]=e[n]),r),{})}function Yc(e){try{return structuredClone(e)}catch{return e}}function ly(e,t,r={}){let n=t;try{n=structuredClone(t);}catch{n=JSON.parse(JSON.stringify(t));}let s={resolver:r.resolver||new po(e),depth:r.depth||0,dropUnknown:r.dropUnknown??false};return s.resolver.hasRef(e,n)?s.resolver.resolve(e.$ref).coerce(n,{...s,depth:s.depth+1}):n}function rs(e,t,r={}){return e.map(n=>n.validate(t,es(r)).valid?n:void 0).filter(Boolean)}function By(e,t,r={}){let n={keywordPath:r.keywordPath||[],instancePath:r.instancePath||[],coerce:r.coerce||false,errors:r.errors||[],shortCircuit:r.shortCircuit||false,ignoreUnsupported:r.ignoreUnsupported||false,resolver:r.resolver||e.getResolver?.()||new po(e),depth:r.depth?r.depth+1:0,skipClone:r.skipClone||false},s;if(r?.coerce&&e.coerce){let i=e.coerce(t,{resolver:n.resolver,depth:n.depth});s=n.skipClone?i:structuredClone(i);}else s=n.skipClone?t:structuredClone(t);if(r.ignoreUnsupported!==true){let i=["$defs"];for(let o of i)if(e[o])throw new Error(`${o} not implemented`)}if(n.resolver.hasRef(e,s)){let i=n.resolver.resolve(e.$ref).validate(s,{...n,errors:[]});i.valid||n.errors.push(...i.errors);}else {let i={keywordPath:n.keywordPath,instancePath:n.instancePath,coerce:n.coerce,errors:[],shortCircuit:n.shortCircuit,ignoreUnsupported:n.ignoreUnsupported,resolver:n.resolver,depth:n.depth};for(let o in e)if(o==="type"&&e.type!==void 0){if(s!==void 0){let a=io[o];if(a){i.errors=[];let l=a(e,s,i);if(!l.valid){if(r.shortCircuit)return l;n.errors.push(...l.errors);}}}}else if(o in io&&e[o]!==void 0){if(s===void 0)continue;let a=io[o];if(a){i.errors=[];let l=a(e,s,i);if(!l.valid){if(r.shortCircuit)return l;n.errors.push(...l.errors);}}}}return {valid:n.errors.length===0,errors:n.errors}}function ns(e,t,r){return new class extends tt{type=e}(t,r)}function lo(e){return new qy(e)}function zc(e,t){return Array.isArray(e)?e.map(t):e!==void 0?[t(e)]:[]}function Gc(e,t,r=n=>n){return Object.fromEntries(Object.entries(e).map(([n,s])=>[n,r(t(s,n),n)]))}function Kt(e){if(uo(e))return lo(e);let t=structuredClone(e);if(!he(t))throw new Qg("non-object schemas cannot be converted to a schema",t);"properties"in t&&t.properties&&(t.properties=Gc(t.properties,(i,o)=>{try{return Kt(i)}catch(a){throw new Error(`Couldn't schemaize property "${o}": ${String(a)}`)}},(i,o)=>"required"in t&&Array.isArray(t.required)&&t.required.includes(o)?i:i.optional()));let r=["patternProperties","dependentSchemas","$defs"];for(let i of r)i in t&&t[i]&&(t[i]=Gc(t[i],Kt));let n=["additionalProperties","items","prefixItems","propertyNames","contains","not","if","then","else"];for(let i of n)i in t&&typeof t[i]<"u"&&(ut(t[i])?t[i]=zc(t[i],Kt):t[i]=Kt(t[i]));let s=["anyOf","oneOf","allOf"];for(let i of s)if(i in t){let{[i]:o}=t;t[i]=zc(o,Kt);}if(sy(t))switch(t.type){case "string":return Xc(t);case "number":return Zc(t);case "integer":return eu(t);case "boolean":return ru(t);case "object":{let{properties:i,...o}=t;return ss(i,o)}case "array":{let{items:i,...o}=t;return tu(i,o)}}return Jc(t)}function tw(){return {type(e){let t=e.map(r=>Array.isArray(r)?new Set(r):new Set([r])).reduce((r,n)=>r?new Set([...r].filter(s=>n.has(s))):new Set(n));if(!t.size)throw new Error('Incompatible "type" in allOf');return t.size===1?[...t][0]:[...t]},enum(e){let t=e.map(r=>new Set(r)).reduce((r,n)=>new Set([...r].filter(s=>n.has(s))));if(!t.size)throw new Error('Incompatible "enum" in allOf');return [...t]},required(e){return [...new Set(e.flat())]},properties(e,t,r){return e.reduce((n,s)=>r(n,s),{})},patternProperties(e,t,r){return e.reduce((n,s)=>r(n,s),{})},$defs(e,t,r){return e.reduce((n,s)=>r(n,s),{})},definitions(e,t,r){return e.reduce((n,s)=>r(n,s),{})},...Object.fromEntries(Zy.map(e=>[e,t=>Math.min(...t)])),...Object.fromEntries(ew.map(e=>[e,t=>Math.max(...t)]))}}function rw(e){let t={...tw(),...e.resolvers};function r(n,s){if(Array.isArray(n)&&Array.isArray(s))return [...new Set([...n,...s])];if(co(n)&&co(s)){let i={...n};for(let[o,a]of Object.entries(s))if(o in i){let l=t[o];i[o]=l?l([i[o],a],o,r):oo(a);}else i[o]=oo(a);return i}return oo(s)}return r}function sw(e,t={}){let r=t.deep!==false,n=rw(t);function s(i){if(Array.isArray(i))return i.map(s);if(!co(i))return i;if(Array.isArray(i.allOf)){let a=i.allOf.map(s);if(a.some(h=>h===false))return false;let l=a.filter(h=>h!==true);if(!l.length)return true;let c=l.reduce((h,d)=>n(h,d),{}),u=nw(c);if(u!==null)return u;let p={...i};delete p.allOf;let f=n(c,r?s(p):p);return r?s(f):f}let o={};for(let[a,l]of Object.entries(i))o[a]=s(l);return o}return s(e)}var ao,Vc,Z,D,Yt,es,xt,Qg,Zg,Te,po,cy,uy,py,fy,my,dy,hy,gy,yy,wy,by,Sy,Ey,_y,xy,vy,$y,Ty,Ay,Cy,Ry,Py,ky,Ny,Oy,Iy,Ly,Dy,jy,Fy,My,Wc,Uy,io,tt,Ar,qy,Jc,Hy,Wy,ss,zy,Gy,Vy,Ky,Yy,Xc,Qc,Zc,eu,Jy,tu,ru,Zn,nu,Xy,Qy,co,oo,Zy,ew,nw,iw,su,ow,aw,lw,iu,ou=y(()=>{ao=(e=[],t="")=>"/"+[t,...e.map(r=>String(r).replace(/\./g,"/"))].filter(Boolean).join("/"),Vc=e=>e.split("/").slice(1);Z=(e={},t,r,n)=>({valid:false,errors:[...e.errors??[],{keywordLocation:ao([...e.keywordPath??[],t]),instanceLocation:ao(e.instancePath),error:typeof r=="string"?r:`Invalid value for ${t}`,data:n}]}),D=()=>({valid:true,errors:[]}),Yt=(e,t,r)=>{let n=Array.isArray(t)?t:[t],s=r?Array.isArray(r)?r:[r]:[];return {...e,keywordPath:[...e.keywordPath??[],...n],instancePath:s?[...e.instancePath??[],...s]:e.instancePath}},es=(e={})=>({...e,errors:[]}),xt=class extends Error{constructor(e){super(`Expected ${e}`);}},Qg=class extends Error{constructor(e,t){super(`${e??"Invalid raw schema"}: ${JSON.stringify(t)}`),this.schema=t;}},Zg=class extends Error{constructor(e,t){super(`${e}, got: 'type "${typeof t}": ${JSON.stringify(t)}'`),this.value=t;}},Te=Symbol.for("jsonv-ts:schema");po=class{constructor(e){this.root=e,this.cache=new Map;}cache;hasRef(e,t){return t!==void 0&&"$ref"in e&&Ke(e.$ref)}resolve(e){let t=this.cache.get(e);if(!t){if(t=Xg(this.root,e),!Ae(t))throw new Error(`ref not found: ${e}`);if("$ref"in t&&t.$ref===e)throw new Error(`ref loop: ${e}`);this.cache.set(e,t);}return t}};cy=({type:e},t,r={})=>{if(e===void 0||t===void 0)return D();let n,s={string:Ke,number:et,integer:ry,object:he,array:ut,boolean:uo,null:ey};if(Array.isArray(e)){for(let i of e){if(!(i in s))throw new xt(`Unknown type: ${i}`);if(s[i](t))return D()}n=`Expected one of: ${e.join(", ")}`;}else {if(!(e in s))throw new xt(`Unknown type: ${e}`);s[e](t)||(n=`Expected ${e}`);}return n?Z(r,"type",n,t):D()},uy=({const:e},t,r={})=>Tr(e,t)?D():Z(r,"const",`Expected const: ${e}`,t),py=({enum:e=[]},t,r={})=>e.some(n=>Tr(n,t))?D():Z(r,"enum",`Expected enum: ${JSON.stringify(e)}`,t);fy=({anyOf:e=[]},t,r={})=>rs(e,t,r).length>0?D():Z(r,"anyOf","Expected at least one to match",t),my=({oneOf:e=[]},t,r={})=>rs(e,t).length===1?D():Z(r,"oneOf","Expected exactly one to match",t),dy=({allOf:e=[]},t,r={})=>rs(e,t,r).length===e.length?D():Z(r,"allOf","Expected all to match",t),hy=({not:e},t,r={})=>t===void 0?D():Ae(e)&&e.validate(t,r).valid?Z(r,"not","Expected not to match",t):D(),gy=({if:e,then:t,else:r},n,s={})=>{if(e&&(t||r)){if(e.validate(n,es(s)).valid)return t?t.validate(n,es(s)):D();if(r)return r.validate(n,es(s))}return D()},yy=({pattern:e=""},t,r={})=>{if(!Ke(t))return D();if(e instanceof RegExp){if(e.test(t))return D()}else if(new RegExp(e,"u").test(t))return D();return Z(r,"pattern",`Expected string matching pattern ${e}`,t)},wy=({minLength:e=0},t,r={})=>Ke(t)?[...Kc(t)].length>=e?D():Z(r,"minLength",`Expected string with minimum length of ${e}`,t):D(),by=({maxLength:e=0},t,r={})=>Ke(t)?[...Kc(t)].length<=e?D():Z(r,"maxLength",`Expected string with maximum length of ${e}`,t):D(),Sy=({multipleOf:e=0},t,r={})=>{if(!et(t))return D();if(!(Number.isFinite(t)&&Number.isFinite(e))||e<=0)throw new xt("number");let n=t/e,s=Number.EPSILON*Math.max(1,Math.abs(n));return Math.abs(n-Math.round(n))<=s?D():Z(r,"multipleOf",`Expected number being a multiple of ${e}`,t)},Ey=({maximum:e=0},t,r={})=>!et(t)||t<=e?D():Z(r,"maximum",`Expected number less than or equal to ${e}`,t),_y=({exclusiveMaximum:e=0},t,r={})=>!et(t)||t<e?D():Z(r,"exclusiveMaximum",`Expected number less than ${e}`,t),xy=({minimum:e=0},t,r={})=>!et(t)||t>=e?D():Z(r,"minimum",`Expected number greater than or equal to ${e}`,t),vy=({exclusiveMinimum:e=0},t,r={})=>!et(t)||t>e?D():Z(r,"exclusiveMinimum",`Expected number greater than ${e}`,t),$y=({properties:e={}},t,r={})=>{if(!he(t))return D();for(let[n,s]of Object.entries(t)){let i=e[n];if(!Ae(i))continue;let o=i.validate(s,Yt(r,["properties",n],n));if(!o.valid)return o}return D()},Ty=({properties:e={},additionalProperties:t,patternProperties:r},n,s={})=>{if(!he(n))return D();if(!Ae(t))throw new xt("additionalProperties must be a boolean or a managed schema");let i=Object.keys(e),o=he(r)?Object.keys(n).filter(l=>Object.keys(r).some(c=>new RegExp(c).test(l))):[],a=Object.keys(n).filter(l=>!i.includes(l)&&!o.includes(l));if(a.length>0){if(iy(t)){if(t.toJSON()===true)return D();let l=a.reduce((c,u)=>(c[u]=n[u],c),{});return Z(s,"additionalProperties","Additional properties are not allowed",l)}else if(Ae(t))for(let l of a){let c=t.validate(n[l],Yt(s,["additionalProperties"],l));if(!c.valid)return c}}return D()},Ay=({dependentRequired:e},t,r={})=>{if(!he(t))return D();let n=Object.keys(t).filter(s=>typeof t[s]!="function");if(he(e)){for(let[s,i]of Object.entries(e))if(n.includes(s)){for(let o of i)if(!n.includes(o))return Z(r,"dependentRequired",`Expected dependent required property ${o}`,t)}}return D()},Cy=({required:e=[]},t,r={})=>{if(!he(t))return D();let n=Object.keys(t).filter(s=>typeof t[s]!="function");return e.every(s=>n.includes(s))?D():Z(r,"required",`Expected object with required properties ${e.join(", ")}`,t)},Ry=({dependentSchemas:e},t,r={})=>{if(!he(t))return D();let n=Object.keys(t).filter(s=>typeof t[s]!="function");if(he(e)){for(let[s,i]of Object.entries(e))if(n.includes(s)){let o=i.validate(t,r);if(!o.valid)return o}}return D()},Py=({minProperties:e=0},t,r={})=>he(t)?Object.keys(t).length>=e?D():Z(r,"minProperties",`Expected object with at least ${e} properties`,t):D(),ky=({maxProperties:e=0},t,r={})=>!he(t)||Object.keys(t).length<=e?D():Z(r,"maxProperties",`Expected object with at most ${e} properties`,t),Ny=({patternProperties:e={}},t,r={})=>{if(!he(t))return D();if(!he(e))throw new xt("patternProperties must be an object");for(let[n,s]of Object.entries(t))for(let[i,o]of Object.entries(e))if(new RegExp(i,"u").test(n)){let a=o.validate(s,Yt(r,["patternProperties"],n));if(!a.valid)return a}return D()},Oy=({propertyNames:e},t,r={})=>{if(!he(t)||e===void 0)return D();if(!Ae(e))throw new xt("propertyNames must be a managed schema");for(let n of Object.keys(t)){let s=e.validate(n,Yt(r,["propertyNames"],n));if(!s.valid)return s}return D()},Iy=({items:e,prefixItems:t=[]},r,n={})=>{if(!ut(r)||e===void 0)return D();if(!Ae(e))throw new xt("items must be a managed schema");for(let[s,i]of r.slice(t.length).entries()){let o=e.validate(i,Yt(n,["items"],String(s)));if(!o.valid)return o}return D()},Ly=({minItems:e=0},t,r={})=>!ut(t)||t.length>=e?D():Z(r,"minItems",`Expected array with at least ${e} items`,t),Dy=({maxItems:e=0},t,r={})=>!ut(t)||t.length<=e?D():Z(r,"maxItems",`Expected array with at most ${e} items`,t),jy=({uniqueItems:e=false},t,r={})=>{if(!ut(t)||!e)return D();for(let n=0;n<t.length;n++){let s=t[n];for(let i=0;i<t.length;i++){if(n===i)continue;let o=t[i];if(Tr(s,o))return Z(r,"uniqueItems",`Duplicated items at index ${n} and ${i}`,t)}}return D()},Fy=({contains:e,minContains:t,maxContains:r},n,s={})=>{if(!Ae(e))throw new Error("contains must be a managed schema");if(!ut(n))return D();let i=n.filter(o=>e.validate(o).valid).length;return i<(t??1)?Z(s,t?"minContains":"contains",`Expected array to contain at least ${t??1}, but found ${i}`,n):r!==void 0&&i>r?Z(s,"maxContains",`Expected array to contain at most ${r}, but found ${i}`,n):D()},My=({prefixItems:e=[]},t,r={})=>{if(!ut(t))return D();for(let n=0;n<t.length;n++){let s=e[n]?.validate(t[n],Yt(r,String(n),String(n)));if(s&&s?.valid!==true)return s}return D()},Wc={email:e=>{if(e.length>318)return false;if(/^[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,20}(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]{1,21}){0,2}@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,60}[a-z0-9])?){0,3}$/i.test(e))return true;if(!e.includes("@")||/(^\.|^"|\.@|\.\.)/.test(e))return false;let[t,r,...n]=e.split("@");return !t||!r||n.length!==0||t.length>64||r.length>253||!/^[a-z0-9.-]+$/i.test(r)||!/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+$/i.test(t)?false:r.split(".").every(s=>/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/i.test(s))},hostname:e=>e.length>(e.endsWith(".")?254:253)?false:/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*\.?$/i.test(e),date:e=>{if(e.length!==10)return false;if(e[5]==="0"&&e[6]==="2"){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)$/.test(e))return true;let t=e.match(/^(\d\d\d\d)-02-29$/);if(!t)return false;let r=Number(t[1]);return r%16===0||r%4===0&&r%25!==0}return e.endsWith("31")?/^\d\d\d\d-(?:0[13578]|1[02])-31$/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)$/.test(e)},time:e=>{if(e.length>27||!/^(?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)?$/i.test(e))return false;if(!/:60/.test(e))return true;let t=e.match(/([0-9.]+|[^0-9.])/g);if(!t)return false;let r=Number(t[0])*60+Number(t[2]);return t[5]==="+"?r+=1440-Number(t[6]||0)*60-Number(t[8]||0):t[5]==="-"&&(r+=Number(t[6]||0)*60+Number(t[8]||0)),r%1440===1439},"date-time":e=>{if(e.length>38)return false;let t=/^\d\d\d\d-(?:0[1-9]|1[0-2])-(?:[0-2]\d|3[01])[t\s](?:2[0-3]|[0-1]\d):[0-5]\d:(?:[0-5]\d|60)(?:\.\d+)?(?:z|[+-](?:2[0-3]|[0-1]\d)(?::?[0-5]\d)?)$/i,r=e[5]==="0"&&e[6]==="2";if(r&&e[8]==="3"||!t.test(e))return false;if(e[17]==="6"){let n=e.slice(11).match(/([0-9.]+|[^0-9.])/g);if(!n)return false;let s=Number(n[0])*60+Number(n[2]);if(n[5]==="+"?s+=1440-Number(n[6]||0)*60-Number(n[8]||0):n[5]==="-"&&(s+=Number(n[6]||0)*60+Number(n[8]||0)),s%1440!==1439)return false}if(r){if(/^\d\d\d\d-02-(?:[012][1-8]|[12]0|[01]9)/.test(e))return true;let n=e.match(/^(\d\d\d\d)-02-29/);if(!n)return false;let s=Number(n[1]??0);return s%16===0||s%4===0&&s%25!==0}return e[8]==="3"&&e[9]==="1"?/^\d\d\d\d-(?:0[13578]|1[02])-31/.test(e):/^\d\d\d\d-(?:0[13-9]|1[012])-(?:[012][1-9]|[123]0)/.test(e)},ipv4:e=>e.length<=15&&/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)$/.test(e),ipv6:e=>{if(e.length>45||e.length<2)return false;let t=0,r=0,n=0,s=false,i=false,o=0,a=true;for(let c=0;c<e.length;c++){let u=e.charCodeAt(c);if(c===1&&o===58&&u!==58)return false;if(u>=48&&u<=57){if(++n>4)return false}else if(u===46){if(t>6||r>=3||n===0||i)return false;r++,n=0;}else if(u===58){if(r>0||t>=7)return false;if(o===58){if(s)return false;s=true;}else c===0&&(a=false);t++,n=0,i=false;}else if(u>=97&&u<=102||u>=65&&u<=70){if(r>0||++n>4)return false;i=true;}else return false;o=u;}if(t<2||r>0&&(r!==3||n===0))return false;if(s&&e.length===2)return true;if(r>0&&!/(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}$/.test(e))return false;let l=r>0?6:7;return s?(a||n>0)&&t<l:t===l&&a&&n>0},uri:e=>/^[a-z][a-z0-9+\-.]*:(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i.test(e),"uri-reference":e=>/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|v[0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/?(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?)?(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i.test(e),"uri-template":e=>/^(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2}|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i.test(e),"json-pointer":e=>/^(?:|\/(?:[^~]|~0|~1)*)$/.test(e),"relative-json-pointer":e=>/^(?:0|[1-9][0-9]*)(?:|#|\/(?:[^~]|~0|~1)*)$/.test(e),uuid:e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),duration:e=>e.length>1&&e.length<80&&(/^P\d+([.,]\d+)?W$/.test(e)||/^P[\dYMDTHS]*(\d[.,]\d+)?[YMDHS]$/.test(e)&&/^P([.,\d]+Y)?([.,\d]+M)?([.,\d]+D)?(T([.,\d]+H)?([.,\d]+M)?([.,\d]+S)?)?$/.test(e)),regex:e=>{if(/[^\\]\\Z/.test(e))return false;try{return new RegExp(e,"u"),!0}catch{return false}},binary:()=>true,password:()=>true},Uy=({format:e},t,r={})=>!Ke(t)||!e?D():Wc[e]?Wc[e](t)?D():Z(r,"format",`Expected format: ${e}`,t):D(),io={type:cy,const:uy,enum:py,allOf:dy,anyOf:fy,oneOf:my,not:hy,minLength:wy,maxLength:by,pattern:yy,format:Uy,minimum:xy,exclusiveMinimum:vy,maximum:Ey,exclusiveMaximum:_y,multipleOf:Sy,required:Cy,dependentRequired:Ay,dependentSchemas:Ry,minProperties:Py,maxProperties:ky,propertyNames:Oy,properties:$y,patternProperties:Ny,additionalProperties:Ty,minItems:Ly,maxItems:Dy,uniqueItems:jy,contains:Fy,prefixItems:My,items:Iy,if:gy};tt=class{"~standard";[Te];_resolver;type;$id;$ref;$schema;title;description;readOnly;writeOnly;$comment;examples;constructor(e,t){let{type:r,validate:n,coerce:s,template:i,...o}=e||{};Object.assign(this,{type:r},o),this[Te]={raw:e,optional:false,overrides:t},this["~standard"]={version:1,vendor:"jsonv-ts",validate:a=>{let l=this.validate(a);return l.valid?{value:a}:{issues:l.errors.map(c=>({message:c.error,path:Vc(c.instanceLocation)}))}}};}template(e,t){let r=this,n=e;if(r.const!==void 0?n=r.const:n===void 0&&(r.default!==void 0&&(n=r.default),t?.withExtendedOptional&&r.enum!==void 0&&(n=r.enum[0])),t?.withOptional!==true&&n===void 0&&this.isOptional())return n;if(this[Te].raw?.template){let i=this[Te].raw.template(n,t);i!==void 0&&(n=i);}let s=this[Te].overrides?.template?.(n,t);return s!==void 0&&(n=s),n}validate(e,t){let r={keywordPath:t?.keywordPath||[],instancePath:t?.instancePath||[],coerce:t?.coerce||false,errors:t?.errors||[],shortCircuit:t?.shortCircuit||false,ignoreUnsupported:t?.ignoreUnsupported||false,resolver:t?.resolver||this.getResolver(),depth:t?.depth?t.depth+1:0,skipClone:t?.skipClone??true},n=this[Te].raw?.validate;if(n!==void 0){let s=n(e,r);if(!s.valid)return s}return By(this,e,r)}coerce(e,t){let r={...t,resolver:t?.resolver||this.getResolver(),depth:t?.depth?t.depth+1:0,dropUnknown:t?.dropUnknown??false},n=this[Te].raw?.coerce;if(n!==void 0)return n(e,r);let s=this[Te].overrides?.coerce?.(e,r)??e;return ly(this,s,r)}optional(){return this[Te].optional=true,this}isOptional(){return this[Te].optional}getResolver(){return this._resolver||(this._resolver=new po(this)),this._resolver}children(e){return []}*walk({instancePath:e=[],keywordPath:t=[],data:r,maxDepth:n=Number.POSITIVE_INFINITY,...s}={}){let i=e.length===0&&r?Yc(r):r;if(s.includeSelf!==false&&(yield new Ar(this,{instancePath:e,keywordPath:t,data:i,...s})),!(e.length>=n))for(let o of this.children(s)){let a=[...e,...o.instancePath];yield*o.schema.walk({...s,data:i,maxDepth:n,instancePath:a,keywordPath:[...t,...o.keywordPath]});}}*[Symbol.iterator](e){for(let t of this.walk(e))yield t;}toJSON(){let{toJSON:e,"~standard":t,_resolver:r,...n}=this;return JSON.parse(JSON.stringify(n))}},Ar=class{constructor(e,t={}){this.schema=e,this.instancePath=t.instancePath||[],this.keywordPath=t.keywordPath||[],this.depth=this.instancePath.length;try{if(t.data!==void 0){let r=ts(t.data,this.instancePath);e.validate(r).valid&&(this.data=r);}}catch{}}instancePath;keywordPath;data;depth;appendInstancePath(e){return this.instancePath=[...this.instancePath,...e],this}appendKeywordPath(e){return this.keywordPath=[...this.keywordPath,...e],this}setData(e){return this.data=e,this}};qy=class extends tt{constructor(e){super(),this.bool=e;}toJSON(){return this.bool}validate(e,t){return this.bool?D():Z(t,"","Always fails",e)}};Jc=e=>ns(e?.type,e),Hy=(e,t)=>ns(void 0,{...t,const:e}),Wy=class extends tt{type="object";properties;required;constructor(e,t){let r=[];for(let[s,i]of Object.entries(e||{}))oy(Ae(i),"properties must be managed schemas",i),i[Te].optional||r.push(s);let n=t?.additionalProperties===false?lo(false):t?.additionalProperties;r=r.length>0?r:void 0,super({...t,additionalProperties:n,properties:e,required:r},{template:(s,i)=>{let o=structuredClone(he(s)?s:{}),a={...o};if(this.properties)for(let[l,c]of Object.entries(this.properties)){let u=ts(o,l);if(c.isOptional()&&i?.withOptional!==true&&u===void 0&&s===void 0)continue;let p=c.template(u,i);p!==void 0&&(a[l]=p);}if(!(Object.keys(a).length===0&&!i?.withExtendedOptional))return a},coerce:(s,i)=>{let o=Object.keys(this.properties),a=Yc(s),l=o.length>0&&Object.values(this.properties).every(u=>!u[Te].optional);if(ty(a)&&(i?.dropUnknown===true||l)&&(a=ay(a,o)),typeof a=="string"&&a.match(/^\{/)&&(a=JSON.parse(a)),typeof a!="object"||a===null)return;if(this.properties)for(let[u,p]of Object.entries(this.properties)){let f=a[u];f!==void 0&&(a[u]=p.coerce(f,i));}let c=this.additionalProperties;if(i?.dropUnknown!==true&&(!c||c.validate(null).valid)){let u=he(s)?s:{},p=Object.keys(u).filter(f=>!o.includes(f));for(let f of p)a[f]=c?c.coerce(u[f],i):u[f];}return a}}),this.properties=e,this.required=r;}strict(){return this.additionalProperties=lo(false),this[Te].raw.additionalProperties=false,this}partial(){for(let[,e]of Object.entries(this.properties))e[Te].optional=true;return this.required=void 0,this}children(e){let t=[];for(let[r,n]of Object.entries(this.properties)){let s=new Ar(n,e);s.appendInstancePath([r]),s.appendKeywordPath(["properties",r]),t.push(s);}return t}},ss=(e,t)=>new Wy(e,t),zy=(e,t)=>ss(e,t).strict(),Gy=(e,t)=>ss(e,t).partial(),Vy=class extends tt{type="object";additionalProperties;constructor(e,t){super({...t,additionalProperties:e},{template:(r,n)=>n?.withExtendedOptional&&(r===void 0||!he(r))?{}:r}),this.additionalProperties=e;}children(e){let t=[],r=new Ar(this.additionalProperties,e);return r.appendKeywordPath(["additionalProperties"]),t.push(r),t}},Ky=(e,t)=>new Vy(e,t),Yy=class extends tt{type="string";constructor(e){super(e,{template:(t,r)=>r?.withExtendedOptional&&(t===void 0||!Ke(t))?"":t,coerce:t=>et(t)?String(t):t});}toJSON(){let{pattern:e,"~standard":t,_resolver:r,...n}=this;return JSON.parse(JSON.stringify({...n,pattern:e instanceof RegExp?e.source:e}))}},Xc=e=>new Yy(e),Qc=(e,t,r)=>ns(e,r,{template:(n,s)=>s?.withExtendedOptional&&(n===void 0||!et(n))?r?.minimum??0:n,coerce:n=>{if(Ke(n)){let s=t.parseFn(n);if(!Number.isNaN(s))return s}return n}}),Zc=e=>Qc("number",{parseFn:Number},e),eu=e=>Qc("integer",{parseFn:Number.parseInt},e),Jy=class extends tt{constructor(e,t={}){super({...t,items:e},{template:r=>r===void 0||!Array.isArray(r)?[]:r,coerce:(r,n)=>{try{let s=typeof r=="string"?JSON.parse(r):r;if(!Array.isArray(s))return;if(Ae(this.items))for(let[i,o]of s.entries())s[i]=this.items.coerce(o,n);return s}catch{}return r}}),this.items=e,this.items=e;}type="array";children(e){let t=[];if(this.items){let r=new Ar(this.items,e);r.appendKeywordPath(["items"]),t.push(r);}return t}},tu=(e,t)=>new Jy(e,t),ru=e=>ns("boolean",e,{template:(t,r)=>r?.withExtendedOptional&&(t===void 0||!uo(t))?false:t,coerce:t=>{if(Ke(t)&&["true","false","1","0"].includes(t))return t==="true"||t==="1";if(et(t)){if(t===1)return true;if(t===0)return false}return t}}),Zn=Symbol.for("unionType"),nu=class extends tt{[Zn];constructor(e,t,r){super({...r,[t]:e},{coerce:(n,s)=>{let i=r?.coerce;if(i!==void 0)return i.bind(this)(n,s);let o=rs(e,n,{ignoreUnsupported:true,resolver:s?.resolver,coerce:true});return o.length>0?o[0].coerce(n,s):n}}),this[Zn]=t;}get schemas(){return this[this[Zn]]}children(e){let t=[];for(let[r,n]of this.schemas.entries()){let s=new Ar(n,e);s.appendKeywordPath([this[Zn],r]),t.push(s);}return t}},Xy=(e,t)=>new nu(e,"anyOf",t),Qy=(e,t)=>new nu(e,"oneOf",t);co=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),oo=e=>typeof globalThis.structuredClone=="function"?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)),Zy=["maximum","exclusiveMaximum","maxLength","maxItems","maxProperties"],ew=["minimum","exclusiveMinimum","minLength","minItems","minProperties"];nw=e=>e===true||e===false?e:null;iw=(e,t)=>{let r=JSON.parse(JSON.stringify({...t,allOf:e}));return Kt(sw(r))},su=class extends tt{$ref;constructor(e,t){if(!t&&!Ae(e))throw new Error("Ref not set");if(Ae(e)&&!e.$id)throw new Error("Ref must have an $id");let r=t??e?.$id;super({$ref:r},{coerce:(n,s)=>{let i=s?.resolver?.resolve(this.$ref);if(!Ae(i))throw new Error(`Ref not found: ${this.$ref}`);return i.coerce(n,s)}}),this.$ref=r;}},ow=(e,t)=>new su(e,t),aw=e=>new su(void 0,e),lw=e=>e(new tt({$ref:"#",coerce:(t,r)=>{let n=r?.resolver?.resolve("#");if(!Ae(n))throw new Error("Ref not found: #");return n.coerce(t,r)}})),iu={boolean:ru,any:Jc,literal:Hy,object:ss,strictObject:zy,partialObject:Gy,record:Ky,string:Xc,number:Zc,integer:eu,array:tu,anyOf:Xy,oneOf:Qy,allOf:iw,ref:ow,refId:aw,recursive:lw};});function au(e,t){if(typeof e!="string"){throw new Error("Email must be a string");}if(!iu.string({format:"email"}).validate(e).valid){throw new Error("Invalid email");}if(t?.domains?.length&&!t.domains.includes(e.split("@")[1])){throw new Error("Email domain not allowed");}return true}function lu(e,{panic:t=true,length:r=8,numbers:n=0,special:s=0}={}){try{if(typeof e!="string"){if(t)throw new Error("Password must be a string");return !1}if(e.length<r){if(t)throw new Error(`Password must be at least ${r} characters long`);return !1}if((e.match(/[0-9]/g)?.length??0)<n){if(t)throw new Error(`Password must contain at least ${n} numbers`);return !1}if((e.match(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/g)?.length??0)<s){if(t)throw new Error(`Password must contain at least ${s} special characters`);return !1}return !0}catch(i){if(t)throw i;return false}}function M(e,t='"'){return `${t}${e}${t}`}function cu(e,t,r){if(t instanceof RegExp)return t.test(e);if(typeof t=="string")switch(!r&&t.startsWith("/")&&(r="regex"),r){case "regex":return new RegExp(t).test(e);case "sql":return new RegExp(t.replace("%",".*").replace("_",".")).test(e);case "wildcard":return new RegExp(t.replace("*",".*")).test(e);default:return e.includes(t)}return false}var Cr=y(()=>{ou();});function fo(e){return typeof e=="number"?e:Number.parseInt(String(e),10)}var uu=y(()=>{});var pu=y(()=>{});var pt=y(()=>{Fc();Mc();Uc();Bc();qc();$r();Cr();uu();pu();});var mo,fu=y(()=>{mo=(e,t,r)=>(n,s)=>{let i=-1;return o(0);async function o(a){if(a<=i)throw new Error("next() called multiple times");i=a;let l,c=false,u;if(e[a]?(u=e[a][0][0],n.req.routeIndex=a):u=a===e.length&&s||void 0,u)try{l=await u(n,()=>o(a+1));}catch(p){if(p instanceof Error&&t)n.error=p,l=await t(p,n),c=true;else throw p}else n.finalized===false&&r&&(l=await r(n));return l&&(n.finalized===false||c)&&(n.res=l),n}};});var mu=y(()=>{});var du,hu=y(()=>{du=Symbol();});async function cw(e,t){let r=await e.formData();return r?uw(r,t):{}}function uw(e,t){let r=Object.create(null);return e.forEach((n,s)=>{t.all||s.endsWith("[]")?pw(r,s,n):r[s]=n;}),t.dot&&Object.entries(r).forEach(([n,s])=>{n.includes(".")&&(fw(r,n,s),delete r[n]);}),r}var gu,pw,fw,yu=y(()=>{ho();gu=async(e,t=Object.create(null))=>{let{all:r=false,dot:n=false}=t,i=(e instanceof is?e.raw.headers:e.headers).get("Content-Type");return i?.startsWith("multipart/form-data")||i?.startsWith("application/x-www-form-urlencoded")?cw(e,{all:r,dot:n}):{}};pw=(e,t,r)=>{e[t]!==void 0?Array.isArray(e[t])?e[t].push(r):e[t]=[e[t],r]:t.endsWith("[]")?e[t]=[r]:e[t]=r;},fw=(e,t,r)=>{let n=e,s=t.split(".");s.forEach((i,o)=>{o===s.length-1?n[i]=r:((!n[i]||typeof n[i]!="object"||Array.isArray(n[i])||n[i]instanceof File)&&(n[i]=Object.create(null)),n=n[i]);});};});var yo,wu,mw,dw,os,bu,as,hw,wo,Su,vt,ls,go,Eu,_u,xu,bo,Jt=y(()=>{yo=e=>{let t=e.split("/");return t[0]===""&&t.shift(),t},wu=e=>{let{groups:t,path:r}=mw(e),n=yo(r);return dw(n,t)},mw=e=>{let t=[];return e=e.replace(/\{[^}]+\}/g,(r,n)=>{let s=`@${n}`;return t.push([s,r]),s}),{groups:t,path:e}},dw=(e,t)=>{for(let r=t.length-1;r>=0;r--){let[n]=t[r];for(let s=e.length-1;s>=0;s--)if(e[s].includes(n)){e[s]=e[s].replace(n,t[r][1]);break}}return e},os={},bu=(e,t)=>{if(e==="*")return "*";let r=e.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(r){let n=`${e}#${t}`;return os[n]||(r[2]?os[n]=t&&t[0]!==":"&&t[0]!=="*"?[n,r[1],new RegExp(`^${r[2]}(?=/${t})`)]:[e,r[1],new RegExp(`^${r[2]}$`)]:os[n]=[e,r[1],true]),os[n]}return null},as=(e,t)=>{try{return t(e)}catch{return e.replace(/(?:%[0-9A-Fa-f]{2})+/g,r=>{try{return t(r)}catch{return r}})}},hw=e=>as(e,decodeURI),wo=e=>{let t=e.url,r=t.indexOf("/",t.indexOf(":")+4),n=r;for(;n<t.length;n++){let s=t.charCodeAt(n);if(s===37){let i=t.indexOf("?",n),o=t.indexOf("#",n),a=i===-1?o===-1?void 0:o:o===-1?i:Math.min(i,o),l=t.slice(r,a);return hw(l.includes("%25")?l.replace(/%25/g,"%2525"):l)}else if(s===63||s===35)break}return t.slice(r,n)},Su=e=>{let t=wo(e);return t.length>1&&t.at(-1)==="/"?t.slice(0,-1):t},vt=(e,t,...r)=>(r.length&&(t=vt(t,...r)),`${e?.[0]==="/"?"":"/"}${e}${t==="/"?"":`${e?.at(-1)==="/"?"":"/"}${t?.[0]==="/"?t.slice(1):t}`}`),ls=e=>{if(e.charCodeAt(e.length-1)!==63||!e.includes(":"))return null;let t=e.split("/"),r=[],n="";return t.forEach(s=>{if(s!==""&&!/\:/.test(s))n+="/"+s;else if(/\:/.test(s))if(/\?/.test(s)){r.length===0&&n===""?r.push("/"):r.push(n);let i=s.replace("?","");n+="/"+i,r.push(n);}else n+="/"+s;}),r.filter((s,i,o)=>o.indexOf(s)===i)},go=e=>/[%+]/.test(e)?(e.indexOf("+")!==-1&&(e=e.replace(/\+/g," ")),e.indexOf("%")!==-1?as(e,bo):e):e,Eu=(e,t,r)=>{let n;if(!r&&t&&!/[%+]/.test(t)){let o=e.indexOf("?",8);if(o===-1)return;for(e.startsWith(t,o+1)||(o=e.indexOf(`&${t}`,o+1));o!==-1;){let a=e.charCodeAt(o+t.length+1);if(a===61){let l=o+t.length+2,c=e.indexOf("&",l);return go(e.slice(l,c===-1?void 0:c))}else if(a==38||isNaN(a))return "";o=e.indexOf(`&${t}`,o+1);}if(n=/[%+]/.test(e),!n)return}let s={};n??=/[%+]/.test(e);let i=e.indexOf("?",8);for(;i!==-1;){let o=e.indexOf("&",i+1),a=e.indexOf("=",i);a>o&&o!==-1&&(a=-1);let l=e.slice(i+1,a===-1?o===-1?void 0:o:a);if(n&&(l=go(l)),i=o,l==="")continue;let c;a===-1?c="":(c=e.slice(a+1,o===-1?void 0:o),n&&(c=go(c))),r?(s[l]&&Array.isArray(s[l])||(s[l]=[]),s[l].push(c)):s[l]??=c;}return t?s[t]:s},_u=Eu,xu=(e,t)=>Eu(e,t,true),bo=decodeURIComponent;});var vu,is,ho=y(()=>{mu();hu();yu();Jt();vu=e=>as(e,bo),is=class{raw;#e;#t;routeIndex=0;path;bodyCache={};constructor(e,t="/",r=[[]]){this.raw=e,this.path=t,this.#t=r,this.#e={};}param(e){return e?this.#r(e):this.#i()}#r(e){let t=this.#t[0][this.routeIndex][1][e],r=this.#s(t);return r&&/\%/.test(r)?vu(r):r}#i(){let e={},t=Object.keys(this.#t[0][this.routeIndex][1]);for(let r of t){let n=this.#s(this.#t[0][this.routeIndex][1][r]);n!==void 0&&(e[r]=/\%/.test(n)?vu(n):n);}return e}#s(e){return this.#t[1]?this.#t[1][e]:e}query(e){return _u(this.url,e)}queries(e){return xu(this.url,e)}header(e){if(e)return this.raw.headers.get(e)??void 0;let t={};return this.raw.headers.forEach((r,n)=>{t[n]=r;}),t}async parseBody(e){return this.bodyCache.parsedBody??=await gu(this,e)}#n=e=>{let{bodyCache:t,raw:r}=this,n=t[e];if(n)return n;let s=Object.keys(t)[0];return s?t[s].then(i=>(s==="json"&&(i=JSON.stringify(i)),new Response(i)[e]())):t[e]=r[e]()};json(){return this.#n("text").then(e=>JSON.parse(e))}text(){return this.#n("text")}arrayBuffer(){return this.#n("arrayBuffer")}blob(){return this.#n("blob")}formData(){return this.#n("formData")}addValidatedData(e,t){this.#e[e]=t;}valid(e){return this.#e[e]}get url(){return this.raw.url}get method(){return this.raw.method}get[du](){return this.#t}get matchedRoutes(){return this.#t[0].map(([[,e]])=>e)}get routePath(){return this.#t[0].map(([[,e]])=>e)[this.routeIndex].path}};});var $u,Tu,So,Eo=y(()=>{$u={Stringify:1,BeforeStream:2,Stream:3},Tu=(e,t)=>{let r=new String(e);return r.isEscaped=true,r.callbacks=t,r},So=async(e,t,r,n,s)=>{typeof e=="object"&&!(e instanceof String)&&(e instanceof Promise||(e=e.toString()),e instanceof Promise&&(e=await e));let i=e.callbacks;if(!i?.length)return Promise.resolve(e);s?s[0]+=e:s=[e];let o=Promise.all(i.map(a=>a({phase:t,buffer:s,context:n}))).then(a=>Promise.all(a.filter(Boolean).map(l=>So(l,t,false,n,s))).then(()=>s[0]));return r?Tu(await o,i):o};});var gw,_o,Rr,Au,Cu=y(()=>{ho();Eo();gw="text/plain; charset=UTF-8",_o=(e,t)=>({"Content-Type":e,...t}),Rr=(e,t)=>new Response(e,t),Au=class{#e;#t;env={};#r;finalized=false;error;#i;#s;#n;#u;#l;#c;#a;#p;#f;constructor(e,t){this.#e=e,t&&(this.#s=t.executionCtx,this.env=t.env,this.#c=t.notFoundHandler,this.#f=t.path,this.#p=t.matchResult);}get req(){return this.#t??=new is(this.#e,this.#f,this.#p),this.#t}get event(){if(this.#s&&"respondWith"in this.#s)return this.#s;throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#s)return this.#s;throw Error("This context has no ExecutionContext")}get res(){return this.#n||=Rr(null,{headers:this.#a??=new Headers})}set res(e){if(this.#n&&e){e=Rr(e.body,e);for(let[t,r]of this.#n.headers.entries())if(t!=="content-type")if(t==="set-cookie"){let n=this.#n.headers.getSetCookie();e.headers.delete("set-cookie");for(let s of n)e.headers.append("set-cookie",s);}else e.headers.set(t,r);}this.#n=e,this.finalized=true;}render=(...e)=>(this.#l??=t=>this.html(t),this.#l(...e));setLayout=e=>this.#u=e;getLayout=()=>this.#u;setRenderer=e=>{this.#l=e;};header=(e,t,r)=>{this.finalized&&(this.#n=Rr(this.#n.body,this.#n));let n=this.#n?this.#n.headers:this.#a??=new Headers;t===void 0?n.delete(e):r?.append?n.append(e,t):n.set(e,t);};status=e=>{this.#i=e;};set=(e,t)=>{this.#r??=new Map,this.#r.set(e,t);};get=e=>this.#r?this.#r.get(e):void 0;get var(){return this.#r?Object.fromEntries(this.#r):{}}#o(e,t,r){let n=this.#n?new Headers(this.#n.headers):this.#a??new Headers;if(typeof t=="object"&&"headers"in t){let i=t.headers instanceof Headers?t.headers:new Headers(t.headers);for(let[o,a]of i)o.toLowerCase()==="set-cookie"?n.append(o,a):n.set(o,a);}if(r)for(let[i,o]of Object.entries(r))if(typeof o=="string")n.set(i,o);else {n.delete(i);for(let a of o)n.append(i,a);}let s=typeof t=="number"?t:t?.status??this.#i;return Rr(e,{status:s,headers:n})}newResponse=(...e)=>this.#o(...e);body=(e,t,r)=>this.#o(e,t,r);text=(e,t,r)=>!this.#a&&!this.#i&&!t&&!r&&!this.finalized?new Response(e):this.#o(e,t,_o(gw,r));json=(e,t,r)=>this.#o(JSON.stringify(e),t,_o("application/json",r));html=(e,t,r)=>{let n=s=>this.#o(s,t,_o("text/html; charset=UTF-8",r));return typeof e=="object"?So(e,$u.Stringify,false,{}).then(n):n(e)};redirect=(e,t)=>{let r=String(e);return this.header("Location",/[^\x00-\xFF]/.test(r)?encodeURI(r):r),this.newResponse(null,t??302)};notFound=()=>(this.#c??=()=>Rr(),this.#c(this))};});var re,Ru,Pu,cs,us,ft=y(()=>{re="ALL",Ru="all",Pu=["get","post","put","delete","options","patch"],cs="Can not add a route since the matcher is already built.",us=class extends Error{};});var Pr,xo=y(()=>{Pr="__COMPOSED_HANDLER";});var yw,ku,Nu,Iu=y(()=>{fu();Cu();ft();xo();Jt();yw=e=>e.text("404 Not Found",404),ku=(e,t)=>{if("getResponse"in e){let r=e.getResponse();return t.newResponse(r.body,r)}return console.error(e),t.text("Internal Server Error",500)},Nu=class Ou{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#e="/";routes=[];constructor(t={}){[...Pu,Ru].forEach(i=>{this[i]=(o,...a)=>(typeof o=="string"?this.#e=o:this.#i(i,this.#e,o),a.forEach(l=>{this.#i(i,this.#e,l);}),this);}),this.on=(i,o,...a)=>{for(let l of [o].flat()){this.#e=l;for(let c of [i].flat())a.map(u=>{this.#i(c.toUpperCase(),this.#e,u);});}return this},this.use=(i,...o)=>(typeof i=="string"?this.#e=i:(this.#e="*",o.unshift(i)),o.forEach(a=>{this.#i(re,this.#e,a);}),this);let{strict:n,...s}=t;Object.assign(this,s),this.getPath=n??true?t.getPath??wo:Su;}#t(){let t=new Ou({router:this.router,getPath:this.getPath});return t.errorHandler=this.errorHandler,t.#r=this.#r,t.routes=this.routes,t}#r=yw;errorHandler=ku;route(t,r){let n=this.basePath(t);return r.routes.map(s=>{let i;r.errorHandler===ku?i=s.handler:(i=async(o,a)=>(await mo([],r.errorHandler)(o,()=>s.handler(o,a))).res,i[Pr]=s.handler),n.#i(s.method,s.path,i);}),this}basePath(t){let r=this.#t();return r._basePath=vt(this._basePath,t),r}onError=t=>(this.errorHandler=t,this);notFound=t=>(this.#r=t,this);mount(t,r,n){let s,i;n&&(typeof n=="function"?i=n:(i=n.optionHandler,n.replaceRequest===false?s=l=>l:s=n.replaceRequest));let o=i?l=>{let c=i(l);return Array.isArray(c)?c:[c]}:l=>{let c;try{c=l.executionCtx;}catch{}return [l.env,c]};s||=(()=>{let l=vt(this._basePath,t),c=l==="/"?0:l.length;return u=>{let p=new URL(u.url);return p.pathname=p.pathname.slice(c)||"/",new Request(p,u)}})();let a=async(l,c)=>{let u=await r(s(l.req.raw),...o(l));if(u)return u;await c();};return this.#i(re,vt(t,"*"),a),this}#i(t,r,n){t=t.toUpperCase(),r=vt(this._basePath,r);let s={basePath:this._basePath,path:r,method:t,handler:n};this.router.add(t,r,[n,s]),this.routes.push(s);}#s(t,r){if(t instanceof Error)return this.errorHandler(t,r);throw t}#n(t,r,n,s){if(s==="HEAD")return (async()=>new Response(null,await this.#n(t,r,n,"GET")))();let i=this.getPath(t,{env:n}),o=this.router.match(s,i),a=new Au(t,{path:i,matchResult:o,env:n,executionCtx:r,notFoundHandler:this.#r});if(o[0].length===1){let c;try{c=o[0][0][0][0](a,async()=>{a.res=await this.#r(a);});}catch(u){return this.#s(u,a)}return c instanceof Promise?c.then(u=>u||(a.finalized?a.res:this.#r(a))).catch(u=>this.#s(u,a)):c??this.#r(a)}let l=mo(o[0],this.errorHandler,this.#r);return (async()=>{try{let c=await l(a);if(!c.finalized)throw new Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return c.res}catch(c){return this.#s(c,a)}})()}fetch=(t,...r)=>this.#n(t,r[1],r[0],t.method);request=(t,r,n,s)=>t instanceof Request?this.fetch(r?new Request(t,r):t,n,s):(t=t.toString(),this.fetch(new Request(/^https?:\/\//.test(t)?t:`http://localhost${vt("/",t)}`,r),n,s));fire=()=>{addEventListener("fetch",t=>{t.respondWith(this.#n(t.request,t,void 0,t.request.method));});}};});function vo(e,t){let r=this.buildAllMatchers(),n=((s,i)=>{let o=r[s]||r[re],a=o[2][i];if(a)return a;let l=i.match(o[0]);if(!l)return [[],ps];let c=l.indexOf("",1);return [o[1][c],l]});return this.match=n,n(e,t)}var ps,$o=y(()=>{ft();ps=[];});function bw(e,t){return e.length===1?t.length===1?e<t?-1:1:-1:t.length===1||e===kr||e===Nr?1:t===kr||t===Nr?-1:e===fs?1:t===fs?-1:e.length===t.length?e<t?-1:1:t.length-e.length}var fs,kr,Nr,$t,ww,Lu,Ao=y(()=>{fs="[^/]+",kr=".*",Nr="(?:|/.*)",$t=Symbol(),ww=new Set(".\\+*[^]$()");Lu=class To{#e;#t;#r=Object.create(null);insert(t,r,n,s,i){if(t.length===0){if(this.#e!==void 0)throw $t;if(i)return;this.#e=r;return}let[o,...a]=t,l=o==="*"?a.length===0?["","",kr]:["","",fs]:o==="/*"?["","",Nr]:o.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),c;if(l){let u=l[1],p=l[2]||fs;if(u&&l[2]&&(p===".*"||(p=p.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(p))))throw $t;if(c=this.#r[p],!c){if(Object.keys(this.#r).some(f=>f!==kr&&f!==Nr))throw $t;if(i)return;c=this.#r[p]=new To,u!==""&&(c.#t=s.varIndex++);}!i&&u!==""&&n.push([u,c.#t]);}else if(c=this.#r[o],!c){if(Object.keys(this.#r).some(u=>u.length>1&&u!==kr&&u!==Nr))throw $t;if(i)return;c=this.#r[o]=new To;}c.insert(a,r,n,s,i);}buildRegExpStr(){let r=Object.keys(this.#r).sort(bw).map(n=>{let s=this.#r[n];return (typeof s.#t=="number"?`(${n})@${s.#t}`:ww.has(n)?`\\${n}`:n)+s.buildRegExpStr()});return typeof this.#e=="number"&&r.unshift(`#${this.#e}`),r.length===0?"":r.length===1?r[0]:"(?:"+r.join("|")+")"}};});var Du,ju=y(()=>{Ao();Du=class{#e={varIndex:0};#t=new Lu;insert(e,t,r){let n=[],s=[];for(let o=0;;){let a=false;if(e=e.replace(/\{[^}]+\}/g,l=>{let c=`@\\${o}`;return s[o]=[c,l],o++,a=true,c}),!a)break}let i=e.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let o=s.length-1;o>=0;o--){let[a]=s[o];for(let l=i.length-1;l>=0;l--)if(i[l].indexOf(a)!==-1){i[l]=i[l].replace(a,s[o][1]);break}}return this.#t.insert(i,t,n,this.#e,r),n}buildRegExp(){let e=this.#t.buildRegExpStr();if(e==="")return [/^$/,[],[]];let t=0,r=[],n=[];return e=e.replace(/#(\d+)|@(\d+)|\.\*\$/g,(s,i,o)=>i!==void 0?(r[++t]=Number(i),"$()"):(o!==void 0&&(n[Number(o)]=++t),"")),[new RegExp(`^${e}`),r,n]}};});function Mu(e){return Fu[e]??=new RegExp(e==="*"?"":`^${e.replace(/\/\*$|([.\\+*[^\]$()])/g,(t,r)=>r?`\\${r}`:"(?:|/.*)")}$`)}function Ew(){Fu=Object.create(null);}function _w(e){let t=new Du,r=[];if(e.length===0)return Sw;let n=e.map(c=>[!/\*|\/:/.test(c[0]),...c]).sort(([c,u],[p,f])=>c?1:p?-1:u.length-f.length),s=Object.create(null);for(let c=0,u=-1,p=n.length;c<p;c++){let[f,h,d]=n[c];f?s[h]=[d.map(([b])=>[b,Object.create(null)]),ps]:u++;let m;try{m=t.insert(h,u,f);}catch(b){throw b===$t?new us(h):b}f||(r[u]=d.map(([b,g])=>{let S=Object.create(null);for(g-=1;g>=0;g--){let[A,v]=m[g];S[A]=v;}return [b,S]}));}let[i,o,a]=t.buildRegExp();for(let c=0,u=r.length;c<u;c++)for(let p=0,f=r[c].length;p<f;p++){let h=r[c][p]?.[1];if(!h)continue;let d=Object.keys(h);for(let m=0,b=d.length;m<b;m++)h[d[m]]=a[h[d[m]]];}let l=[];for(let c in o)l[c]=r[o[c]];return [i,l,s]}function Xt(e,t){if(e){for(let r of Object.keys(e).sort((n,s)=>s.length-n.length))if(Mu(r).test(t))return [...e[r]]}}var Sw,Fu,ms,Co=y(()=>{ft();Jt();$o();Ao();ju();Sw=[/^$/,[],Object.create(null)],Fu=Object.create(null);ms=class{name="RegExpRouter";#e;#t;constructor(){this.#e={[re]:Object.create(null)},this.#t={[re]:Object.create(null)};}add(e,t,r){let n=this.#e,s=this.#t;if(!n||!s)throw new Error(cs);n[e]||[n,s].forEach(a=>{a[e]=Object.create(null),Object.keys(a[re]).forEach(l=>{a[e][l]=[...a[re][l]];});}),t==="/*"&&(t="*");let i=(t.match(/\/:/g)||[]).length;if(/\*$/.test(t)){let a=Mu(t);e===re?Object.keys(n).forEach(l=>{n[l][t]||=Xt(n[l],t)||Xt(n[re],t)||[];}):n[e][t]||=Xt(n[e],t)||Xt(n[re],t)||[],Object.keys(n).forEach(l=>{(e===re||e===l)&&Object.keys(n[l]).forEach(c=>{a.test(c)&&n[l][c].push([r,i]);});}),Object.keys(s).forEach(l=>{(e===re||e===l)&&Object.keys(s[l]).forEach(c=>a.test(c)&&s[l][c].push([r,i]));});return}let o=ls(t)||[t];for(let a=0,l=o.length;a<l;a++){let c=o[a];Object.keys(s).forEach(u=>{(e===re||e===u)&&(s[u][c]||=[...Xt(n[u],c)||Xt(n[re],c)||[]],s[u][c].push([r,i-l+a+1]));});}}match=vo;buildAllMatchers(){let e=Object.create(null);return Object.keys(this.#t).concat(Object.keys(this.#e)).forEach(t=>{e[t]||=this.#r(t);}),this.#e=this.#t=void 0,Ew(),e}#r(e){let t=[],r=e===re;return [this.#e,this.#t].forEach(n=>{let s=n[e]?Object.keys(n[e]).map(i=>[i,n[e][i]]):[];s.length!==0?(r||=true,t.push(...s)):e!==re&&t.push(...Object.keys(n[re]).map(i=>[i,n[re][i]]));}),r?_w(t):null}};});var Uu=y(()=>{ft();$o();Co();});var Bu=y(()=>{Co();Uu();});var Ro,qu=y(()=>{ft();Ro=class{name="SmartRouter";#e=[];#t=[];constructor(e){this.#e=e.routers;}add(e,t,r){if(!this.#t)throw new Error(cs);this.#t.push([e,t,r]);}match(e,t){if(!this.#t)throw new Error("Fatal error");let r=this.#e,n=this.#t,s=r.length,i=0,o;for(;i<s;i++){let a=r[i];try{for(let l=0,c=n.length;l<c;l++)a.add(...n[l]);o=a.match(e,t);}catch(l){if(l instanceof us)continue;throw l}this.match=a.match.bind(a),this.#e=[a],this.#t=void 0;break}if(i===s)throw new Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,o}get activeRouter(){if(this.#t||this.#e.length!==1)throw new Error("No active router has been determined yet.");return this.#e[0]}};});var Hu=y(()=>{qu();});var Or,xw,Wu,Gu=y(()=>{ft();Jt();Or=Object.create(null),xw=e=>{for(let t in e)return true;return false},Wu=class zu{#e;#t;#r;#i=0;#s=Or;constructor(t,r,n){if(this.#t=n||Object.create(null),this.#e=[],t&&r){let s=Object.create(null);s[t]={handler:r,possibleKeys:[],score:0},this.#e=[s];}this.#r=[];}insert(t,r,n){this.#i=++this.#i;let s=this,i=wu(r),o=[];for(let a=0,l=i.length;a<l;a++){let c=i[a],u=i[a+1],p=bu(c,u),f=Array.isArray(p)?p[0]:c;if(f in s.#t){s=s.#t[f],p&&o.push(p[1]);continue}s.#t[f]=new zu,p&&(s.#r.push(p),o.push(p[1])),s=s.#t[f];}return s.#e.push({[t]:{handler:n,possibleKeys:o.filter((a,l,c)=>c.indexOf(a)===l),score:this.#i}}),s}#n(t,r,n,s,i){for(let o=0,a=r.#e.length;o<a;o++){let l=r.#e[o],c=l[n]||l[re],u={};if(c!==void 0&&(c.params=Object.create(null),t.push(c),s!==Or||i&&i!==Or))for(let p=0,f=c.possibleKeys.length;p<f;p++){let h=c.possibleKeys[p],d=u[c.score];c.params[h]=i?.[h]&&!d?i[h]:s[h]??i?.[h],u[c.score]=true;}}}search(t,r){let n=[];this.#s=Or;let i=[this],o=yo(r),a=[],l=o.length,c=null;for(let u=0;u<l;u++){let p=o[u],f=u===l-1,h=[];for(let m=0,b=i.length;m<b;m++){let g=i[m],S=g.#t[p];S&&(S.#s=g.#s,f?(S.#t["*"]&&this.#n(n,S.#t["*"],t,g.#s),this.#n(n,S,t,g.#s)):h.push(S));for(let A=0,v=g.#r.length;A<v;A++){let k=g.#r[A],N=g.#s===Or?{}:{...g.#s};if(k==="*"){let L=g.#t["*"];L&&(this.#n(n,L,t,g.#s),L.#s=N,h.push(L));continue}let[$,x,I]=k;if(!p&&!(I instanceof RegExp))continue;let w=g.#t[$];if(I instanceof RegExp){if(c===null){c=new Array(l);let q=r[0]==="/"?1:0;for(let E=0;E<l;E++)c[E]=q,q+=o[E].length+1;}let L=r.substring(c[u]),T=I.exec(L);if(T){if(N[x]=T[0],this.#n(n,w,t,g.#s,N),xw(w.#t)){w.#s=N;let q=T[0].match(/\//)?.length??0;(a[q]||=[]).push(w);}continue}}(I===true||I.test(p))&&(N[x]=p,f?(this.#n(n,w,t,N,g.#s),w.#t["*"]&&this.#n(n,w.#t["*"],t,N,g.#s)):(w.#s=N,h.push(w)));}}let d=a.shift();i=d?h.concat(d):h;}return n.length>1&&n.sort((u,p)=>u.score-p.score),[n.map(({handler:u,params:p})=>[u,p])]}};});var Po,Vu=y(()=>{Jt();Gu();Po=class{name="TrieRouter";#e;constructor(){this.#e=new Wu;}add(e,t,r){let n=ls(t);if(n){for(let s=0,i=n.length;s<i;s++)this.#e.insert(e,n[s],r);return}this.#e.insert(e,t,r);}match(e,t){return this.#e.search(e,t)}};});var Ku=y(()=>{Vu();});var ko,Yu=y(()=>{Iu();Bu();Hu();Ku();ko=class extends Nu{constructor(e={}){super(e),this.router=e.router??new Ro({routers:[new ms,new Po]});}};});var Ju=y(()=>{Yu();});function No(e){return !e||typeof e!="object"?false:e.code==="EADDRINUSE"}function Xu(e,t){return new Promise((r,n)=>{let s=o=>{e.off("listening",i),n(o);},i=()=>{e.off("error",s),r();};e.once("error",s),e.once("listening",i),e.listen(t);})}function Oo(e){console.error(),console.error(Ir.default.red(`Cannot start server: Port ${Ir.default.bold(String(e))} is already in use.`)),console.error(Ir.default.red(`Stop the process using that port, or set a different ${Ir.default.bold("api.port")} in your config.`)),console.error(),process.exit(1);}var Ir,Qu=y(()=>{Ir=te(ie());});var Zu,ep=y(()=>{Zu=/^\s*(?:text\/(?!event-stream(?:[;\s]|$))[^;\s]+|application\/(?:javascript|json|xml|xml-dtd|ecmascript|dart|postscript|rtf|tar|toml|vnd\.dart|vnd\.ms-fontobject|vnd\.ms-opentype|wasm|x-httpd-php|x-javascript|x-ns-proxy-autoconfig|x-sh|x-tar|x-virtualbox-hdd|x-virtualbox-ova|x-virtualbox-ovf|x-virtualbox-vbox|x-virtualbox-vdi|x-virtualbox-vhd|x-virtualbox-vmdk|x-www-form-urlencoded)|font\/(?:otf|ttf)|image\/(?:bmp|vnd\.adobe\.photoshop|vnd\.microsoft\.icon|vnd\.ms-dds|x-icon|x-ms-bmp)|message\/rfc822|model\/gltf-binary|x-shader\/x-fragment|x-shader\/x-vertex|[^;\s]+?\+(?:json|text|xml|yaml))(?:[;\s]|$)/i;});var Lo,tp,vw,Io,Do=y(()=>{Lo=(e,t=Io)=>{let r=/\.([a-zA-Z0-9]+?)$/,n=e.match(r);if(!n)return;let s=t[n[1]];return s&&s.startsWith("text")&&(s+="; charset=utf-8"),s},tp=e=>{for(let t in Io)if(Io[t]===e)return t},vw={aac:"audio/aac",avi:"video/x-msvideo",avif:"image/avif",av1:"video/av1",bin:"application/octet-stream",bmp:"image/bmp",css:"text/css",csv:"text/csv",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gif:"image/gif",gz:"application/gzip",htm:"text/html",html:"text/html",ico:"image/x-icon",ics:"text/calendar",jpeg:"image/jpeg",jpg:"image/jpeg",js:"text/javascript",json:"application/json",jsonld:"application/ld+json",map:"application/json",mid:"audio/x-midi",midi:"audio/x-midi",mjs:"text/javascript",mp3:"audio/mpeg",mp4:"video/mp4",mpeg:"video/mpeg",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",opus:"audio/opus",otf:"font/otf",pdf:"application/pdf",png:"image/png",rtf:"application/rtf",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",ts:"video/mp2t",ttf:"font/ttf",txt:"text/plain",wasm:"application/wasm",webm:"video/webm",weba:"audio/webm",webmanifest:"application/manifest+json",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xml:"application/xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2",gltf:"model/gltf+json",glb:"model/gltf-binary"},Io=vw;});var rp,np=y(()=>{rp=(...e)=>{let t=e.filter(s=>s!=="").join("/");t=t.replace(/(?<=\/)\/+/g,"");let r=t.split("/"),n=[];for(let s of r)s===".."&&n.length>0&&n.at(-1)!==".."?n.pop():s!=="."&&n.push(s);return n.join("/")||"."};});var sp,$w,Tw,ip,op=y(()=>{ep();Do();np();sp={br:".br",zstd:".zst",gzip:".gz"},$w=Object.keys(sp),Tw="index.html",ip=e=>{let t=e.root??"./",r=e.path,n=e.join??rp;return async(s,i)=>{if(s.finalized)return i();let o;if(e.path)o=e.path;else try{if(o=decodeURIComponent(s.req.path),/(?:^|[\/\\])\.\.(?:$|[\/\\])/.test(o))throw new Error}catch{return await e.onNotFound?.(s.req.path,s),i()}let a=n(t,!r&&e.rewriteRequestPath?e.rewriteRequestPath(o):o);e.isDir&&await e.isDir(a)&&(a=n(a,Tw));let l=e.getContent,c=await l(a,s);if(c instanceof Response)return s.newResponse(c.body,c);if(c){let u=e.mimes&&Lo(a,e.mimes)||Lo(a);if(s.header("Content-Type",u||"application/octet-stream"),e.precompressed&&(!u||Zu.test(u))){let p=new Set(s.req.header("Accept-Encoding")?.split(",").map(f=>f.trim()));for(let f of $w){if(!p.has(f))continue;let h=await l(a+sp[f],s);if(h){c=h,s.header("Content-Encoding",f),s.header("Vary","Accept-Encoding",{append:true});break}}}return await e.onFound?.(a,s),s.body(c)}await e.onNotFound?.(a,s),await i();}};});var ap,lp=y(()=>{op();ap=e=>async function(r,n){return ip({...e,getContent:async o=>{let a=Bun.file(o);return await a.exists()?a:null},join:join,isDir:async o=>{let a;try{a=(await stat(o)).isDirectory();}catch{}return a}})(r,n)};});var cp=y(()=>{});var up,pp=y(()=>{cp();up=(e,t)=>{for(let[r,n]of Object.entries(t)){let s=new RegExp("/:"+r+"(?:{[^/]+})?\\??");e=e.replace(s,n?`/${n}`:"");}return e};});var Rw,fp,mp=y(()=>{Rw=1024,fp=({concurrency:e,interval:t}={})=>{if(e||=Rw,e===1/0)return {run:async s=>s()};let r=new Set,n=async(s,i,o)=>{if(r.size>=e)return i||=new Promise(c=>o=c),setTimeout(()=>n(s,i,o)),i;let a={};r.add(a);let l=await s();return t?setTimeout(()=>r.delete(a),t):r.delete(a),o?(o(l),i):l};return {run:n}};});var dp,jo,hp=y(()=>{xo();dp=e=>e.length>1,jo=e=>e[Pr]?jo(e[Pr]):e;});var gp,Pw,kw,Nw,Ow,Lr,yp,Fo,Mo=y(()=>{ft();hp();gp=e=>e.split(/[\/\\]/).slice(0,-1).join("/"),Pw=e=>e.replace(/(\\)/g,"/").replace(/\/$/g,""),kw=(e,t)=>{e.length===0||t?e.push(".."):e.pop();},Nw=(e,t)=>{e=e.replace(/^\.(?!.)/,""),e!==""&&t.push(e);},Ow=(e,t)=>{let r=false;for(let n of e)n===".."?(kw(t,r),r=true):(Nw(n,t),r=false);},Lr=(...e)=>{e=e.map(Pw);let t=[];return Ow(e.join("/").split("/"),t),(e[0][0]==="/"?"/":"")+t.join("/")},yp=e=>e.routes.reduce((t,{method:r,handler:n,path:s})=>{let i=jo(n);return ["GET",re].includes(r)&&!dp(i)&&t.push({path:s}),t},[]),Fo=e=>e.split("/").some(t=>t.startsWith(":")||t.includes("*"));});var wp,ds,Uo=y(()=>{Mo();wp="HONO_SSG_CONTEXT",ds="x-hono-disable-ssg",(()=>{try{return new Response("SSG is disabled",{status:404,headers:{[ds]:"true"}})}catch{return null}})();});var bp=y(()=>{Eo();});var Bo,qo=y(()=>{bp();Bo=()=>({afterResponseHook:e=>e.status!==200?false:e});});var Iw,Lw,Dw,jw,Fw,Mw,Uw,Bw,qw,Hw,Ww,Sp,zw,Ep,_p=y(()=>{pp();mp();Do();Uo();qo();Mo();Iw=2,Lw="text/plain",Dw="./static",jw=(e,t,r,n)=>{let s=Uw(r,n);return e.endsWith(`.${s}`)?Lr(t,e):e==="/"?Lr(t,`index.${s}`):e.endsWith("/")?Lr(t,e,`index.${s}`):Lr(t,`${e}.${s}`)},Fw=async e=>{let t=e.headers.get("Content-Type");try{return t?.includes("text")||t?.includes("json")?await e.text():await e.arrayBuffer()}catch(r){throw new Error(`Error processing response: ${r instanceof Error?r.message:"Unknown error"}`)}},Mw={"text/html":"html","text/xml":"xml","application/xml":"xml","application/yaml":"yaml"},Uw=(e,t)=>{let r=t||Mw;return e in r?r[e]:tp(e)||"html"},Bw=e=>Array.isArray(e)?async t=>{let r=t;for(let n of e){let s=await n(r);if(s===false)return false;s instanceof Request&&(r=s);}return r}:e,qw=e=>Array.isArray(e)?async t=>{let r=t;for(let n of e){let s=await n(r);if(s===false)return false;s instanceof Response&&(r=s);}return r}:e,Hw=(e,t,r)=>Array.isArray(e)?async n=>{for(let s of e)await s(n,t,r);}:e,Ww=function*(e,t,r,n){let s="http://localhost",i=fp({concurrency:n});for(let o of yp(e)){let a=new URL(o.path,s).toString(),l=new Request(a);yield new Promise(async(c,u)=>{try{if(t){let f=await t(l);if(!f){c(void 0);return}l=f;}if(await i.run(()=>e.fetch(l)),!l.ssgParams){if(Fo(o.path)){c(void 0);return}l.ssgParams=[{}];}let p={method:l.method,headers:l.headers};c((function*(){for(let f of l.ssgParams)yield new Promise(async(h,d)=>{try{let m=up(o.path,f),b=await i.run(()=>e.request(m,p,{[wp]:!0}));if(b.headers.get(ds)){h(void 0);return}if(r){let A=await r(b);if(!A){h(void 0);return}b=A;}let g=b.headers.get("Content-Type")?.split(";")[0]||Lw,S=await Fw(b);h({routePath:m,mimeType:g,content:S});}catch(m){d(m);}});})());}catch(p){u(p);}});}},Sp=new Set,zw=async(e,t,r,n)=>{let s=await e;if(!s)return;let{routePath:i,content:o,mimeType:a}=s,l=jw(i,r,a,n),c=gp(l);return Sp.has(c)||(await t.mkdir(c,{recursive:true}),Sp.add(c)),typeof o=="string"?await t.writeFile(l,o):o instanceof ArrayBuffer&&await t.writeFile(l,new Uint8Array(o)),l},Ep=async(e,t,r)=>{let n,s=[],i=[],o=r?.plugins||[Bo()],a=[],l=[],c=[];r?.beforeRequestHook&&a.push(...Array.isArray(r.beforeRequestHook)?r.beforeRequestHook:[r.beforeRequestHook]),r?.afterResponseHook&&l.push(...Array.isArray(r.afterResponseHook)?r.afterResponseHook:[r.afterResponseHook]),r?.afterGenerateHook&&c.push(...Array.isArray(r.afterGenerateHook)?r.afterGenerateHook:[r.afterGenerateHook]);for(let u of o)u.beforeRequestHook&&a.push(...Array.isArray(u.beforeRequestHook)?u.beforeRequestHook:[u.beforeRequestHook]),u.afterResponseHook&&l.push(...Array.isArray(u.afterResponseHook)?u.afterResponseHook:[u.afterResponseHook]),u.afterGenerateHook&&c.push(...Array.isArray(u.afterGenerateHook)?u.afterGenerateHook:[u.afterGenerateHook]);try{let u=r?.dir??Dw,p=r?.concurrency??Iw,f=Bw(a.length>0?a:[b=>b]),h=qw(l.length>0?l:[b=>b]),d=Ww(e,f,h,p);for(let b of d)s.push(b.then(g=>{if(g)for(let S of g)i.push(zw(S,t,u,r?.extensionMap).catch(A=>A));}));await Promise.all(s);let m=[];for(let b of i){let g=await b;if(typeof g=="string")m.push(g);else if(g)throw g}n={success:!0,files:m};}catch(u){let p=u instanceof Error?u:new Error(String(u));n={success:false,files:[],error:p};}return c.length>0&&await Hw(c,t,r)(n,t,r),n};});var xp=y(()=>{_p();Uo();qo();});var Gw,Ho,vp,$p=y(()=>{xp();(({write:Gw}=Bun)),Ho={writeFile:async(e,t)=>{await Gw(e,t);},mkdir:async()=>{}},vp=async(e,t)=>Ep(e,Ho,t);});var Tp,Ap,Cp,Rp=y(()=>{Tp=class{#e;constructor(e){this.#e=e,this.raw=e.raw,this.url=e.url?new URL(e.url):null,this.protocol=e.protocol??null;}send(e,t){this.#e.send(e,t??{});}raw;binaryType="arraybuffer";get readyState(){return this.#e.readyState}url;protocol;close(e,t){this.#e.close(e,t);}},Ap=e=>new MessageEvent("message",{data:e}),Cp=e=>((...t)=>{if(typeof t[0]=="function"){let[r,n]=t;return async function(i,o){let a=await r(i),l=await e(i,a,n);if(l)return l;await o();}}else {let[r,n,s]=t;return (async()=>{let i=await e(r,n,s);if(!i)throw new Error("Failed to upgrade WebSocket");return i})()}});});var Qt,hs=y(()=>{Qt=e=>"server"in e.env?e.env.server:e.env;});var Wo,zo,Go,Pp,kp=y(()=>{Rp();hs();Wo=e=>new Tp({send:(t,r)=>{e.send(t,r?.compress);},raw:e,readyState:e.readyState,url:e.data.url,protocol:e.data.protocol,close(t,r){e.close(t,r);}}),zo=Cp((e,t)=>{let r=Qt(e);if(!r)throw new TypeError("env has to include the 2nd argument of fetch.");if(r.upgrade(e.req.raw,{data:{events:t,url:new URL(e.req.url),protocol:e.req.url}}))return new Response(null)}),Go={open(e){let t=e.data.events;t.onOpen&&t.onOpen(new Event("open"),Wo(e));},close(e,t,r){let n=e.data.events;n.onClose&&n.onClose(new CloseEvent("close",{code:t,reason:r}),Wo(e));},message(e,t){let r=e.data.events;if(r.onMessage){let n=typeof t=="string"?t:t.buffer;r.onMessage(Ap(n),Wo(e));}}},Pp=()=>({upgradeWebSocket:zo,websocket:Go});});var Np,Op=y(()=>{hs();Np=e=>{let t=Qt(e);if(!t)throw new TypeError("env has to include the 2nd argument of fetch.");if(typeof t.requestIP!="function")throw new TypeError("server.requestIP is not a function.");let r=t.requestIP(e.req.raw);return r?{remote:{address:r.address,addressType:r.family==="IPv6"||r.family==="IPv4"?r.family:void 0,port:r.port}}:{remote:{}}};});var Ip={};de(Ip,{bunFileSystemModule:()=>Ho,createBunWebSocket:()=>Pp,getBunServer:()=>Qt,getConnInfo:()=>Np,serveStatic:()=>ap,toSSG:()=>vp,upgradeWebSocket:()=>zo,websocket:()=>Go});var Lp=y(()=>{lp();$p();kp();Op();hs();});async function gs(e,t={port:3e3}){let r=Kn(),n=t.port??3e3;if(vr()){let s=await Promise.resolve().then(()=>(Lp(),Ip)).then(o=>o.serveStatic),i;try{i=Bun.serve({fetch:jp(e,r,s).fetch,port:n});}catch(o){throw No(o)&&Oo(n),o}return async()=>{await i.stop();}}else {let{createAdaptorServer:s}=await import('@hono/node-server'),i=await import('@hono/node-server/serve-static').then(a=>a.serveStatic),o=s({fetch:jp(e,r,i).fetch});try{await Xu(o,n);}catch(a){throw No(a)&&Oo(n),a}return ()=>new Promise(a=>{o.close(()=>{a(void 0);});})}}function jp(e,t,r){return new ko().use("/favicon.ico",r({path:z__default.join(t,"static","favicon.ico")})).use("/fonts/*",r({root:z__default.join(t,"static"),onNotFound:n=>{console.log("fonts not found",n,process.cwd());}})).use("/static/*",r({root:t,onNotFound(n){console.log("not found",n,process.cwd());}})).all("*",async n=>e.fetch(n.req.raw))}var Vo=y(()=>{pt();Ju();Qu();Ee();});var nt,Ko=y(()=>{St();nt=class e{root;constructor(t,r){let n=r??e.projectDir();this.root=z__default.join(n,t??"");}ensureRoot(){Pe(this.root);}static homeDir(){return z__default.join(Vw.homedir(),".lite")}static projectDir(){return z__default.join(process.cwd(),"supabase")}deleteAll(t=false){try{Mn.rmSync(this.root,{recursive:!0});}catch(r){if(!t)throw r}this.ensureRoot();}delete(t,r=false){try{Mn.unlinkSync(z__default.join(this.root,t));}catch(n){if(!r)throw n}}write(t,r,n=false){try{this.ensureRoot(),Mn.writeFileSync(z__default.join(this.root,t),r);}catch(s){if(!n)throw s}}read(t,r=false){try{return Mn.readFileSync(z__default.join(this.root,t),"utf8")}catch(n){if(!r)throw n}}relativePath(t){return t?z__default.relative(process.cwd(),z__default.join(this.root,t)):this.root}path(t){return t?z__default.join(this.root,t):this.root}};});var Dr,Yo=y(()=>{Dr=process.env.SUPALITE_CLOUD_URL??(process.env.LOCAL?"http://localhost:2000":"https://www.lite.dev");});var bs,Fp=y(()=>{St();bs=class{root;constructor(t){this.root=t??z__default.join(Vw.homedir(),".lite","auth"),Pe(this.root);}async getItem(t){try{return Mn.readFileSync(z__default.join(this.root,t+".json"),"utf8")}catch{return null}}async setItem(t,r){Mn.writeFileSync(z__default.join(this.root,t+".json"),r);}async removeItem(t){try{Mn.unlinkSync(z__default.join(this.root,t+".json"));}catch{return}}};});var Zt,Xo=y(()=>{Yo();Ko();Fp();Zt=class{constructor(t){this.config=t;this.tempFs=new nt(".temp",this.config.root),this.projectFs=new nt("supabase",this.config.root),this.schemaFs=new nt("schemas",this.config.root),this.authStorage=this.config.authStorage??new bs(z__default.join(nt.homeDir(),"auth")),this._client=this.config.withSupabaseClient!==false?this.config.client??createClient(this.config.host??Dr,process.env.SUPALITE_CLOUD_ANON_KEY??"...",{auth:{storage:this.authStorage}}):void 0;}tempFs;projectFs;schemaFs;_client;authStorage;async fetch(t,r){if(!this.config.token)throw new Error("Not authenticated, sign in first.");let n=t instanceof URL?t:new URL(t,this.config.host??Dr);return await fetch(n,{...r,headers:{...r?.headers,Authorization:`Bearer ${this.config.token}`}})}};});var er,Qo=y(()=>{Xo();er=class extends Zt{constructor(r){super(r);this.config=r;}get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}projectRef(){return this.tempFs.read("project-ref",true)}projectUrl(r){let n=new URL(this.config.host),s=n.hostname==="localhost"?"supalite.local":n.hostname,i=s.split(".").filter(a=>a!=="www"),o=i.length>=2?i.slice(-2).join("."):s;return `${n.protocol}//${r}.${o}${n.port?`:${n.port}`:""}`}};});function Xw(e){let t=z.extname(e).toLowerCase();return {".html":"text/html",".css":"text/css",".js":"application/javascript",".json":"application/json",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".svg":"image/svg+xml",".webp":"image/webp",".avif":"image/avif",".pdf":"application/pdf",".txt":"text/plain",".xml":"application/xml",".zip":"application/zip",".mp4":"video/mp4",".webm":"video/webm",".mp3":"audio/mpeg",".wav":"audio/wav",".woff":"font/woff",".woff2":"font/woff2"}[t]??"application/octet-stream"}var Es,Mp=y(()=>{pt();Es=class{driver=fe;basePath;constructor(t){this.basePath=z.resolve(t.basePath);}filePath(t,r){return z.join(this.basePath,t,r)}async ensureDir(t){await fe.mkdir(z.dirname(t),{recursive:true});}async getObject(t,r,n,s){let i=this.filePath(t,r),o=await fe.stat(i),a=`"${createHash("md5").update(`${i}:${o.mtimeMs}`).digest("hex")}"`;if(s?.ifNoneMatch===a)return {httpStatusCode:304,metadata:this.buildMetadata(o,a,r)};if(s?.ifModifiedSince){let f=new Date(s.ifModifiedSince);if(o.mtime<=f)return {httpStatusCode:304,metadata:this.buildMetadata(o,a,r)}}let l,c,u=o.size,p=200;if(s?.range){let f=s.range.match(/^bytes=(\d+)-(\d*)$/);if(f){let h=Number.parseInt(f[1],10),d=f[2]?Number.parseInt(f[2],10):o.size-1;u=d-h+1,c=`bytes ${h}-${d}/${o.size}`,p=206,l=(await fe.open(i,"r")).readableWebStream();}else l=(await fe.open(i,"r")).readableWebStream();}else l=(await fe.open(i,"r")).readableWebStream();return {httpStatusCode:p,metadata:{...this.buildMetadata(o,a,r),contentLength:u,contentRange:c},body:l}}async uploadObject(t,r,n,s,i,o){let a=this.filePath(t,r);await this.ensureDir(a);let l;if(s instanceof Uint8Array||Buffer.isBuffer(s))l=s;else {let p=[],f=s.getReader();for(;;){let{done:h,value:d}=await f.read();if(h)break;p.push(d);}l=Buffer.concat(p);}await fe.writeFile(a,l);let c=await fe.stat(a),u=`"${createHash("md5").update(l).digest("hex")}"`;return {cacheControl:o,contentLength:c.size,size:c.size,mimetype:i,lastModified:c.mtime,eTag:u}}async deleteObject(t,r,n){let s=this.filePath(t,r);await fe.unlink(s).catch(i=>{if(i.code!=="ENOENT")throw i});}async deleteObjects(t,r){for(let n of r)await this.deleteObject(t,n,void 0);}async copyObject(t,r,n,s,i){let o=this.filePath(t,r),a=this.filePath(t,s);await this.ensureDir(a),await fe.copyFile(o,a);let l=await fe.stat(a),c=await fe.readFile(a);return {httpStatusCode:200,eTag:`"${createHash("md5").update(c).digest("hex")}"`,lastModified:l.mtime}}async headObject(t,r,n){let s=this.filePath(t,r),i=await fe.stat(s),o=`"${createHash("md5").update(`${s}:${i.mtimeMs}`).digest("hex")}"`;return this.buildMetadata(i,o,r)}async privateAssetUrl(t,r,n){return `file://${this.filePath(t,r)}`}buildMetadata(t,r,n){return {cacheControl:"no-cache",contentLength:fo(t.size),size:fo(t.size),mimetype:Xw(n),lastModified:t.mtime,eTag:r}}};});async function Ye(e,t,r){try{return await Qw(e)}catch(n){throw n?.code==="ERR_MODULE_NOT_FOUND"||/Cannot find package/.test(String(n?.message))?new Error(`Driver '${t}' selected but '${r}' is not installed. Run: bun add ${r}`):n}}var Qw,jr=y(()=>{Qw=new Function("spec","return import(spec)");});function Up(e,t={}){let r=z__default.resolve(t.cwd??process.cwd()),n=t.env??process.env,s=process.env.SUPABASE_ENV||"development",i=[`.env.${s}.local`,s==="test"?null:".env.local",`.env.${s}`,".env"].filter(a=>a!==null),o=tb(z__default.resolve(e),r);for(let a of o)for(let l of i){let c=z__default.join(a,l),u;try{u=Mn.readFileSync(c,"utf-8");}catch{continue}let p;try{p=parse(u);}catch(f){throw new Error(`Failed to parse ${c}: ${f.message}`)}for(let[f,h]of Object.entries(p))n[f]===void 0&&(n[f]=h);}}function tb(e,t){let r=[],n=e,s=z__default.parse(n).root;for(;r.push(n),!(n===t||n===s);){let i=z__default.dirname(n);if(i===n)break;n=i;}return r}var Bp=y(()=>{});function qp(e,t=process.env){return Zo(e,t)}function Zo(e,t){if(typeof e=="string"){let r=e.match(rb);return r?t[r[1]]??"":e}if(Array.isArray(e))return e.map(r=>Zo(r,t));if(e&&typeof e=="object"){let r={};for(let[n,s]of Object.entries(e))r[n]=Zo(s,t);return r}return e}var rb,Hp=y(()=>{rb=/^env\((\w+)\)$/;});var Mr,sb,_s,zp=y(()=>{Qo();Vt();Mr=te(ie());_r();zt();Mp();jr();Bp();Hp();sb=["toml","json","ts","mts","js","mjs","cjs"],_s=class extends er{ref(){return this.projectRef()}setRef(t){return this.tempFs.write("project-ref",t),this}link(t){return this.setRef(t.id),t}unlink(){return this.tempFs.delete("project-ref"),this}url(){let t=this.ref();if(!t)throw new Error("No project linked");return this.projectUrl(t)}async getConfigPath(t){let r=z__default.relative(process.cwd(),$e.config_dir);if(!t)for(let n of sb){let s=z__default.join(r,`config.${n}`);if(await fe__default.access(s).then(()=>true).catch(()=>false)){t=s;break}}return t}async readConfig(t){let r=await this.getConfigPath(t);if(!r)return {};console.log(Mr.default.dim(`Using config file: ${Mr.default.cyan(`./${r}`)}`));let n=z__default.dirname(z__default.resolve(r));Up(n);let s=r.split(".").pop(),i;switch(s){case "toml":i=_t(await fe__default.readFile(r,"utf-8"));break;case "json":i=JSON.parse(await fe__default.readFile(r,"utf-8"));break;case "ts":case "mts":case "js":case "mjs":case "cjs":try{i=(await import(z__default.join(process.cwd(),r))).default;break}catch(o){throw console.error("Failed to import config file",o),o}default:throw new Error(`Unsupported config file type: ${r}`)}return qp(i)}async createConnection(){throw new Error("Not implemented")}async getConfig(t){let r=await this.readConfig(t);if("connection"in r)return {...r,connection:await r.connection};let n,s;switch(r.db?.driver){case "sqlite":s=r.db?.url??$e.default_db_url,n=await createConnection({url:s,ddlDialect:"sqlite"});break;case "pglite":{s=r.db?.url??z__default.join(process.cwd(),$e.default_db_dir);let{createPgliteConnection:i}=await Ye("@supabase/lite/pglite","pglite","@electric-sql/pglite");n=await i({url:s});break}case "postgres":{s=r.db?.url??"";let{createPostgresConnection:i}=await Ye("@supabase/lite/postgres","postgres","postgres");n=await i({url:s});break}default:s=r.db?.url??$e.default_db_url,n=await createConnection({url:s,ddlDialect:"postgres"});break}if(!n)throw new Error("Failed to create connection");return console.log(Mr.default.green(" \u279C"),"Database located at",Mr.default.cyan(s??"in-memory")),{...r,connection:n}}async createApp(t){let r=await this.getConfig(t),n=new App(r);return n.config.storage?.enabled&&process.env.EXPERIMENTAL_STORAGE==="1"&&!n._storageAdapter&&(n._storageAdapter=new Es({basePath:z__default.join(process.cwd(),$e.config_dir,".temp/storage")})),await n.init()}};});var xs,Gp=y(()=>{Qo();xs=class extends er{url(t){return this.projectUrl(t)}async ping(){return (await this.fetch("/v1/system/ping")).ok}async list(){let t=await this.fetch("/v1/projects");if(!t.ok)throw new Error("Failed to list projects");let r=await t.json();if(!r||!r.data)throw new Error("Failed to list projects");return r.data}async get(t){if(t=t??this.projectRef(),!t)throw new Error("No project ref found");let r=await this.fetch(`/v1/projects/${t}`);if(!r.ok)throw new Error(`Failed to get project: ${r.status} ${r.statusText}`);let n=await r.json();if(!n||!n.id)throw new Error("Failed to get project");return n}async create(t={}){let r=await this.fetch("/v1/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok)throw new Error(`Failed to create project: ${r.status} ${r.statusText}`);let n=await r.json();if(!n.data||!n.data.id)throw new Error("Failed to create project");return n.data}async getConfig(t){let r=await this.fetch(`/v1/projects/${t}/config`);if(!r.ok)throw new Error(`Failed to get project config: ${r.status} ${r.statusText}`);let n=await r.json();if(!n)throw new Error("Failed to get project config");return n}async setConfig(t,r){let n=await this.fetch(`/v1/projects/${t}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!n.ok)throw new Error(`Failed to set project config: ${n.status} ${n.statusText}`);return true}async createApp(t){if(!this.config.host)throw new Error("No host specified");let{data:r,error:n}=await this.client.auth.getSession();if(n)throw n;if(!r?.session?.access_token)throw new Error("Not authenticated, sign in first.");let s=await this.getConfig(t);return await new App({...s.config,connection:cloud({projectRef:t,token:r.session.access_token,host:this.config.host})}).init()}};});var vs,Vp=y(()=>{Xo();zp();Gp();vs=class extends Zt{project;get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}async getSession(){return await this.client.auth.getSession()}async getAccessToken(){let{data:t,error:r}=await this.getSession();if(r)throw r;return t?.session?.access_token}async requireSession(){let t=await this.getAccessToken();if(!t)throw new Error("Not authenticated, sign in first.");return t}async init(){let t={...this.config};return this.config.withSupabaseClient!==false&&(t.client=this.client,t.token=await this.getAccessToken()),this.project={local:new _s(t),remote:new xs(t)},this}};});async function K(e={}){return await new vs({host:Dr,root:nt.projectDir(),...e}).init()}var Ce=y(()=>{Ko();Yo();Vp();});var Kp={};de(Kp,{start:()=>ab});var Ur,ab,Yp=y(()=>{Vo();pt();Ur=te(ie());Vt();Ce();Ee();zt();ab=e=>{e.command("start").option("--config <config>","Path to the config file").description("Start the development server").helpGroup("Local Development:").action(async t=>{await Q(t.config),await Xn(async()=>{let n=await(await K({withSupabaseClient:false})).project.local.createApp(t.config),s=n.config.api?.port??$e.default_api_port;await gs(n,{port:s});console.log(Ur.default.green(" \u279C"),"Server running on ",Ur.default.cyan(`http://localhost:${s}`));let o=Fn();o&&console.log(Ur.default.yellow(` \u26A0 ${o}`)),await n.connection.ping();},r=>{console.log(),console.log(Ur.default.green(`Ready in ${r.toFixed(2)}ms`));});});};});function db(e){let t=normalize(e);return t.length>1&&t[t.length-1]===sep&&(t=t.substring(0,t.length-1)),t}function Zp(e,t){return e.replace(hb,t)}function yb(e){return e==="/"||gb.test(e)}function ta(e,t){let{resolvePaths:r,normalizePath:n,pathSeparator:s}=t,i=process.platform==="win32"&&e.includes("/")||e.startsWith(".");if(r&&(e=resolve(e)),(n||i)&&(e=db(e)),e===".")return "";let o=e[e.length-1]!==s;return Zp(o?e+s:e,s)}function ef(e,t){return t+e}function wb(e,t){return function(r,n){return n.startsWith(e)?n.slice(e.length)+r:Zp(relative(e,n),t.pathSeparator)+t.pathSeparator+r}}function bb(e){return e}function Sb(e,t,r){return t+e+r}function Eb(e,t){let{relativePaths:r,includeBasePath:n}=t;return r&&e?wb(e,t):n?ef:bb}function _b(e){return function(t,r){r.push(t.substring(e.length)||".");}}function xb(e){return function(t,r,n){let s=t.substring(e.length)||".";n.every(i=>i(s,true))&&r.push(s);}}function Ab(e,t){let{includeDirs:r,filters:n,relativePaths:s}=t;return r?s?n&&n.length?xb(e):_b(e):n&&n.length?$b:vb:Tb}function Ob(e){let{excludeFiles:t,filters:r,onlyCounts:n}=e;return t?Nb:r&&r.length?n?Cb:Rb:n?Pb:kb}function Db(e){return e.group?Lb:Ib}function Mb(e){return e.group?jb:Fb}function qb(e,t){return !e.resolveSymlinks||e.excludeSymlinks?null:t?Bb:Ub}function tf(e,t,r){if(r.options.useRealPaths)return Hb(t,r);let n=dirname(e),s=1;for(;n!==r.root&&s<2;){let i=r.symlinks.get(n);!!i&&(i===t||i.startsWith(t)||t.startsWith(i))?s++:n=dirname(n);}return r.symlinks.set(e,t),s>1}function Hb(e,t){return t.visited.includes(e+t.options.pathSeparator)}function $s(e,t,r,n){t(e&&!n?e:null,r);}function Qb(e,t){let{onlyCounts:r,group:n,maxFiles:s}=e;return r?t?Wb:Kb:n?t?zb:Xb:s?t?Vb:Jb:t?Gb:Yb}function tS(e){return e?eS:Zb}function iS(e,t){return new Promise((r,n)=>{sf(e,t,(s,i)=>{if(s)return n(s);r(i);});})}function sf(e,t,r){new nf(e,t,r).start();}function oS(e,t){return new nf(e,t).start()}var Jp,hb,gb,vb,$b,Tb,Cb,Rb,Pb,kb,Nb,Ib,Lb,jb,Fb,Ub,Bb,Wb,zb,Gb,Vb,Kb,Yb,Jb,Xb,rf,Zb,eS,rS,nS,sS,nf,Xp,of,af,lf=y(()=>{Jp=createRequire(import.meta.url);hb=/[\\/]/g;gb=/^[a-z]:[\\/]$/i;vb=(e,t)=>{t.push(e||".");},$b=(e,t,r)=>{let n=e||".";r.every(s=>s(n,true))&&t.push(n);},Tb=()=>{};Cb=(e,t,r,n)=>{n.every(s=>s(e,false))&&r.files++;},Rb=(e,t,r,n)=>{n.every(s=>s(e,false))&&t.push(e);},Pb=(e,t,r,n)=>{r.files++;},kb=(e,t)=>{t.push(e);},Nb=()=>{};Ib=e=>e,Lb=()=>[""].slice(0,0);jb=(e,t,r)=>{e.push({directory:t,files:r,dir:t});},Fb=()=>{};Ub=function(e,t,r){let{queue:n,fs:s,options:{suppressErrors:i}}=t;n.enqueue(),s.realpath(e,(o,a)=>{if(o)return n.dequeue(i?null:o,t);s.stat(a,(l,c)=>{if(l)return n.dequeue(i?null:l,t);if(c.isDirectory()&&tf(e,a,t))return n.dequeue(null,t);r(c,a),n.dequeue(null,t);});});},Bb=function(e,t,r){let{queue:n,fs:s,options:{suppressErrors:i}}=t;n.enqueue();try{let o=s.realpathSync(e),a=s.statSync(o);if(a.isDirectory()&&tf(e,o,t))return;r(a,o);}catch(o){if(!i)throw o}};Wb=e=>e.counts,zb=e=>e.groups,Gb=e=>e.paths,Vb=e=>e.paths.slice(0,e.options.maxFiles),Kb=(e,t,r)=>($s(t,r,e.counts,e.options.suppressErrors),null),Yb=(e,t,r)=>($s(t,r,e.paths,e.options.suppressErrors),null),Jb=(e,t,r)=>($s(t,r,e.paths.slice(0,e.options.maxFiles),e.options.suppressErrors),null),Xb=(e,t,r)=>($s(t,r,e.groups,e.options.suppressErrors),null);rf={withFileTypes:true},Zb=(e,t,r,n,s)=>{if(e.queue.enqueue(),n<0)return e.queue.dequeue(null,e);let{fs:i}=e;e.visited.push(t),e.counts.directories++,i.readdir(t||".",rf,(o,a=[])=>{s(a,r,n),e.queue.dequeue(e.options.suppressErrors?null:o,e);});},eS=(e,t,r,n,s)=>{let{fs:i}=e;if(n<0)return;e.visited.push(t),e.counts.directories++;let o=[];try{o=i.readdirSync(t||".",rf);}catch(a){if(!e.options.suppressErrors)throw a}s(o,r,n);};rS=class{count=0;constructor(e){this.onQueueEmpty=e;}enqueue(){return this.count++,this.count}dequeue(e,t){this.onQueueEmpty&&(--this.count<=0||e)&&(this.onQueueEmpty(e,t),e&&(t.controller.abort(),this.onQueueEmpty=void 0));}},nS=class{_files=0;_directories=0;set files(e){this._files=e;}get files(){return this._files}set directories(e){this._directories=e;}get directories(){return this._directories}get dirs(){return this._directories}},sS=class{aborted=false;abort(){this.aborted=true;}},nf=class{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(e,t,r){this.isSynchronous=!r,this.callbackInvoker=Qb(t,this.isSynchronous),this.root=ta(e,t),this.state={root:yb(this.root)?this.root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new nS,options:t,queue:new rS((n,s)=>this.callbackInvoker(s,n,r)),symlinks:new Map,visited:[""].slice(0,0),controller:new sS,fs:t.fs||rr},this.joinPath=Eb(this.root,t),this.pushDirectory=Ab(this.root,t),this.pushFile=Ob(t),this.getArray=Db(t),this.groupFiles=Mb(t),this.resolveSymlink=qb(t,this.isSynchronous),this.walkDirectory=tS(this.isSynchronous);}start(){return this.pushDirectory(this.root,this.state.paths,this.state.options.filters),this.walkDirectory(this.state,this.root,this.root,this.state.options.maxDepth,this.walk),this.isSynchronous?this.callbackInvoker(this.state,null):null}walk=(e,t,r)=>{let{paths:n,options:{filters:s,resolveSymlinks:i,excludeSymlinks:o,exclude:a,maxFiles:l,signal:c,useRealPaths:u,pathSeparator:p},controller:f}=this.state;if(f.aborted||c&&c.aborted||l&&n.length>l)return;let h=this.getArray(this.state.paths);for(let d=0;d<e.length;++d){let m=e[d];if(m.isFile()||m.isSymbolicLink()&&!i&&!o){let b=this.joinPath(m.name,t);this.pushFile(b,h,this.state.counts,s);}else if(m.isDirectory()){let b=Sb(m.name,t,this.state.options.pathSeparator);if(a&&a(m.name,b))continue;this.pushDirectory(b,n,s),this.walkDirectory(this.state,b,b,r-1,this.walk);}else if(this.resolveSymlink&&m.isSymbolicLink()){let b=ef(m.name,t);this.resolveSymlink(b,this.state,(g,S)=>{if(g.isDirectory()){if(S=ta(S,this.state.options),a&&a(m.name,u?S:b+p))return;this.walkDirectory(this.state,S,u?S:b+p,r-1,this.walk);}else {S=u?S:b;let A=basename(S),v=ta(dirname(S),this.state.options);S=this.joinPath(A,v),this.pushFile(S,h,this.state.counts,s);}});}}this.groupFiles(this.state.groups,t,h);}};Xp=class{constructor(e,t){this.root=e,this.options=t;}withPromise(){return iS(this.root,this.options)}withCallback(e){sf(this.root,this.options,e);}sync(){return oS(this.root,this.options)}},of=null;try{Jp.resolve("picomatch"),of=Jp("picomatch");}catch{}af=class{globCache={};options={maxDepth:1/0,suppressErrors:true,pathSeparator:sep,filters:[]};globFunction;constructor(e){this.options={...this.options,...e},this.globFunction=this.options.globFunction;}group(){return this.options.group=true,this}withPathSeparator(e){return this.options.pathSeparator=e,this}withBasePath(){return this.options.includeBasePath=true,this}withRelativePaths(){return this.options.relativePaths=true,this}withDirs(){return this.options.includeDirs=true,this}withMaxDepth(e){return this.options.maxDepth=e,this}withMaxFiles(e){return this.options.maxFiles=e,this}withFullPaths(){return this.options.resolvePaths=true,this.options.includeBasePath=true,this}withErrors(){return this.options.suppressErrors=false,this}withSymlinks({resolvePaths:e=true}={}){return this.options.resolveSymlinks=true,this.options.useRealPaths=e,this.withFullPaths()}withAbortSignal(e){return this.options.signal=e,this}normalize(){return this.options.normalizePath=true,this}filter(e){return this.options.filters.push(e),this}onlyDirs(){return this.options.excludeFiles=true,this.options.includeDirs=true,this}exclude(e){return this.options.exclude=e,this}onlyCounts(){return this.options.onlyCounts=true,this}crawl(e){return new Xp(e||".",this.options)}withGlobFunction(e){return this.globFunction=e,this}crawlWithOptions(e,t){return this.options={...this.options,...t},new Xp(e||".",this.options)}glob(...e){return this.globFunction?this.globWithOptions(e):this.globWithOptions(e,{dot:true})}globWithOptions(e,...t){let r=this.globFunction||of;if(!r)throw new Error("Please specify a glob function to use glob matching.");var n=this.globCache[e.join("\0")];return n||(n=r(e,...t),this.globCache[e.join("\0")]=n),this.options.filters.push(s=>n(s)),this}};});var Br=ct((jR,mf)=>{var cf="[^\\\\/]",aS="(?=.)",uf="[^/]",na="(?:\\/|$)",pf="(?:^|\\/)",sa=`\\.{1,2}${na}`,lS="(?!\\.)",cS=`(?!${pf}${sa})`,uS=`(?!\\.{0,1}${na})`,pS=`(?!${sa})`,fS="[^.\\/]",mS=`${uf}*?`,dS="/",ff={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:aS,QMARK:uf,END_ANCHOR:na,DOTS_SLASH:sa,NO_DOT:lS,NO_DOTS:cS,NO_DOT_SLASH:uS,NO_DOTS_SLASH:pS,QMARK_NO_DOT:fS,STAR:mS,START_ANCHOR:pf,SEP:dS},hS={...ff,SLASH_LITERAL:"[\\\\/]",QMARK:cf,STAR:`${cf}*?`,DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},gS={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};mf.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:gS,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return {"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===true?hS:ff}};});var qr=ct(Ne=>{var{REGEX_BACKSLASH:yS,REGEX_REMOVE_BACKSLASH:wS,REGEX_SPECIAL_CHARS:bS,REGEX_SPECIAL_CHARS_GLOBAL:SS}=Br();Ne.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);Ne.hasRegexChars=e=>bS.test(e);Ne.isRegexChar=e=>e.length===1&&Ne.hasRegexChars(e);Ne.escapeRegex=e=>e.replace(SS,"\\$1");Ne.toPosixSlashes=e=>e.replace(yS,"/");Ne.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let e=navigator.platform.toLowerCase();return e==="win32"||e==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":false};Ne.removeBackslashes=e=>e.replace(wS,t=>t==="\\"?"":t);Ne.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?Ne.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};Ne.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};Ne.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",s=r.contains?"":"$",i=`${n}(?:${e})${s}`;return t.negated===true&&(i=`(?:^(?!${i}).*$)`),i};Ne.basename=(e,{windows:t}={})=>{let r=e.split(t?/[\\/]/:"/"),n=r[r.length-1];return n===""?r[r.length-2]:n};});var Ef=ct((MR,Sf)=>{var df=qr(),{CHAR_ASTERISK:ia,CHAR_AT:ES,CHAR_BACKWARD_SLASH:Hr,CHAR_COMMA:_S,CHAR_DOT:oa,CHAR_EXCLAMATION_MARK:aa,CHAR_FORWARD_SLASH:bf,CHAR_LEFT_CURLY_BRACE:la,CHAR_LEFT_PARENTHESES:ca,CHAR_LEFT_SQUARE_BRACKET:xS,CHAR_PLUS:vS,CHAR_QUESTION_MARK:hf,CHAR_RIGHT_CURLY_BRACE:$S,CHAR_RIGHT_PARENTHESES:gf,CHAR_RIGHT_SQUARE_BRACKET:TS}=Br(),yf=e=>e===bf||e===Hr,wf=e=>{e.isPrefix!==true&&(e.depth=e.isGlobstar?1/0:1);},AS=(e,t)=>{let r=t||{},n=e.length-1,s=r.parts===true||r.scanToEnd===true,i=[],o=[],a=[],l=e,c=-1,u=0,p=0,f=false,h=false,d=false,m=false,b=false,g=false,S=false,A=false,v=false,k=false,N=0,$,x,I={value:"",depth:0,isGlob:false},w=()=>c>=n,L=()=>l.charCodeAt(c+1),T=()=>($=x,l.charCodeAt(++c));for(;c<n;){x=T();let j;if(x===Hr){S=I.backslashes=true,x=T(),x===la&&(g=true);continue}if(g===true||x===la){for(N++;w()!==true&&(x=T());){if(x===Hr){S=I.backslashes=true,T();continue}if(x===la){N++;continue}if(g!==true&&x===oa&&(x=T())===oa){if(f=I.isBrace=true,d=I.isGlob=true,k=true,s===true)continue;break}if(g!==true&&x===_S){if(f=I.isBrace=true,d=I.isGlob=true,k=true,s===true)continue;break}if(x===$S&&(N--,N===0)){g=false,f=I.isBrace=true,k=true;break}}if(s===true)continue;break}if(x===bf){if(i.push(c),o.push(I),I={value:"",depth:0,isGlob:false},k===true)continue;if($===oa&&c===u+1){u+=2;continue}p=c+1;continue}if(r.noext!==true&&(x===vS||x===ES||x===ia||x===hf||x===aa)===true&&L()===ca){if(d=I.isGlob=true,m=I.isExtglob=true,k=true,x===aa&&c===u&&(v=true),s===true){for(;w()!==true&&(x=T());){if(x===Hr){S=I.backslashes=true,x=T();continue}if(x===gf){d=I.isGlob=true,k=true;break}}continue}break}if(x===ia){if($===ia&&(b=I.isGlobstar=true),d=I.isGlob=true,k=true,s===true)continue;break}if(x===hf){if(d=I.isGlob=true,k=true,s===true)continue;break}if(x===xS){for(;w()!==true&&(j=T());){if(j===Hr){S=I.backslashes=true,T();continue}if(j===TS){h=I.isBracket=true,d=I.isGlob=true,k=true;break}}if(s===true)continue;break}if(r.nonegate!==true&&x===aa&&c===u){A=I.negated=true,u++;continue}if(r.noparen!==true&&x===ca){if(d=I.isGlob=true,s===true){for(;w()!==true&&(x=T());){if(x===ca){S=I.backslashes=true,x=T();continue}if(x===gf){k=true;break}}continue}break}if(d===true){if(k=true,s===true)continue;break}}r.noext===true&&(m=false,d=false);let q=l,E="",_="";u>0&&(E=l.slice(0,u),l=l.slice(u),p-=u),q&&d===true&&p>0?(q=l.slice(0,p),_=l.slice(p)):d===true?(q="",_=l):q=l,q&&q!==""&&q!=="/"&&q!==l&&yf(q.charCodeAt(q.length-1))&&(q=q.slice(0,-1)),r.unescape===true&&(_&&(_=df.removeBackslashes(_)),q&&S===true&&(q=df.removeBackslashes(q)));let U={prefix:E,input:e,start:u,base:q,glob:_,isBrace:f,isBracket:h,isGlob:d,isExtglob:m,isGlobstar:b,negated:A,negatedExtglob:v};if(r.tokens===true&&(U.maxDepth=0,yf(x)||o.push(I),U.tokens=o),r.parts===true||r.tokens===true){let j;for(let V=0;V<i.length;V++){let qe=j?j+1:u,Re=i[V],lt=e.slice(qe,Re);r.tokens&&(V===0&&u!==0?(o[V].isPrefix=true,o[V].value=E):o[V].value=lt,wf(o[V]),U.maxDepth+=o[V].depth),(V!==0||lt!=="")&&a.push(lt),j=Re;}if(j&&j+1<e.length){let V=e.slice(j+1);a.push(V),r.tokens&&(o[o.length-1].value=V,wf(o[o.length-1]),U.maxDepth+=o[o.length-1].depth);}U.slashes=i,U.parts=a;}return U};Sf.exports=AS;});var vf=ct((UR,xf)=>{var Ts=Br(),Je=qr(),{MAX_LENGTH:As,POSIX_REGEX_SOURCE:CS,REGEX_NON_SPECIAL_CHARS:RS,REGEX_SPECIAL_CHARS_BACKREF:PS,REPLACEMENTS:_f}=Ts,kS=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r);}catch{return e.map(s=>Je.escapeRegex(s)).join("..")}return r},tr=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,ua=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=_f[e]||e;let r={...t},n=typeof r.maxLength=="number"?Math.min(As,r.maxLength):As,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},o=[i],a=r.capture?"":"?:",l=Ts.globChars(r.windows),c=Ts.extglobChars(l),{DOT_LITERAL:u,PLUS_LITERAL:p,SLASH_LITERAL:f,ONE_CHAR:h,DOTS_SLASH:d,NO_DOT:m,NO_DOT_SLASH:b,NO_DOTS_SLASH:g,QMARK:S,QMARK_NO_DOT:A,STAR:v,START_ANCHOR:k}=l,N=O=>`(${a}(?:(?!${k}${O.dot?d:u}).)*?)`,$=r.dot?"":m,x=r.dot?S:A,I=r.bash===true?N(r):v;r.capture&&(I=`(${I})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let w={input:e,index:-1,start:0,dot:r.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:o};e=Je.removePrefix(e,w),s=e.length;let L=[],T=[],q=[],E=i,_,U=()=>w.index===s-1,j=w.peek=(O=1)=>e[w.index+O],V=w.advance=()=>e[++w.index]||"",qe=()=>e.slice(w.index+1),Re=(O="",ne=0)=>{w.consumed+=O,w.index+=ne;},lt=O=>{w.output+=O.output!=null?O.output:O.value,Re(O.value);},gg=()=>{let O=1;for(;j()==="!"&&(j(2)!=="("||j(3)==="?");)V(),w.start++,O++;return O%2===0?false:(w.negated=true,w.start++,true)},On=O=>{w[O]++,q.push(O);},wt=O=>{w[O]--,q.pop();},G=O=>{if(E.type==="globstar"){let ne=w.braces>0&&(O.type==="comma"||O.type==="brace"),C=O.extglob===true||L.length&&(O.type==="pipe"||O.type==="paren");O.type!=="slash"&&O.type!=="paren"&&!ne&&!C&&(w.output=w.output.slice(0,-E.output.length),E.type="star",E.value="*",E.output=I,w.output+=E.output);}if(L.length&&O.type!=="paren"&&(L[L.length-1].inner+=O.value),(O.value||O.output)&<(O),E&&E.type==="text"&&O.type==="text"){E.output=(E.output||E.value)+O.value,E.value+=O.value;return}O.prev=E,o.push(O),E=O;},In=(O,ne)=>{let C={...c[ne],conditions:1,inner:""};C.prev=E,C.parens=w.parens,C.output=w.output;let W=(r.capture?"(":"")+C.open;On("parens"),G({type:O,value:ne,output:w.output?"":h}),G({type:"paren",extglob:true,value:V(),output:W}),L.push(C);},yg=O=>{let ne=O.close+(r.capture?")":""),C;if(O.type==="negate"){let W=I;if(O.inner&&O.inner.length>1&&O.inner.includes("/")&&(W=N(r)),(W!==I||U()||/^\)+$/.test(qe()))&&(ne=O.close=`)$))${W}`),O.inner.includes("*")&&(C=qe())&&/^\.[^\\/.]+$/.test(C)){let ce=ua(C,{...t,fastpaths:false}).output;ne=O.close=`)${ce})${W})`;}O.prev.type==="bos"&&(w.negatedExtglob=true);}G({type:"paren",extglob:true,value:_,output:ne}),wt("parens");};if(r.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(e)){let O=false,ne=e.replace(PS,(C,W,ce,ve,me,Fi)=>ve==="\\"?(O=true,C):ve==="?"?W?W+ve+(me?S.repeat(me.length):""):Fi===0?x+(me?S.repeat(me.length):""):S.repeat(ce.length):ve==="."?u.repeat(ce.length):ve==="*"?W?W+ve+(me?I:""):I:W?C:`\\${C}`);return O===true&&(r.unescape===true?ne=ne.replace(/\\/g,""):ne=ne.replace(/\\+/g,C=>C.length%2===0?"\\\\":C?"\\":"")),ne===e&&r.contains===true?(w.output=e,w):(w.output=Je.wrapOutput(ne,w,t),w)}for(;!U();){if(_=V(),_==="\0")continue;if(_==="\\"){let C=j();if(C==="/"&&r.bash!==true||C==="."||C===";")continue;if(!C){_+="\\",G({type:"text",value:_});continue}let W=/^\\+/.exec(qe()),ce=0;if(W&&W[0].length>2&&(ce=W[0].length,w.index+=ce,ce%2!==0&&(_+="\\")),r.unescape===true?_=V():_+=V(),w.brackets===0){G({type:"text",value:_});continue}}if(w.brackets>0&&(_!=="]"||E.value==="["||E.value==="[^")){if(r.posix!==false&&_===":"){let C=E.value.slice(1);if(C.includes("[")&&(E.posix=true,C.includes(":"))){let W=E.value.lastIndexOf("["),ce=E.value.slice(0,W),ve=E.value.slice(W+2),me=CS[ve];if(me){E.value=ce+me,w.backtrack=true,V(),!i.output&&o.indexOf(E)===1&&(i.output=h);continue}}}(_==="["&&j()!==":"||_==="-"&&j()==="]")&&(_=`\\${_}`),_==="]"&&(E.value==="["||E.value==="[^")&&(_=`\\${_}`),r.posix===true&&_==="!"&&E.value==="["&&(_="^"),E.value+=_,lt({value:_});continue}if(w.quotes===1&&_!=='"'){_=Je.escapeRegex(_),E.value+=_,lt({value:_});continue}if(_==='"'){w.quotes=w.quotes===1?0:1,r.keepQuotes===true&&G({type:"text",value:_});continue}if(_==="("){On("parens"),G({type:"paren",value:_});continue}if(_===")"){if(w.parens===0&&r.strictBrackets===true)throw new SyntaxError(tr("opening","("));let C=L[L.length-1];if(C&&w.parens===C.parens+1){yg(L.pop());continue}G({type:"paren",value:_,output:w.parens?")":"\\)"}),wt("parens");continue}if(_==="["){if(r.nobracket===true||!qe().includes("]")){if(r.nobracket!==true&&r.strictBrackets===true)throw new SyntaxError(tr("closing","]"));_=`\\${_}`;}else On("brackets");G({type:"bracket",value:_});continue}if(_==="]"){if(r.nobracket===true||E&&E.type==="bracket"&&E.value.length===1){G({type:"text",value:_,output:`\\${_}`});continue}if(w.brackets===0){if(r.strictBrackets===true)throw new SyntaxError(tr("opening","["));G({type:"text",value:_,output:`\\${_}`});continue}wt("brackets");let C=E.value.slice(1);if(E.posix!==true&&C[0]==="^"&&!C.includes("/")&&(_=`/${_}`),E.value+=_,lt({value:_}),r.literalBrackets===false||Je.hasRegexChars(C))continue;let W=Je.escapeRegex(E.value);if(w.output=w.output.slice(0,-E.value.length),r.literalBrackets===true){w.output+=W,E.value=W;continue}E.value=`(${a}${W}|${E.value})`,w.output+=E.value;continue}if(_==="{"&&r.nobrace!==true){On("braces");let C={type:"brace",value:_,output:"(",outputIndex:w.output.length,tokensIndex:w.tokens.length};T.push(C),G(C);continue}if(_==="}"){let C=T[T.length-1];if(r.nobrace===true||!C){G({type:"text",value:_,output:_});continue}let W=")";if(C.dots===true){let ce=o.slice(),ve=[];for(let me=ce.length-1;me>=0&&(o.pop(),ce[me].type!=="brace");me--)ce[me].type!=="dots"&&ve.unshift(ce[me].value);W=kS(ve,r),w.backtrack=true;}if(C.comma!==true&&C.dots!==true){let ce=w.output.slice(0,C.outputIndex),ve=w.tokens.slice(C.tokensIndex);C.value=C.output="\\{",_=W="\\}",w.output=ce;for(let me of ve)w.output+=me.output||me.value;}G({type:"brace",value:_,output:W}),wt("braces"),T.pop();continue}if(_==="|"){L.length>0&&L[L.length-1].conditions++,G({type:"text",value:_});continue}if(_===","){let C=_,W=T[T.length-1];W&&q[q.length-1]==="braces"&&(W.comma=true,C="|"),G({type:"comma",value:_,output:C});continue}if(_==="/"){if(E.type==="dot"&&w.index===w.start+1){w.start=w.index+1,w.consumed="",w.output="",o.pop(),E=i;continue}G({type:"slash",value:_,output:f});continue}if(_==="."){if(w.braces>0&&E.type==="dot"){E.value==="."&&(E.output=u);let C=T[T.length-1];E.type="dots",E.output+=_,E.value+=_,C.dots=true;continue}if(w.braces+w.parens===0&&E.type!=="bos"&&E.type!=="slash"){G({type:"text",value:_,output:u});continue}G({type:"dot",value:_,output:u});continue}if(_==="?"){if(!(E&&E.value==="(")&&r.noextglob!==true&&j()==="("&&j(2)!=="?"){In("qmark",_);continue}if(E&&E.type==="paren"){let W=j(),ce=_;(E.value==="("&&!/[!=<:]/.test(W)||W==="<"&&!/<([!=]|\w+>)/.test(qe()))&&(ce=`\\${_}`),G({type:"text",value:_,output:ce});continue}if(r.dot!==true&&(E.type==="slash"||E.type==="bos")){G({type:"qmark",value:_,output:A});continue}G({type:"qmark",value:_,output:S});continue}if(_==="!"){if(r.noextglob!==true&&j()==="("&&(j(2)!=="?"||!/[!=<:]/.test(j(3)))){In("negate",_);continue}if(r.nonegate!==true&&w.index===0){gg();continue}}if(_==="+"){if(r.noextglob!==true&&j()==="("&&j(2)!=="?"){In("plus",_);continue}if(E&&E.value==="("||r.regex===false){G({type:"plus",value:_,output:p});continue}if(E&&(E.type==="bracket"||E.type==="paren"||E.type==="brace")||w.parens>0){G({type:"plus",value:_});continue}G({type:"plus",value:p});continue}if(_==="@"){if(r.noextglob!==true&&j()==="("&&j(2)!=="?"){G({type:"at",extglob:true,value:_,output:""});continue}G({type:"text",value:_});continue}if(_!=="*"){(_==="$"||_==="^")&&(_=`\\${_}`);let C=RS.exec(qe());C&&(_+=C[0],w.index+=C[0].length),G({type:"text",value:_});continue}if(E&&(E.type==="globstar"||E.star===true)){E.type="star",E.star=true,E.value+=_,E.output=I,w.backtrack=true,w.globstar=true,Re(_);continue}let O=qe();if(r.noextglob!==true&&/^\([^?]/.test(O)){In("star",_);continue}if(E.type==="star"){if(r.noglobstar===true){Re(_);continue}let C=E.prev,W=C.prev,ce=C.type==="slash"||C.type==="bos",ve=W&&(W.type==="star"||W.type==="globstar");if(r.bash===true&&(!ce||O[0]&&O[0]!=="/")){G({type:"star",value:_,output:""});continue}let me=w.braces>0&&(C.type==="comma"||C.type==="brace"),Fi=L.length&&(C.type==="pipe"||C.type==="paren");if(!ce&&C.type!=="paren"&&!me&&!Fi){G({type:"star",value:_,output:""});continue}for(;O.slice(0,3)==="/**";){let Ln=e[w.index+4];if(Ln&&Ln!=="/")break;O=O.slice(3),Re("/**",3);}if(C.type==="bos"&&U()){E.type="globstar",E.value+=_,E.output=N(r),w.output=E.output,w.globstar=true,Re(_);continue}if(C.type==="slash"&&C.prev.type!=="bos"&&!ve&&U()){w.output=w.output.slice(0,-(C.output+E.output).length),C.output=`(?:${C.output}`,E.type="globstar",E.output=N(r)+(r.strictSlashes?")":"|$)"),E.value+=_,w.globstar=true,w.output+=C.output+E.output,Re(_);continue}if(C.type==="slash"&&C.prev.type!=="bos"&&O[0]==="/"){let Ln=O[1]!==void 0?"|$":"";w.output=w.output.slice(0,-(C.output+E.output).length),C.output=`(?:${C.output}`,E.type="globstar",E.output=`${N(r)}${f}|${f}${Ln})`,E.value+=_,w.output+=C.output+E.output,w.globstar=true,Re(_+V()),G({type:"slash",value:"/",output:""});continue}if(C.type==="bos"&&O[0]==="/"){E.type="globstar",E.value+=_,E.output=`(?:^|${f}|${N(r)}${f})`,w.output=E.output,w.globstar=true,Re(_+V()),G({type:"slash",value:"/",output:""});continue}w.output=w.output.slice(0,-E.output.length),E.type="globstar",E.output=N(r),E.value+=_,w.output+=E.output,w.globstar=true,Re(_);continue}let ne={type:"star",value:_,output:I};if(r.bash===true){ne.output=".*?",(E.type==="bos"||E.type==="slash")&&(ne.output=$+ne.output),G(ne);continue}if(E&&(E.type==="bracket"||E.type==="paren")&&r.regex===true){ne.output=_,G(ne);continue}(w.index===w.start||E.type==="slash"||E.type==="dot")&&(E.type==="dot"?(w.output+=b,E.output+=b):r.dot===true?(w.output+=g,E.output+=g):(w.output+=$,E.output+=$),j()!=="*"&&(w.output+=h,E.output+=h)),G(ne);}for(;w.brackets>0;){if(r.strictBrackets===true)throw new SyntaxError(tr("closing","]"));w.output=Je.escapeLast(w.output,"["),wt("brackets");}for(;w.parens>0;){if(r.strictBrackets===true)throw new SyntaxError(tr("closing",")"));w.output=Je.escapeLast(w.output,"("),wt("parens");}for(;w.braces>0;){if(r.strictBrackets===true)throw new SyntaxError(tr("closing","}"));w.output=Je.escapeLast(w.output,"{"),wt("braces");}if(r.strictSlashes!==true&&(E.type==="star"||E.type==="bracket")&&G({type:"maybe_slash",value:"",output:`${f}?`}),w.backtrack===true){w.output="";for(let O of w.tokens)w.output+=O.output!=null?O.output:O.value,O.suffix&&(w.output+=O.suffix);}return w};ua.fastpaths=(e,t)=>{let r={...t},n=typeof r.maxLength=="number"?Math.min(As,r.maxLength):As,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=_f[e]||e;let{DOT_LITERAL:i,SLASH_LITERAL:o,ONE_CHAR:a,DOTS_SLASH:l,NO_DOT:c,NO_DOTS:u,NO_DOTS_SLASH:p,STAR:f,START_ANCHOR:h}=Ts.globChars(r.windows),d=r.dot?u:c,m=r.dot?p:c,b=r.capture?"":"?:",g={negated:false,prefix:""},S=r.bash===true?".*?":f;r.capture&&(S=`(${S})`);let A=$=>$.noglobstar===true?S:`(${b}(?:(?!${h}${$.dot?l:i}).)*?)`,v=$=>{switch($){case "*":return `${d}${a}${S}`;case ".*":return `${i}${a}${S}`;case "*.*":return `${d}${S}${i}${a}${S}`;case "*/*":return `${d}${S}${o}${a}${m}${S}`;case "**":return d+A(r);case "**/*":return `(?:${d}${A(r)}${o})?${m}${a}${S}`;case "**/*.*":return `(?:${d}${A(r)}${o})?${m}${S}${i}${a}${S}`;case "**/.*":return `(?:${d}${A(r)}${o})?${i}${a}${S}`;default:{let x=/^(.*?)\.(\w+)$/.exec($);if(!x)return;let I=v(x[1]);return I?I+i+x[2]:void 0}}},k=Je.removePrefix(e,g),N=v(k);return N&&r.strictSlashes!==true&&(N+=`${o}?`),N};xf.exports=ua;});var Af=ct((BR,Tf)=>{var NS=Ef(),pa=vf(),$f=qr(),OS=Br(),IS=e=>e&&typeof e=="object"&&!Array.isArray(e),pe=(e,t,r=false)=>{if(Array.isArray(e)){let u=e.map(f=>pe(f,t,r));return f=>{for(let h of u){let d=h(f);if(d)return d}return false}}let n=IS(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let s=t||{},i=s.windows,o=n?pe.compileRe(e,t):pe.makeRe(e,t,false,true),a=o.state;delete o.state;let l=()=>false;if(s.ignore){let u={...t,ignore:null,onMatch:null,onResult:null};l=pe(s.ignore,u,r);}let c=(u,p=false)=>{let{isMatch:f,match:h,output:d}=pe.test(u,o,t,{glob:e,posix:i}),m={glob:e,state:a,regex:o,posix:i,input:u,output:d,match:h,isMatch:f};return typeof s.onResult=="function"&&s.onResult(m),f===false?(m.isMatch=false,p?m:false):l(u)?(typeof s.onIgnore=="function"&&s.onIgnore(m),m.isMatch=false,p?m:false):(typeof s.onMatch=="function"&&s.onMatch(m),p?m:true)};return r&&(c.state=a),c};pe.test=(e,t,r,{glob:n,posix:s}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return {isMatch:false,output:""};let i=r||{},o=i.format||(s?$f.toPosixSlashes:null),a=e===n,l=a&&o?o(e):e;return a===false&&(l=o?o(e):e,a=l===n),(a===false||i.capture===true)&&(i.matchBase===true||i.basename===true?a=pe.matchBase(e,t,r,s):a=t.exec(l)),{isMatch:!!a,match:a,output:l}};pe.matchBase=(e,t,r)=>(t instanceof RegExp?t:pe.makeRe(t,r)).test($f.basename(e));pe.isMatch=(e,t,r)=>pe(t,r)(e);pe.parse=(e,t)=>Array.isArray(e)?e.map(r=>pe.parse(r,t)):pa(e,{...t,fastpaths:false});pe.scan=(e,t)=>NS(e,t);pe.compileRe=(e,t,r=false,n=false)=>{if(r===true)return e.output;let s=t||{},i=s.contains?"":"^",o=s.contains?"":"$",a=`${i}(?:${e.output})${o}`;e&&e.negated===true&&(a=`^(?!${a}).*$`);let l=pe.toRegex(a,t);return n===true&&(l.state=e),l};pe.makeRe=(e,t={},r=false,n=false)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let s={negated:false,fastpaths:true};return t.fastpaths!==false&&(e[0]==="."||e[0]==="*")&&(s.output=pa.fastpaths(e,t)),s.output||(s=pa(e,t)),pe.compileRe(s,t,r,n)};pe.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===true)throw r;return /$^/}};pe.constants=OS;Tf.exports=pe;});var kf=ct((qR,Pf)=>{var Cf=Af(),LS=qr();function Rf(e,t,r=false){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:LS.isWindows()}),Cf(e,t,r)}Object.assign(Rf,Cf);Pf.exports=Rf;});function MS(e,t={}){let r=e.length,n=Array(r),s=Array(r),i=!t.noglobstar;for(let o=0;o<r;o++){let a=Lf(e[o]);n[o]=a;let l=a.length,c=Array(l);for(let u=0;u<l;u++)c[u]=(0, sr.default)(a[u],t);s[o]=c;}return o=>{let a=o.split("/");if(a[0]===".."&&FS.test(o))return true;for(let l=0;l<e.length;l++){let c=n[l],u=s[l],p=a.length,f=Math.min(p,c.length),h=0;for(;h<f;){let d=c[h];if(d.includes("/"))return true;if(!u[h](a[h]))break;if(i&&d==="**")return true;h++;}if(h===p)return true}return false}}function Nf(e,t,r){if(e===t||t.startsWith(`${e}/`)){if(r){let s=BS(e)?e.length:e.length+1;return (i,o)=>i.slice(s,o?-1:void 0)||"."}let n=t.slice(e.length+1);return n?(s,i)=>{if(s===".")return n;let o=`${n}/${s}`;return i?o.slice(0,-1):o}:(s,i)=>i&&s!=="."?s.slice(0,-1):s}return r?n=>posix.relative(e,n)||".":n=>posix.relative(e,`${t}/${n}`)||"."}function qS(e,t){if(t.startsWith(`${e}/`)){let r=t.slice(e.length+1);return n=>`${r}/${n}`}return r=>{let n=posix.relative(e,`${t}/${r}`);return r.endsWith("/")&&n!==""?`${n}/`:n||"."}}function Lf(e){var t;let r=sr.default.scan(e,HS);return !((t=r.parts)===null||t===void 0)&&t.length?r.parts:[e]}function YS(e,t){let r=sr.default.scan(e);return r.isGlob||r.negated}function nr(...e){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...e);}function fa(e,t,r,n,s){let i=e;e.endsWith("/")&&(i=e.slice(0,-1)),!i.endsWith("*")&&t&&(i+="/**");let o=KS(r);Of.isAbsolute(i.replace(XS,""))?i=posix.relative(o,i):i=posix.normalize(i);let a=JS.exec(i),l=Lf(i);if(a?.[0]){let u=(a[0].length+1)/3,p=0,f=o.split("/");for(;p<u&&l[p+u]===f[f.length+p-u];)i=i.slice(0,(u-p-1)*3)+i.slice((u-p)*3+l[p+u].length+1)||".",p++;let h=posix.join(r,a[0].slice(p*3));!h.startsWith(".")&&n.root.length>h.length&&(n.root=h,n.depthOffset=-u+p);}if(!s&&n.depthOffset>=0){var c;(c=n.commonPath)!==null&&c!==void 0||(n.commonPath=l);let u=[],p=Math.min(n.commonPath.length,l.length);for(let f=0;f<p;f++){let h=l[f];if(h==="**"&&!l[f+1]){u.pop();break}if(h!==n.commonPath[f]||YS(h)||f===l.length-1)break;u.push(h);}n.depthOffset=u.length,n.commonPath=u,n.root=u.length>0?posix.join(r,...u):r;}return i}function QS({patterns:e=["**/*"],ignore:t=[],expandDirectories:r=true},n,s){typeof e=="string"&&(e=[e]),typeof t=="string"&&(t=[t]);let i=[],o=[];for(let a of t)a&&(a[0]!=="!"||a[1]==="(")&&o.push(fa(a,r,n,s,true));for(let a of e)a&&(a[0]!=="!"||a[1]==="("?i.push(fa(a,r,n,s,false)):(a[1]!=="!"||a[2]==="(")&&o.push(fa(a.slice(1),r,n,s,true)));return {match:i,ignore:o}}function ZS(e,t){for(let r=e.length-1;r>=0;r--){let n=e[r];e[r]=t(n);}return e}function eE(e){return e?e instanceof URL?fileURLToPath$1(e).replace(Cs,"/"):Of.resolve(e).replace(Cs,"/"):process.cwd().replace(Cs,"/")}function tE(e,t={}){let r=process.env.TINYGLOBBY_DEBUG?{...t,debug:true}:t,n=eE(r.cwd);if(r.debug&&nr("globbing with:",{patterns:e,options:r,cwd:n}),Array.isArray(e)&&e.length===0)return [{sync:()=>[],withPromise:async()=>[]},false];let s={root:n,commonPath:null,depthOffset:0},i=QS({...r,patterns:e},n,s);r.debug&&nr("internal processing patterns:",i);let o={dot:r.dot,nobrace:r.braceExpansion===false,nocase:r.caseSensitiveMatch===false,noextglob:r.extglob===false,noglobstar:r.globstar===false,posix:true},a=(0, sr.default)(i.match,{...o,ignore:i.ignore}),l=(0, sr.default)(i.ignore,o),c=MS(i.match,o),u=Nf(n,s.root,r.absolute),p=r.absolute?u:Nf(n,s.root,true),f={filters:[r.debug?(m,b)=>{let g=u(m,b),S=a(g);return S&&nr(`matched ${g}`),S}:(m,b)=>a(u(m,b))],exclude:r.debug?(m,b)=>{let g=p(b,true),S=g!=="."&&!c(g)||l(g);return nr(S?`skipped ${b}`:`crawling ${b}`),S}:(m,b)=>{let g=p(b,true);return g!=="."&&!c(g)||l(g)},fs:r.fs?{readdir:r.fs.readdir||rr__default.readdir,readdirSync:r.fs.readdirSync||rr__default.readdirSync,realpath:r.fs.realpath||rr__default.realpath,realpathSync:r.fs.realpathSync||rr__default.realpathSync,stat:r.fs.stat||rr__default.stat,statSync:r.fs.statSync||rr__default.statSync}:void 0,pathSeparator:"/",relativePaths:true,resolveSymlinks:true,signal:r.signal};r.deep!==void 0&&(f.maxDepth=Math.round(r.deep-s.depthOffset)),r.absolute&&(f.relativePaths=false,f.resolvePaths=true,f.includeBasePath=true),r.followSymbolicLinks===false&&(f.resolveSymlinks=false,f.excludeSymlinks=true),r.onlyDirectories?(f.excludeFiles=true,f.includeDirs=true):r.onlyFiles===false&&(f.includeDirs=true),s.root=s.root.replace(Cs,"");let h=s.root;r.debug&&nr("internal properties:",s);let d=n!==h&&!r.absolute&&qS(n,s.root);return [new af(f).crawl(h),d]}async function Wr(e,t){if(e&&t?.patterns)throw new Error("Cannot pass patterns as both an argument and an option");let r=jS(e)||typeof e=="string",n=r?t:e,s=r?e:e.patterns,[i,o]=tE(s,n);return o?ZS(await i.withPromise(),o):i.withPromise()}var sr,jS,If,FS,US,BS,HS,WS,zS,GS,VS,KS,JS,XS,Cs,ma=y(()=>{lf();sr=te(kf()),jS=Array.isArray,If=process.platform==="win32",FS=/^(\/?\.\.)+$/;US=/^[A-Z]:\/$/i,BS=If?e=>US.test(e):e=>e==="/";HS={parts:true};WS=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,zS=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,GS=e=>e.replace(WS,"\\$&"),VS=e=>e.replace(zS,"\\$&"),KS=If?VS:GS;JS=/^(\/?\.\.)+/,XS=/\\(?=[()[\]{}!*+?@|])/g,Cs=/\\/g;});function qf(e,t={}){let r=t.entryType||t.type;if(r==="both"&&(r=Ie.FILE_DIR_TYPE),r&&(t.type=r),e){if(typeof e!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(r&&!Ff.includes(r))throw new Error(`readdirp: Invalid type passed. Use one of ${Ff.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=e,new ha(t)}var Ie,da,Bf,cE,Ff,uE,pE,fE,mE,Mf,Uf,ha,Hf=y(()=>{Ie={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},da={root:".",fileFilter:e=>true,directoryFilter:e=>true,type:Ie.FILE_TYPE,lstat:false,depth:2147483648,alwaysStat:false,highWaterMark:4096};Object.freeze(da);Bf="READDIRP_RECURSIVE_ERROR",cE=new Set(["ENOENT","EPERM","EACCES","ELOOP",Bf]),Ff=[Ie.DIR_TYPE,Ie.EVERYTHING_TYPE,Ie.FILE_DIR_TYPE,Ie.FILE_TYPE],uE=new Set([Ie.DIR_TYPE,Ie.EVERYTHING_TYPE,Ie.FILE_DIR_TYPE]),pE=new Set([Ie.EVERYTHING_TYPE,Ie.FILE_DIR_TYPE,Ie.FILE_TYPE]),fE=e=>cE.has(e.code),mE=process.platform==="win32",Mf=e=>true,Uf=e=>{if(e===void 0)return Mf;if(typeof e=="function")return e;if(typeof e=="string"){let t=e.trim();return r=>r.basename===t}if(Array.isArray(e)){let t=e.map(r=>r.trim());return r=>t.some(n=>r.basename===n)}return Mf},ha=class extends Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(t={}){super({objectMode:true,autoDestroy:true,highWaterMark:t.highWaterMark});let r={...da,...t},{root:n,type:s}=r;this._fileFilter=Uf(r.fileFilter),this._directoryFilter=Uf(r.directoryFilter);let i=r.lstat?lstat:stat;mE?this._stat=o=>i(o,{bigint:true}):this._stat=i,this._maxDepth=r.depth!=null&&Number.isSafeInteger(r.depth)?r.depth:da.depth,this._wantsDir=s?uE.has(s):false,this._wantsFile=s?pE.has(s):false,this._wantsEverything=s===Ie.EVERYTHING_TYPE,this._root=resolve$1(n),this._isDirent=!r.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=false,this.parent=void 0;}async _read(t){if(!this.reading){this.reading=true;try{for(;!this.destroyed&&t>0;){let r=this.parent,n=r&&r.files;if(n&&n.length>0){let{path:s,depth:i}=r,o=n.splice(0,t).map(l=>this._formatEntry(l,s)),a=await Promise.all(o);for(let l of a){if(!l)continue;if(this.destroyed)return;let c=await this._getEntryType(l);c==="directory"&&this._directoryFilter(l)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(l.fullPath,i+1)),this._wantsDir&&(this.push(l),t--)):(c==="file"||this._includeAsFile(l))&&this._fileFilter(l)&&this._wantsFile&&(this.push(l),t--);}}else {let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(r){this.destroy(r);}finally{this.reading=false;}}}async _exploreDir(t,r){let n;try{n=await readdir(t,this._rdOptions);}catch(s){this._onError(s);}return {files:n,depth:r,path:t}}async _formatEntry(t,r){let n,s=this._isDirent?t.name:t;try{let i=resolve$1(join(r,s));n={path:relative$1(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?t:await this._stat(i);}catch(i){this._onError(i);return}return n}_onError(t){fE(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t);}async _getEntryType(t){if(!t&&this._statsProp in t)return "";let r=t[this._statsProp];if(r.isFile())return "file";if(r.isDirectory())return "directory";if(r&&r.isSymbolicLink()){let n=t.fullPath;try{let s=await realpath(n),i=await lstat(s);if(i.isFile())return "file";if(i.isDirectory()){let o=s.length;if(n.startsWith(s)&&n.substr(o,1)===sep$1){let a=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return a.code=Bf,this._onError(a)}return "directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(t){let r=t&&t[this._statsProp];return r&&this._wantsEverything&&!r.isDirectory()}};});function zf(e,t,r,n,s){let i=(o,a)=>{r(e),s(o,a,{watchedPath:e}),a&&e!==a&&ks(z.resolve(e,a),Ct,z.join(e,a));};try{return watch(e,{persistent:t.persistent},i)}catch(o){n(o);return}}var bE,ba,Vf,Os,Is,Sa,SE,EE,_E,Kf,ue,He,xE,vE,Ct,Rs,ir,$E,TE,AE,wa,zr,CE,Gr,Yf,Ps,ks,RE,ya,PE,Ns,Jf=y(()=>{bE="data",ba="end",Vf="close",Os=()=>{},Is=process.platform,Sa=Is==="win32",SE=Is==="darwin",EE=Is==="linux",_E=Is==="freebsd",Kf=type()==="OS400",ue={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},He=ue,xE="watch",vE={lstat:lstat,stat:stat},Ct="listeners",Rs="errHandlers",ir="rawEmitters",$E=[Ct,Rs,ir],TE=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),AE=e=>TE.has(z.extname(e).slice(1).toLowerCase()),wa=(e,t)=>{e instanceof Set?e.forEach(t):t(e);},zr=(e,t,r)=>{let n=e[t];n instanceof Set||(e[t]=n=new Set([n])),n.add(r);},CE=e=>t=>{let r=e[t];r instanceof Set?r.clear():delete e[t];},Gr=(e,t,r)=>{let n=e[t];n instanceof Set?n.delete(r):n===r&&delete e[t];},Yf=e=>e instanceof Set?e.size===0:!e,Ps=new Map;ks=(e,t,r,n,s)=>{let i=Ps.get(e);i&&wa(i[t],o=>{o(r,n,s);});},RE=(e,t,r,n)=>{let{listener:s,errHandler:i,rawEmitter:o}=n,a=Ps.get(t),l;if(!r.persistent)return l=zf(e,r,s,i,o),l?l.close.bind(l):void 0;if(a)zr(a,Ct,s),zr(a,Rs,i),zr(a,ir,o);else {if(l=zf(e,r,ks.bind(null,t,Ct),i,ks.bind(null,t,ir)),!l)return;l.on(He.ERROR,async c=>{let u=ks.bind(null,t,Rs);if(a&&(a.watcherUnusable=true),Sa&&c.code==="EPERM")try{await(await open(e,"r")).close(),u(c);}catch{}else u(c);}),a={listeners:s,errHandlers:i,rawEmitters:o,watcher:l},Ps.set(t,a);}return ()=>{Gr(a,Ct,s),Gr(a,Rs,i),Gr(a,ir,o),Yf(a.listeners)&&(a.watcher.close(),Ps.delete(t),$E.forEach(CE(a)),a.watcher=void 0,Object.freeze(a));}},ya=new Map,PE=(e,t,r,n)=>{let{listener:s,rawEmitter:i}=n,o=ya.get(t),a=o&&o.options;return a&&(a.persistent<r.persistent||a.interval>r.interval)&&(unwatchFile(t),o=void 0),o?(zr(o,Ct,s),zr(o,ir,i)):(o={listeners:s,rawEmitters:i,options:r,watcher:watchFile(t,r,(l,c)=>{wa(o.rawEmitters,p=>{p(He.CHANGE,t,{curr:l,prev:c});});let u=l.mtimeMs;(l.size!==c.size||u>c.mtimeMs||u===0)&&wa(o.listeners,p=>p(e,l));})},ya.set(t,o)),()=>{Gr(o,Ct,s),Gr(o,ir,i),Yf(o.listeners)&&(ya.delete(t),unwatchFile(t),o.options=o.watcher=void 0,Object.freeze(o));}},Ns=class{fsw;_boundHandleError;constructor(t){this.fsw=t,this._boundHandleError=r=>t._handleError(r);}_watchWithNodeFs(t,r){let n=this.fsw.options,s=z.dirname(t),i=z.basename(t);this.fsw._getWatchedDir(s).add(i);let a=z.resolve(t),l={persistent:n.persistent};r||(r=Os);let c;if(n.usePolling){let u=n.interval!==n.binaryInterval;l.interval=u&&AE(i)?n.binaryInterval:n.interval,c=PE(t,a,l,{listener:r,rawEmitter:this.fsw._emitRaw});}else c=RE(t,a,l,{listener:r,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return c}_handleFile(t,r,n){if(this.fsw.closed)return;let s=z.dirname(t),i=z.basename(t),o=this.fsw._getWatchedDir(s),a=r;if(o.has(i))return;let l=async(u,p)=>{if(this.fsw._throttle(xE,t,5)){if(!p||p.mtimeMs===0)try{let f=await stat(t);if(this.fsw.closed)return;let h=f.atimeMs,d=f.mtimeMs;if((!h||h<=d||d!==a.mtimeMs)&&this.fsw._emit(He.CHANGE,t,f),(SE||EE||_E)&&a.ino!==f.ino){this.fsw._closeFile(u),a=f;let m=this._watchWithNodeFs(t,l);m&&this.fsw._addPathCloser(u,m);}else a=f;}catch{this.fsw._remove(s,i);}else if(o.has(i)){let f=p.atimeMs,h=p.mtimeMs;(!f||f<=h||h!==a.mtimeMs)&&this.fsw._emit(He.CHANGE,t,p),a=p;}}},c=this._watchWithNodeFs(t,l);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(He.ADD,t,0))return;this.fsw._emit(He.ADD,t,r);}return c}async _handleSymlink(t,r,n,s){if(this.fsw.closed)return;let i=t.fullPath,o=this.fsw._getWatchedDir(r);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await realpath(n);}catch{return this.fsw._emitReady(),true}return this.fsw.closed?void 0:(o.has(s)?this.fsw._symlinkPaths.get(i)!==a&&(this.fsw._symlinkPaths.set(i,a),this.fsw._emit(He.CHANGE,n,t.stats)):(o.add(s),this.fsw._symlinkPaths.set(i,a),this.fsw._emit(He.ADD,n,t.stats)),this.fsw._emitReady(),true)}if(this.fsw._symlinkPaths.has(i))return true;this.fsw._symlinkPaths.set(i,true);}_handleRead(t,r,n,s,i,o,a){t=z.join(t,"");let l=s?`${t}:${s}`:t;if(a=this.fsw._throttle("readdir",l,1e3),!a)return;let c=this.fsw._getWatchedDir(n.path),u=new Set,p=this.fsw._readdirp(t,{fileFilter:f=>n.filterPath(f),directoryFilter:f=>n.filterDir(f)});if(p)return p.on(bE,async f=>{if(this.fsw.closed){p=void 0;return}let h=f.path,d=z.join(t,h);if(u.add(h),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,t,d,h))){if(this.fsw.closed){p=void 0;return}(h===s||!s&&!c.has(h))&&(this.fsw._incrReadyCount(),d=z.join(i,z.relative(i,d)),this._addToNodeFs(d,r,n,o+1));}}).on(He.ERROR,this._boundHandleError),new Promise((f,h)=>{if(!p)return h();p.once(ba,()=>{if(this.fsw.closed){p=void 0;return}let d=a?a.clear():false;f(void 0),c.getChildren().filter(m=>m!==t&&!u.has(m)).forEach(m=>{this.fsw._remove(t,m);}),p=void 0,d&&this._handleRead(t,false,n,s,i,o,a);});})}async _handleDir(t,r,n,s,i,o,a){let l=this.fsw._getWatchedDir(z.dirname(t)),c=l.has(z.basename(t));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(He.ADD_DIR,t,r),l.add(z.basename(t)),this.fsw._getWatchedDir(t);let u,p,f=this.fsw.options.depth;if((f==null||s<=f)&&!this.fsw._symlinkPaths.has(a)){if(!i&&(await this._handleRead(t,n,o,i,t,s,u),this.fsw.closed))return;p=this._watchWithNodeFs(t,(h,d)=>{d&&d.mtimeMs===0||this._handleRead(h,false,o,i,t,s,u);});}return p}async _addToNodeFs(t,r,n,s,i){let o=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return o(),false;let a=this.fsw._getWatchHelpers(t);n&&(a.filterPath=l=>n.filterPath(l),a.filterDir=l=>n.filterDir(l));try{let l=await vE[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,l))return o(),!1;let c=this.fsw.options.followSymlinks,u;if(l.isDirectory()){let p=z.resolve(t),f=c?await realpath(t):t;if(this.fsw.closed||(u=await this._handleDir(a.watchPath,l,r,s,i,a,f),this.fsw.closed))return;p!==f&&f!==void 0&&this.fsw._symlinkPaths.set(p,f);}else if(l.isSymbolicLink()){let p=c?await realpath(t):t;if(this.fsw.closed)return;let f=z.dirname(a.watchPath);if(this.fsw._getWatchedDir(f).add(a.watchPath),this.fsw._emit(He.ADD,a.watchPath,l),u=await this._handleDir(f,l,r,s,t,a,p),this.fsw.closed)return;p!==void 0&&this.fsw._symlinkPaths.set(z.resolve(t),p);}else u=this._handleFile(a.watchPath,l,r);return o(),u&&this.fsw._addPathCloser(t,u),!1}catch(l){if(this.fsw._handleError(l))return o(),t}}};});function Ls(e){return Array.isArray(e)?e:[e]}function BE(e){return typeof e=="function"?e:typeof e=="string"?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e=="object"&&e!==null?t=>{if(e.path===t)return true;if(e.recursive){let r=z.relative(e.path,t);return r?!r.startsWith("..")&&!z.isAbsolute(r):false}return false}:()=>false}function qE(e){if(typeof e!="string")throw new Error("string expected");e=z.normalize(e),e=e.replace(/\\/g,"/");let t=false;return e.startsWith("//")&&(t=true),e=e.replace(rm,"/"),t&&(e="/"+e),e}function Xf(e,t,r){let n=qE(t);for(let s=0;s<e.length;s++){let i=e[s];if(i(n,r))return true}return false}function HE(e,t){if(e==null)throw new TypeError("anymatch: specify first argument");let n=Ls(e).map(s=>BE(s));return t==null?(s,i)=>Xf(n,s,i):Xf(n,t)}function KE(e,t={}){let r=new Ds(t);return r.add(e),r}var Ea,LE,tm,DE,jE,FE,rm,ME,UE,_a,Qf,Zf,nm,em,WE,zE,xa,GE,VE,va,Ds,js,$a=y(()=>{Hf();Jf();Ea="/",LE="//",tm=".",DE="..",jE="string",FE=/\\/g,rm=/\/\//g,ME=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,UE=/^\.[/\\]/;_a=e=>typeof e=="object"&&e!==null&&!(e instanceof RegExp);Qf=e=>{let t=Ls(e).flat();if(!t.every(r=>typeof r===jE))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(nm)},Zf=e=>{let t=e.replace(FE,Ea),r=false;return t.startsWith(LE)&&(r=true),t=t.replace(rm,Ea),r&&(t=Ea+t),t},nm=e=>Zf(z.normalize(Zf(e))),em=(e="")=>t=>typeof t=="string"?nm(z.isAbsolute(t)?t:z.join(e,t)):t,WE=(e,t)=>z.isAbsolute(e)?e:z.join(t,e),zE=Object.freeze(new Set),xa=class{path;_removeWatcher;items;constructor(t,r){this.path=t,this._removeWatcher=r,this.items=new Set;}add(t){let{items:r}=this;r&&t!==tm&&t!==DE&&r.add(t);}async remove(t){let{items:r}=this;if(!r||(r.delete(t),r.size>0))return;let n=this.path;try{await readdir(n);}catch{this._removeWatcher&&this._removeWatcher(z.dirname(n),z.basename(n));}}has(t){let{items:r}=this;if(r)return r.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=Os,this.items=zE,Object.freeze(this);}},GE="stat",VE="lstat",va=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(t,r,n){this.fsw=n;let s=t;this.path=t=t.replace(UE,""),this.watchPath=s,this.fullWatchPath=z.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop();}),this.followSymlinks=r,this.statMethod=r?GE:VE;}entryPath(t){return z.join(this.watchPath,z.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:r}=t;if(r&&r.isSymbolicLink())return this.filterDir(t);let n=this.entryPath(t);return this.fsw._isntIgnored(n,r)&&this.fsw._hasReadPermissions(r)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},Ds=class extends EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(t={}){super(),this.closed=false,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=false;let r=t.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},s={persistent:true,ignoreInitial:false,ignorePermissionErrors:false,interval:100,binaryInterval:300,followSymlinks:true,usePolling:false,atomic:true,...t,ignored:t.ignored?Ls(t.ignored):Ls([]),awaitWriteFinish:r===true?n:typeof r=="object"?{...n,...r}:false};Kf&&(s.usePolling=true),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let l=i.toLowerCase();l==="false"||l==="0"?s.usePolling=false:l==="true"||l==="1"?s.usePolling=true:s.usePolling=!!l;}let o=process.env.CHOKIDAR_INTERVAL;o&&(s.interval=Number.parseInt(o,10));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=Os,this._readyEmitted=true,process.nextTick(()=>this.emit(ue.READY)));},this._emitRaw=(...l)=>this.emit(ue.RAW,...l),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new Ns(this),Object.freeze(s);}_addIgnoredPath(t){if(_a(t)){for(let r of this._ignoredPaths)if(_a(r)&&r.path===t.path&&r.recursive===t.recursive)return}this._ignoredPaths.add(t);}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let r of this._ignoredPaths)_a(r)&&r.path===t&&this._ignoredPaths.delete(r);}add(t,r,n){let{cwd:s}=this.options;this.closed=false,this._closePromise=void 0;let i=Qf(t);return s&&(i=i.map(o=>WE(o,s))),i.forEach(o=>{this._removeIgnoredPath(o);}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.map(async o=>{let a=await this._nodeFsHandler._addToNodeFs(o,!n,void 0,0,r);return a&&this._emitReady(),a})).then(o=>{this.closed||o.forEach(a=>{a&&this.add(z.dirname(a),z.basename(r||a));});}),this}unwatch(t){if(this.closed)return this;let r=Qf(t),{cwd:n}=this.options;return r.forEach(s=>{!z.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=z.join(n,s)),s=z.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,recursive:true}),this._userIgnored=void 0;}),this}close(){if(this._closePromise)return this._closePromise;this.closed=true,this.removeAllListeners();let t=[];return this._closers.forEach(r=>r.forEach(n=>{let s=n();s instanceof Promise&&t.push(s);})),this._streams.forEach(r=>r.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=false,this._watched.forEach(r=>r.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((r,n)=>{let i=(this.options.cwd?z.relative(this.options.cwd,n):n)||tm;t[i]=r.getChildren().sort();}),t}emitWithAll(t,r){this.emit(t,...r),t!==ue.ERROR&&this.emit(ue.ALL,t,...r);}async _emit(t,r,n){if(this.closed)return;let s=this.options;Sa&&(r=z.normalize(r)),s.cwd&&(r=z.relative(s.cwd,r));let i=[r];n!=null&&i.push(n);let o=s.awaitWriteFinish,a;if(o&&(a=this._pendingWrites.get(r)))return a.lastChange=new Date,this;if(s.atomic){if(t===ue.UNLINK)return this._pendingUnlinks.set(r,[t,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((l,c)=>{this.emit(...l),this.emit(ue.ALL,...l),this._pendingUnlinks.delete(c);});},typeof s.atomic=="number"?s.atomic:100),this;t===ue.ADD&&this._pendingUnlinks.has(r)&&(t=ue.CHANGE,this._pendingUnlinks.delete(r));}if(o&&(t===ue.ADD||t===ue.CHANGE)&&this._readyEmitted){let l=(c,u)=>{c?(t=ue.ERROR,i[0]=c,this.emitWithAll(t,i)):u&&(i.length>1?i[1]=u:i.push(u),this.emitWithAll(t,i));};return this._awaitWriteFinish(r,o.stabilityThreshold,t,l),this}if(t===ue.CHANGE&&!this._throttle(ue.CHANGE,r,50))return this;if(s.alwaysStat&&n===void 0&&(t===ue.ADD||t===ue.ADD_DIR||t===ue.CHANGE)){let l=s.cwd?z.join(s.cwd,r):r,c;try{c=await stat(l);}catch{}if(!c||this.closed)return;i.push(c);}return this.emitWithAll(t,i),this}_handleError(t){let r=t&&t.code;return t&&r!=="ENOENT"&&r!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||r!=="EPERM"&&r!=="EACCES")&&this.emit(ue.ERROR,t),t||this.closed}_throttle(t,r,n){this._throttled.has(t)||this._throttled.set(t,new Map);let s=this._throttled.get(t);if(!s)throw new Error("invalid throttle");let i=s.get(r);if(i)return i.count++,false;let o,a=()=>{let c=s.get(r),u=c?c.count:0;return s.delete(r),clearTimeout(o),c&&clearTimeout(c.timeoutObject),u};o=setTimeout(a,n);let l={timeoutObject:o,clear:a,count:0};return s.set(r,l),l}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,r,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let o=i.pollInterval,a,l=t;this.options.cwd&&!z.isAbsolute(t)&&(l=z.join(this.options.cwd,t));let c=new Date,u=this._pendingWrites;function p(f){stat$1(l,(h,d)=>{if(h||!u.has(t)){h&&h.code!=="ENOENT"&&s(h);return}let m=Number(new Date);f&&d.size!==f.size&&(u.get(t).lastChange=m);let b=u.get(t);m-b.lastChange>=r?(u.delete(t),s(void 0,d)):a=setTimeout(p,o,d);});}u.has(t)||(u.set(t,{lastChange:c,cancelWait:()=>(u.delete(t),clearTimeout(a),n)}),a=setTimeout(p,o));}_isIgnored(t,r){if(this.options.atomic&&ME.test(t))return true;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(em(n)),a=[...[...this._ignoredPaths].map(em(n)),...i];this._userIgnored=HE(a,void 0);}return this._userIgnored(t,r)}_isntIgnored(t,r){return !this._isIgnored(t,r)}_getWatchHelpers(t){return new va(t,this.options.followSymlinks,this)}_getWatchedDir(t){let r=z.resolve(t);return this._watched.has(r)||this._watched.set(r,new xa(r,this._boundRemove)),this._watched.get(r)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?true:!!(Number(t.mode)&256)}_remove(t,r,n){let s=z.join(t,r),i=z.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(t,r,true),this._getWatchedDir(s).getChildren().forEach(f=>this._remove(s,f));let l=this._getWatchedDir(t),c=l.has(r);l.remove(r),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let u=s;if(this.options.cwd&&(u=z.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===ue.ADD)return;this._watched.delete(s),this._watched.delete(i);let p=n?ue.UNLINK_DIR:ue.UNLINK;c&&!this._isIgnored(s)&&this._emit(p,s),this._closePath(s);}_closePath(t){this._closeFile(t);let r=z.dirname(t);this._getWatchedDir(r).remove(z.basename(t));}_closeFile(t){let r=this._closers.get(t);r&&(r.forEach(n=>n()),this._closers.delete(t));}_addPathCloser(t,r){if(!r)return;let n=this._closers.get(t);n||(n=[],this._closers.set(t,n)),n.push(r);}_readdirp(t,r){if(this.closed)return;let n={type:ue.ALL,alwaysStat:true,lstat:true,...r,depth:0},s=qf(t,n);return this._streams.add(s),s.once(Vf,()=>{s=void 0;}),s.once(ba,()=>{s&&(this._streams.delete(s),s=void 0);}),s}};js={watch:KE,FSWatcher:Ds};});function im(e){return e.config?.db?.driver==="sqlite"?"./sqlite-migrations/*.sql":"./migrations/*.sql"}function Rt(e){return z__default.posix.dirname(im(e))}async function Xe(e){let t=z__default.join(process.cwd(),"supabase"),r=await Wr([im(e)],{cwd:t,absolute:true}),n=[];for(let s of r){let i=z__default.basename(s),o=YE.exec(i);if(!o)continue;let a=await fe__default.readFile(s,"utf-8");n.push({version:o[1],name:o[2]??null,filename:i,path:s,sql:a});}return n.sort((s,i)=>s.version.localeCompare(i.version))}async function Fs(e){return (await Xe(e)).map(r=>r.sql).join(`
|
|
63
|
+
`)}function Ta(e=new Date){return e.getUTCFullYear().toString().padStart(4,"0")+(e.getUTCMonth()+1).toString().padStart(2,"0")+e.getUTCDate().toString().padStart(2,"0")+e.getUTCHours().toString().padStart(2,"0")+e.getUTCMinutes().toString().padStart(2,"0")+e.getUTCSeconds().toString().padStart(2,"0")}function Aa(e,t=Ta()){let r=e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_|_$/g,"");return r.length>0?`${t}_${r}.sql`:`${t}.sql`}async function om(e,t,r){let n=z__default.join(process.cwd(),"supabase",Rt(e));Pe(n);let s=Aa(t,r?.ts),i=z__default.join(n,s);return await fe__default.writeFile(i,"",{flag:"wx"}),i}var YE,Pt=y(()=>{ma();St();YE=/^(\d{14})(?:_([^.]+))?\.sql$/;});function Kr(e){if("String"in e)return e.String.sval}function kt(e){return e.map(Kr).filter(t=>t!=null)}function Nt(e){return e==null?[]:e.List!==void 0?e.List.items||[]:Array.isArray(e)?e:[e]}function Ms(e){return QuoteUtils.quoteIdentifier(e)}function or(e){return Object.keys(e)[0]}function am(e){if("A_Const"in e){if(e.A_Const.ival)return e.A_Const.ival.ival;if(e.A_Const.fval)return e.A_Const.fval.fval;if(e.A_Const.sval)return e.A_Const.sval.sval;if(e.A_Const.boolval)return e.A_Const.boolval.boolval;if(e.A_Const.isnull)return null}}var Ot=y(()=>{});function cm(e){let t=e.toLowerCase().trim();if(t.startsWith("_")||t.endsWith("[]"))return "TEXT";let r=QE[t];if(!r)throw new It(`Unsupported PostgreSQL type: "${e}"`);return r}function Us(e){let t=e.toLowerCase();return ["serial","serial4","bigserial","serial8","smallserial","serial2"].includes(t)}function Bs(e){let t=e.toLowerCase();return ["varchar","character varying","char","character","bpchar"].includes(t)}function qs(e){let t=e.toLowerCase();return ["numeric","decimal"].includes(t)}var It,B,QE,lm,ZE,Hs,ar=y(()=>{Ot();It=class extends Error{},B=class extends It{constructor(r,n){super(n??`Unsupported node type: ${or(r)}`);this.node=r;}},QE={int2:"INTEGER",smallint:"INTEGER",int4:"INTEGER",integer:"INTEGER",int:"INTEGER",int8:"INTEGER",bigint:"INTEGER",serial:"INTEGER",serial4:"INTEGER",bigserial:"INTEGER",serial8:"INTEGER",smallserial:"INTEGER",serial2:"INTEGER",float4:"REAL",real:"REAL",float8:"REAL","double precision":"REAL",numeric:"REAL",decimal:"REAL",text:"TEXT",varchar:"TEXT","character varying":"TEXT",char:"TEXT",character:"TEXT",bpchar:"TEXT",name:"TEXT",bytea:"BLOB",bool:"INTEGER",boolean:"INTEGER",date:"TEXT",time:"TEXT","time without time zone":"TEXT",timetz:"TEXT","time with time zone":"TEXT",timestamp:"TEXT","timestamp without time zone":"TEXT",timestamptz:"TEXT","timestamp with time zone":"TEXT",interval:"TEXT",json:"TEXT",jsonb:"TEXT",uuid:"TEXT",inet:"TEXT"},lm=["<",">","<=",">=","=","<>","!=","+","-","*","/","%","&","|","<<",">>","||","BETWEEN","NOT BETWEEN","IN","NOT IN","LIKE","NOT LIKE","IS NULL","IS NOT NULL","IS TRUE","IS NOT TRUE","IS FALSE","IS NOT FALSE","IS UNKNOWN","IS NOT UNKNOWN","AND","OR","NOT","->>"];ZE={CreateEnumStmt:{react:"ignore"},CreateDomainStmt:{react:"warn"},CreateSeqStmt:{react:"error"},AlterSeqStmt:{react:"error"},CreateSchemaStmt:{react:"warn"},CreatePolicyStmt:{react:"ignore"},PartitionElem:{react:"error"},PartitionCmd:{react:"error"},VariableSetStmt:{react:"ignore"},CompositeTypeStmt:{react:"error"},AlterEnumStmt:{react:"error"},AlterObjectSchemaStmt:{react:"error"},AlterOwnerStmt:{react:"error"},AlterTypeStmt:{react:"error"},AlterFunctionStmt:{react:"error"},AlterDefaultPrivilegesStmt:{react:"error"},GrantStmt:{react:"error"},GrantRoleStmt:{react:"error"},CopyStmt:{react:"error"},CreateCastStmt:{react:"error"},AlterOpFamilyStmt:{react:"error"},AlterOperatorStmt:{react:"error"},TruncateStmt:{react:"error"},A_Indirection:{react:"error"},XmlExpr:{react:"error"},XmlSerialize:{react:"error"},RangeTableSample:{react:"error"},GroupingSet:{react:"error"}},Hs=new Map(Object.entries(ZE));});var Fe,Yr,Ca=y(()=>{Ot();ar();Fe=class extends B{constructor(t,r){super(t,`Unsupported expression: ${r}`);}},Yr=class{deparse(t){if("A_Const"in t){let s=t.A_Const;if(s.boolval!==void 0)return s.boolval.boolval?{}:{$always:false}}let r=Object.keys(t)[0],n=this[r];if(!n)throw new Fe({[r]:t},`Unsupported expression: ${r}`);return n.call(this,t[r])}deparseValue(t){if("A_Const"in t)return this.A_Const(t.A_Const);if("ColumnRef"in t)return this.ColumnRef(t.ColumnRef);if("FuncCall"in t)return this.FuncCall(t.FuncCall);if("SubLink"in t)return this.SubLink(t.SubLink);if("TypeCast"in t)return this.TypeCast(t.TypeCast);if("A_Expr"in t){let n=this.isJwtAccessor(t.A_Expr);return n||this.A_Expr(t.A_Expr)}if("BoolExpr"in t)return this.BoolExpr(t.BoolExpr);let r=Object.keys(t)[0];throw new Fe({[r]:t},`deparseValue: ${r}`)}A_Expr(t){if(t.kind==="AEXPR_OP"){let r=t.name?.[0],n=r?Kr(r):void 0;if(!n)throw new Fe({A_Expr:t},"A_Expr missing operator");let s=this.isJwtAccessor(t);if(s)return {[s]:{}};let i=t.lexpr?this.deparseValue(t.lexpr):void 0,o=t.rexpr?this.deparseValue(t.rexpr):void 0,a=this.mapOperator(n);if(!a)throw new Fe({A_Expr:t},`Unsupported operator: ${n}`);let l=t.rexpr!=null&&"ColumnRef"in t.rexpr;if(typeof i=="string"&&i.startsWith("{{")&&l)return {[o]:{[a]:i}};let c=l&&typeof o=="string"?{$ref:o}:o;return {[i]:{[a]:c}}}if(t.kind==="AEXPR_LIKE"||t.kind==="AEXPR_ILIKE"){let r=t.lexpr?this.deparseValue(t.lexpr):void 0,n=t.rexpr?this.deparseValue(t.rexpr):void 0,i=(t.name?.[0]?Kr(t.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[r]:{[i]:n}}}if(t.kind==="AEXPR_IN"){let r=t.lexpr?this.deparseValue(t.lexpr):void 0,n=t.rexpr&&"List"in t.rexpr&&t.rexpr.List.items?t.rexpr.List.items.map(s=>this.deparseValue(s)):[];return {[r]:{$in:n}}}throw new Fe({A_Expr:t},`A_Expr kind: ${t.kind}`)}BoolExpr(t){let r=t.args??[];switch(t.boolop){case "AND_EXPR":return {$and:r.map(n=>this.deparse(n))};case "OR_EXPR":return {$or:r.map(n=>this.deparse(n))};case "NOT_EXPR":return {$not:this.deparse(r[0])};default:throw new Fe({BoolExpr:t},`BoolExpr op: ${t.boolop}`)}}NullTest(t){let r=t.arg?this.deparseValue(t.arg):void 0;return t.nulltesttype==="IS_NULL"?{[r]:{$is:null}}:{[r]:{$isNot:null}}}SubLink(t){if(t.subLinkType==="ANY_SUBLINK"){let r=t.testexpr?this.deparseValue(t.testexpr):void 0,n=t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0;return {[r]:{$in:n}}}if(t.subLinkType==="EXISTS_SUBLINK")return {$exists:t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0};if(t.subLinkType==="EXPR_SUBLINK"){let r=t.subselect?t.subselect.SelectStmt:void 0;if(r?.fromClause?.length)return this.SelectStmt(r);if(r?.targetList?.[0]){let n=r.targetList[0],s="ResTarget"in n?n.ResTarget:void 0;if(s?.val){let i=this.deparseValue(s.val);return i}}}throw new Fe({SubLink:t},`SubLink type: ${t.subLinkType}`)}SelectStmt(t){let{from:r,schema:n,join:s}=this.deparseFromClause(t.fromClause??[]),i=[];for(let f of t.targetList??[]){let h="ResTarget"in f?f.ResTarget:void 0;if(h?.val){let d=this.deparseValue(h.val);Array.isArray(d)?i.push(...d.map(String)):d!=null&&d!==""&&i.push(String(d));}}let o=t.whereClause?this.deparse(t.whereClause):void 0,a=this.deparseSortClause(t.sortClause),l=this.deparseLimit(t.limitCount),c=this.deparseLimit(t.limitOffset),u=this.deparseGroupClause(t.groupClause),p={type:"query",from:r,select:i};return n&&(p.schema=n),Object.keys(s).length>0&&(p.join=s),o&&(p.where=o),a.length>0&&(p.order=a),l!==void 0&&(p.limit=l),c!==void 0&&(p.offset=c),u.length>0&&(p.group=u),p}FuncCall(t){let r=this.isAuthFunc(t.funcname??[]);if(r)return r;throw new Fe({FuncCall:t},`FuncCall: ${kt(t.funcname??[]).join(".")}`)}ColumnRef(t){let r=kt(t.fields??[]);return r.length===1?r[0]:r.join(".")}A_Const(t){if(t.boolval!==void 0)return t.boolval.boolval;if(t.ival!==void 0)return t.ival.ival??0;if(t.fval!==void 0)return parseFloat(t.fval.fval??"0");if(t.sval!==void 0)return t.sval.sval??"";if(t.isnull)return null;throw new Fe({A_Const:t},"A_Const: unknown variant")}TypeCast(t){if(!t.arg)throw new Fe({TypeCast:t},"TypeCast: missing arg");return this.deparseValue(t.arg)}BooleanTest(t){let r=t.arg?this.deparseValue(t.arg):void 0;return t.booltesttype==="IS_TRUE"?{[r]:{$eq:true}}:{[r]:{$eq:false}}}deparseFromClause(t){let r={};if(t.length===0)return {from:"",join:r};let n=t[0];if("RangeVar"in n){let s=n.RangeVar;return {from:s.relname??"",schema:s.schemaname,join:r}}if("JoinExpr"in n){let{from:s,schema:i}=this.walkJoinExpr(n.JoinExpr,r);return {from:s,schema:i,join:r}}return {from:"",join:r}}walkJoinExpr(t,r){let n={from:""};if(t.larg)if("RangeVar"in t.larg){let s=t.larg.RangeVar;n={from:s.relname??"",schema:s.schemaname};}else "JoinExpr"in t.larg&&(n=this.walkJoinExpr(t.larg.JoinExpr,r));if(t.rarg&&"RangeVar"in t.rarg){let s=t.rarg.RangeVar,i=s.relname??"",o=s.alias?.aliasname??i,a=t.jointype==="JOIN_LEFT"?"left":"inner",l={from:i,type:a};t.quals&&(l.on=this.deparse(t.quals));let c=o;if(c in r){let u=2;for(;`${c}_${u}`in r;)u++;c=`${c}_${u}`;}r[c]=l;}return n}deparseSortClause(t){if(!t)return [];let r=[];for(let n of t){if(!("SortBy"in n))continue;let s=n.SortBy;if(!s.node)continue;let i=String(this.deparseValue(s.node)),o=s.sortby_dir==="SORTBY_DESC"?"desc":"asc",a={column:i,direction:o};s.sortby_nulls==="SORTBY_NULLS_FIRST"?a.nullsFirst=true:s.sortby_nulls==="SORTBY_NULLS_LAST"&&(a.nullsFirst=false),r.push(a);}return r}deparseLimit(t){if(!t)return;let r=this.deparseValue(t);return typeof r=="number"?r:Number(r)}deparseGroupClause(t){return t?t.map(r=>String(this.deparseValue(r))):[]}isAuthFunc(t){let r=kt(t);if(r.length===2&&r[0]==="auth"){if(r[1]==="uid")return "{{auth.uid}}";if(r[1]==="jwt")return "{{auth.jwt}}";if(r[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${r.slice(1).join(".")}"`)}return null}isJwtAccessor(t){if(t.kind!=="AEXPR_OP")return null;let r=t.name?.[0]?Kr(t.name[0]):void 0;if(r!=="->"&&r!=="->>")return null;let n=t.rexpr&&"A_Const"in t.rexpr?t.rexpr.A_Const.sval?.sval:void 0;if(n===void 0)return null;if(t.lexpr&&"FuncCall"in t.lexpr)return this.isAuthFunc(t.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${n}}}`:null;if(t.lexpr&&"A_Expr"in t.lexpr){let s=this.isJwtAccessor(t.lexpr.A_Expr);if(s)return `${s.slice(0,-2)}.${n}}}`}return null}mapOperator(t){switch(t){case "=":return "$eq";case "<>":case "!=":return "$neq";case ">":return "$gt";case ">=":return "$gte";case "<":return "$lt";case "<=":return "$lte";case "~~":return "$like";case "!~~":return "$notLike";default:return}}};});var Jr,Ra=y(()=>{Jr=class e{constructor(t){this.data=t;}appliesTo(t){return this.data.command==="ALL"||this.data.command===t}appliesToRole(t){return this.data.roles.length===0||this.data.roles.includes(t)}toJSON(){return this.data}static fromJSON(t){return new e(t)}};});var Xr,Pa=y(()=>{Xr=class extends Error{constructor(r,n,s,i){super(`check constraint "${s}" violated for ${r}.${n}`);this.table=r;this.column=n;this.constraint=s;this.value=i;this.name="CheckConstraintError";}};});var we,st=y(()=>{Pa();we=class{context;constructor(t){this.context=t;}get isShimBacked(){return false}checkConstraint(){return null}serialize(t){return t}deserialize(t){return t}validateStorage(t){return {status:"pass",message:null}}validationFail(t,r){return {status:"fail",message:t,action:r}}validationPass(){return {status:"pass",message:null}}isNullish(t){return t==null}toColumnDDL(t){let{includeNullable:r=true}=t??{},n=[],s=this.context.column;n.push(this.quoteIfNeeded(s)),n.push(this.sqliteType),this.context.isPrimaryKey&&n.push("PRIMARY KEY"),this.context.isSerial&&this.context.isPrimaryKey&&n.push("AUTOINCREMENT"),r&&!this.context.nullable&&!this.context.isPrimaryKey&&n.push("NOT NULL"),this.context.isUnique&&!this.context.isPrimaryKey&&n.push("UNIQUE"),this.context.defaultValue!==null&&n.push(`DEFAULT ${this.context.defaultValue}`);let i=this.checkConstraint();return i&&n.push(`CHECK (${i})`),n.join(" ")}checkError(t,r){return new Xr(this.context.table,this.context.column,t,r)}quoteIfNeeded(t){return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)?t:`"${t}"`}};});var Lt,Ws=y(()=>{st();Lt=class extends we{get sqliteType(){return "INTEGER"}};});var Qr,ka=y(()=>{Ws();Qr=class extends Lt{constructor(t){super({...t,isSerial:true});}};});function e_(e,t){let{precision:r,scale:n}=t,s=10**n,i=10**(r-n);return Math.abs(Math.round(e*s)-e*s)<1e-4&&Math.abs(e)<i}var Dt,zs=y(()=>{st();Dt=class extends we{numericPrecision;constructor(t,r){super(t),this.numericPrecision=r;}get isShimBacked(){return this.numericPrecision!==void 0}get sqliteType(){return "REAL"}checkConstraint(){if(this.numericPrecision){let{precision:t,scale:r}=this.numericPrecision,n=this.context.column,s=10**r,i=10**(t-r);return `ABS(ROUND(${n} * ${s}) - ${n} * ${s}) < 0.0001 AND ABS(${n}) < ${i}`}return null}validateStorage(t){if(this.isNullish(t))return this.validationPass();if(typeof t!="number"||!Number.isFinite(t))return this.validationFail("Expected finite number.","Patch rows with finite numbers.");if(this.numericPrecision){let{precision:r,scale:n}=this.numericPrecision;if(!e_(t,this.numericPrecision))return this.validationFail(`Does not fit numeric(${r}, ${n}).`,"Patch rows within numeric precision.")}return this.validationPass()}};});var ae,Me=y(()=>{st();ae=class extends we{lengthConstraint;constructor(t,r){super(t),this.lengthConstraint=r;}get isShimBacked(){return this.lengthConstraint!==void 0}get sqliteType(){return "TEXT"}checkConstraint(){return this.lengthConstraint!==void 0?`length(${this.context.column}) <= ${this.lengthConstraint}`:null}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"?this.validationFail("Expected text.","Patch rows with text values."):this.lengthConstraint!==void 0&&Array.from(t).length>this.lengthConstraint?this.validationFail(`Exceeds length ${this.lengthConstraint}.`,"Patch rows with shorter text."):this.validationPass()}};});var Zr,Na=y(()=>{st();Zr=class extends we{get sqliteType(){return "BLOB"}};});var en,Oa=y(()=>{st();en=class extends we{get isShimBacked(){return true}get sqliteType(){return "INTEGER"}checkConstraint(){return `${this.context.column} IN (0, 1)`}serialize(t){if(this.isNullish(t))return t;if(t===true||t===1)return 1;if(t===false||t===0)return 0;throw this.checkError("boolean_range",t)}deserialize(t){return this.isNullish(t)?t:t===1?true:t===0?false:t}validateStorage(t){return this.isNullish(t)?this.validationPass():t===1||t===0?this.validationPass():this.validationFail("Expected 0 or 1.","Patch rows with boolean values.")}};});function um(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var tn,Ia=y(()=>{st();tn=class extends we{get isShimBacked(){return true}get sqliteType(){return "TEXT"}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR json_valid(${t})`}serialize(t){if(this.isNullish(t))return t;try{return JSON.stringify(t)}catch{throw this.checkError("json_valid",t)}}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let r=um(t);return r.ok?r.value:t}return t}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"?this.validationFail("Expected JSON text.","Patch rows with JSON values."):um(t).ok?this.validationPass():this.validationFail("Invalid JSON text.","Patch rows with valid JSON.")}};});function t_(e){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))return false;let t=new Date(`${e}T00:00:00.000Z`);return !Number.isNaN(t.getTime())&&t.toISOString().slice(0,10)===e}var rn,La=y(()=>{Me();rn=class extends ae{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR date(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!t_(t)?this.validationFail("Invalid date.","Patch rows with YYYY-MM-DD dates."):this.validationPass()}};});function r_(e){let t=e.match(/^(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?([+-](\d{2}):?(\d{2}))?$/);if(!t)return false;let r=Number(t[1]),n=Number(t[2]),s=t[3]===void 0?0:Number(t[3]),i=t[5]===void 0?null:Number(t[5]),o=t[6]===void 0?null:Number(t[6]),a=i===null||o!==null&&i<=15&&o<=59;return r<=24&&n<=59&&s<=59&&(r!==24||n===0&&s===0)&&a}var nn,Da=y(()=>{Me();nn=class extends ae{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR time(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!r_(t)?this.validationFail("Invalid time.","Patch rows with HH:MM[:SS] times."):this.validationPass()}};});function n_(e){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?(?:Z|([+-](\d{2}):?(\d{2})))?$/);if(!t)return false;let r=Number(t[1]),n=Number(t[2]),s=Number(t[3]),i=Number(t[4]),o=Number(t[5]),a=t[6]===void 0?0:Number(t[6]),l=t[8]===void 0?null:Number(t[8]),c=t[9]===void 0?null:Number(t[9]),u=new Date(Date.UTC(r,n-1,s)),p=u.getUTCFullYear()===r&&u.getUTCMonth()===n-1&&u.getUTCDate()===s,f=i<=24&&o<=59&&a<=59&&(i!==24||o===0&&a===0),h=l===null||c!==null&&l<=15&&c<=59;return p&&f&&h}var sn,ja=y(()=>{Me();sn=class extends ae{get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR datetime(${t}) IS NOT NULL`}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!n_(t)?this.validationFail("Invalid timestamp.","Patch rows with ISO timestamps."):this.validationPass()}};});var on,Fa=y(()=>{Me();on=class extends ae{get isShimBacked(){return true}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||t.trim().length===0?this.validationFail("Expected interval text.","Patch rows with interval strings."):/^-?\d+(?:\.\d+)?$/.test(t.trim())?this.validationFail("Ambiguous numeric interval.","Patch rows with explicit interval strings."):this.validationPass()}};});var an,Ma=y(()=>{Me();an=class extends ae{enumValues;constructor(t,r){super(t),this.enumValues=r;}get isShimBacked(){return true}checkConstraint(){let t=this.context.column,r=this.enumValues.map(n=>`'${n.replace(/'/g,"''")}'`).join(", ");return `${t} IN (${r})`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string"||!this.enumValues.includes(t))throw this.checkError("enum_membership",t);return t}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!this.enumValues.includes(t)?this.validationFail("Invalid enum value.","Patch rows with declared enum values."):this.validationPass()}};});function pm(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var dt,Gs=y(()=>{st();dt=class extends we{elementField;constructor(t,r){super(t),this.elementField=r;}get sqliteType(){return "TEXT"}get isShimBacked(){return true}checkConstraint(){let t=this.context.column;return `${t} IS NULL OR (json_valid(${t}) AND json_type(${t}) = 'array')`}serialize(t){if(this.isNullish(t))return t;if(!Array.isArray(t))throw this.checkError("array_type",t);return this.elementField?JSON.stringify(t.map(r=>this.elementField.serialize(r))):JSON.stringify(t)}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let r=pm(t);if(r.ok&&Array.isArray(r.value))return this.elementField?r.value.map(n=>this.elementField.deserialize(n)):r.value}return t}validateStorage(t){if(this.isNullish(t))return this.validationPass();if(typeof t!="string")return this.validationFail("Expected JSON array text.","Patch rows with array values.");let r=pm(t);if(!r.ok)return this.validationFail("Invalid JSON array text.","Patch rows with array values.");if(!Array.isArray(r.value))return this.validationFail("Expected JSON array.","Patch rows with array values.");if(this.elementField)for(let n of r.value){let s=this.elementField.validateStorage(n);if(s.status==="fail")return this.validationFail(`Invalid ${this.elementField.context.pgTypeName} array element.`,s.action??"Patch rows with valid array elements.")}return this.validationPass()}};});function fm(e){return i_.test(e.toLowerCase())}var s_,i_,ln,Ua=y(()=>{Me();s_="????????-????-????-????-????????????",i_=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;ln=class extends ae{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR ${t} GLOB '${s_}'`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("uuid_format",t);let r=t.toLowerCase();if(!fm(r))throw this.checkError("uuid_format",t);return r}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!fm(t)?this.validationFail("Invalid UUID.","Patch rows with valid UUIDs."):this.validationPass()}};});function o_(e){let t=e.split("/");if(t.length>2)return null;let r=t[0];if(!r)return null;if(t.length===1)return {address:r,prefix:null};let n=t[1];return !n||!/^\d+$/.test(n)?null:{address:r,prefix:Number(n)}}function a_(e){let t=e.split(".");return t.length!==4?false:t.every(r=>{if(!/^\d+$/.test(r))return false;let n=Number(r);return n>=0&&n<=255})}function l_(e){if(!e.includes(":"))return false;try{return new URL(`http://[${e}]/`),!0}catch{return false}}function mm(e){let t=o_(e);return t?a_(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=32:l_(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=128:false:false}var cn,Ba=y(()=>{Me();cn=class extends ae{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR (length(${t}) BETWEEN 3 AND 49 AND (instr(${t}, '.') > 0 OR instr(${t}, ':') > 0))`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("inet_format",t);let r=t.trim();if(!mm(r))throw this.checkError("inet_format",t);return r}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!mm(t.trim())?this.validationFail("Invalid inet address.","Patch rows with valid inet strings."):this.validationPass()}};});var un,qa=y(()=>{Me();un=class extends ae{serialize(t){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}deserialize(t){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}toColumnDDL(){throw new Error(`Unsupported type "${this.context.pgTypeName}" for ${this.context.table}.${this.context.column}`)}};});function jt(e,t){if(t?.isArray){let n=jt(e,{...t,isArray:false});return new dt(e,n)}if(t?.enumValues)return new an(e,t.enumValues);let r=e.pgTypeName.toLowerCase().trim();if(r.startsWith("_")||r.endsWith("[]")){let n=r.startsWith("_")?r.slice(1):r.slice(0,-2),s={...e,pgTypeName:n},i=jt(s);return new dt(e,i)}return u_.has(r)?new Qr(e):c_.has(r)?new Lt(e):d_.has(r)?new en(e):h_.has(r)?new tn(e):b_.has(r)?new rn(e):S_.has(r)?new nn(e):E_.has(r)?new sn(e):__.has(r)?new on(e):m_.has(r)?new Zr(e):p_.has(r)?new Dt(e,t?.numericPrecision):g_.has(r)?new ln(e):y_.has(r)?new ae(e,63):w_.has(r)?new cn(e):f_.has(r)?new ae(e,t?.lengthConstraint):new un(e)}var c_,u_,p_,f_,m_,d_,h_,g_,y_,w_,b_,S_,E_,__,Ha=y(()=>{Ws();ka();zs();Me();Na();Oa();Ia();La();Da();ja();Fa();Ma();Gs();Ua();Ba();qa();c_=new Set(["int2","smallint","int4","integer","int","int8","bigint"]),u_=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]),p_=new Set(["float4","real","float8","double precision","numeric","decimal"]),f_=new Set(["text","varchar","character varying","char","character","bpchar"]),m_=new Set(["bytea"]),d_=new Set(["bool","boolean"]),h_=new Set(["json","jsonb"]),g_=new Set(["uuid"]),y_=new Set(["name"]),w_=new Set(["inet"]),b_=new Set(["date"]),S_=new Set(["time","timetz","time without time zone","time with time zone"]),E_=new Set(["timestamp","timestamptz","timestamp without time zone","timestamp with time zone"]),__=new Set(["interval"]);});function Wa(e,t="auto"){let r=e.toLowerCase(),n=Vs[r];if(!n)return null;switch(t){case "translate":{if(!n.sqlite)throw new Error(`No SQLite translation for function "${e}"`);return {sqliteExpr:n.sqlite(),jsFn:null}}case "synthetic":{if(!n.js)throw new Error(`No JS implementation for function "${e}"`);return {sqliteExpr:null,jsFn:n.js}}case "auto":return n.js?{sqliteExpr:null,jsFn:n.js}:n.sqlite?{sqliteExpr:n.sqlite(),jsFn:null}:null}}var dm,Vs,za=y(()=>{dm="lower(hex(randomblob(4))) || '-' || lower(hex(randomblob(2))) || '-4' || substr(lower(hex(randomblob(2))),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(lower(hex(randomblob(2))),2) || '-' || lower(hex(randomblob(6)))",Vs={gen_random_uuid:{sqlite:()=>dm,js:()=>crypto.randomUUID()},uuid_generate_v4:{sqlite:()=>dm,js:()=>crypto.randomUUID()},now:{sqlite:()=>"datetime('now')",js:()=>new Date().toISOString()},current_timestamp:{sqlite:()=>"datetime('now')",js:()=>new Date().toISOString()},current_date:{sqlite:()=>"date('now')",js:()=>new Date().toISOString().split("T")[0]},current_time:{sqlite:()=>"time('now')",js:()=>new Date().toISOString().split("T")[1].replace("Z","")},random:{sqlite:()=>"random()",js:()=>Math.random()},length:{sqlite:()=>"length",js:null},lower:{sqlite:()=>"lower",js:null},upper:{sqlite:()=>"upper",js:null},substr:{sqlite:()=>"substr",js:null},substring:{sqlite:()=>"substr",js:null},trim:{sqlite:()=>"trim",js:null},ltrim:{sqlite:()=>"ltrim",js:null},rtrim:{sqlite:()=>"rtrim",js:null},replace:{sqlite:()=>"replace",js:null},coalesce:{sqlite:()=>"coalesce",js:null},nullif:{sqlite:()=>"nullif",js:null},count:{sqlite:()=>"count",js:null},sum:{sqlite:()=>"sum",js:null},avg:{sqlite:()=>"avg",js:null},min:{sqlite:()=>"min",js:null},max:{sqlite:()=>"max",js:null},localtime:{sqlite:()=>"time('now', 'localtime')",js:null},localtimestamp:{sqlite:()=>"datetime('now', 'localtime')",js:null}};});var pn,hm=y(()=>{pn=class{table;schema;fields;constructor(t,r="public",n=new Map){this.table=t,this.schema=r,this.fields=n;}get(t){return this.fields.get(t)}has(t){return this.fields.has(t)}set(t,r){this.fields.set(t,r);}columns(){return Array.from(this.fields.keys())}all(){return Array.from(this.fields.values())}serializeRow(t){let r={};for(let[n,s]of Object.entries(t)){let i=this.fields.get(n);r[n]=i?i.serialize(s):s;}return r}deserializeRow(t){let r={};for(let[n,s]of Object.entries(t)){let i=this.fields.get(n);r[n]=i?i.deserialize(s):s;}return r}applyDefaults(t){let r={...t};for(let[n,s]of this.fields)!(n in r)&&s.context.defaultFn&&(r[n]=s.context.defaultFn());return r}};});var gm=y(()=>{st();Pa();Ws();ka();zs();Me();Na();Oa();Ia();La();Da();ja();Fa();Ma();Gs();Ua();Ba();qa();Ha();za();hm();});var Za={};de(Za,{_resetWarnedMissingToClauseForTests:()=>x_,collectComments:()=>Qa,collectEnums:()=>Va,collectPolicies:()=>Ya,collectSchema:()=>Ja,collectTableConstraints:()=>Xa,collectVariables:()=>Ka});function x_(){Ga.clear();}function Va(e){let t=new Map;for(let r of e.stmts??[]){if(!r.stmt||!("CreateEnumStmt"in r.stmt))continue;let n=r.stmt.CreateEnumStmt,s=kt(n.typeName??[]).join(".");if(!s||!n.vals)continue;let i=kt(n.vals);t.set(s.toLowerCase(),i);}return t}function Ka(e){let t=new Map;for(let r of e.stmts??[]){if(!r.stmt||!("VariableSetStmt"in r.stmt))continue;let n=r.stmt.VariableSetStmt,s=n.name,i=am(n.args?.[0]??{});t.set(s,{value:i,local:n.is_local});}return t}function Ya(e){let t=new Yr,r=new Set,n=[];for(let s of e.stmts??[])if(s.stmt){if("CreatePolicyStmt"in s.stmt){let i=s.stmt.CreatePolicyStmt,o=i.table?.relname??"",a=i.table?.schemaname,l={select:"SELECT",insert:"INSERT",update:"UPDATE",delete:"DELETE"},c=i.cmd_name?l[i.cmd_name]??"ALL":"ALL",u=i.permissive===true,p=[],f=false;for(let b of i.roles??[])if("RoleSpec"in b){let g=b.RoleSpec;g.roletype==="ROLESPEC_PUBLIC"?g.location===-1&&(f=true):g.roletype==="ROLESPEC_CSTRING"&&g.rolename&&p.push(g.rolename);}if(f){let b=a?`${a}.${o}`:o,g=i.policy_name??"",S=`${b}::${g}`;Ga.has(S)||(Ga.add(S),console.warn(`[supalite] policy "${g}" on "${b}" has no TO clause \u2014 applies to all roles (PUBLIC). For clarity, prefer an explicit \`TO <role>\` clause (e.g. \`TO authenticated\`).`));}let h=i.qual?t.deparse(i.qual):void 0,d=i.with_check?t.deparse(i.with_check):void 0,m=new Jr({name:i.policy_name??"",table:o,schema:a,command:c,permissive:u,roles:p,using:h,withCheck:d});n.push(m);}if("AlterTableStmt"in s.stmt){let i=s.stmt.AlterTableStmt;if((i.cmds??[]).some(l=>"AlterTableCmd"in l&&(l.AlterTableCmd.subtype==="AT_EnableRowSecurity"||l.AlterTableCmd.subtype==="AT_ForceRowSecurity"))){let l=i.relation?.relname??"";r.add(l);}}}return {policies:n,tables:r}}function Ja(e,t){let r=new Map;for(let n of e.stmts??[]){if(!n.stmt||!("CreateStmt"in n.stmt))continue;let s=n.stmt.CreateStmt,i=s.relation?.relname??"",o=s.relation?.schemaname??"public";if(!i)continue;let a=new pn(i,o);for(let l of s.tableElts??[]){if(!("ColumnDef"in l))continue;let c=l.ColumnDef,u=c.colname;if(!u)continue;let p=c.typeName?.names?.map(T=>T.String?.sval||T.String?.str).filter(Boolean),f=p&&(p.length===2&&p[0]==="pg_catalog"?p[1]:p[0]);if(!f)continue;let h=!!c.typeName?.arrayBounds?.length,d=Array.isArray(c.typeName?.typmods)?c.typeName.typmods:[],m=T=>d[T]?.A_Const?.ival?.ival??d[T]?.A_Const?.val?.ival?.ival,b={isArray:h};if(Bs(f)&&d.length>0){let T=m(0);typeof T=="number"&&T>0&&(b.lengthConstraint=T);}if(qs(f)&&d.length>=2){let T=m(0),q=m(1);typeof T=="number"&&typeof q=="number"&&T>0&&q>=0&&(b.numericPrecision={precision:T,scale:q});}let g=t.get(f.toLowerCase());g&&(b.enumValues=g);let S=Array.isArray(c.constraints)?c.constraints:[],A=S.some(T=>T.Constraint?.contype==="CONSTR_PRIMARY"),v=Us(f)||S.some(T=>T.Constraint?.contype==="CONSTR_IDENTITY"),k=S.some(T=>T.Constraint?.contype==="CONSTR_NOTNULL"),N=S.find(T=>T.Constraint?.contype==="CONSTR_UNIQUE"),$=S.find(T=>T.Constraint?.contype==="CONSTR_GENERATED"),x=S.find(T=>T.Constraint?.contype==="CONSTR_FOREIGN"),I=S.find(T=>T.Constraint?.contype==="CONSTR_CHECK"),w;if(x){let T=x.Constraint,q=T.pktable?.relname,E=T.pktable?.schemaname,_=T.pk_attrs?.[0]?.String?.sval;q&&_&&(w={refSchema:E,refTable:q,refColumn:_,constraintName:T.conname||void 0});}let L={schema:o,table:i,column:u,pgTypeName:f,nullable:!k&&!A,defaultValue:null,defaultFn:null,isPrimaryKey:A,isUnique:!!N,isSerial:v,isGenerated:!!$,fkRef:w,hasCheck:!!I,checkConstraintName:I?.Constraint?.conname||void 0,uniqueConstraintName:N?.Constraint?.conname||void 0};a.set(u,jt(L,b));}r.set(`${o}.${i}`,a);}return r}function Xa(e){let t=[];for(let r of e.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let n=r.stmt.CreateStmt,s=n.relation?.relname??"",i=n.relation?.schemaname??"public";if(s)for(let o of n.tableElts??[]){if("ColumnDef"in o)continue;let a=o;if(!a.Constraint)continue;let l=a.Constraint,c=l.contype;if(c==="CONSTR_UNIQUE"){let u=(l.keys??[]).map(p=>p.String?.sval??p.String?.str).filter(Boolean);if(u.length===0)continue;t.push({schema:i,table:s,kind:"unique",name:l.conname||void 0,columns:u});}else if(c==="CONSTR_CHECK")t.push({schema:i,table:s,kind:"check",name:l.conname||void 0,columns:[]});else if(c==="CONSTR_FOREIGN"){let u=(l.fk_attrs??[]).map(h=>h.String?.sval??h.String?.str).filter(Boolean),p=(l.pk_attrs??[]).map(h=>h.String?.sval??h.String?.str).filter(Boolean),f=l.pktable?.relname;if(!f)continue;t.push({schema:i,table:s,kind:"foreign_key",name:l.conname||void 0,columns:u,refSchema:l.pktable?.schemaname,refTable:f,refColumns:p});}}}return t}function Qa(e){let t=[];for(let r of e.stmts??[]){if(!r.stmt||!("CommentStmt"in r.stmt))continue;let n=r.stmt.CommentStmt,s=n.comment??"";if(!s)continue;let i=n.objtype,o=(n.object?.List?.items??n.object?.items??[]).map(a=>a.String?.sval??a.String?.str).filter(Boolean);if(o.length!==0){if(i==="OBJECT_TABLE"||i==="OBJECT_VIEW"){let[a,l]=o.length>=2?o:["public",o[0]];t.push({schema:a,table:l,text:s});}else if(i==="OBJECT_COLUMN"){let a="public",l,c;o.length>=3?[a,l,c]=o:[l,c]=o,t.push({schema:a,table:l,column:c,text:s});}}}return t}var Ga,el=y(()=>{Ca();Ot();Ra();gm();ar();Ga=new Set;});async function mn(e,t){let r=await e.connection.introspect(),n=tl(r);await _m(e,{...t,dbHasTables:r.tables.length>0,dbFingerprint:n}),r.tables.length===0&&await rl(e);let s=await e.connection.introspect();vm(s,e);}async function $_(e){let t=await Wr(e.config.db?.seed?.sql_paths??["./seed.sql"],{cwd:z__default.join(process.cwd(),"supabase"),absolute:true});return (await Promise.all(t.map(n=>fe__default.readFile(n,"utf-8")))).flatMap(n=>splitSqlStatements(n))}async function dn(e,t){let r=await $_(e);if(r.length===0)return 0;console.log(F.default.dim("Seeding database..."));try{return await e.connection.transaction(r),r.length}catch(n){let s=t?.recoveryHint??"Fix `supabase/seed.sql`, then run `bun run dev --recreate` to reset and reseed.";throw new Error(`Seed failed and was rolled back: ${String(n.message??n)}
|
|
64
|
+
${s}`)}}async function rl(e){await dn(e);}async function ge(e){let t=await Wr(e.config?.db?.migrations?.schema_paths??["./schemas/*.sql"],{cwd:z__default.join(process.cwd(),"supabase"),absolute:true}),r=await Promise.all(t.map(async n=>await fe__default.readFile(n,"utf-8"))).then(n=>n.map(s=>s.split(`
|
|
65
|
+
`).filter(i=>i.trim().length>0&&!i.trim().startsWith("--")).join(`
|
|
95
66
|
`)).join(`
|
|
96
|
-
`));return r||""}async function
|
|
97
|
-
`]).filter(
|
|
98
|
-
`)}function
|
|
67
|
+
`));return r||""}async function _m(e,t){let r=await ge(e);if(!(!r&&(await Xe(e)).length>0)&&!(!r&&!e.connection.config.baseSchema)){if(t?.dbHasTables&&await A_(e,r,t.dbFingerprint)){console.log(F.default.dim("Schema unchanged \u2014 skipping translation."));return}try{let n=e.connection.createMigrator(r),s=await n.diff(),i=n.translationResult?.ast,o=await e.connection.introspect(),a=tl(o);if(s.plan.steps.length===0){await wm(e,r,i,a);return}await n.migratePlan(s.plan,{force:t?.force??!1}),nl(s);let l=await e.connection.introspect();return await wm(e,r,i,tl(l)),console.log(""),ht(s),s}catch(n){if(String(n).includes("likely empty"))console.log(F.default.dim("Nothing to migrate."));else {console.error("Migration error: "+String(n));try{await e.connection.exec("rollback");}catch{}}}}}function T_(e){return e.connection.config?.baseSchema??""}function xm(e,t){let r=createHash("sha256");return r.update(JSON.stringify([T_(e),t??""])),r.digest("hex")}function tl(e){let t=(n,s)=>[...n].sort((i,o)=>s(i).localeCompare(s(o))),r={tables:t(e.tables??[],n=>`${n.schema??""}.${n.name}`).map(n=>({schema:n.schema,name:n.name,type:n.type,sql:n.sql})),columns:t(e.columns??[],n=>`${n.schema??""}.${n.table}.${n.name}`).map(n=>({schema:n.schema,table:n.table,name:n.name,type:n.type,nullable:n.nullable,default_value:n.default_value,is_primary_key:n.is_primary_key})),indexes:t(e.indexes??[],n=>`${n.schema??""}.${n.table}.${n.name}`).map(n=>({schema:n.schema,table:n.table,name:n.name,unique:n.unique,columns:n.columns})),foreign_keys:t(e.foreign_keys??[],n=>`${n.schema??""}.${n.table}.${n.column}->${n.ref_table}.${n.ref_column}`).map(n=>({schema:n.schema,table:n.table,column:n.column,ref_schema:n.ref_schema,ref_table:n.ref_table,ref_column:n.ref_column})),primary_keys:t(e.primary_keys??[],n=>`${n.schema??""}.${n.table}`).map(n=>({schema:n.schema,table:n.table,columns:n.columns})),check_constraints:t(e.check_constraints??[],n=>`${n.schema??""}.${n.table}.${n.name??""}.${n.column??""}`).map(n=>({schema:n.schema,table:n.table,name:n.name,column:n.column,expression:n.expression})),unique_constraints:t(e.unique_constraints??[],n=>`${n.schema??""}.${n.table}.${n.name}`).map(n=>({schema:n.schema,table:n.table,name:n.name,columns:n.columns})),views:t(e.views??[],n=>`${n.schema??""}.${n.name}`).map(n=>({schema:n.schema,name:n.name,sql:n.sql})),triggers:t(e.triggers??[],n=>`${n.schema??""}.${n.table}.${n.name}`).map(n=>({schema:n.schema,table:n.table,name:n.name,sql:n.sql})),custom_types:t(e.custom_types??[],n=>`${n.schema??""}.${n.type}`).map(n=>({schema:n.schema,type:n.type,kind:n.kind,values:n.values,fields:n.fields}))};return createHash("sha256").update(JSON.stringify(r)).digest("hex")}async function A_(e,t,r){let n=e.connection;if(typeof n.updateDeparseInfo!="function")return false;let s=z__default.join(process.cwd(),Sm),i;try{i=await fe__default.readFile(s,"utf-8");}catch{return false}let o;try{o=JSON.parse(i);}catch{return false}if(o.v!==Em||o.hash!==xm(e,t)||!r||o.dbFingerprint!==r||!o.ast||typeof o.ast!="object")return false;try{let a=await Promise.resolve().then(()=>(el(),Za)),l=o.ast,c=a.collectEnums(l),u=a.collectSchema(l,c),p=a.collectVariables(l),f=a.collectTableConstraints(l),h=a.collectComments(l),{policies:d,tables:m}=a.collectPolicies(l);return n.updateDeparseInfo({enums:c,rls:{tables:m,policies:d},schema:u,vars:p,tableConstraints:f,comments:h}),!0}catch{return false}}async function wm(e,t,r,n){if(!r||typeof r!="object")return;let s={v:Em,hash:xm(e,t),dbFingerprint:n,ast:r},i=z__default.join(process.cwd(),Sm);try{await fe__default.mkdir(z__default.dirname(i),{recursive:!0}),await fe__default.writeFile(i,JSON.stringify(s),"utf-8");}catch{}}function vm(e,t){console.log();let r=(s,i)=>{let o=l=>{let c=F.default.dim;return typeof l=="number"&&(l>=0&&(c=l>0?F.default.green:F.default.dim),l<0&&(c=F.default.red)),typeof l=="boolean"?l?F.default.green("\u2713"):F.default.red("\u2717"):c(String(l))},a=Object.entries(i).map(([l,c])=>`${l}: ${o(c)}`).join(F.default.dim(" / "));console.log(`${F.default.dim("[")} ${s} ${F.default.dim("]")} ${a}`);};r(F.default.green("DATA"),{tables:e.tables.length,columns:e.columns.length,indexes:e.indexes.length});let n=t.config.rls??t.connection.config.translation?.deparse?.rls??{tables:new Set([]),policies:[]};r(F.default.green("AUTH"),{enabled:!!t.config.auth?.enabled,tables:ensureVar.Set(n.tables).size,policies:ensureVar.Array(n.policies).length});}function $m(e,t){setTimeout(()=>{console.log(F.default.dim("Watching for changes...")),js.watch("./supabase/schemas").on("change",async n=>{console.log(),console.log(F.default.dim(`Schema changed: ${n}`)),await _m(e,t);let s=await e.connection.introspect();vm(s,e);});},200);}function hn(e,t){let r=t?.colorize?F.default.dim:n=>n;return e.plan.steps.flatMap(n=>[n.description?r(`-- ${n.description}`):"",n.sql+`
|
|
68
|
+
`]).filter(n=>n.trim().length>0).join(`
|
|
69
|
+
`)}function C_(e){let t=new Date;return `${t.getFullYear().toString()+(t.getMonth()+1).toString().padStart(2,"0")+t.getDate().toString().padStart(2,"0")+t.getHours().toString().padStart(2,"0")+t.getMinutes().toString().padStart(2,"0")+t.getSeconds().toString().padStart(2,"0")}.sql`}function nl(e,t){let r="./supabase/.temp/migrations";Pe(r);let n=C_(),s=hn(e);bt(z__default.join(r,n),s),console.log(F.default.dim(`Migration written to ${F.default.cyan(z__default.join(r,n))}`));}function Tm(e){let t=e.schema_separator??".",r=e.ddl_dialect==="postgres",n=(a,l)=>r&&a?`${a}${t}${l}`:l;console.log(F.default.bgWhite(F.default.black(" Schema "))),console.log();let s=e.tables.filter(a=>a.type==="table"),i=r?"sqlite-postgres":"sqlite";if(console.log(F.default.dim(`${i}${e.version?` (sqlite ${e.version})`:""} \xB7 ${e.database_name}`)),console.log(),s.length===0){console.log(F.default.dim("No tables."));return}console.log(F.default.dim("Tables:"));for(let a of s){let l=n(a.schema,a.name),c=e.columns.filter(p=>p.table===a.name&&(!r||p.schema===a.schema)).sort((p,f)=>p.ordinal_position-f.ordinal_position),u=a.rows>=0?` ${F.default.dim(`(${a.rows} rows)`)}`:"";console.log(`${F.default.bold(l)}${u}`);for(let p of c){let f=[];p.is_primary_key&&f.push(F.default.green("PK")),p.nullable||f.push(F.default.dim("NOT NULL")),p.default_value!==null&&f.push(F.default.dim(`DEFAULT ${p.default_value}`));let h=f.length?" "+f.join(" "):"";console.log(` ${p.name} ${F.default.cyan(p.type)}${h}`);}console.log();}let o=e.indexes.filter(a=>!a.name.startsWith("sqlite_autoindex_"));if(o.length>0){console.log(F.default.dim("Indexes:"));for(let a of o){let l=a.unique?F.default.yellow("UNIQUE "):"";console.log(` ${a.name} on ${n(a.schema,a.table)} ${l}(${a.columns.join(", ")})`);}console.log();}if(e.foreign_keys.length>0){console.log(F.default.dim("Foreign Keys:"));for(let a of e.foreign_keys){let l=`${n(a.schema,a.table)}.${a.column}`,c=`${n(a.ref_schema,a.ref_table)}.${a.ref_column}`;console.log(` ${l} \u2192 ${c} ${F.default.dim(`ON DELETE ${a.on_delete} ON UPDATE ${a.on_update}`)}`);}console.log();}if(e.views.length>0){console.log(F.default.dim("Views:"));for(let a of e.views)console.log(` ${n(a.schema,a.name)}`);console.log();}if(e.triggers.length>0){console.log(F.default.dim("Triggers:"));for(let a of e.triggers)console.log(` ${a.name} on ${n(a.schema,a.table)}`);console.log();}}function ht({diff:e}){if(typeof e=="string"){console.log(F.default.cyan(e));return}if(!e.has_changes)return;console.log(F.default.bgWhite(F.default.black(" Schema Diff "))),console.log();let t={added:{color:F.default.green,symbol:"+"},removed:{color:F.default.red,symbol:"-"},modified:{color:F.default.yellow,symbol:"~"}};if(e.tables.length>0){console.log(F.default.dim("Tables:"));for(let r of e.tables){let{color:n,symbol:s}=t[r.type];console.log(n(`${s} ${r.name}`));}console.log();}if(e.columns.length>0){console.log(F.default.dim("Columns:"));for(let r of e.columns){let{color:n,symbol:s}=t[r.type],i="";r.changes&&(i=Object.entries(r.changes).map(([o,a])=>`${o}: ${a.from} \u2192 ${a.to}`).join(", ")),console.log(n(`${s} ${r.table}.${r.name}${i?` (${i})`:""}`));}console.log();}if(e.indexes.length>0){console.log(F.default.dim("Indexes:"));for(let r of e.indexes){let{color:n,symbol:s}=t[r.type];console.log(n(`${s} ${r.name} on ${r.table}`));}console.log();}if(e.foreign_keys.length>0){console.log(F.default.dim("Foreign Keys:"));for(let r of e.foreign_keys){let{color:n,symbol:s}=t[r.type];console.log(n(`${s} ${r.table}.${r.column} \u2192 ${r.ref_table}.${r.ref_column}`));}console.log();}}var F,Sm,Em,We=y(()=>{ma();F=te(ie());$a();St();Pt();Sm="supabase/.temp/.translation-cache.json",Em=2;});function Ks(e){return e.dialect==="postgres"?"pg":e.config?.ddlDialect==="sqlite"?"sqlite":"pg-flat"}function Am(e){return e==="sqlite"?{schema_migrations:"migrations",seed_files:null}:e==="pg-flat"?{schema_migrations:'"supabase_migrations.schema_migrations"',seed_files:'"supabase_migrations.seed_files"'}:{schema_migrations:"supabase_migrations.schema_migrations",seed_files:"supabase_migrations.seed_files"}}function sl(e){return `'${e.replace(/'/g,"''")}'`}function R_(e){return `'${`{${e.map(n=>`"${n.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`).join(",")}}`.replace(/'/g,"''")}'`}function P_(e){return e==="sqlite"?[`CREATE TABLE IF NOT EXISTS migrations (
|
|
99
70
|
version TEXT NOT NULL PRIMARY KEY,
|
|
100
71
|
statements TEXT,
|
|
101
72
|
name TEXT
|
|
@@ -106,90 +77,90 @@ ${i}`)}}async function gl(s){await Tr(s);}async function St(s){let t=await zs(s.
|
|
|
106
77
|
)`,`CREATE TABLE IF NOT EXISTS supabase_migrations.seed_files (
|
|
107
78
|
path text NOT NULL PRIMARY KEY,
|
|
108
79
|
hash text NOT NULL
|
|
109
|
-
)`]}function
|
|
110
|
-
`)+";",
|
|
111
|
-
`);if(!r.trim())return;let e
|
|
112
|
-
`)),this.displayPrompt();}}),
|
|
113
|
-
`)),console.log(),console.log(
|
|
114
|
-
`+l.tables.map(p=>`- ${
|
|
115
|
-
`))),this.displayPrompt();}}),
|
|
116
|
-
`)),this.displayPrompt();}}),
|
|
80
|
+
)`]}function Cm(e,t){let{schema_migrations:r}=Am(e),n=t.name===null?"NULL":sl(t.name),s=e==="pg"?R_(t.statements):sl(JSON.stringify(t.statements));return `INSERT INTO ${r} (version, statements, name) VALUES (${sl(t.version)}, ${s}, ${n})`}function k_(e){let{schema_migrations:t}=Am(e);return `SELECT version FROM ${t} ORDER BY version ASC`}async function N_(e,t){if(e.dialect==="postgres"||e.config.ddlDialect==="sqlite")return t;let n=await e.translateDdl(t);return typeof n=="string"?n:n.ddl??t}function O_(e){return e.split(/;\s*(?:\n|$)/).map(t=>t.trim()).filter(t=>t.length>0)}async function gn(e){let t=Ks(e),n=P_(t).map(i=>i.trim()).join(`;
|
|
81
|
+
`)+";",s=await N_(e,n);for(let i of O_(s))await e.exec(i);}async function yn(e){let t=Ks(e);return ((await e.exec(k_(t)))?.rows??[]).map(n=>n.version)}var il=y(()=>{});async function Mt(e){await L_(e),await gn(e.connection);let t=new Set(await yn(e.connection)),r=await Xe(e),n=Ks(e.connection),s=[],i=[];for(let o of r){if(t.has(o.version)){i.push(o);continue}let a=Qn(o.sql),l;if(n==="pg-flat"){let u=await e.connection.translateDdl(o.sql),p=typeof u=="string"?u:u.ddl??"";l=Qn(p);}else l=a;let c=Cm(n,{version:o.version,name:o.name,statements:a});await e.connection.transaction([...l,c],{intent:"migration"}),s.push(o);}return r.length>0&&n!=="sqlite"&&await I_(e,r),{applied:s,skipped:i}}async function I_(e,t){let r=t.map(o=>o.sql).join(`
|
|
82
|
+
`);if(!r.trim())return;let n=e.connection;if(typeof n.translateDdl!="function"||typeof n.updateDeparseInfo!="function")return;let s=await n.translateDdl(r),i=n.config?.translation?.deparse??{};n.updateDeparseInfo({...i,...s});}async function L_(e){let t=e.connection.config?.baseSchema;if(!t||!t.trim())return;let r=e.connection,n=t;if(r.dialect==="sqlite"&&r.config.ddlDialect!=="sqlite"&&r.translateDdl){let s=await r.translateDdl(t);n=typeof s=="string"?s:s.ddl??t;}for(let s of Qn(n))try{await r.exec(s);}catch{}}var Ys=y(()=>{$r();il();Pt();});function ye(e){return `${D_} ${e}`}var D_,Qe=y(()=>{D_="[lite]";});var Rm={};de(Rm,{dev:()=>F_});var Ue,F_,Pm=y(()=>{Zi();Vo();pt();Ue=te(ie());Vt();We();Ys();Pt();$a();Ce();Ee();zt();Qe();F_=e=>{e.command("dev").option("--recreate","Recreate everything",false).option("--template","Create a template for the database",false).option("--config <config>","Path to the config file").description(ye("Start the development server with schema watching")).helpGroup("Local Development:").action(async t=>{await Q(t.config),console.log(Ue.default.yellow(" \u26A0 [lite] dev is experimental and works with declarative schema only.")),await Xn(async()=>{await Yn({recreate:t.recreate,template:t.template}),console.log();let n=await(await K({withSupabaseClient:false})).project.local.createApp(t.config),s=n.config.api?.port??$e.default_api_port;if((await Xe(n)).length>0){let c=await Mt(n);for(let u of c.applied)console.log(Ue.default.green(" \u2713"),"Applied migration",Ue.default.cyan(u.filename));}await mn(n,{force:true}),console.log();await gs(n,{port:s});console.log(Ue.default.green(" \u279C"),"Server running on ",Ue.default.cyan(`http://localhost:${s}`));let a=Fn();a&&console.log(Ue.default.yellow(` \u26A0 ${a}`)),await n.connection.ping(),$m(n,{translate:true,force:true});let l=z__default.join(process.cwd(),"supabase",Rt(n));setTimeout(()=>{js.watch(l,{ignoreInitial:true}).on("add",async u=>{console.log(),console.log(Ue.default.dim(`Migration added: ${u}`));try{let p=await Mt(n);for(let f of p.applied)console.log(Ue.default.green(" \u2713"),"Applied",Ue.default.cyan(f.filename));}catch(p){console.error(Ue.default.red("Migration failed: "+String(p.message??p)));}});},200),process.on("SIGINT",async()=>{await n.connection.close(),process.exit(1);});},r=>{console.log(),console.log(Ue.default.green(`Ready in ${r.toFixed(2)}ms`));});});};});async function gt(e){let t=await K({withSupabaseClient:false}),r=t.project.local.ref();if(typeof e=="boolean"&&e){if(!r)throw new Error("No project linked");if(!await t.project.remote.ping())throw new Error("Remote project is not reachable");return console.log("creating app for remote project",r),t.project.remote.createApp(r)}return t.project.local.createApp(e)}var ol=y(()=>{Ce();});var km={};de(km,{repl:()=>M_});var be,M_,Nm=y(()=>{pt();be=te(ie());ol();Ee();Qe();M_=e=>{e.command("repl").option("--config <config>","Path to the config file").option("--remote","Connect REPL to a remote project").description(ye("Start a REPL session")).helpGroup("Local Development:").action(async t=>{t.remote||await Q(t.config);let r=await gt(t.remote?true:t.config);Jn()||(console.error(be.default.red("REPL is only supported on Node.js")),process.exit(1));let n={app:r,client:r.getClient(),conn:r.connection,db:r.connection.driver};console.log(be.default.green("Starting a REPL session")),console.log(be.default.bold("Available variables:"),Object.keys(n).map(o=>be.default.cyan(o)).join(", "));let i=(await import('node:repl')).start("> ");i.on("exit",async()=>{await r.connection.close(),process.exit();});for(let o of Object.keys(n))Object.defineProperty(i.context,o,{configurable:false,enumerable:true,value:n[o]});i.defineCommand("tables",{help:"List all tables",action:async function(){let a=await r.connection.introspect(),l=c=>a.columns.filter(u=>u.table===c);console.log(a.tables.map(c=>`${be.default.cyan(c.name)} (${l(c.name).length} columns)`).join(`
|
|
83
|
+
`)),this.displayPrompt();}}),i.defineCommand("table",{help:"Show a table",action:async function(a){let l=await r.connection.introspect(),c=p=>l.columns.filter(f=>f.table===p),u=l.tables.find(p=>p.name===a);u?(console.log(`${be.default.cyan(u?.name)} (${c(a).length} columns)`),console.log(c(a).map(p=>` - ${be.default.cyan(p.name)} ${be.default.yellow(p.type)}`).join(`
|
|
84
|
+
`)),console.log(),console.log(be.default.dim(u.sql))):(console.log(be.default.red(`Table ${a} not found`)),console.log(`Available tables:
|
|
85
|
+
`+l.tables.map(p=>`- ${be.default.cyan(p.name)}`).join(`
|
|
86
|
+
`))),this.displayPrompt();}}),i.defineCommand("indexes",{help:"List all indexes",action:async function(){let a=await r.connection.introspect().then(l=>l.indexes);console.log(a.map(l=>`${be.default.bold(be.default.cyan(l.name))} ${l.unique?be.default.yellow("unique "):""}on ${be.default.blue(l.table)}(${l.columns.map(c=>be.default.magenta(c)).join(", ")})`).join(`
|
|
87
|
+
`)),this.displayPrompt();}}),i.defineCommand("config",{help:"Show the current config",action:async function(a){console.log(a?to(r.config,a):r.config),this.displayPrompt();}});});};});var Om={};de(Om,{debug:()=>U_});var U_,Im=y(()=>{pt();Ee();Qe();U_=e=>{e.command("debug").description(ye("Print runtime info (bun/node detection, paths)")).helpGroup("Local Development:").action(async()=>{console.log("Debugging the application"),console.log({bun:vr(),node:Jn(),cwd:process.cwd(),paths:{root:Vn(),dist:Ji(),relativeDist:Kn()}});});};});var ll=ct((NN,Lm)=>{var al={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let r="";return e<0?r+=`\x1B[${-e}D`:e>0&&(r+=`\x1B[${e}C`),t<0?r+=`\x1B[${-t}A`:t>0&&(r+=`\x1B[${t}B`),r},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},B_={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},q_={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?al.up():"");return e&&(t+=al.left),t}};Lm.exports={cursor:al,scroll:B_,erase:q_,beep:"\x07"};});function ei(e,t,r){if(!r.some(o=>!o.disabled))return e;let n=e+t,s=Math.max(r.length-1,0),i=n<0?s:n>s?0:n;return r[i].disabled?ei(i,t<0?-1:1,r):i}function ml(e,t,r){return String(e).normalize().replaceAll(`\r
|
|
117
88
|
`,`
|
|
118
89
|
`).split(`
|
|
119
|
-
`).map(
|
|
120
|
-
`)}function
|
|
121
|
-
`),
|
|
122
|
-
`),
|
|
123
|
-
`).map((
|
|
124
|
-
`)}var
|
|
125
|
-
`),c
|
|
126
|
-
`?(
|
|
127
|
-
`&&(
|
|
128
|
-
`),
|
|
129
|
-
`).length-1;this.output.write(
|
|
130
|
-
`);this.output.write(o
|
|
131
|
-
`).slice(
|
|
132
|
-
`)),this._prevFrame=t;return}}this.output.write(
|
|
90
|
+
`).map(n=>tx(n,t,r)).join(`
|
|
91
|
+
`)}function wl(e,t){if(typeof e=="string")return Oe.aliases.get(e)===t;for(let r of e)if(r!==void 0&&wl(r,t))return true;return false}function nx(e,t){if(e===t)return;let r=e.split(`
|
|
92
|
+
`),n=t.split(`
|
|
93
|
+
`),s=Math.max(r.length,n.length),i=[];for(let o=0;o<s;o++)r[o]!==n[o]&&i.push(o);return {lines:i,numLinesBefore:r.length,numLinesAfter:n.length,numLines:s}}function Se(e){return e===dl}function Zs(e,t){let r=e;r.isTTY&&r.setRawMode(t);}function zm({input:e=stdin,output:t=stdout,overwrite:r=true,hideCursor:n=true}={}){let s=yt.createInterface({input:e,output:t,prompt:"",tabSize:1});yt.emitKeypressEvents(e,s),e instanceof ReadStream&&e.isTTY&&e.setRawMode(true);let i=(o,{name:a,sequence:l})=>{let c=String(o);if(wl([c,a,l],"cancel")){n&&t.write(_e.cursor.show),process.exit(0);return}if(!r)return;yt.moveCursor(t,a==="return"?0:-1,a==="return"?-1:0,()=>{yt.clearLine(t,1,()=>{e.once("keypress",i);});});};return n&&t.write(_e.cursor.hide),e.once("keypress",i),()=>{e.off("keypress",i),n&&t.write(_e.cursor.show),e instanceof ReadStream&&e.isTTY&&!sx&&e.setRawMode(false),s.terminal=false,s.close();}}function ai(e,t,r,n=r){let s=oi(e??stdout);return ml(t,s-r.length,{hard:true,trim:false}).split(`
|
|
94
|
+
`).map((i,o)=>`${o===0?n:r}${i}`).join(`
|
|
95
|
+
`)}var _e,W_,z_,G_,cl,Js,Xs,ul,Qs,V_,K_,Bm,Y_,wn,ii,qm,J_,gl,Hm,X_,Wm,yl,jm,Q_,Fm,Mm,Z_,pl,ex,tx,rx,Oe,sx,dl,oi,bl,lr,ti,ri,ni,si,Sl=y(()=>{_e=te(ll());W_=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,z_=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,G_=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,cl=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,Js=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Xs=/\t{1,1000}/y,ul=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,Qs=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,V_=/\p{M}+/gu,K_={limit:1/0,ellipsis:""},Bm=(e,t={},r={})=>{let n=t.limit??1/0,s=t.ellipsis??"",i=t?.ellipsisWidth??(s?Bm(s,K_,r).width:0),o=r.ansiWidth??0,a=r.controlWidth??0,l=r.tabWidth??8,c=r.ambiguousWidth??1,u=r.emojiWidth??2,p=r.fullWidthWidth??2,f=r.regularWidth??1,h=r.wideWidth??2,d=0,m=0,b=e.length,g=0,S=false,A=b,v=Math.max(0,n-i),k=0,N=0,$=0,x=0;e:for(;;){if(N>k||m>=b&&m>d){let I=e.slice(k,N)||e.slice(d,m);g=0;for(let w of I.replaceAll(V_,"")){let L=w.codePointAt(0)||0;if(z_(L)?x=p:G_(L)?x=h:c!==f&&W_(L)?x=c:x=f,$+x>v&&(A=Math.min(A,Math.max(k,d)+g)),$+x>n){S=true;break e}g+=w.length,$+=x;}k=N=0;}if(m>=b)break;if(Qs.lastIndex=m,Qs.test(e)){if(g=Qs.lastIndex-m,x=g*f,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/f))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=Qs.lastIndex;continue}if(cl.lastIndex=m,cl.test(e)){if($+o>v&&(A=Math.min(A,m)),$+o>n){S=true;break}$+=o,k=d,N=m,m=d=cl.lastIndex;continue}if(Js.lastIndex=m,Js.test(e)){if(g=Js.lastIndex-m,x=g*a,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/a))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=Js.lastIndex;continue}if(Xs.lastIndex=m,Xs.test(e)){if(g=Xs.lastIndex-m,x=g*l,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/l))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=Xs.lastIndex;continue}if(ul.lastIndex=m,ul.test(e)){if($+u>v&&(A=Math.min(A,m)),$+u>n){S=true;break}$+=u,k=d,N=m,m=d=ul.lastIndex;continue}m+=1;}return {width:S?v:$,index:S?A:b,truncated:S,ellipsed:S&&n>=i}},Y_={limit:1/0,ellipsis:"",ellipsisWidth:0},wn=(e,t={})=>Bm(e,Y_,t).width,ii="\x1B",qm="\x9B",J_=39,gl="\x07",Hm="[",X_="]",Wm="m",yl=`${X_}8;;`,jm=new RegExp(`(?:\\${Hm}(?<code>\\d+)m|\\${yl}(?<uri>.*)${gl})`,"y"),Q_=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Fm=e=>`${ii}${Hm}${e}${Wm}`,Mm=e=>`${ii}${yl}${e}${gl}`,Z_=e=>e.map(t=>wn(t)),pl=(e,t,r)=>{let n=t[Symbol.iterator](),s=false,i=false,o=e.at(-1),a=o===void 0?0:wn(o),l=n.next(),c=n.next(),u=0;for(;!l.done;){let p=l.value,f=wn(p);a+f<=r?e[e.length-1]+=p:(e.push(p),a=0),(p===ii||p===qm)&&(s=true,i=t.startsWith(yl,u+1)),s?i?p===gl&&(s=false,i=false):p===Wm&&(s=false):(a+=f,a===r&&!c.done&&(e.push(""),a=0)),l=c,c=n.next(),u+=p.length;}o=e.at(-1),!a&&o!==void 0&&o.length>0&&e.length>1&&(e[e.length-2]+=e.pop());},ex=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(wn(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},tx=(e,t,r={})=>{if(r.trim!==false&&e.trim()==="")return "";let n="",s,i,o=e.split(" "),a=Z_(o),l=[""];for(let[d,m]of o.entries()){r.trim!==false&&(l[l.length-1]=(l.at(-1)??"").trimStart());let b=wn(l.at(-1)??"");if(d!==0&&(b>=t&&(r.wordWrap===false||r.trim===false)&&(l.push(""),b=0),(b>0||r.trim===false)&&(l[l.length-1]+=" ",b++)),r.hard&&a[d]>t){let g=t-b,S=1+Math.floor((a[d]-g-1)/t);Math.floor((a[d]-1)/t)<S&&l.push(""),pl(l,m,t);continue}if(b+a[d]>t&&b>0&&a[d]>0){if(r.wordWrap===false&&b<t){pl(l,m,t);continue}l.push("");}if(b+a[d]>t&&r.wordWrap===false){pl(l,m,t);continue}l[l.length-1]+=m;}r.trim!==false&&(l=l.map(d=>ex(d)));let c=l.join(`
|
|
96
|
+
`),u=c[Symbol.iterator](),p=u.next(),f=u.next(),h=0;for(;!p.done;){let d=p.value,m=f.value;if(n+=d,d===ii||d===qm){jm.lastIndex=h+1;let g=jm.exec(c)?.groups;if(g?.code!==void 0){let S=Number.parseFloat(g.code);s=S===J_?void 0:S;}else g?.uri!==void 0&&(i=g.uri.length===0?void 0:g.uri);}let b=s?Q_(s):void 0;m===`
|
|
97
|
+
`?(i&&(n+=Mm("")),s&&b&&(n+=Fm(b))):d===`
|
|
98
|
+
`&&(s&&b&&(n+=Fm(s)),i&&(n+=Mm(i))),h+=d.length,p=f,f=u.next();}return n};rx=["up","down","left","right","space","enter","cancel"],Oe={actions:new Set(rx),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:true};sx=globalThis.process.platform.startsWith("win"),dl=Symbol("clack:cancel");oi=e=>"columns"in e&&typeof e.columns=="number"?e.columns:80,bl=e=>"rows"in e&&typeof e.rows=="number"?e.rows:20;lr=class{input;output;_abortSignal;rl;opts;_render;_track=false;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(t,r=true){let{input:n=stdin,output:s=stdout,render:i,signal:o,...a}=t;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=i.bind(this),this._track=r,this._abortSignal=o,this.input=n,this.output=s;}unsubscribe(){this._subscribers.clear();}setSubscriber(t,r){let n=this._subscribers.get(t)??[];n.push(r),this._subscribers.set(t,n);}on(t,r){this.setSubscriber(t,{cb:r});}once(t,r){this.setSubscriber(t,{cb:r,once:true});}emit(t,...r){let n=this._subscribers.get(t)??[],s=[];for(let i of n)i.cb(...r),i.once&&s.push(()=>n.splice(n.indexOf(i),1));for(let i of s)i();}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(dl);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close();},{once:true});}this.rl=yt__default.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:true}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,true),this.input.on("keypress",this.onKeypress),Zs(this.input,true),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(_e.cursor.show),this.output.off("resize",this.render),Zs(this.input,false),t(this.value);}),this.once("cancel",()=>{this.output.write(_e.cursor.show),this.output.off("resize",this.render),Zs(this.input,false),t(dl);});})}_isActionKey(t,r){return t===" "}_setValue(t){this.value=t,this.emit("value",this.value);}_setUserInput(t,r){this.userInput=t??"",this.emit("userInput",this.userInput),r&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor);}_clearUserInput(){this.rl?.write(null,{ctrl:true,name:"u"}),this._setUserInput("");}onKeypress(t,r){if(this._track&&r.name!=="return"&&(r.name&&this._isActionKey(t,r)&&this.rl?.write(null,{ctrl:true,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),r?.name&&(!this._track&&Oe.aliases.has(r.name)&&this.emit("cursor",Oe.aliases.get(r.name)),Oe.actions.has(r.name)&&this.emit("cursor",r.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t?.toLowerCase(),r),r?.name==="return"){if(this.opts.validate){let n=this.opts.validate(this.value);n&&(this.error=n instanceof Error?n.message:n,this.state="error",this.rl?.write(this.userInput));}this.state!=="error"&&(this.state="submit");}wl([t,r?.name,r?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close();}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
99
|
+
`),Zs(this.input,false),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe();}restoreCursor(){let t=ml(this._prevFrame,process.stdout.columns,{hard:true,trim:false}).split(`
|
|
100
|
+
`).length-1;this.output.write(_e.cursor.move(-999,t*-1));}render(){let t=ml(this._render(this)??"",process.stdout.columns,{hard:true,trim:false});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(_e.cursor.hide);else {let r=nx(this._prevFrame,t),n=bl(this.output);if(this.restoreCursor(),r){let s=Math.max(0,r.numLinesAfter-n),i=Math.max(0,r.numLinesBefore-n),o=r.lines.find(a=>a>=s);if(o===void 0){this._prevFrame=t;return}if(r.lines.length===1){this.output.write(_e.cursor.move(0,o-i)),this.output.write(_e.erase.lines(1));let a=t.split(`
|
|
101
|
+
`);this.output.write(a[o]),this._prevFrame=t,this.output.write(_e.cursor.move(0,a.length-o-1));return}else if(r.lines.length>1){if(s<i)o=s;else {let l=o-i;l>0&&this.output.write(_e.cursor.move(0,l));}this.output.write(_e.erase.down());let a=t.split(`
|
|
102
|
+
`).slice(o);this.output.write(a.join(`
|
|
103
|
+
`)),this._prevFrame=t;return}}this.output.write(_e.erase.down());}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t;}}},ti=class extends lr{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(t){super(t,false),this.value=!!t.initialValue,this.on("userInput",()=>{this.value=this._value;}),this.on("confirm",r=>{this.output.write(_e.cursor.move(0,-1)),this.value=r,this.state="submit",this.close();}),this.on("cursor",()=>{this.value=!this.value;});}},ri=class extends lr{_mask="\u2022";get cursor(){return this._cursor}get masked(){return this.userInput.replaceAll(/./g,this._mask)}get userInputWithCursor(){if(this.state==="submit"||this.state==="cancel")return this.masked;let t=this.userInput;if(this.cursor>=t.length)return `${this.masked}${styleText(["inverse","hidden"],"_")}`;let r=this.masked,n=r.slice(0,this.cursor),s=r.slice(this.cursor);return `${n}${styleText("inverse",s[0])}${s.slice(1)}`}clear(){this._clearUserInput();}constructor({mask:t,...r}){super(r),this._mask=t??"\u2022",this.on("userInput",n=>{this._setValue(n);});}},ni=class extends lr{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value;}constructor(t){super(t,false),this.options=t.options;let r=this.options.findIndex(({value:s})=>s===t.initialValue),n=r===-1?0:r;this.cursor=this.options[n].disabled?ei(n,1,this.options):n,this.changeValue(),this.on("cursor",s=>{switch(s){case "left":case "up":this.cursor=ei(this.cursor,-1,this.options);break;case "down":case "right":this.cursor=ei(this.cursor,1,this.options);break}this.changeValue();});}},si=class extends lr{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let t=this.userInput;if(this.cursor>=t.length)return `${this.userInput}\u2588`;let r=t.slice(0,this.cursor),[n,...s]=t.slice(this.cursor);return `${r}${styleText("inverse",n)}${s.join("")}`}get cursor(){return this._cursor}constructor(t){super({...t,initialUserInput:t.initialUserInput??t.initialValue}),this.on("userInput",r=>{this._setValue(r);}),this.on("finalize",()=>{this.value||(this.value=t.defaultValue),this.value===void 0&&(this.value="");});}};});function ix(){return ze.platform!=="win32"?ze.env.TERM!=="linux":!!ze.env.CI||!!ze.env.WT_SESSION||!!ze.env.TERMINUS_SUBLIME||ze.env.ConEmuTask==="{cmd::Cmder}"||ze.env.TERM_PROGRAM==="Terminus-Sublime"||ze.env.TERM_PROGRAM==="vscode"||ze.env.TERM==="xterm-256color"||ze.env.TERM==="alacritty"||ze.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}function Tl(e,t,r){return String(e).normalize().replaceAll(`\r
|
|
133
104
|
`,`
|
|
134
105
|
`).split(`
|
|
135
|
-
`).map(
|
|
136
|
-
`)}var
|
|
137
|
-
`),c
|
|
138
|
-
`?(
|
|
139
|
-
`&&(
|
|
140
|
-
`);
|
|
141
|
-
`:""}${
|
|
142
|
-
`,
|
|
143
|
-
${styleText("gray",
|
|
144
|
-
${styleText("cyan",
|
|
145
|
-
`:` ${styleText("dim","/")} `}${this.value?`${styleText("dim",
|
|
146
|
-
${o}
|
|
147
|
-
`}}}}).prompt()},Z={message:(s=[],{symbol:t=styleText("gray",X),secondarySymbol:r=styleText("gray",X),output:e=process.stdout,spacing:i=1,withGuide:n}={})=>{let a=[],o=n??kt.withGuide,l=o?r:"",u=o?`${t} `:"",c=o?`${r} `:"";for(let f=0;f<i;f++)a.push(l);let p=Array.isArray(s)?s:s.split(`
|
|
148
|
-
`);if(p.length>0){let[f,...d]=p;f.length>0?a.push(`${u}${f}`):a.push(o?t:"");for(let m of d)m.length>0?a.push(`${c}${m}`):a.push(o?r:"");}e.write(`${a.join(`
|
|
149
|
-
`)}
|
|
150
|
-
`);},info:(s,t)=>{Z.message(s,{...t,symbol:styleText("blue",UA)});},success:(s,t)=>{Z.message(s,{...t,symbol:styleText("green",MA)});},step:(s,t)=>{Z.message(s,{...t,symbol:styleText("green",Ml)});},warn:(s,t)=>{Z.message(s,{...t,symbol:styleText("yellow",BA)});},warning:(s,t)=>{Z.warn(s,t);},error:(s,t)=>{Z.message(s,{...t,symbol:styleText("red",qA)});}},Or=s=>new cn({validate:s.validate,mask:s.mask??FA,signal:s.signal,input:s.input,output:s.output,render(){let t=s.withGuide??kt.withGuide,r=`${t?`${styleText("gray",X)}
|
|
151
|
-
`:""}${wn(this.state)} ${s.message}
|
|
152
|
-
`,e=this.userInputWithCursor,i=this.masked;switch(this.state){case "error":{let n=t?`${styleText("yellow",X)} `:"",a=t?`${styleText("yellow",ms)} `:"",o=i??"";return s.clearOnError&&this.clear(),`${r.trim()}
|
|
153
|
-
${n}${o}
|
|
154
|
-
${a}${styleText("yellow",this.error)}
|
|
155
|
-
`}case "submit":{let n=t?`${styleText("gray",X)} `:"",a=i?styleText("dim",i):"";return `${r}${n}${a}`}case "cancel":{let n=t?`${styleText("gray",X)} `:"",a=i?styleText(["strikethrough","dim"],i):"";return `${r}${n}${a}${i&&t?`
|
|
156
|
-
${styleText("gray",X)}`:""}`}default:{let n=t?`${styleText("cyan",X)} `:"",a=t?styleText("cyan",ms):"";return `${r}${n}${e}
|
|
106
|
+
`).map(n=>$x(n,t,r)).join(`
|
|
107
|
+
`)}var bn,vl,ox,X,ax,Ym,Jm,Al,Y,cr,$l,fi,lx,cx,ux,px,fx,mi,mx,dx,hx,gx,El,li,ci,_l,ui,yx,wx,Xm,bx,Sn,di,Qm,Sx,Cl,Zm,Ex,ed,Rl,Gm,_x,Vm,Km,xx,xl,vx,$x,Tx,Ax,En,J,_n,Cx,Pl,pi,xn,vn,Ze=y(()=>{Sl();Sl();bn=te(ll());vl=ix(),ox=()=>process.env.CI==="true",X=(e,t)=>vl?e:t,ax=X("\u25C6","*"),Ym=X("\u25A0","x"),Jm=X("\u25B2","x"),Al=X("\u25C7","o"),X("\u250C","T"),Y=X("\u2502","|"),cr=X("\u2514","\u2014"),X("\u2510","T"),X("\u2518","\u2014"),$l=X("\u25CF",">"),fi=X("\u25CB"," "),X("\u25FB","[\u2022]"),X("\u25FC","[+]"),X("\u25FB","[ ]"),lx=X("\u25AA","\u2022"),X("\u2500","-"),X("\u256E","+"),X("\u251C","+"),X("\u256F","+"),X("\u2570","+"),X("\u256D","+"),cx=X("\u25CF","\u2022"),ux=X("\u25C6","*"),px=X("\u25B2","!"),fx=X("\u25A0","x"),mi=e=>{switch(e){case "initial":case "active":return styleText("cyan",ax);case "cancel":return styleText("red",Ym);case "error":return styleText("yellow",Jm);case "submit":return styleText("green",Al)}},mx=e=>{switch(e){case "initial":case "active":return styleText("cyan",Y);case "cancel":return styleText("red",Y);case "error":return styleText("yellow",Y);case "submit":return styleText("green",Y)}},dx=e=>e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109,hx=e=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,gx=e=>e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141,El=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,li=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,ci=/\t{1,1000}/y,_l=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,ui=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,yx=/\p{M}+/gu,wx={limit:1/0,ellipsis:""},Xm=(e,t={},r={})=>{let n=t.limit??1/0,s=t.ellipsis??"",i=t?.ellipsisWidth??(s?Xm(s,wx,r).width:0),o=r.ansiWidth??0,a=r.controlWidth??0,l=r.tabWidth??8,c=r.ambiguousWidth??1,u=r.emojiWidth??2,p=r.fullWidthWidth??2,f=r.regularWidth??1,h=r.wideWidth??2,d=0,m=0,b=e.length,g=0,S=false,A=b,v=Math.max(0,n-i),k=0,N=0,$=0,x=0;e:for(;;){if(N>k||m>=b&&m>d){let I=e.slice(k,N)||e.slice(d,m);g=0;for(let w of I.replaceAll(yx,"")){let L=w.codePointAt(0)||0;if(hx(L)?x=p:gx(L)?x=h:c!==f&&dx(L)?x=c:x=f,$+x>v&&(A=Math.min(A,Math.max(k,d)+g)),$+x>n){S=true;break e}g+=w.length,$+=x;}k=N=0;}if(m>=b)break;if(ui.lastIndex=m,ui.test(e)){if(g=ui.lastIndex-m,x=g*f,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/f))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=ui.lastIndex;continue}if(El.lastIndex=m,El.test(e)){if($+o>v&&(A=Math.min(A,m)),$+o>n){S=true;break}$+=o,k=d,N=m,m=d=El.lastIndex;continue}if(li.lastIndex=m,li.test(e)){if(g=li.lastIndex-m,x=g*a,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/a))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=li.lastIndex;continue}if(ci.lastIndex=m,ci.test(e)){if(g=ci.lastIndex-m,x=g*l,$+x>v&&(A=Math.min(A,m+Math.floor((v-$)/l))),$+x>n){S=true;break}$+=x,k=d,N=m,m=d=ci.lastIndex;continue}if(_l.lastIndex=m,_l.test(e)){if($+u>v&&(A=Math.min(A,m)),$+u>n){S=true;break}$+=u,k=d,N=m,m=d=_l.lastIndex;continue}m+=1;}return {width:S?v:$,index:S?A:b,truncated:S,ellipsed:S&&n>=i}},bx={limit:1/0,ellipsis:"",ellipsisWidth:0},Sn=(e,t={})=>Xm(e,bx,t).width,di="\x1B",Qm="\x9B",Sx=39,Cl="\x07",Zm="[",Ex="]",ed="m",Rl=`${Ex}8;;`,Gm=new RegExp(`(?:\\${Zm}(?<code>\\d+)m|\\${Rl}(?<uri>.*)${Cl})`,"y"),_x=e=>{if(e>=30&&e<=37||e>=90&&e<=97)return 39;if(e>=40&&e<=47||e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0},Vm=e=>`${di}${Zm}${e}${ed}`,Km=e=>`${di}${Rl}${e}${Cl}`,xx=e=>e.map(t=>Sn(t)),xl=(e,t,r)=>{let n=t[Symbol.iterator](),s=false,i=false,o=e.at(-1),a=o===void 0?0:Sn(o),l=n.next(),c=n.next(),u=0;for(;!l.done;){let p=l.value,f=Sn(p);a+f<=r?e[e.length-1]+=p:(e.push(p),a=0),(p===di||p===Qm)&&(s=true,i=t.startsWith(Rl,u+1)),s?i?p===Cl&&(s=false,i=false):p===ed&&(s=false):(a+=f,a===r&&!c.done&&(e.push(""),a=0)),l=c,c=n.next(),u+=p.length;}o=e.at(-1),!a&&o!==void 0&&o.length>0&&e.length>1&&(e[e.length-2]+=e.pop());},vx=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(Sn(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},$x=(e,t,r={})=>{if(r.trim!==false&&e.trim()==="")return "";let n="",s,i,o=e.split(" "),a=xx(o),l=[""];for(let[d,m]of o.entries()){r.trim!==false&&(l[l.length-1]=(l.at(-1)??"").trimStart());let b=Sn(l.at(-1)??"");if(d!==0&&(b>=t&&(r.wordWrap===false||r.trim===false)&&(l.push(""),b=0),(b>0||r.trim===false)&&(l[l.length-1]+=" ",b++)),r.hard&&a[d]>t){let g=t-b,S=1+Math.floor((a[d]-g-1)/t);Math.floor((a[d]-1)/t)<S&&l.push(""),xl(l,m,t);continue}if(b+a[d]>t&&b>0&&a[d]>0){if(r.wordWrap===false&&b<t){xl(l,m,t);continue}l.push("");}if(b+a[d]>t&&r.wordWrap===false){xl(l,m,t);continue}l[l.length-1]+=m;}r.trim!==false&&(l=l.map(d=>vx(d)));let c=l.join(`
|
|
108
|
+
`),u=c[Symbol.iterator](),p=u.next(),f=u.next(),h=0;for(;!p.done;){let d=p.value,m=f.value;if(n+=d,d===di||d===Qm){Gm.lastIndex=h+1;let g=Gm.exec(c)?.groups;if(g?.code!==void 0){let S=Number.parseFloat(g.code);s=S===Sx?void 0:S;}else g?.uri!==void 0&&(i=g.uri.length===0?void 0:g.uri);}let b=s?_x(s):void 0;m===`
|
|
109
|
+
`?(i&&(n+=Km("")),s&&b&&(n+=Vm(b))):d===`
|
|
110
|
+
`&&(s&&b&&(n+=Vm(s)),i&&(n+=Km(i))),h+=d.length,p=f,f=u.next();}return n};Tx=(e,t,r,n,s)=>{let i=t,o=0;for(let a=r;a<n;a++){let l=e[a];if(i=i-l.length,o++,i<=s)break}return {lineCount:i,removals:o}},Ax=({cursor:e,options:t,style:r,output:n=process.stdout,maxItems:s=Number.POSITIVE_INFINITY,columnPadding:i=0,rowPadding:o=4})=>{let a=oi(n)-i,l=bl(n),c=styleText("dim","..."),u=Math.max(l-o,0),p=Math.max(Math.min(s,u),5),f=0;e>=p-3&&(f=Math.max(Math.min(e-p+3,t.length-p),0));let h=p<t.length&&f>0,d=p<t.length&&f+p<t.length,m=Math.min(f+p,t.length),b=[],g=0;h&&g++,d&&g++;let S=f+(h?1:0),A=m-(d?1:0);for(let k=S;k<A;k++){let N=Tl(r(t[k],k===e),a,{hard:true,trim:false}).split(`
|
|
111
|
+
`);b.push(N),g+=N.length;}if(g>u){let k=0,N=0,$=g,x=e-S,I=(w,L)=>Tx(b,$,w,L,u);h?({lineCount:$,removals:k}=I(0,x),$>u&&({lineCount:$,removals:N}=I(x+1,b.length))):({lineCount:$,removals:N}=I(x+1,b.length),$>u&&({lineCount:$,removals:k}=I(0,x))),k>0&&(h=true,b.splice(0,k)),N>0&&(d=true,b.splice(b.length-N,N));}let v=[];h&&v.push(c);for(let k of b)for(let N of k)v.push(N);return d&&v.push(c),v},En=e=>{let t=e.active??"Yes",r=e.inactive??"No";return new ti({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??true,render(){let n=e.withGuide??Oe.withGuide,s=`${n?`${styleText("gray",Y)}
|
|
112
|
+
`:""}${mi(this.state)} ${e.message}
|
|
113
|
+
`,i=this.value?t:r;switch(this.state){case "submit":{let o=n?`${styleText("gray",Y)} `:"";return `${s}${o}${styleText("dim",i)}`}case "cancel":{let o=n?`${styleText("gray",Y)} `:"";return `${s}${o}${styleText(["strikethrough","dim"],i)}${n?`
|
|
114
|
+
${styleText("gray",Y)}`:""}`}default:{let o=n?`${styleText("cyan",Y)} `:"",a=n?styleText("cyan",cr):"";return `${s}${o}${this.value?`${styleText("green",$l)} ${t}`:`${styleText("dim",fi)} ${styleText("dim",t)}`}${e.vertical?n?`
|
|
115
|
+
${styleText("cyan",Y)} `:`
|
|
116
|
+
`:` ${styleText("dim","/")} `}${this.value?`${styleText("dim",fi)} ${styleText("dim",r)}`:`${styleText("green",$l)} ${r}`}
|
|
157
117
|
${a}
|
|
158
|
-
`}}}}).prompt(),
|
|
159
|
-
`);let
|
|
160
|
-
`)
|
|
161
|
-
`);
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
118
|
+
`}}}}).prompt()},J={message:(e=[],{symbol:t=styleText("gray",Y),secondarySymbol:r=styleText("gray",Y),output:n=process.stdout,spacing:s=1,withGuide:i}={})=>{let o=[],a=i??Oe.withGuide,l=a?r:"",c=a?`${t} `:"",u=a?`${r} `:"";for(let f=0;f<s;f++)o.push(l);let p=Array.isArray(e)?e:e.split(`
|
|
119
|
+
`);if(p.length>0){let[f,...h]=p;f.length>0?o.push(`${c}${f}`):o.push(a?t:"");for(let d of h)d.length>0?o.push(`${u}${d}`):o.push(a?r:"");}n.write(`${o.join(`
|
|
120
|
+
`)}
|
|
121
|
+
`);},info:(e,t)=>{J.message(e,{...t,symbol:styleText("blue",cx)});},success:(e,t)=>{J.message(e,{...t,symbol:styleText("green",ux)});},step:(e,t)=>{J.message(e,{...t,symbol:styleText("green",Al)});},warn:(e,t)=>{J.message(e,{...t,symbol:styleText("yellow",px)});},warning:(e,t)=>{J.warn(e,t);},error:(e,t)=>{J.message(e,{...t,symbol:styleText("red",fx)});}},_n=e=>new ri({validate:e.validate,mask:e.mask??lx,signal:e.signal,input:e.input,output:e.output,render(){let t=e.withGuide??Oe.withGuide,r=`${t?`${styleText("gray",Y)}
|
|
122
|
+
`:""}${mi(this.state)} ${e.message}
|
|
123
|
+
`,n=this.userInputWithCursor,s=this.masked;switch(this.state){case "error":{let i=t?`${styleText("yellow",Y)} `:"",o=t?`${styleText("yellow",cr)} `:"",a=s??"";return e.clearOnError&&this.clear(),`${r.trim()}
|
|
124
|
+
${i}${a}
|
|
125
|
+
${o}${styleText("yellow",this.error)}
|
|
126
|
+
`}case "submit":{let i=t?`${styleText("gray",Y)} `:"",o=s?styleText("dim",s):"";return `${r}${i}${o}`}case "cancel":{let i=t?`${styleText("gray",Y)} `:"",o=s?styleText(["strikethrough","dim"],s):"";return `${r}${i}${o}${s&&t?`
|
|
127
|
+
${styleText("gray",Y)}`:""}`}default:{let i=t?`${styleText("cyan",Y)} `:"",o=t?styleText("cyan",cr):"";return `${r}${i}${n}
|
|
128
|
+
${o}
|
|
129
|
+
`}}}}).prompt(),Cx=e=>styleText("magenta",e),Pl=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:n,errorMessage:s,frames:i=vl?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:o=vl?80:120,signal:a,...l}={})=>{let c=ox(),u,p,f=false,h=false,d="",m,b=performance.now(),g=oi(r),S=l?.styleFrame??Cx,A=E=>{let _=E>1?s??Oe.messages.error:n??Oe.messages.cancel;h=E===1,f&&(q(_,E),h&&typeof t=="function"&&t());},v=()=>A(2),k=()=>A(1),N=()=>{process.on("uncaughtExceptionMonitor",v),process.on("unhandledRejection",v),process.on("SIGINT",k),process.on("SIGTERM",k),process.on("exit",A),a&&a.addEventListener("abort",k);},$=()=>{process.removeListener("uncaughtExceptionMonitor",v),process.removeListener("unhandledRejection",v),process.removeListener("SIGINT",k),process.removeListener("SIGTERM",k),process.removeListener("exit",A),a&&a.removeEventListener("abort",k);},x=()=>{if(m===void 0)return;c&&r.write(`
|
|
130
|
+
`);let E=Tl(m,g,{hard:true,trim:false}).split(`
|
|
131
|
+
`);E.length>1&&r.write(bn.cursor.up(E.length-1)),r.write(bn.cursor.to(0)),r.write(bn.erase.down());},I=E=>E.replace(/\.+$/,""),w=E=>{let _=(performance.now()-E)/1e3,U=Math.floor(_/60),j=Math.floor(_%60);return U>0?`[${U}m ${j}s]`:`[${j}s]`},L=l.withGuide??Oe.withGuide,T=(E="")=>{f=true,u=zm({output:r}),d=I(E),b=performance.now(),L&&r.write(`${styleText("gray",Y)}
|
|
132
|
+
`);let _=0,U=0;N(),p=setInterval(()=>{if(c&&d===m)return;x(),m=d;let j=S(i[_]),V;if(c)V=`${j} ${d}...`;else if(e==="timer")V=`${j} ${d} ${w(b)}`;else {let Re=".".repeat(Math.floor(U)).slice(0,3);V=`${j} ${d}${Re}`;}let qe=Tl(V,g,{hard:true,trim:false});r.write(qe),_=_+1<i.length?_+1:0,U=U<4?U+.125:0;},o);},q=(E="",_=0,U=false)=>{if(!f)return;f=false,clearInterval(p),x();let j=_===0?styleText("green",Al):_===1?styleText("red",Ym):styleText("red",Jm);d=E??d,U||(e==="timer"?r.write(`${j} ${d} ${w(b)}
|
|
133
|
+
`):r.write(`${j} ${d}
|
|
134
|
+
`)),$(),u();};return {start:T,stop:(E="")=>q(E,0),message:(E="")=>{d=I(E??d);},cancel:(E="")=>q(E,1),error:(E="")=>q(E,2),clear:()=>q("",0,true),get isCancelled(){return h}}},{light:X("\u2500","-"),heavy:X("\u2501","="),block:X("\u2588","#")},pi=(e,t)=>e.includes(`
|
|
135
|
+
`)?e.split(`
|
|
165
136
|
`).map(r=>t(r)).join(`
|
|
166
|
-
`):t(
|
|
167
|
-
`:""}${
|
|
168
|
-
`;switch(this.state){case "submit":{let
|
|
169
|
-
${styleText("gray",
|
|
170
|
-
`).length,
|
|
171
|
-
${
|
|
137
|
+
`):t(e),xn=e=>{let t=(r,n)=>{let s=r.label??String(r.value);switch(n){case "disabled":return `${styleText("gray",fi)} ${pi(s,i=>styleText("gray",i))}${r.hint?` ${styleText("dim",`(${r.hint??"disabled"})`)}`:""}`;case "selected":return `${pi(s,i=>styleText("dim",i))}`;case "active":return `${styleText("green",$l)} ${s}${r.hint?` ${styleText("dim",`(${r.hint})`)}`:""}`;case "cancelled":return `${pi(s,i=>styleText(["strikethrough","dim"],i))}`;default:return `${styleText("dim",fi)} ${pi(s,i=>styleText("dim",i))}`}};return new ni({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue,render(){let r=e.withGuide??Oe.withGuide,n=`${mi(this.state)} `,s=`${mx(this.state)} `,i=ai(e.output,e.message,s,n),o=`${r?`${styleText("gray",Y)}
|
|
138
|
+
`:""}${i}
|
|
139
|
+
`;switch(this.state){case "submit":{let a=r?`${styleText("gray",Y)} `:"",l=ai(e.output,t(this.options[this.cursor],"selected"),a);return `${o}${l}`}case "cancel":{let a=r?`${styleText("gray",Y)} `:"",l=ai(e.output,t(this.options[this.cursor],"cancelled"),a);return `${o}${l}${r?`
|
|
140
|
+
${styleText("gray",Y)}`:""}`}default:{let a=r?`${styleText("cyan",Y)} `:"",l=r?styleText("cyan",cr):"",c=o.split(`
|
|
141
|
+
`).length,u=r?2:1;return `${o}${a}${Ax({output:e.output,cursor:this.cursor,options:this.options,maxItems:e.maxItems,columnPadding:a.length,rowPadding:c+u,style:(p,f)=>t(p,p.disabled?"disabled":f?"active":"inactive")}).join(`
|
|
142
|
+
${a}`)}
|
|
172
143
|
${l}
|
|
173
|
-
`}}}}).prompt()},`${styleText("gray",
|
|
174
|
-
`:""}${
|
|
175
|
-
`,e
|
|
176
|
-
${
|
|
177
|
-
${l}${
|
|
178
|
-
`}case "submit":{let
|
|
179
|
-
${
|
|
180
|
-
${
|
|
181
|
-
`}}}}).prompt();});function
|
|
182
|
-
`.repeat(t?.paddingVertical??1),
|
|
183
|
-
${
|
|
184
|
-
${
|
|
185
|
-
`)}${
|
|
144
|
+
`}}}}).prompt()},`${styleText("gray",Y)} `,vn=e=>new si({validate:e.validate,placeholder:e.placeholder,defaultValue:e.defaultValue,initialValue:e.initialValue,output:e.output,signal:e.signal,input:e.input,render(){let t=e?.withGuide??Oe.withGuide,r=`${`${t?`${styleText("gray",Y)}
|
|
145
|
+
`:""}${mi(this.state)} `}${e.message}
|
|
146
|
+
`,n=e.placeholder?styleText("inverse",e.placeholder[0])+styleText("dim",e.placeholder.slice(1)):styleText(["inverse","hidden"],"_"),s=this.userInput?this.userInputWithCursor:n,i=this.value??"";switch(this.state){case "error":{let o=this.error?` ${styleText("yellow",this.error)}`:"",a=t?`${styleText("yellow",Y)} `:"",l=t?styleText("yellow",cr):"";return `${r.trim()}
|
|
147
|
+
${a}${s}
|
|
148
|
+
${l}${o}
|
|
149
|
+
`}case "submit":{let o=i?` ${styleText("dim",i)}`:"",a=t?styleText("gray",Y):"";return `${r}${a}${o}`}case "cancel":{let o=i?` ${styleText(["strikethrough","dim"],i)}`:"",a=t?styleText("gray",Y):"";return `${r}${a}${o}${i.trim()?`
|
|
150
|
+
${a}`:""}`}default:{let o=t?`${styleText("cyan",Y)} `:"",a=t?styleText("cyan",cr):"";return `${r}${o}${s}
|
|
151
|
+
${a}
|
|
152
|
+
`}}}}).prompt();});function rd(e,t){let r=t?.renderHeader??(a=>String(a)),n=Object.keys(e[0]).filter(a=>!t?.omitKeys?.includes(a)).map(a=>{let l=r(a),c=Math.max(l.length,...e.map(u=>String(u[a]).length));return {key:a,header:l,length:c}}),s=" ".repeat(t?.paddingHorizontal??1),i=`
|
|
153
|
+
`.repeat(t?.paddingVertical??1),o=t?.renderCell??((a,l)=>l===null?td.default.dim("null"):String(l));return `${i}${s}| ${n.map(a=>a.header.padEnd(a.length)).join(" | ")} |
|
|
154
|
+
${s}| ${n.map(a=>"\u2500".repeat(a.length)).join(" | ")} |
|
|
155
|
+
${e.map(a=>`${s}| ${Object.entries(a).filter(([l])=>!t?.omitKeys?.includes(l)).map(([l,c])=>o(l,c).padEnd(n.find(u=>u.key===l)?.length??0)).join(" | ")} |`).join(`
|
|
156
|
+
`)}${i}`}async function ee(e){try{await e(),process.exit(0);}catch(t){(process.env.LOCAL||process.env.DEBUG)&&console.error(t),J.error(String(t)),process.exit(1);}}var td,Le=y(()=>{td=te(ie());Ze();});async function nd(e){let t=e.trim();if(!t)return "";let{PGlite:r}=await Ye("@supabase/lite/pglite","pglite","@electric-sql/pglite"),n=new r;try{return await kl(n,t)}finally{await n.close().catch(()=>{});}}async function sd(e,t){let{PGlite:r}=await Ye("@supabase/lite/pglite","pglite","@electric-sql/pglite"),n=new r;try{let s=await kl(n,e.trim());await n.exec("DROP SCHEMA IF EXISTS public CASCADE; CREATE SCHEMA public;");let i=await kl(n,t.trim());return [s,i]}finally{await n.close().catch(()=>{});}}async function kl(e,t){return t?(await e.exec(t),await Rx(e)):""}async function Rx(e){let t=await e.query(`
|
|
186
157
|
SELECT table_schema, table_name, column_name, is_nullable, data_type,
|
|
187
158
|
udt_name, udt_schema, character_maximum_length,
|
|
188
159
|
numeric_precision, numeric_scale, column_default, ordinal_position
|
|
189
160
|
FROM information_schema.columns
|
|
190
161
|
WHERE table_schema NOT IN ('pg_catalog', 'information_schema', 'pg_toast')
|
|
191
162
|
ORDER BY table_schema, table_name, ordinal_position
|
|
192
|
-
`),r=await
|
|
163
|
+
`),r=await e.query(`
|
|
193
164
|
SELECT kcu.table_schema, kcu.table_name, kcu.column_name
|
|
194
165
|
FROM information_schema.table_constraints tc
|
|
195
166
|
JOIN information_schema.key_column_usage kcu
|
|
@@ -199,18 +170,18 @@ ${s.map(o=>`${i}| ${Object.entries(o).filter(([l])=>!t?.omitKeys?.includes(l)).m
|
|
|
199
170
|
WHERE tc.constraint_type = 'PRIMARY KEY'
|
|
200
171
|
AND tc.table_schema NOT IN ('pg_catalog', 'information_schema', 'pg_toast')
|
|
201
172
|
ORDER BY kcu.ordinal_position
|
|
202
|
-
`),
|
|
173
|
+
`),n=new Map;for(let o of r.rows){let a=`${o.table_schema}.${o.table_name}`,l=n.get(a)??[];l.push(o.column_name),n.set(a,l);}let s=new Map;for(let o of t.rows){let a=`${o.table_schema}.${o.table_name}`,l=s.get(a)??[];l.push(o),s.set(a,l);}let i=[];for(let[o,a]of s){let l=a[0].table_schema,c=a[0].table_name,u=n.get(o)??[],p=a.map(f=>Px(f,u));i.push(`CREATE TABLE ${Nl(l)}.${Nl(c)} (
|
|
203
174
|
${p.join(`,
|
|
204
175
|
`)}
|
|
205
|
-
);`);}return
|
|
176
|
+
);`);}return i.join(`
|
|
206
177
|
|
|
207
|
-
`)}function
|
|
178
|
+
`)}function Nl(e){return /^[a-z_][a-z0-9_]*$/.test(e)?e:`"${e.replace(/"/g,'""')}"`}function Px(e,t){let r=[Nl(e.column_name)];return r.push(kx(e)),e.is_nullable==="NO"&&!t.includes(e.column_name)&&r.push("NOT NULL"),e.column_default!==null&&r.push(`DEFAULT ${e.column_default}`),t.length===1&&t[0]===e.column_name&&r.push("PRIMARY KEY"),r.join(" ")}function kx(e){return e.data_type==="ARRAY"?`${e.udt_name.startsWith("_")?e.udt_name.slice(1):e.udt_name}[]`:e.data_type==="USER-DEFINED"?`${e.udt_schema}.${e.udt_name}`:e.data_type==="character varying"&&e.character_maximum_length?`varchar(${e.character_maximum_length})`:e.data_type==="numeric"&&e.numeric_precision&&e.numeric_scale!==null?`numeric(${e.numeric_precision},${e.numeric_scale})`:e.data_type}var Ol=y(()=>{jr();});async function od(e,t){let[r,n]=await sd(e,t),s=id(r),i=id(n),o=[];for(let[a,l]of i){let c=s.get(a);if(!c){o.push(l.createDdl.trim());continue}for(let[u,p]of l.columns)c.columns.has(u)||o.push(`ALTER TABLE ${Nx(l)} ADD COLUMN ${p.ddl};`);}return o.join(`
|
|
208
179
|
|
|
209
|
-
`)}function
|
|
210
|
-
`,{flag:"wx"}),console.log(
|
|
180
|
+
`)}function Nx(e){return `${e.schema}.${e.name}`}function id(e){let t=new Map;if(!e.trim())return t;let r=Ox(e);for(let n of r){let s=Ix(n);s&&t.set(`${s.schema}.${s.name}`,s);}return t}function Ox(e){let t=[],r=/CREATE TABLE[\s\S]*?\);\s*/g;for(let n of e.matchAll(r))t.push(n[0]);return t}function Ix(e){let t=/CREATE TABLE\s+([^(]+)\s*\(/.exec(e);if(!t)return null;let r=t[1].trim(),{schema:n,name:s}=Dx(r),i=e.indexOf("(",t.index)+1,o=e.lastIndexOf(")"),a=e.slice(i,o),l=new Map;for(let c of Lx(a)){let u=c.trim().replace(/,$/,"").trim();if(!u)continue;let p=/^"?([a-zA-Z_][a-zA-Z0-9_]*)"?\s+/.exec(u);if(!p)continue;let f=p[1];l.set(f,{name:f,ddl:u});}return {schema:n,name:s,createDdl:e,columns:l}}function Lx(e){let t=[],r=0,n="";for(let s of e){if(s==="("?r++:s===")"&&r--,s===","&&r===0){t.push(n),n="";continue}n+=s;}return n.trim()&&t.push(n),t}function Dx(e){let r=e.replace(/"/g,"").trim().split(".");return r.length===1?{schema:"public",name:r[0]}:{schema:r[0],name:r.slice(1).join(".")}}var ad=y(()=>{Ol();});var cd={};de(cd,{db:()=>Mx});async function ld(e){let t=await gt(e),r=await ge(t);if(!r&&!t.connection.config.baseSchema){console.log(Be.default.dim("No schema files found."));return}let s=await t.connection.createMigrator(r).diff();if(typeof s.diff!="string"&&!s.diff.has_changes){console.log(Be.default.dim("Schema in sync."));return}ht(s);}var Be,Fx,Mx,ud=y(()=>{Be=te(ie());Le();ol();We();Pt();ad();Ee();Qe();St();Ys();We();Fx="Local Development:";Mx=e=>{let t=e.command("db").description("Database operations").helpGroup(Fx);t.command("diff").description("Diff current DB against schemas/*.sql; with -f, emit a pg migration file").option("--config <config>","Path to the config file").option("-f, --file <name>","Write the diff as a new migration file with this name").action(async r=>{console.log(),await ee(async()=>{if(await Q(r.config),!r.file){await ld(r.config);return}let n=await gt(r.config),s=await Fs(n),i=await ge(n);if(!i.trim()){console.log(Be.default.dim("No declarative schemas found \u2014 nothing to diff."));return}let o=await od(s,i);if(!o.trim()){console.log(Be.default.green("Schema in sync \u2014 no migration written."));return}let a=z__default.join(process.cwd(),"supabase",Rt(n));Pe(a);let l=Aa(r.file,Ta()),c=z__default.join(a,l);await fe__default.writeFile(c,o+`
|
|
181
|
+
`,{flag:"wx"}),console.log(Be.default.green(" \u279C"),"Wrote migration",Be.default.cyan(z__default.relative(process.cwd(),c)));});}),t.command("reset").description(ye("Drop user objects, clear history, replay migrations + seed")).option("--config <config>","Path to the config file").option("--no-seed","Skip running seed.sql after replay").action(async r=>{console.log(),await ee(async()=>{await Q(r.config);let n=await gt(r.config),i=(await n.connection.introspect()).tables.filter(u=>u.type==="table"),o=n.connection.dialect==="postgres",a=(u,p)=>o&&u?`"${u}"."${p}"`:`"${u?`${u}.${p}`:p}"`,l=[];for(let u of i)l.push(`DROP TABLE IF EXISTS ${a(u.schema,u.name)}${o?" CASCADE":""}`);l.push("DROP TABLE IF EXISTS migrations"),o?l.push("DROP SCHEMA IF EXISTS supabase_migrations CASCADE"):(l.push('DROP TABLE IF EXISTS "supabase_migrations.schema_migrations"'),l.push('DROP TABLE IF EXISTS "supabase_migrations.seed_files"'));for(let u of l)try{await n.connection.exec(u);}catch{}await n.connection.clearSchemaCache();let c=await Mt(n);for(let u of c.applied)console.log(Be.default.green(" \u2713"),"Applied",Be.default.cyan(u.filename));r.seed!==!1&&await dn(n).catch(u=>console.error(Be.default.yellow("Seed warning: "+String(u)))),console.log(Be.default.green("Database reset."));});}),t.command("query").description("Execute a SQL statement against the local or remote project").argument("<statement>","The statement to execute").option("--remote","Execute the statement on the remote project",false).option("--config <config>","Path to the config file").action(async(r,n)=>{console.log(),await ee(async()=>{n.remote||await Q(n.config);let s=await gt(n.remote?!0:n.config);console.log(`Executing: ${Be.default.cyan(r)}`);let i=await s.connection.exec(r);console.log(i);});}),t.command("schema").description(ye("Print the current database schema")).option("--diff","Diff current DB against schemas/*.sql",false).option("--sql","Print raw CREATE statements from sqlite_master",false).option("--config <config>","Path to the config file").action(async r=>{console.log(),await ee(async()=>{if(await Q(r.config),r.diff){await ld(r.config);return}let s=await(await gt(r.config)).connection.introspect();if(r.sql){let i=[...s.tables.map(o=>o.sql),...s.views.map(o=>o.sql),...s.triggers.map(o=>o.sql)].filter(o=>o&&o.trim().length>0);console.log(i.join(`;
|
|
211
182
|
|
|
212
|
-
`)+(
|
|
213
|
-
`&&(
|
|
183
|
+
`)+(i.length?";":""));return}Tm(s);});});};});var pd={};de(pd,{migration:()=>Hx});var le,qx,Hx,fd=y(()=>{le=te(ie());We();Pt();Ys();il();Ce();Ee();Qe();qx="Local Development:",Hx=e=>{let t=e.command("migration").description("Manage database migrations").helpGroup(qx);t.command("diff").description(ye("Diff DB state against schemas/*.sql")).option("--config <config>","Path to the config file").option("--execute","Execute the migration").option("--force","Force the migration",false).option("--sql","Show the SQL for the migration",false).option("--seed","Seed the database with data",false).action(async r=>{await Q(r.config);let s=await(await K({withSupabaseClient:false})).project.local.createApp(r.config),i=await ge(s),o=s.connection.createMigrator(i),a=await o.diff();if(console.log(),a.plan.steps.length>0){ht(a);let l=null;try{r.execute&&(await o.migratePlan(a.plan,{force:r.force??!1}),nl(a),console.log());}catch(c){l=c;}if(r.sql){let c=r.execute?l?le.default.red:le.default.green:le.default.cyan;console.log(c(hn(a,{colorize:true})));}l&&(l instanceof DataLossError&&(console.log(),console.warn(le.default.yellow("Migration would potentially cause data loss. Rerun with --force to proceed.")),process.exit(1)),console.error(le.default.red("Migration error: "+String(l))),process.exit(1)),r.execute||console.log(le.default.yellow("Migration not executed. Use --execute to execute."));}else console.log(le.default.green("No changes to migrate."));r.seed&&await rl(s),process.exit(0);}),t.command("new").description("Create a new empty migration file").argument("<name>","The migration name").option("--config <config>","Path to the config file").action(async(r,n)=>{await Q(n.config);let i=await(await K({withSupabaseClient:false})).project.local.createApp(n.config),o=await om(i,r);console.log(le.default.green(" \u279C"),"Created",le.default.cyan(z__default.relative(process.cwd(),o))),process.exit(0);}),t.command("up").description("Apply pending migrations from the migrations directory").option("--config <config>","Path to the config file").option("--dry-run","Print pending migrations without applying",false).action(async r=>{await Q(r.config);let s=await(await K({withSupabaseClient:false})).project.local.createApp(r.config);if(r.dryRun){await gn(s.connection);let i=new Set(await yn(s.connection)),a=(await Xe(s)).filter(l=>!i.has(l.version));a.length===0&&(console.log(le.default.green("No pending migrations.")),process.exit(0)),console.log(le.default.dim("Pending:"));for(let l of a)console.log(" "+le.default.cyan(l.filename));process.exit(0);}try{let i=await Mt(s);if(i.applied.length===0)console.log(le.default.green("Local database is up to date."));else for(let o of i.applied)console.log(le.default.green(" \u2713"),"Applied",le.default.cyan(o.filename));process.exit(0);}catch(i){console.error(le.default.red("Migration failed: "+String(i.message??i))),process.exit(1);}}),t.command("list").description("List applied and pending migrations").option("--config <config>","Path to the config file").action(async r=>{await Q(r.config);let s=await(await K({withSupabaseClient:false})).project.local.createApp(r.config);await gn(s.connection);let i=new Set(await yn(s.connection)),o=await Xe(s);console.log(le.default.dim(`Migrations in ${Rt(s)}:`)),o.length===0&&console.log(le.default.dim(" (none)"));for(let c of o){let u=i.has(c.version)?le.default.green("[applied]"):le.default.yellow("[pending]");console.log(` ${u} ${le.default.cyan(c.filename)}`);}let a=new Set(o.map(c=>c.version)),l=[...i].filter(c=>!a.has(c));if(l.length>0){console.log(),console.log(le.default.dim("Recorded versions without matching file:"));for(let c of l)console.log(` ${le.default.red("[orphan]")} ${c}`);}process.exit(0);});};});function zx(e){let t=(e??process.env.SUPABASE_ENDPOINT??Wx).replace(/\/+$/,""),r=new URL(t),n=r.host;return {apiUrl:`${r.protocol}//${n.startsWith("api.")?n:`api.${n}`}`,projectDomain:n==="supabase.com"?"supabase.co":n}}function md(e){if(Array.isArray(e)){let t=e.find(n=>n.name==="anon")?.api_key??"",r=e.find(n=>n.name==="service_role")?.api_key??"";return {anon:t,service_role:r}}return e}var Wx,hi,dd=y(()=>{Wx="https://supabase.com";hi=class{constructor(t,r){this.token=t;if(!t)throw new Error("Supabase access token required");let n=zx(r?.endpoint);this.apiUrl=n.apiUrl,this.projectDomain=n.projectDomain;}apiUrl;projectDomain;async request(t,r,n){let s=await fetch(`${this.apiUrl}${r}`,{method:t,headers:{Authorization:`Bearer ${this.token}`,"Content-Type":"application/json",Accept:"application/json"},body:n===void 0?void 0:JSON.stringify(n)});if(!s.ok){let o=await s.text().catch(()=>"");throw new Error(`Supabase API ${t} ${r} failed: ${s.status} ${s.statusText}${o?` \u2014 ${o}`:""}`)}return (s.headers.get("content-type")??"").includes("application/json")?await s.json():await s.text()}listOrganizations(){return this.request("GET","/v1/organizations")}async validateToken(){try{return await this.listOrganizations(),!0}catch{return false}}listRegions(t){return this.request("GET",`/v1/projects/available-regions?organization_slug=${encodeURIComponent(t)}`)}createProject(t){return this.request("POST","/v1/projects",t)}getProject(t){return this.request("GET",`/v1/projects/${t}`)}getApiKeys(t){return this.request("GET",`/v1/projects/${t}/api-keys`)}updateAuthConfig(t,r){return this.request("PATCH",`/v1/projects/${t}/config/auth`,r)}createSigningKey(t,r){return this.request("POST",`/v1/projects/${t}/config/auth/signing-keys`,r)}runSql(t,r){return this.request("POST",`/v1/projects/${t}/database/query`,{query:r})}async waitForActive(t,r={}){let n=r.timeoutMs??6e5,s=r.intervalMs??5e3,i=Date.now();for(;;){let o=await this.getProject(t);if(r.onTick?.(o.status),o.status==="ACTIVE_HEALTHY")return o;if(Date.now()-i>n)throw new Error(`Timed out waiting for project ${t} to become ACTIVE_HEALTHY (last status: ${o.status})`);await new Promise(a=>setTimeout(a,s));}}};});function Vx(e){if(e==null||typeof e!="string")return true;try{return JSON.parse(e),!0}catch{return false}}function Kx(e){return e==null?true:typeof e!="string"?false:Gx.test(e)}function Yx(e){if(e==null)return true;if(typeof e=="number")return Number.isFinite(e);if(typeof e!="string")return false;let t=Date.parse(e);return !Number.isNaN(t)}function hd(e){if(!e)return;let t=e.match(/varchar\s*\(\s*(\d+)\s*\)/i);return t?Number(t[1]):void 0}function gd(e){return e?/jsonb?/i.test(e):false}function yd(e){return e?/\buuid\b/i.test(e):false}function wd(e){return e?/timestamp(tz)?|timestamp with|timestamp without/i.test(e):false}async function bd(e){let t=await e.connection.introspect(),r=[],n=e.connection.dialect;for(let s of t.tables){let i=s.name,o=s.schema,a=n==="sqlite"&&o&&o!=="main"?`"${o}.${i}"`:o?`"${o}"."${i}"`:`"${i}"`,l=t.columns.filter(h=>h.table===i&&(h.schema??o)===o),c=0,u=[];try{let h=await e.connection.exec(`SELECT COUNT(*) as c FROM ${a}`);c=Number(h?.rows?.[0]?.c??0);}catch{r.push({table:i,schema:o,rowCount:0,issues:u});continue}if(c===0){r.push({table:i,schema:o,rowCount:c,issues:u});continue}let p=l.filter(h=>gd(h.type)||yd(h.type)||wd(h.type)||hd(h.type)!==void 0);if(p.length===0){r.push({table:i,schema:o,rowCount:c,issues:u});continue}let f=p.map(h=>`"${h.name}"`).join(", ");try{let d=(await e.connection.exec(`SELECT ${f} FROM ${a}`))?.rows??[];for(let m of d)for(let b of p){let g=m[b.name];if(gd(b.type)&&!Vx(g)){u.push({table:i,column:b.name,kind:"invalid_json",message:`row contains non-parseable JSON in ${i}.${b.name}`});continue}if(yd(b.type)&&g!=null&&!Kx(g)){u.push({table:i,column:b.name,kind:"invalid_uuid",message:`row contains invalid UUID in ${i}.${b.name}`});continue}if(wd(b.type)&&!Yx(g)){u.push({table:i,column:b.name,kind:"invalid_timestamp",message:`row contains unparseable timestamp in ${i}.${b.name}`});continue}let S=hd(b.type);S!==void 0&&typeof g=="string"&&g.length>S&&u.push({table:i,column:b.name,kind:"varchar_overflow",message:`value exceeds varchar(${S}) in ${i}.${b.name}`});}}catch{}r.push({table:i,schema:o,rowCount:c,issues:u});}return r}var Gx,Sd=y(()=>{Gx=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;});function Ut(e){let t=[],r="",n=0,s=false,i=false,o=false,a=false,l=null;for(;n<e.length;){let u=e[n],p=e[n+1];if(o){r+=u,u===`
|
|
184
|
+
`&&(o=false),n++;continue}if(a){if(r+=u,u==="*"&&p==="/"){r+=p,n+=2,a=false;continue}n++;continue}if(l){if(r+=u,u==="$"&&e.startsWith(l,n)){r+=e.slice(n+1,n+l.length),n+=l.length,l=null;continue}n++;continue}if(s){if(r+=u,u==="'"&&p==="'"){r+=p,n+=2;continue}u==="'"&&(s=false),n++;continue}if(i){if(r+=u,u==='"'&&p==='"'){r+=p,n+=2;continue}u==='"'&&(i=false),n++;continue}if(u==="-"&&p==="-"){o=true,r+=u,n++;continue}if(u==="/"&&p==="*"){a=true,r+=u,n++;continue}if(u==="'"){s=true,r+=u,n++;continue}if(u==='"'){i=true,r+=u,n++;continue}if(u==="$"){let f=e.slice(n).match(/^\$[A-Za-z0-9_]*\$/);if(f){l=f[0],r+=f[0],n+=f[0].length;continue}}if(u===";"){let f=r.trim();f&&t.push(f),r="",n++;continue}r+=u,n++;}let c=r.trim();return c&&t.push(c),t}var gi=y(()=>{});async function yi(e,t){let n=e.connection.dialect==="sqlite"?`"auth.${t}"`:`auth."${t}"`;try{let s=await e.connection.exec(`SELECT COUNT(*) as c FROM ${n}`);return Number(s?.rows?.[0]?.c??0)}catch{return 0}}async function Ed(e){let t=[],r=[],n=false;try{await e.connection.exec("SELECT 1"),n=!0;}catch(l){t.push(`Database not reachable: ${String(l)}`);}let s=await ge(e),i=Ut(s);i.length===0&&t.push("No schema statements found in supabase/schemas/*.sql");let o=[];if(n)try{o=await bd(e);}catch(l){r.push(`Data validation skipped: ${String(l)}`);}for(let l of o)for(let c of l.issues)r.push(`${c.kind}: ${c.message}`);let a={users:0,sessions:0,refresh_tokens:0,identities:0,jwt_secret_set:!!e.config.auth?.jwt_secret};return n&&(a.users=await yi(e,"users"),a.sessions=await yi(e,"sessions"),a.refresh_tokens=await yi(e,"refresh_tokens"),a.identities=await yi(e,"identities")),a.jwt_secret_set||r.push("auth.jwt_secret is not configured \u2014 tokens will not survive upgrade"),e.config.storage?.enabled&&r.push("Storage is enabled but migration is not yet supported"),e.config.realtime?.enabled&&r.push("Realtime config migration is not yet supported"),{ok:t.length===0,errors:t,warnings:r,dbReachable:n,schemaStatementCount:i.length,schemaBytes:s.length,tables:o,auth:a}}var _d=y(()=>{We();Sd();gi();});var Ll,xd=y(()=>{Ll=`-- supabase/auth core schema (Postgres)
|
|
214
185
|
-- Scope: Core Authentication + User Management
|
|
215
186
|
-- Source: GoTrue migrations + runtime analysis
|
|
216
187
|
|
|
@@ -387,33 +358,31 @@ CREATE TABLE IF NOT EXISTS auth.audit_log_entries (
|
|
|
387
358
|
created_at timestamptz DEFAULT now(),
|
|
388
359
|
ip_address varchar(64) DEFAULT ''
|
|
389
360
|
);
|
|
390
|
-
`;});function
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
`)}`);this.warnings=r;this.name="DataLossError";}};});var $n,rg=y(()=>{Ls();$n=class{makeIndexKey(t){return `${t.table}:${t.name}:${t.unique}:${t.columns.join(",")}`}makeForeignKeyKey(t){return `${t.table}:${t.column}:${t.ref_table}:${t.ref_column}`}diff(t,r){let e=[],i=[],n=[],a=[],o=new Set(t.tables.map(g=>g.name)),l=new Set(r.tables.map(g=>g.name));for(let g of r.tables)o.has(g.name)||e.push({type:"added",name:g.name,sql:g.sql});for(let g of t.tables)l.has(g.name)||e.push({type:"removed",name:g.name});for(let g of t.tables){let T=r.tables.find(N=>N.name===g.name);if(!T)continue;let E=fa(g.sql),b=fa(T.sql);E!==b&&e.push({type:"modified",name:g.name,sql:T.sql});}let u=t.tables.filter(g=>l.has(g.name));for(let g of u){let T=t.columns.filter(R=>R.table===g.name),E=r.columns.filter(R=>R.table===g.name),b=new Map(T.map(R=>[R.name,R])),N=new Map(E.map(R=>[R.name,R]));for(let[R,P]of N)b.has(R)||i.push({type:"added",table:g.name,name:R,column:P});for(let[R]of b)N.has(R)||i.push({type:"removed",table:g.name,name:R});for(let[R,P]of b){let D=N.get(R);if(!D)continue;let v={};pa(P.type)!==pa(D.type)&&(v.type={from:P.type,to:D.type}),P.nullable!==D.nullable&&(v.nullable={from:P.nullable,to:D.nullable}),ha(P.default_value)!==ha(D.default_value)&&(v.default_value={from:P.default_value,to:D.default_value}),Object.keys(v).length>0&&i.push({type:"modified",table:g.name,name:R,changes:v});}}let c=new Map(t.indexes.map(g=>[this.makeIndexKey(g),g])),p=new Map(r.indexes.map(g=>[this.makeIndexKey(g),g]));for(let[g,T]of p)c.has(g)||n.push({type:"added",...T});for(let[g,T]of c)p.has(g)||n.push({type:"removed",...T});let f=new Map(t.foreign_keys.map(g=>[this.makeForeignKeyKey(g),g])),d=new Map(r.foreign_keys.map(g=>[this.makeForeignKeyKey(g),g]));for(let[g,T]of d)f.has(g)||a.push({type:"added",...T});for(let[g,T]of f)d.has(g)||a.push({type:"removed",...T});let m=e.length>0||i.length>0||n.length>0||a.length>0;return {tables:e,columns:i,indexes:n,foreign_keys:a,has_changes:m}}};});var UC,Pn,ig=y(()=>{Ln();Ds();UC=["CURRENT_TIMESTAMP","CURRENT_TIME","CURRENT_DATE"],Pn=class{plan(t,r,e,i){if(!t.has_changes)return {steps:[],warnings:[],unsafe:false};let n=[],a=[];n.push({sql:"PRAGMA foreign_keys=OFF;",description:"Disable foreign key checks",type:"disable_foreign_keys"}),n.push({sql:"BEGIN;",description:"Begin transaction",type:"begin_transaction"});for(let p of t.tables.filter(f=>f.type==="added")){n.push({sql:`${p.sql};`,description:`CREATE TABLE ${B(p.name)}`,type:"create_table"});let f=e.indexes.filter(d=>d.table===p.name);for(let d of f){let m=d.unique?"UNIQUE ":"",g=d.columns.map(T=>B(T)).join(", ");n.push({sql:`CREATE ${m}INDEX ${B(d.name)} ON ${B(p.name)} (${g});`,description:`Create index ${B(d.name)} on ${B(p.name)}`,type:"add_index"});}}let o=new Set(r.tables.map(p=>p.name)),l=new Set(e.tables.map(p=>p.name)),u=new Set(t.tables.filter(p=>p.type==="modified").map(p=>p.name)),c=[...o].filter(p=>l.has(p));for(let p of c){if(!(u.has(p)||t.columns.some(g=>g.table===p)||t.indexes.some(g=>g.table===p)||t.foreign_keys.some(g=>g.table===p)))continue;let{canAlter:d,addedCols:m}=this.canSimpleAlter(p,t,e);if(d){for(let E of m)n.push({sql:`ALTER TABLE ${B(p)} ADD COLUMN ${this.columnDef(E)};`,description:`Add column ${B(E.name)} to ${B(p)}`,type:"add_column"});let g=t.indexes.filter(E=>E.table===p&&E.type==="added"),T=t.indexes.filter(E=>E.table===p&&E.type==="removed");for(let E of T)n.push({sql:`DROP INDEX IF EXISTS ${B(E.name)};`,description:`Drop index ${B(E.name)}`,type:"drop_index"});for(let E of g){let b=E.unique?"UNIQUE ":"",N=E.columns.map(R=>B(R)).join(", ");n.push({sql:`CREATE ${b}INDEX ${B(E.name)} ON ${B(p)} (${N});`,description:`Create index ${B(E.name)} on ${B(p)}`,type:"add_index"});}}else {let g=this.rebuildTable(p,r,e,t);n.push(...g.steps),a.push(...g.warnings);}}for(let p of t.tables.filter(f=>f.type==="removed"))n.push({sql:`DROP TABLE ${B(p.name)};`,description:`Drop table ${B(p.name)}`,type:"drop_table"}),a.push({table:p.name,reason:"table will be dropped"});return n.push({sql:"COMMIT;",description:"Commit transaction",type:"commit_transaction"}),n.push({sql:"PRAGMA foreign_keys=ON;",description:"Re-enable foreign key checks",type:"enable_foreign_keys"}),{steps:n,warnings:a,unsafe:a.length>0}}rebuildTable(t,r,e,i){let n=[],a=[],o=e.tables.find(E=>E.name===t);if(!o)return {steps:n,warnings:a};let l=`_${t}_migrate_new`,u=o.sql.replace(new RegExp(`(CREATE\\s+TABLE\\s+)(?:"${t}"|${t})`,"i"),`$1${B(l)}`);n.push({sql:`${u};`,description:`Create temporary table ${B(l)}`,type:"create_table"});let c=r.columns.filter(E=>E.table===t).map(E=>E.name),p=e.columns.filter(E=>E.table===t).map(E=>E.name),f=c.filter(E=>p.includes(E));if(f.length>0){let E=f.map(b=>B(b)).join(", ");n.push({sql:`INSERT INTO ${B(l)} (${E})
|
|
395
|
-
|
|
396
|
-
FROM ${B(t)};`,description:`Copy data from ${B(t)} to ${B(l)}`,type:"copy_data"});}n.push({sql:`DROP TABLE ${B(t)};`,description:`Drop old table ${B(t)}`,type:"drop_table"}),n.push({sql:`ALTER TABLE ${B(l)} RENAME TO ${B(t)};`,description:`Rename ${B(l)} to ${B(t)}`,type:"rename_table"});let d=e.indexes.filter(E=>E.table===t);for(let E of d){let b=E.unique?"UNIQUE ":"",N=E.columns.map(R=>B(R)).join(", ");n.push({sql:`CREATE ${b}INDEX ${B(E.name)} ON ${B(t)} (${N});`,description:`Recreate index ${B(E.name)} on ${B(t)}`,type:"add_index"});}let m=e.triggers?.filter(E=>E.table===t)??[];for(let E of m)n.push({sql:`${E.sql};`,description:`Recreate trigger ${B(E.name)} on ${B(t)}`,type:"create_trigger"});let g=i.columns.filter(E=>E.table===t&&E.type==="removed");for(let E of g)a.push({table:t,reason:`column "${E.name}" will be dropped`});let T=i.columns.filter(E=>E.table===t&&E.type==="modified");for(let E of T)E.changes?.type&&a.push({table:t,reason:`column "${E.name}" type changes from ${E.changes.type.from} to ${E.changes.type.to}`}),E.changes?.nullable&&!E.changes.nullable.to&&a.push({table:t,reason:`column "${E.name}" becomes NOT NULL`});return {steps:n,warnings:a}}canSimpleAlter(t,r,e){let i=r.columns.filter(p=>p.table===t),n=i.filter(p=>p.type==="added"),a=i.filter(p=>p.type==="removed"),o=i.filter(p=>p.type==="modified"),l=r.foreign_keys.some(p=>p.table===t);if(a.length>0||o.length>0||l)return {canAlter:false,addedCols:n};let u=e.tables.find(p=>p.name===t);return u&&/\bCHECK\s*\(/i.test(u.sql)?{canAlter:false,addedCols:n}:{canAlter:n.every(p=>{let f=p.column;return this.hasNonConstantDefault(f.default_value)?false:f.nullable||f.default_value!=null})&&n.length>0,addedCols:n}}hasNonConstantDefault(t){if(t==null)return false;let r=t.trim().toUpperCase();return UC.includes(r)}columnDef(t){let r=t.column,e=`${B(r.name)} ${r.type||"TEXT"}`;return r.nullable||(e+=" NOT NULL"),r.default_value!=null&&(e+=` DEFAULT ${r.default_value}`),e}};});var ng,ag,Dn,og=y(()=>{Mo();fs();ng=Q(tg());xe();ag=Q(Xl());xe();eg();he();sg();Ln();rg();ig();Ds();sl();il();Dn=class extends cs{enums;schemaHandling;warnings=[];helper;config;triggerFunctions=new Map;plpgsqlParser=new Nn;introspection;functionResolution;constructor(t,{enums:r,schemaHandling:e,introspection:i,...n}={}){super(t,n),this.schemaHandling=e??"default",this.enums=r??new Map,this.helper=new On(t),this.config=n,this.introspection=i,this.functionResolution=n?.functionResolution??"translate";}visit(t,r){let e=ps(t),i=zi.get(e);if(i){if(i.react==="error")throw new G({[e]:t},`Unsupported node type: ${e}`);return i.react==="warn"&&this.warnings.push({type:e,node:t}),""}return super.visit(t,r)}deparse(t,r){if(t==null)return null;if(!r){let e=new ag.SqlFormatter;r=new ng.DeparserContext({formatter:e});}return typeof t=="number"||t instanceof Number?t.toString():this.visit(t,r)}RawStmt(t,r){if(!t.stmt||t.stmt.CommentStmt)return "";let e=this.deparse(t.stmt,r);return !e||e.length===0?"":t.stmt_len?e+";":e}RangeVar(t,r){this.ensureRelation(t);let e=this.effectiveSchema(t.schemaname),i=t.relname,n=this.quoteBareIfNeeded(i);e&&(this.schemaHandling==="prefix"?n=`${e}__${i}`:n=`"${e}.${i}"`);let a=t.alias?" "+this.Alias(t.alias,r):"";return n+a}getRelationName(t){this.ensureRelation(t);let r=this.effectiveSchema(t.schemaname),e=t.relname;return r?this.schemaHandling==="prefix"?`${r}__${e}`:`${r}.${e}`:e}quoteBareIfNeeded(t){return /^[A-Za-z_][A-Za-z0-9_]*$/.test(t)?t:`"${t.replace(/"/g,'""')}"`}effectiveSchema(t){if(t){if(this.config.forceDefaultSchema||this.schemaHandling!=="default")return t;if(t!=="public")return t}}ensureRelation(t){let r=this.config.forceDefaultSchema;r&&(!t||typeof t!="object"||r.length===0||t.schemaname||(t.schemaname=r));}CreateStmt(t,r){if(t.inhRelations&&t.inhRelations.length>0)throw new G({CreateStmt:t},"Inheritance is not supported in SQLite");if(t.ofTypename!==void 0)throw new G({CreateStmt:t},"Typed tables (CREATE TABLE ... OF type_name) are not supported. Define columns directly in the CREATE TABLE statement instead.");if(t.options&&t.options.length>0&&(t.options=void 0),!t.tableElts||t.tableElts.length===0)throw new G({CreateStmt:t},"Empty tables are not supported in SQLite. Define at least one column.");return t.accessMethod&&(t.accessMethod=void 0),super.CreateStmt(t,r)+" STRICT"}TableLikeClause(t,r){throw new G({TableLikeClause:t},"CREATE TABLE ... (LIKE ...) is not supported in SQLite. Define the table columns explicitly instead.")}DefElem(t,r){if(["oids","fillfactor",/^autovacuum_/i,"toast_tuple_target","parallel_workers","user_catalog_table"].some(n=>Rc(t.defname??"",n)))return "";let i=super.DefElem(t,r);throw new G({DefElem:t},`DefElem "${t.defname}" (${i}) not supported`)}TypeName(t,r){if(!t.names)return "";let e=t.names.map(n=>n.String?n.String.sval||n.String.str:"").filter(Boolean);if(e.length===0)return "";let i=e.length===2&&e[0]==="pg_catalog"?e[1]:e.join(".");return t.arrayBounds&&t.arrayBounds.length>0||this.enums.has(i.toLowerCase())?"TEXT":Dh(i)}ColumnDef(t,r){let e=[],i=t.colname;i&&e.push(this.quoteIfNeeded(i));let n=false,a=false,o=null,l=null,u=null,c=false;if(t.typeName){let p=t.typeName.names?.map(m=>m.String?.sval||m.String?.str).filter(Boolean);u=p&&(p.length===2&&p[0]==="pg_catalog"?p[1]:p[0]),n=!!(u&&Ji(u)),c=!!(t.typeName.arrayBounds&&t.typeName.arrayBounds.length>0);let f=Array.isArray(t.typeName.typmods)?t.typeName.typmods:[],d=m=>f[m]?.A_Const?.ival?.ival??f[m]?.A_Const?.val?.ival?.ival;if(u&&Yi(u)&&f.length>0){let m=d(0);typeof m=="number"&&m>0&&(o={maxLen:m});}if(u&&Ki(u)&&f.length>=2){let m=d(0),g=d(1);typeof m=="number"&&typeof g=="number"&&m>0&&g>=0&&(l={precision:m,scale:g});}if(t.constraints){let m=Array.isArray(t.constraints)?t.constraints:[];a=m.some(g=>g.Constraint?.contype==="CONSTR_PRIMARY"),m.some(g=>g.Constraint?.contype==="CONSTR_IDENTITY")&&(n=true);}e.push(this.TypeName(t.typeName,r));}if(t.constraints){let p=Array.isArray(t.constraints)?t.constraints:[],f=p.map(m=>this.visit(m,r));e.push(...f.filter(Boolean));let d=p.some(m=>m.Constraint?.contype==="CONSTR_CHECK");n&&a&&!d&&e.push("AUTOINCREMENT");}if(i&&u){let p={isArray:c};o&&(p.lengthConstraint=o.maxLen),l&&(p.numericPrecision=l);let f=this.enums.get(u.toLowerCase());f&&(p.enumValues=f);let g=Me({schema:"public",table:"",column:i,pgTypeName:u,nullable:true,defaultValue:null,defaultFn:null,isPrimaryKey:a,isUnique:false,isSerial:n},p).checkConstraint();g&&e.push(`CHECK (${g})`);}return e.join(" ")}Constraint(t,r){let e=t.contype;if(e==="CONSTR_IDENTITY"||e==="CONSTR_ATTR_DEFERRABLE"||e==="CONSTR_ATTR_NOT_DEFERRABLE"||e==="CONSTR_ATTR_DEFERRED"||e==="CONSTR_ATTR_IMMEDIATE")return "";if(e==="CONSTR_NULL")return "NULL";if(e==="CONSTR_NOTNULL")return "NOT NULL";if(e==="CONSTR_DEFAULT"&&t.raw_expr){let i=this.visit(t.raw_expr,r);return i.includes("(")&&!i.startsWith("(")?`DEFAULT (${i})`:`DEFAULT ${i}`}if(e==="CONSTR_CHECK"&&t.raw_expr){let i=[];t.conname&&i.push("CONSTRAINT",Vi(t.conname)),i.push("CHECK");let n=this.visit(t.raw_expr,r);return i.push(`(${n})`),i.join(" ")}if(e==="CONSTR_PRIMARY")return t.keys&&t.keys.length>0?`PRIMARY KEY (${ke(t.keys).map(n=>this.visit(n,r)).join(", ")})`:"PRIMARY KEY";if(e==="CONSTR_UNIQUE")return t.keys&&t.keys.length>0?`UNIQUE (${ke(t.keys).map(n=>this.visit(n,r)).join(", ")})`:"UNIQUE";if(e==="CONSTR_FOREIGN")return super.Constraint(t,r).replace(/FOREIGN\s+KEY\s+REFERENCES/gi,"REFERENCES");if(e==="CONSTR_GENERATED"&&t.raw_expr)return `GENERATED ALWAYS AS (${this.visit(t.raw_expr,r)}) STORED`;if(e==="CONSTR_EXCLUSION")throw new G({Constraint:t},"EXCLUSION constraints are not supported in SQLite");return ""}FuncCall(t,r){let i=(t.funcname||[]).map(u=>u.String?.sval||u.String?.str).filter(Boolean);if(i.length===0)throw new Error("Function call has no name");let n=i[i.length-1].toLowerCase();if(n==="extract"&&t.args&&t.args.length>=2){let u=t.args[0];if((u?.A_Const?.sval?.sval||u?.String?.sval)==="epoch")return `strftime('%s', ${this.visit(t.args[1],r)})`}let o=(t.args??[]).map(u=>this.visit(u,r));if(t.agg_star)return `${n}(*)`;if(t.agg_distinct)return `${n}(DISTINCT ${o.join(", ")})`;let l=rl(n,this.functionResolution);if(l){if(l.sqliteExpr!==null){let u=l.sqliteExpr;return u.includes("(")?u:`${u}(${o.join(", ")})`}if(l.jsFn!==null){let u=tn[n];if(u?.sqlite){let c=u.sqlite();return c.includes("(")?c:`${c}(${o.join(", ")})`}}}throw new G({FuncCall:t},`Function call "${n}" not supported`)}SQLValueFunction(t,r){switch(t.op){case "SVFOP_CURRENT_TIMESTAMP":return "datetime('now')";case "SVFOP_CURRENT_DATE":return "date('now')";case "SVFOP_CURRENT_TIME":return "time('now')";default:throw new G({SQLValueFunction:t},`SQLValueFunction "${t.op}" not supported`)}}ResTarget(t,r){if(t.indirection&&t.indirection.length>0)throw new G({ResTarget:t},"Indirections are not supported in SQLite");let e=[];return r.update&&t.name?(e.push(this.quoteIfNeeded(t.name)),e.push("="),t.val&&e.push(this.deparse(t.val,r))):r.insertColumns&&t.name?e.push(this.quoteIfNeeded(t.name)):(t.val&&e.push(this.deparse(t.val,r)),t.name&&e.push(this.Alias({aliasname:t.name},r))),e.join(" ")}A_Expr(t,r){if(["AEXPR_OP_ALL","AEXPR_OP_ANY"].includes(t.kind))throw new G({A_Expr:t},"ALL/ANY/SOME comparison operators are not supported. Use NOT EXISTS or IN instead");if(t.name&&t.name.length>0){if(t.name.length>1)throw new G({A_Expr:t},"Schema-qualified OPERATOR() syntax is not supported in SQLite");let e=t.name[0]?.String?.sval||t.name[0]?.String?.str;if(e){if(!t.lexpr||!t.rexpr)throw new G({A_Expr:t},"A_Expr missing left or right expression");if(!Ph.includes(e.toUpperCase()))throw new G({A_Expr:t},`Operator "${e}" is not supported in SQLite`);if(e==="~~"||e==="~~*"){let i=this.visit(t.lexpr,r),n=this.visit(t.rexpr,r);return `${i} LIKE ${n}`}if(e==="!~~"||e==="!~~*"){let i=this.visit(t.lexpr,r),n=this.visit(t.rexpr,r);return `${i} NOT LIKE ${n}`}if(e==="~"||e==="~*"){let i=this.visit(t.lexpr,r),n=this.visit(t.rexpr,r);return `${i} GLOB ${n}`}}}return super.A_Expr(t,r)}IndexStmt(t,r){let e=["CREATE"];t.unique&&e.push("UNIQUE"),e.push("INDEX"),t.if_not_exists&&e.push("IF NOT EXISTS"),t.idxname&&e.push(Vi(t.idxname)),e.push("ON"),t.relation&&e.push(this.RangeVar(t.relation,r));let i=(t.indexParams??[]).map(n=>"IndexElem"in n?this.IndexElem(n.IndexElem,r):this.visit(n,r)).filter(Boolean);return e.push(`(${i.join(", ")})`),e.join(" ")}IndexElem(t,r){let e=[];return t.name?e.push(Vi(t.name)):t.expr&&e.push(`(${this.visit(t.expr,r)})`),t.ordering==="SORTBY_ASC"&&e.push("ASC"),t.ordering==="SORTBY_DESC"&&e.push("DESC"),t.nulls_ordering==="SORTBY_NULLS_FIRST"&&e.push("NULLS FIRST"),t.nulls_ordering==="SORTBY_NULLS_LAST"&&e.push("NULLS LAST"),e.join(" ")}TypeCast(t,r){if(!t.arg||!t.typeName)return super.TypeCast(t,r);if([...this.helper.walk(t)].filter(({node:a})=>"A_Star"in a).length>0)throw new G({TypeCast:t},"A.* in type casts are not supported in SQLite");if(t.typeName.arrayBounds&&t.typeName.arrayBounds.length>0){if("A_Const"in t.arg&&t.arg.A_Const.sval){let a=t.arg.A_Const.sval.sval;if(a.startsWith("{")&&a.endsWith("}")){let o=t.typeName.names?.map(p=>p.String?.sval).filter(Boolean)??[],l=o.length===2&&o[0]==="pg_catalog"?o[1]:o[0],c=["text","varchar","character varying","char","bpchar","name","uuid"].includes(l?.toLowerCase());try{let p=this.parsePgArrayLiteral(a,c);return `'${JSON.stringify(p).replace(/'/g,"''")}'`}catch{}}}return this.visit(t.arg,r)}let i=this.visit(t.arg,r),n=this.TypeName(t.typeName,r);return `CAST(${i} AS ${n})`}A_ArrayExpr(t,r){let e=ke(t.elements),i=this.tryExtractStaticArray(e);return i!==void 0?`'${JSON.stringify(i).replace(/'/g,"''")}'`:`json_array(${e.map(a=>this.visit(a,r)).join(", ")})`}tryExtractStaticArray(t){let r=[];for(let e of t)if("A_ArrayExpr"in e){let i=ke(e.A_ArrayExpr.elements),n=this.tryExtractStaticArray(i);if(n===void 0)return;r.push(n);}else if("A_Const"in e){let i=e.A_Const;if(i.isnull)r.push(null);else if(i.ival)r.push(i.ival.ival);else if(i.fval)r.push(parseFloat(i.fval.fval));else if(i.sval)r.push(i.sval.sval);else if("boolval"in i)r.push(i.boolval.boolval===true);else return}else return;return r}parsePgArrayLiteral(t,r){if(!t.startsWith("{")||!t.endsWith("}"))throw new Error("Not a PG array literal");let e=t.slice(1,-1);if(e.length===0)return [];let i=[],n=0;for(;n<e.length;)if(e[n]==="{"){let a=0,o=n;for(;o<e.length;){if(e[o]==="{")a++;else if(e[o]==="}"&&(a--,a===0))break;o++;}i.push(this.parsePgArrayLiteral(e.slice(n,o+1),r)),n=o+1,e[n]===","&&n++;}else if(e[n]==='"'){let a=n+1,o="";for(;a<e.length&&e[a]!=='"';)e[a]==="\\"&&a++,o+=e[a],a++;i.push(o),n=a+1,e[n]===","&&n++;}else {let a=n;for(;a<e.length&&e[a]!==","&&e[a]!=="}";)a++;if(a===n)throw new Error("Malformed PG array literal");let o=e.slice(n,a);if(o==="NULL")i.push(null);else if(r)i.push(o);else {let l=Number(o);i.push(isNaN(l)?o:l);}n=a,e[n]===","&&n++;}return i}BetweenExpr(t,r){return super.A_Expr(t,r)}AlterTableStmt(t,r){let e=t.cmds??[],i=["AT_EnableRowSecurity","AT_ForceRowSecurity"],n=e.filter(c=>"AlterTableCmd"in c&&!i.includes(c.AlterTableCmd.subtype));if(n.length===0)return "";if(!["OBJECT_TABLE","OBJECT_INDEX","OBJECT_VIEW"].includes(t.objtype))throw new G({AlterTableStmt:t},`AlterTableStmt with objtype ${t.objtype} is not supported`);let a=["AT_AddColumn","AT_DropColumn"],o=["AT_AlterColumnType","AT_SetNotNull","AT_DropNotNull","AT_ColumnDefault","AT_AddConstraint","AT_DropConstraint"],l=[],u=[];for(let c of n){let p=c.AlterTableCmd.subtype;if(a.includes(p)){let f={...t,cmds:[c]};l.push(super.AlterTableStmt(f,r));}else if(o.includes(p))u.push(c.AlterTableCmd);else throw new G({AlterTableStmt:t},`AlterTableCmd with subtype ${p} is not supported in SQLite`)}if(u.length>0){let c=this.getRelationName(t.relation);l.push(this.generateRebuildSql(c,u));}return l.join(`;
|
|
397
|
-
`)}AlterTableCmd(t,r){if(!["AT_AddColumn","AT_DropColumn"].includes(t.subtype))throw new G({AlterTableCmd:t},`AlterTableCmd with subtype ${t.subtype} is not supported`);return t.subtype==="AT_DropColumn"&&t.behavior?super.AlterTableCmd({...t,behavior:void 0},r):super.AlterTableCmd(t,r)}DefineStmt(t,r){if(t.kind==="OBJECT_AGGREGATE")throw new Error("AGGREGATE definitions are not supported in SQLite");return super.DefineStmt(t,r)}InsertStmt(t,r){if("selectStmt"in t){let i=(t.selectStmt?.SelectStmt?.valuesLists??[]).map(n=>n.List?.items?.map(a=>"SetToDefault"in a));if(i.length===1&&i[0]?.every(n=>n===true))return super.InsertStmt({...t,selectStmt:void 0,cols:void 0},r);if(i.some(n=>n.some(a=>a===true)))throw new G({InsertStmt:t},"Insert with partial DEFAULT values is not supported")}return super.InsertStmt(t,r)}SelectStmt(t,r){if(this.helper.hasUnsafeStar())throw new G({SelectStmt:t},"Row-wise comparison using .* is not supported in SQLite. Expand to explicit per-column comparisons instead.");if(t.intoClause)throw new G({SelectStmt:t},"SELECT ... INTO clause is not supported in SQLite");if(t.distinctClause){let i=ke(t.distinctClause);if(i.length>0&&Object.keys(i[0]).length>0)throw new G({SelectStmt:t},"DISTINCT ON clause is not supported in SQLite. Use window functions instead.")}if(t.limitOffset&&!t.limitCount)throw new G({SelectStmt:t},"OFFSET without LIMIT is not supported in SQLite");let e=super.SelectStmt(t,r);if(/^SELECT\s+FROM/.test(e))throw new G({SelectStmt:t},"SELECT without a target list is not supported in SQLite");return e}JoinExpr(t,r){return t.alias&&this.Alias(t.alias,r),super.JoinExpr(t,r)}A_Const(t,r){if(t.bsval!==void 0)throw new G({A_Const:t},"Bit string literals are not supported in SQLite");let e=super.A_Const(t,r);return typeof e=="string"&&e.startsWith("E'")?e.substring(2,e.length-1):e}SortBy(t,r){if(t.sortby_dir==="SORTBY_USING"){let e=ke(t.useOp),i=e[0]?.String?.sval;if(e.length>1||!["<",">"].includes(i??""))throw new G({SortBy:t},"Only `USING <` or `USING >` are supported.");t.sortby_dir=i==="<"?"SORTBY_DESC":"SORTBY_ASC",t.useOp=void 0;}return super.SortBy(t,r)}RangeSubselect(t,r){if(t.lateral)throw new G({RangeSubselect:t},"LATERAL subqueries are not supported in SQLite");return super.RangeSubselect(t,r)}SubLink(t,r){if(["ANY_SUBLINK","ALL_SUBLINK"].includes(t.subLinkType))throw new G({SubLink:t},"ANY/ALL/SOME subqueries are not supported. Use NOT EXISTS or IN instead");if(t.subLinkType==="ARRAY_SUBLINK")throw new G({SubLink:t},"ARRAY subqueries are not supported in SQLite");return super.SubLink(t,r)}LockingClause(t,r){return ""}UpdateStmt(t,r){if(r.parentNodeTypes.includes("SelectStmt"))throw new G({UpdateStmt:t},"UPDATE ... FROM (SELECT ...) is not supported in SQLite");return super.UpdateStmt(t,r)}Alias(t,r){if(t.colnames&&t.colnames.length>0)throw new G({Alias:t},"Aliasing with column names is not supported in SQLite");return `AS "${t.aliasname}"`}CreateFunctionStmt(t,r){let e=t.options??[],i=t.returnType?.names?.map(u=>u.String?.sval).filter(Boolean).join("."),n=e.find(u=>u.DefElem?.defname==="language")?.DefElem?.arg?.String?.sval;if(i!=="trigger"||n!=="plpgsql")throw new G({CreateFunctionStmt:t},"Only trigger functions with LANGUAGE plpgsql are supported");let a=t.funcname?.map(u=>u.String?.sval).filter(Boolean).pop();if(!a)throw new Error("Function has no name");let o=e.find(u=>u.DefElem?.defname==="as")?.DefElem?.arg?.List?.items?.[0]?.String?.sval;if(!o)throw new Error("Function has no body");let l=this.plpgsqlParser.parse(o);return this.triggerFunctions.set(a,l),""}CreateTrigStmt(t,r){let e=t.trigname,i=this.RangeVar(t.relation,r),n=t.funcname?.map(p=>p.String?.sval).filter(Boolean).pop();if(!n)throw new Error(`Trigger "${e}" has no function reference`);let a=this.triggerFunctions.get(n);if(!a)throw new G({CreateTrigStmt:t},`Trigger "${e}" references unknown function "${n}"`);let o=t.timing===2?"BEFORE":t.timing===64?"INSTEAD OF":"AFTER",l=[];if(t.events&4&&l.push("INSERT"),t.events&8&&l.push("DELETE"),t.events&16)if(t.columns?.length){let p=t.columns.map(f=>f.String?.sval).filter(Boolean);l.push(`UPDATE OF ${p.join(", ")}`);}else l.push("UPDATE");let u=l.join(" OR "),c=this.buildTriggerBody(a,i,r);return [`CREATE TRIGGER ${e}`,`${o} ${u} ON ${i}`,"FOR EACH ROW","BEGIN",...c.map(p=>` ${p};`),"END"].join(`
|
|
398
|
-
`)}
|
|
399
|
-
`):""}buildDesiredSchema(t,r,e){let i={...t,tables:t.tables.map(n=>({...n})),columns:t.columns.map(n=>({...n})),indexes:t.indexes.map(n=>({...n})),foreign_keys:t.foreign_keys.map(n=>({...n})),primary_keys:t.primary_keys.map(n=>({...n})),views:t.views.map(n=>({...n})),triggers:(t.triggers??[]).map(n=>({...n})),check_constraints:t.check_constraints.map(n=>({...n})),unique_constraints:(t.unique_constraints??[]).map(n=>({...n})),comments:(t.comments??[]).map(n=>({...n})),custom_types:t.custom_types.map(n=>({...n}))};for(let n of e){let a=i.columns.findIndex(o=>o.table===r&&o.name===n.name);switch(n.subtype){case "AT_AlterColumnType":{if(a===-1)break;let o=this.extractTypeName(n);o&&(i.columns[a]={...i.columns[a],type:o.toLowerCase()});break}case "AT_SetNotNull":{if(a===-1)break;i.columns[a]={...i.columns[a],nullable:false};break}case "AT_DropNotNull":{if(a===-1)break;i.columns[a]={...i.columns[a],nullable:true};break}case "AT_ColumnDefault":{if(a===-1)break;if(n.def){let o=this.extractDefaultValue(n);i.columns[a]={...i.columns[a],default_value:o};}else i.columns[a]={...i.columns[a],default_value:null};break}case "AT_AddConstraint":case "AT_DropConstraint":{let o=i.tables.findIndex(l=>l.name===r);o!==-1&&(i.tables[o]={...i.tables[o],sql:i.tables[o].sql+" /* modified */"});break}}}return this.rebuildTableSql(i,r),i}rebuildTableSql(t,r){let e=t.tables.findIndex(p=>p.name===r);if(e===-1)return;let i=t.columns.filter(p=>p.table===r),n=t.foreign_keys.filter(p=>p.table===r),a=t.check_constraints.filter(p=>p.table===r),o=i.map(p=>{let f=`${B(p.name)} ${p.type||"TEXT"}`;return p.is_primary_key&&(f+=" PRIMARY KEY"),p.nullable||(f+=" NOT NULL"),p.default_value!=null&&(f+=` DEFAULT ${p.default_value}`),f}),l=n.map(p=>`FOREIGN KEY (${B(p.column)}) REFERENCES ${B(p.ref_table)}(${B(p.ref_column)}) ON UPDATE ${p.on_update} ON DELETE ${p.on_delete}`),u=a.map(p=>`CHECK (${p.expression})`),c=[...o,...l,...u];t.tables[e]={...t.tables[e],sql:`CREATE TABLE ${B(r)} (${c.join(", ")}) STRICT`};}extractTypeName(t){let r=t.def?.ColumnDef;return r?.typeName?.TypeName?(r.typeName.TypeName.names??[]).map(i=>i.String?.sval).filter(Boolean).pop()??null:null}extractDefaultValue(t){return t.def?"Integer"in t.def?String(t.def.Integer.ival):"Float"in t.def?t.def.Float.fval:"String"in t.def?`'${t.def.String.sval}'`:null:null}};});async function Lr(s,t={}){let r=await Qm(s);return {ast:r,...MC(r,t)}}function MC(s,t={}){let r=al(s),e=ul(s,r),i=ol(s),n=cl(s),a=pl(s),o=new Dn(s,{...t,enums:r}),{policies:l,tables:u}=ll(s);if(t.strict)for(let c of l){if(!e.get(`${c.data.schema??"public"}.${c.data.table}`))throw new Error(`Policy "${c.data.name}" references unknown table "${c.data.table}"`);if(!u.has(c.data.table))throw new Error(`RLS is not enabled on table "${c.data.table}"`)}return {ddl:o.deparseQuery(),enums:r,rls:{tables:u,policies:l},schema:e,vars:i,tableConstraints:n,comments:a}}var tu=y(()=>{Zm();og();Bo();hl();qo();});function kn(s){return !s||s==="main"||s==="public"?"public":s}function $r(s,t){return `${kn(s)}.${t}`}function qC(s,t){let r=new Map(s.map(o=>[$r(o.schema,o.name),o])),e=new Map,i=new Map;for(let o of r.keys())e.set(o,new Set),i.set(o,new Set);for(let o of t){let l=$r(o.schema,o.table),u=$r(o.ref_schema??o.schema,o.ref_table);!e.has(l)||!e.has(u)||(e.get(l).add(u),i.get(u).add(l));}let n=[...e.entries()].filter(([,o])=>o.size===0).map(([o])=>o),a=[];for(let o=0;o<n.length;o++){let l=n[o];a.push(l);for(let u of i.get(l)??[]){let c=e.get(u);c&&(c.delete(l),c.size===0&&n.push(u));}}if(a.length<s.length){console.warn("Warning: cycle detected in user table foreign keys; using best-effort data export order.");let o=new Set(a);for(let l of s){let u=$r(l.schema,l.name);o.has(u)||a.push(u);}}return a.map(o=>r.get(o)).filter(Boolean)}function ug(s,t){if(s==null)return "NULL";let r=(t??"").toLowerCase();if(Array.isArray(s)&&r.endsWith("[]")){let e=t?.slice(0,-2);return `ARRAY[${s.map(i=>ug(i,e)).join(", ")}]::${t}`}if(typeof s=="boolean")return s?"true":"false";if(typeof s=="number")return Number.isFinite(s)?String(s):"NULL";if(r.includes("bool")&&(s===0||s===1||s==="0"||s==="1"))return s===1||s==="1"?"true":"false";if(r.includes("json")){let e=typeof s=="string"?s:JSON.stringify(s),i=r.includes("jsonb")?"::jsonb":"::json";return `${Es(e)}${i}`}return s instanceof Date?Es(s.toISOString()):typeof s=="object"?`${Es(JSON.stringify(s))}::jsonb`:Es(String(s))}function Es(s){return `'${s.replace(/'/g,"''")}'`}function eu(s){return `"${s.replace(/"/g,'""')}"`}function GC(s){let t=s.default_value??s.default;if(typeof t=="string"&&t.trim().toLowerCase().startsWith("nextval("))return true;let r=typeof s.type=="string"?s.type.toLowerCase():"",e=typeof s.pg_type=="string"?s.pg_type.toLowerCase():"";return lg.has(r)||lg.has(e)}function WC(s,t,r){let e=`${eu(s)}.${eu(t)}`;return `SELECT setval(pg_get_serial_sequence(${Es(e)}, ${Es(r)}), COALESCE((SELECT MAX(${eu(r)}) FROM ${e}), 1));`}async function HC(s){let t=s.connection.config?.translation?.deparse?.schema;if(t instanceof Map&&t.size>0)return t;let r=await St(s);return r.trim()?(await Lr(r)).schema:new Map}async function xn(s){let t=await s.connection.introspect(),r=s.connection.dialect,e=await HC(s),i=qC(t.tables.filter(a=>!BC.has(kn(a.schema))),t.foreign_keys),n=[];for(let a of i){let o=kn(a.schema),l=r==="sqlite"?o==="public"?`"${a.name}"`:`"${o}.${a.name}"`:`"${o}"."${a.name}"`,c=t.columns.filter(b=>b.table===a.name&&kn(b.schema)===o).filter(b=>!b.generated&&!b.is_generated),p=[];try{p=(await s.connection.exec(`SELECT * FROM ${l}`))?.rows??[];}catch{continue}if(p.length===0)continue;let f=e.get($r(o,a.name)),d=typeof s.connection.deserializeRow=="function"?s.connection.deserializeRow.bind(s.connection):b=>b;p=p.map(b=>{let N=f?f.deserializeRow(b):b;return d(N)});let m=c.map(b=>b.name),g=new Map(c.map(b=>[b.name,b.pg_type??b.type])),T=[];for(let b of p){let N=m.map(R=>ug(b[R],g.get(R)));T.push(`INSERT INTO "${o}"."${a.name}" (${m.map(R=>`"${R}"`).join(", ")}) VALUES (${N.join(", ")}) ON CONFLICT DO NOTHING`);}let E=c.filter(GC).map(b=>WC(o,a.name,b.name));n.push({schema:o,table:a.name,inserts:T,sequenceResets:E});}return n}var BC,lg,su=y(()=>{tu();Vt();BC=new Set(["auth","storage","realtime","supabase_functions","graphql","graphql_public","extensions","pgsodium","pgsodium_masks","vault","information_schema","pg_catalog","pg_toast"]),lg=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]);});async function cg(s){let{PGlite:t}=await Qt("@supabase/lite/pglite","pglite","@electric-sql/pglite"),r=new t,e=[],i=0,n=0,a=0,o=0;try{for(let d of ["anon","authenticated","service_role","supabase_auth_admin"])await r.exec(`CREATE ROLE ${d}`);if(s.config.auth?.enabled!==!1){let d=Ge(Km());i=d.length;for(let m=0;m<d.length;m++)try{await r.exec(d[m]);}catch(g){return e.push({phase:"schema",label:`auth base schema ${m+1}/${d.length}`,statement:d[m],error:String(g)}),{ok:!1,baseSchemaStatements:i,schemaStatements:n,authInserts:a,dataInserts:o,failures:e}}}let l=await St(s),u=Ge(l);n=u.length;for(let d=0;d<u.length;d++)try{await r.exec(u[d]);}catch(m){return e.push({phase:"schema",label:`schema ${d+1}/${u.length}`,statement:u[d],error:String(m)}),{ok:!1,baseSchemaStatements:i,schemaStatements:n,authInserts:a,dataInserts:o,failures:e}}let c=await Rn(s,{target:"local"}),p=["users","sessions","identities","refresh_tokens"];for(let d of p){let m=c[d];for(let g=0;g<m.length;g++){a++;try{await r.exec(m[g]);}catch(T){e.push({phase:"auth",label:`auth.${d} row ${g+1}/${m.length}`,statement:m[g],error:String(T)});}}}let f=await xn(s);for(let d of f){for(let m=0;m<d.inserts.length;m++){o++;try{await r.exec(d.inserts[m]);}catch(g){e.push({phase:"data",label:`${d.schema}.${d.table} row ${m+1}/${d.inserts.length}`,statement:d.inserts[m],error:String(g)});}}for(let m=0;m<d.sequenceResets.length;m++)try{await r.exec(d.sequenceResets[m]);}catch(g){e.push({phase:"data",label:`${d.schema}.${d.table} sequence reset ${m+1}/${d.sequenceResets.length}`,statement:d.sequenceResets[m],error:String(g)});}}}finally{await r.close().catch(()=>{});}return {ok:e.length===0,baseSchemaStatements:i,schemaStatements:n,authInserts:a,dataInserts:o,failures:e}}var pg=y(()=>{Gs();Vt();zm();Cn();Kl();su();});function fg(s){if(console.log($.default.bold("Readiness Report")),console.log(` db reachable: ${s.dbReachable?$.default.green("yes"):$.default.red("no")} schema statements: ${$.default.cyan(s.schemaStatementCount)} schema bytes: ${$.default.cyan(s.schemaBytes)}`),console.log(` auth \u2014 users: ${$.default.cyan(s.auth.users)} sessions: ${$.default.cyan(s.auth.sessions)} identities: ${$.default.cyan(s.auth.identities)} refresh_tokens: ${$.default.cyan(s.auth.refresh_tokens)} jwt_secret: ${s.auth.jwt_secret_set?$.default.green("set"):$.default.yellow("unset")}`),s.tables.length>0){console.log($.default.dim(" tables:"));for(let t of s.tables){let r=t.issues.length>0?$.default.yellow(` (${t.issues.length} issues)`):"",e=t.schema?`${t.schema}.`:"";console.log(` ${e}${t.table}: ${$.default.cyan(t.rowCount)} rows${r}`);}}if(s.errors.length>0){console.log($.default.red("Errors:"));for(let t of s.errors)console.log(` ${$.default.red("\u2717")} ${t}`);}if(s.warnings.length>0){console.log($.default.yellow("Warnings:"));for(let t of s.warnings)console.log(` ${$.default.yellow("!")} ${t}`);}console.log(),console.log(s.ok?$.default.green("Ready to upgrade."):$.default.red("Not ready."));}function hg(s){if(console.log(),console.log($.default.bold("Rehearsal (in-memory pglite)")),console.log(` auth schema: ${$.default.cyan(s.baseSchemaStatements)} stmts user schema: ${$.default.cyan(s.schemaStatements)} stmts auth: ${$.default.cyan(s.authInserts)} inserts data: ${$.default.cyan(s.dataInserts)} inserts`),s.failures.length>0){console.log($.default.red(` ${s.failures.length} failure(s):`));for(let t of s.failures)console.log($.default.red(` \u2717 [${t.phase}] ${t.label}`)),console.log($.default.dim(` ${t.statement}`)),console.log($.default.dim(` ${t.error}`));}console.log(s.ok?$.default.green(" rehearsal passed"):$.default.red(" rehearsal failed"));}function mg(s){console.log(),console.log($.default.bold("SQLite Shim Audit")),console.log(` fields: ${$.default.cyan(s.summary.total)} passed: ${$.default.green(String(s.summary.passed))} warned: ${$.default.yellow(String(s.summary.warned))} failed: ${$.default.red(String(s.summary.failed))}`),s.results.length===0&&console.log($.default.dim(" no shim-backed fields found"));for(let t of s.results.filter(r=>r.status!=="pass")){let r=t.status==="fail"?$.default.red:$.default.yellow;if(console.log(` ${r(t.status)} ${t.field} (${t.pg_type}) rows: ${$.default.cyan(t.rows_checked)} affected: ${$.default.cyan(t.affected_rows??0)}`),t.message&&console.log(` ${t.message}`),t.samples?.length)for(let e of t.samples)console.log($.default.dim(` sample ${JSON.stringify(e.id)} raw=${JSON.stringify(e.raw_value)}`));t.action&&console.log($.default.dim(` action: ${t.action}`));}console.log(s.summary.upgrade_safe?$.default.green(" shim audit passed"):$.default.red(" shim audit failed"));}function ru(s){if(console.log(),console.log($.default.bold($.default.green("Upgrade complete."))),console.log(),console.log(` ${$.default.bold("Project URL:")} ${$.default.cyan(s.projectUrl)}`),console.log(` ${$.default.bold("API URL:")} ${$.default.cyan(s.apiUrl)}`),s.studioUrl&&console.log(` ${$.default.bold("Studio URL:")} ${$.default.cyan(s.studioUrl)}`),console.log(` ${$.default.bold("Ref:")} ${$.default.cyan(s.projectRef)}`),console.log(),console.log(` ${$.default.bold("anon key:")} ${s.anonKey}`),console.log(` ${$.default.bold("service_role key:")} ${s.serviceRoleKey}`),console.log(` ${$.default.bold("db password:")} ${s.dbPassword}`),console.log(),console.log(` migrated auth \u2014 users: ${$.default.cyan(s.auth.users)} sessions: ${$.default.cyan(s.auth.sessions)} identities: ${$.default.cyan(s.auth.identities)} refresh_tokens: ${$.default.cyan(s.auth.refresh_tokens)}`),console.log(` jwt secret: ${s.jwtMigrated?$.default.green("migrated"):$.default.yellow("not migrated \u2014 users must re-authenticate")}`),s.warnings.length>0){console.log(),console.log($.default.yellow("Warnings:"));for(let t of s.warnings)console.log(` ${$.default.yellow("!")} ${t}`);}console.log(),console.log($.default.bold("Update your supabase-js client:")),console.log(` url: ${$.default.cyan(s.apiUrl)}`),console.log(` anonKey: ${$.default.cyan(s.anonKey)}`),console.log();}var $,gg=y(()=>{$=Q(ot());});function Eg(s){let t=[],r=s??"",e=r.toLowerCase(),i=Buffer$1.byteLength(r,"utf8");if(!r)return t.push("auth.jwt_secret is empty"),{strong:false,reasons:t};VC.has(r)&&t.push(`matches Supalite development default "${r}"`),i<32&&t.push(`is ${i} bytes; use at least 32 bytes for production secrets`),[/[a-z]/.test(r),/[A-Z]/.test(r),/[0-9]/.test(r),/[^A-Za-z0-9]/.test(r)].filter(Boolean).length<3&&t.push("uses too little character variety"),/^(.)\1{7,}$/.test(r)?t.push("is one repeated character"):YC(r)&&t.push("contains an obvious repeated pattern");let a=JC.find(o=>e.includes(o));return a&&t.push(`contains placeholder term "${a}"`),{strong:t.length===0,reasons:t}}function Sg(s){return {kty:"oct",alg:"HS256",k:Buffer$1.from(s,"utf8").toString("base64url")}}function YC(s){if(s.length<8)return false;for(let t=2;t<=Math.floor(s.length/2);t++){if(s.length%t!==0)continue;if(s.slice(0,t).repeat(s.length/t)===s)return true}return false}var VC,JC,yg=y(()=>{VC=new Set(["unsafe-secret-change-me","dev-secret-change-me"]),JC=["change-me","changeme","secret","password","passwd","test","dev"];});function Tg(s){return !s||s==="main"?"public":s}function We(s){return `"${s.replace(/"/g,'""')}"`}function zC(s,t){return We(s==="public"?t:`${s}.${t}`)}function iu(s){return `${s.schema}.${s.table}.${s.column}`}function XC(s){let t=s.filter(i=>i.status==="pass").length,r=s.filter(i=>i.status==="warn").length,e=s.filter(i=>i.status==="fail").length;return {total:s.length,passed:t,warned:r,failed:e,upgrade_safe:e===0}}async function QC(s){let t=s.connection.config?.translation?.deparse?.schema;if(t instanceof Map&&t.size>0)return t;let r=await Wi(s),e=await St(s);if(r.trim()){let n=[await Om(r),e].filter(a=>a.trim().length>0).join(`
|
|
400
|
-
`);return
|
|
401
|
-
${t}`,{cause:i})}}async function Ss(s,t,r,e,i={}){if(r.length===0)return;e.onBatchStart?.(t,r.length);let n=await _g(s,r,{sizes:i.sizes??e.batchSizes,onProgress:(a,o)=>e.onBatchProgress?.(t,a,o)});if(n.length>0)throw e.onBatchFailure?.(t,n),new Error(`${t} had ${n.length} failures`);e.onBatchEnd?.(t,r.length,i.unit??"rows");}async function ou(s,t,r){let e=await St(s),i=Ge(e);r.onSchemaStart?.(i.length);for(let u=0;u<i.length;u++)r.onSchemaProgress?.(u+1,i.length),await i_(t,i[u],`schema ${u+1}/${i.length}`,r);r.onSchemaEnd?.(i.length);let n=await Rn(s,{target:r.authTarget??"supabase"}),a={users:n.users.length,sessions:r.migrateSessions?n.sessions.length:0,identities:n.identities.length,refresh_tokens:r.migrateSessions?n.refresh_tokens.length:0};await Ss(t,"Migrating auth.users",n.users,r),await Ss(t,"Migrating auth.identities",n.identities,r),r.migrateSessions?(await Ss(t,"Migrating auth.sessions",n.sessions,r),await Ss(t,"Migrating auth.refresh_tokens",n.refresh_tokens,r)):(n.sessions.length>0||n.refresh_tokens.length>0)&&r.onSkip?.(`Skipped ${n.sessions.length} sessions and ${n.refresh_tokens.length} refresh tokens (existing tokens will be invalidated).`);let o=await xn(s),l=o.filter(u=>u.inserts.length>0);l.length===0&&r.onSkip?.("No user data rows to migrate.");for(let u of l)await Ss(t,`Migrating ${u.schema}.${u.table}`,u.inserts,r);for(let u of l)await Ss(t,`Resetting ${u.schema}.${u.table} sequences`,u.sequenceResets,r,{sizes:[1],unit:"statements"});if(r.syncAuthConfig!==false&&t.updateAuthConfig){let u=bg(s.config);Object.keys(u).length>0&&(r.onAuthConfigStart?.(),await t.updateAuthConfig(u),r.onAuthConfigEnd?.());}return {schemaStatements:i.length,auth:a,dataTables:o}}var vg=y(()=>{Vt();Ag();Kl();su();Rg();Cn();});function kr(s){return s.toLowerCase().replace(/[^a-z0-9]/g,"")}function Og(s,t=new Map){if(!s||typeof s!="object")return t;for(let[r,e]of Object.entries(s))typeof e=="string"?t.set(kr(r),e):e&&typeof e=="object"&&Og(e,t);return t}function Pr(s,t,r){for(let e of t){let i=s.get(kr(e));if(i)return i}throw new Error(`Supabase status JSON is missing ${r}`)}function u_(s){let t=JSON.parse(s),r=Og(t);return {apiUrl:Pr(r,["API_URL","api_url","API URL","Project URL"],"API URL"),studioUrl:r.get(kr("Studio URL"))??r.get(kr("STUDIO_URL"))??r.get(kr("studio_url")),dbUrl:Pr(r,["DB_URL","db_url","DB URL"],"DB URL"),anonKey:Pr(r,["ANON_KEY","anon_key","anon key","Publishable"],"anon key"),serviceRoleKey:Pr(r,["SERVICE_ROLE_KEY","service_role_key","service role key","Secret"],"service role key"),jwtSecret:Pr(r,["JWT_SECRET","jwt_secret","JWT secret"],"JWT secret")}}function Ng(s){try{return decodeURIComponent(new URL(s).password)}catch{return ""}}function Ig(s=process.cwd()){return s}async function c_(){return await new Promise((s,t)=>{let r=n_.createServer();r.once("error",t),r.listen(0,"127.0.0.1",()=>{let e=r.address();r.close(()=>{typeof e=="object"&&e?s(e.port):t(new Error("Could not allocate a free local port"));});});})}async function p_(){let s=new Set,t=async()=>{for(;;){let r=await c_();if(!s.has(r))return s.add(r),r}};return {api:await t(),db:await t(),shadow:await t(),studio:await t(),inbucket:await t(),analytics:await t(),pooler:await t(),edgeInspector:await t()}}async function Dr(s,t={}){let r=process.env.LITE_SUPABASE_CLI?.split(/\s+/).filter(Boolean)??o_,{spawn:e}=await import('bun'),i=e([...r,...s],{cwd:t.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,SUPABASE_TELEMETRY_DISABLED:"1",DO_NOT_TRACK:"1"}}),n=setTimeout(()=>i.kill(),t.timeoutMs??12e4),[a,o,l]=await Promise.all([new Response(i.stdout).text(),new Response(i.stderr).text(),i.exited]).finally(()=>clearTimeout(n));if(l!==0)throw new Error([`supabase ${s.join(" ")} failed with exit code ${l}`,a,o].filter(Boolean).join(`
|
|
402
|
-
`));return {stdout:a,stderr:o}}function at(s,t,r,e){let i=new RegExp(`(\\[${t.replace(".","\\.")}\\][\\s\\S]*?)(?=\\n\\[|$)`),n=s.match(i);if(!n)return `${s.trimEnd()}
|
|
361
|
+
`;});function vd(e=true){return e?Hc(Ll):Ll}var $d=y(()=>{$r();xd();});function r0(e,t,r,n){if(e==null)return "NULL";if(n.includes(t))return e===true||e===1||e==="1"||e==="true"?"true":"false";if(r.includes(t)){let s=typeof e=="string"?e:JSON.stringify(e);return `${Td(s)}::jsonb`}return typeof e=="number"?Number.isFinite(e)?String(e):"NULL":typeof e=="boolean"?e?"true":"false":Td(String(e))}function Td(e){return `'${e.replace(/'/g,"''")}'`}async function wi(e,t={}){let r=t.target??"supabase",n={users:[],sessions:[],identities:[],refresh_tokens:[]},s=e.connection.dialect,i=t0[r];for(let o of Qx){let a=s==="sqlite"?`"auth.${o}"`:`auth."${o}"`,l=[];try{l=(await e.connection.exec(`SELECT * FROM ${a}`))?.rows??[];}catch{continue}if(l.length===0)continue;let c=new Set(i[o]),u=Zx[o],p=e0[o];for(let f of l){let h={...f};if(r==="supabase"&&o==="users"){let g=h.confirmed_at;g!=null&&h.email_confirmed_at==null&&(h.email_confirmed_at=g);}let d=Object.keys(h).filter(g=>!c.has(g)),m=d.map(g=>r0(h[g],g,u,p)),b=`INSERT INTO auth.${o} (${d.map(g=>`"${g}"`).join(", ")}) VALUES (${m.join(", ")}) ON CONFLICT DO NOTHING`;n[o].push(b);}}return n}var Xx,Qx,Zx,e0,t0,Dl=y(()=>{Xx=["users","sessions","identities","refresh_tokens"],Qx=Xx,Zx={users:["raw_app_meta_data","raw_user_meta_data"],sessions:[],identities:["identity_data"],refresh_tokens:[]},e0={users:["is_sso_user","is_anonymous"],sessions:[],identities:[],refresh_tokens:["revoked"]},t0={supabase:{users:["confirmed_at"],sessions:[],identities:["email"],refresh_tokens:["id"]},local:{users:["confirmed_at"],sessions:[],identities:["email"],refresh_tokens:[]}};});async function Ad(e){let{parse:t}=await import('pgsql-parser');return t(e)}var Cd=y(()=>{});var bi,Rd=y(()=>{ar();Ot();bi=class{constructor(t){this.ast=t;this.result=[...this.walk(this.ast,[],{trackPaths:["returningList"]})];}result=[];*walk(t=this.ast,r=[],n={}){if(!t||typeof t!="object")return;let{trackPaths:s=[]}=n;if(Array.isArray(t)){for(let o=0;o<t.length;o++)yield*this.walk(t[o],r,n);return}let i=Object.keys(t);if(i.length===1&&i[0][0]>="A"&&i[0][0]<="Z"){let o=i[0];yield {node:t,path:r},yield*this.walk(t[o],[...r,o],n);}else for(let[o,a]of Object.entries(t))if(a&&typeof a=="object"){let l=s.includes(o)?[...r,o]:r;yield*this.walk(a,l,n);}}containsUnsupportedNode(){for(let{node:t}of this.result){let r=or(t),n=Hs.get(r);if(n&&n.react==="error")return true}}hasFuncCall(){for(let{node:t}of this.result)if("FuncCall"in t)return true;return false}getFuncCalls(){return Array.from(this.result).map(({node:t})=>t).filter(t=>"FuncCall"in t).map(t=>t.FuncCall)}getFuncCallNames(){return this.getFuncCalls().flatMap(t=>t.funcname?.map(r=>r.String?.sval||r.String?.str))}hasSqlValueFunction(){for(let{node:t}of this.result)if("SQLValueFunction"in t)return true;return false}getSqlValueFunctions(){return Array.from(this.result).map(({node:t})=>t).filter(t=>"SQLValueFunction"in t).map(t=>t.SQLValueFunction)}getSqlValueFunctionNames(){return this.getSqlValueFunctions().map(t=>t.op)}hasUnsafeStar(){let t=this.result.filter(({node:r})=>"A_Star"in r);if(t.length===0)return false;for(let{path:r}of t)if(!r.includes("SelectStmt")&&!r.includes("returningList"))return true;return false}getRelationDefinitions(){return this.result.filter(({node:r})=>"CreateStmt"in r).map(({node:r})=>r.CreateStmt).map(r=>({relation:{relname:r.relation?.relname??"",inh:r.relation?.inh,relpersistence:r.relation?.relpersistence},columns:r.tableElts?.map(n=>{let s=n.ColumnDef?.typeName?.names?.map(o=>"String"in o?o.String.sval:""),i=s?.some(o=>o.toLowerCase().includes("pg_catalog"));return {name:n.ColumnDef?.colname??"",is_local:n.ColumnDef?.is_local,pg_catalog:i,type:s?.filter(o=>!o.toLowerCase().includes("pg_catalog"))[0]??"",types:s,constraints:n.ColumnDef?.constraints}})}))}getRelationColumnTypes(){return {has_non_pg_catalog_types:this.getRelationDefinitions().some(t=>t.columns?.some(r=>!r.pg_catalog)),types:Array.from(new Set(this.getRelationDefinitions().flatMap(t=>t.columns?.map(r=>r.type))))}}};});var n0,s0,i0,o0,ur,Si,Pd=y(()=>{ar();n0=["DECLARE","IF","ELSIF","ELSE","LOOP","WHILE","FOR","FOREACH","EXCEPTION","RAISE","PERFORM","EXECUTE","SELECT"],s0=/^NEW\.(\w+)\s*(?::=|=)\s*(.+)$/is,i0=/^RETURN\s+(NEW|OLD)$/i,o0=/^(INSERT|UPDATE|DELETE)\b/i,ur=class extends It{constructor(r,n,s){super(s??`Unsupported PL/pgSQL: ${r}`);this.hint=r;this.body=n;}},Si=class{parse(t){let r=this.extractBlock(t),n=this.splitStatements(r),s=[],i=null;for(let o of n){let a=o.trim();if(!a)continue;this.rejectUnsupported(a);let l=a.match(i0);if(l){i=l[1].toUpperCase(),s.push({type:"return",value:i});continue}let c=a.match(s0);if(c){s.push({type:"assignment",column:c[1],expression:c[2].trim()});continue}if(o0.test(a)){s.push({type:"dml",sql:a});continue}throw new ur(`"${a.substring(0,80)}" is not translatable to SQLite`,r)}if(!i)throw new It("Trigger function body must end with RETURN NEW or RETURN OLD");return {statements:s,returnValue:i}}extractBlock(t){let r=t.trim(),n=r.toUpperCase();if(/^\s*DECLARE\b/i.test(r))throw new ur('"DECLARE" is not translatable to SQLite',t);let s=n.indexOf("BEGIN"),i=n.lastIndexOf("END");if(s===-1||i===-1||i<=s)throw new ur("Expected BEGIN ... END block in trigger function body",t);return r.slice(s+5,i).trim()}splitStatements(t){let r=[],n="",s=0,i=false,o="";for(let l=0;l<t.length;l++){let c=t[l];if(i){n+=c,c===o&&(l+1<t.length&&t[l+1]===o?n+=t[++l]:i=false);continue}if(c==="'"||c==='"'){i=true,o=c,n+=c;continue}if(c==="("){s++,n+=c;continue}if(c===")"){s--,n+=c;continue}if(c===";"&&s===0){r.push(n.trim()),n="";continue}n+=c;}let a=n.trim();return a&&r.push(a),r}rejectUnsupported(t){let r=t.match(/^(\w+)/)?.[1]?.toUpperCase();if(r&&n0.includes(r))throw new ur(`"${r}" is not translatable to SQLite`,t)}};});var Ei,_i=y(()=>{Ei=class extends Error{constructor(r){super(`Migration would cause data loss:
|
|
362
|
+
${r.map(n=>` - ${n.table}: ${n.reason}`).join(`
|
|
363
|
+
`)}`);this.warnings=r;this.name="DataLossError";}};});var xi,kd=y(()=>{$r();xi=class{makeIndexKey(t){return `${t.table}:${t.name}:${t.unique}:${t.columns.join(",")}`}makeForeignKeyKey(t){return `${t.table}:${t.column}:${t.ref_table}:${t.ref_column}`}diff(t,r){let n=[],s=[],i=[],o=[],a=new Set(t.tables.map(m=>m.name)),l=new Set(r.tables.map(m=>m.name));for(let m of r.tables)a.has(m.name)||n.push({type:"added",name:m.name,sql:m.sql});for(let m of t.tables)l.has(m.name)||n.push({type:"removed",name:m.name});for(let m of t.tables){let b=r.tables.find(A=>A.name===m.name);if(!b)continue;let g=no(m.sql),S=no(b.sql);g!==S&&n.push({type:"modified",name:m.name,sql:b.sql});}let c=t.tables.filter(m=>l.has(m.name));for(let m of c){let b=t.columns.filter(v=>v.table===m.name),g=r.columns.filter(v=>v.table===m.name),S=new Map(b.map(v=>[v.name,v])),A=new Map(g.map(v=>[v.name,v]));for(let[v,k]of A)S.has(v)||s.push({type:"added",table:m.name,name:v,column:k});for(let[v]of S)A.has(v)||s.push({type:"removed",table:m.name,name:v});for(let[v,k]of S){let N=A.get(v);if(!N)continue;let $={};ro(k.type)!==ro(N.type)&&($.type={from:k.type,to:N.type}),k.nullable!==N.nullable&&($.nullable={from:k.nullable,to:N.nullable}),so(k.default_value)!==so(N.default_value)&&($.default_value={from:k.default_value,to:N.default_value}),Object.keys($).length>0&&s.push({type:"modified",table:m.name,name:v,changes:$});}}let u=new Map(t.indexes.map(m=>[this.makeIndexKey(m),m])),p=new Map(r.indexes.map(m=>[this.makeIndexKey(m),m]));for(let[m,b]of p)u.has(m)||i.push({type:"added",...b});for(let[m,b]of u)p.has(m)||i.push({type:"removed",...b});let f=new Map(t.foreign_keys.map(m=>[this.makeForeignKeyKey(m),m])),h=new Map(r.foreign_keys.map(m=>[this.makeForeignKeyKey(m),m]));for(let[m,b]of h)f.has(m)||o.push({type:"added",...b});for(let[m,b]of f)h.has(m)||o.push({type:"removed",...b});let d=n.length>0||s.length>0||i.length>0||o.length>0;return {tables:n,columns:s,indexes:i,foreign_keys:o,has_changes:d}}};});var l0,vi,Nd=y(()=>{_i();Cr();l0=["CURRENT_TIMESTAMP","CURRENT_TIME","CURRENT_DATE"],vi=class{plan(t,r,n,s){if(!t.has_changes)return {steps:[],warnings:[],unsafe:false};let i=[],o=[];i.push({sql:"PRAGMA foreign_keys=OFF;",description:"Disable foreign key checks",type:"disable_foreign_keys"}),i.push({sql:"BEGIN;",description:"Begin transaction",type:"begin_transaction"});for(let p of t.tables.filter(f=>f.type==="added")){i.push({sql:`${p.sql};`,description:`CREATE TABLE ${M(p.name)}`,type:"create_table"});let f=n.indexes.filter(h=>h.table===p.name);for(let h of f){let d=h.unique?"UNIQUE ":"",m=h.columns.map(b=>M(b)).join(", ");i.push({sql:`CREATE ${d}INDEX ${M(h.name)} ON ${M(p.name)} (${m});`,description:`Create index ${M(h.name)} on ${M(p.name)}`,type:"add_index"});}}let a=new Set(r.tables.map(p=>p.name)),l=new Set(n.tables.map(p=>p.name)),c=new Set(t.tables.filter(p=>p.type==="modified").map(p=>p.name)),u=[...a].filter(p=>l.has(p));for(let p of u){if(!(c.has(p)||t.columns.some(m=>m.table===p)||t.indexes.some(m=>m.table===p)||t.foreign_keys.some(m=>m.table===p)))continue;let{canAlter:h,addedCols:d}=this.canSimpleAlter(p,t,n);if(h){for(let g of d)i.push({sql:`ALTER TABLE ${M(p)} ADD COLUMN ${this.columnDef(g)};`,description:`Add column ${M(g.name)} to ${M(p)}`,type:"add_column"});let m=t.indexes.filter(g=>g.table===p&&g.type==="added"),b=t.indexes.filter(g=>g.table===p&&g.type==="removed");for(let g of b)i.push({sql:`DROP INDEX IF EXISTS ${M(g.name)};`,description:`Drop index ${M(g.name)}`,type:"drop_index"});for(let g of m){let S=g.unique?"UNIQUE ":"",A=g.columns.map(v=>M(v)).join(", ");i.push({sql:`CREATE ${S}INDEX ${M(g.name)} ON ${M(p)} (${A});`,description:`Create index ${M(g.name)} on ${M(p)}`,type:"add_index"});}}else {let m=this.rebuildTable(p,r,n,t);i.push(...m.steps),o.push(...m.warnings);}}for(let p of t.tables.filter(f=>f.type==="removed"))i.push({sql:`DROP TABLE ${M(p.name)};`,description:`Drop table ${M(p.name)}`,type:"drop_table"}),o.push({table:p.name,reason:"table will be dropped"});return i.push({sql:"COMMIT;",description:"Commit transaction",type:"commit_transaction"}),i.push({sql:"PRAGMA foreign_keys=ON;",description:"Re-enable foreign key checks",type:"enable_foreign_keys"}),{steps:i,warnings:o,unsafe:o.length>0}}rebuildTable(t,r,n,s){let i=[],o=[],a=n.tables.find(g=>g.name===t);if(!a)return {steps:i,warnings:o};let l=`_${t}_migrate_new`,c=a.sql.replace(new RegExp(`(CREATE\\s+TABLE\\s+)(?:"${t}"|${t})`,"i"),`$1${M(l)}`);i.push({sql:`${c};`,description:`Create temporary table ${M(l)}`,type:"create_table"});let u=r.columns.filter(g=>g.table===t).map(g=>g.name),p=n.columns.filter(g=>g.table===t).map(g=>g.name),f=u.filter(g=>p.includes(g));if(f.length>0){let g=f.map(S=>M(S)).join(", ");i.push({sql:`INSERT INTO ${M(l)} (${g})
|
|
364
|
+
SELECT ${g}
|
|
365
|
+
FROM ${M(t)};`,description:`Copy data from ${M(t)} to ${M(l)}`,type:"copy_data"});}i.push({sql:`DROP TABLE ${M(t)};`,description:`Drop old table ${M(t)}`,type:"drop_table"}),i.push({sql:`ALTER TABLE ${M(l)} RENAME TO ${M(t)};`,description:`Rename ${M(l)} to ${M(t)}`,type:"rename_table"});let h=n.indexes.filter(g=>g.table===t);for(let g of h){let S=g.unique?"UNIQUE ":"",A=g.columns.map(v=>M(v)).join(", ");i.push({sql:`CREATE ${S}INDEX ${M(g.name)} ON ${M(t)} (${A});`,description:`Recreate index ${M(g.name)} on ${M(t)}`,type:"add_index"});}let d=n.triggers?.filter(g=>g.table===t)??[];for(let g of d)i.push({sql:`${g.sql};`,description:`Recreate trigger ${M(g.name)} on ${M(t)}`,type:"create_trigger"});let m=s.columns.filter(g=>g.table===t&&g.type==="removed");for(let g of m)o.push({table:t,reason:`column "${g.name}" will be dropped`});let b=s.columns.filter(g=>g.table===t&&g.type==="modified");for(let g of b)g.changes?.type&&o.push({table:t,reason:`column "${g.name}" type changes from ${g.changes.type.from} to ${g.changes.type.to}`}),g.changes?.nullable&&!g.changes.nullable.to&&o.push({table:t,reason:`column "${g.name}" becomes NOT NULL`});return {steps:i,warnings:o}}canSimpleAlter(t,r,n){let s=r.columns.filter(p=>p.table===t),i=s.filter(p=>p.type==="added"),o=s.filter(p=>p.type==="removed"),a=s.filter(p=>p.type==="modified"),l=r.foreign_keys.some(p=>p.table===t);if(o.length>0||a.length>0||l)return {canAlter:false,addedCols:i};let c=n.tables.find(p=>p.name===t);return c&&/\bCHECK\s*\(/i.test(c.sql)?{canAlter:false,addedCols:i}:{canAlter:i.every(p=>{let f=p.column;return this.hasNonConstantDefault(f.default_value)?false:f.nullable||f.default_value!=null})&&i.length>0,addedCols:i}}hasNonConstantDefault(t){if(t==null)return false;let r=t.trim().toUpperCase();return l0.includes(r)}columnDef(t){let r=t.column,n=`${M(r.name)} ${r.type||"TEXT"}`;return r.nullable||(n+=" NOT NULL"),r.default_value!=null&&(n+=` DEFAULT ${r.default_value}`),n}};});var $i,Od=y(()=>{ar();Ot();Ot();Rd();pt();Pd();_i();kd();Nd();Cr();Ha();za();$i=class extends Deparser{enums;schemaHandling;warnings=[];helper;config;triggerFunctions=new Map;plpgsqlParser=new Si;introspection;functionResolution;constructor(t,{enums:r,schemaHandling:n,introspection:s,...i}={}){super(t,i),this.schemaHandling=n??"default",this.enums=r??new Map,this.helper=new bi(t),this.config=i,this.introspection=s,this.functionResolution=i?.functionResolution??"translate";}visit(t,r){let n=or(t),s=Hs.get(n);if(s){if(s.react==="error")throw new B({[n]:t},`Unsupported node type: ${n}`);return s.react==="warn"&&this.warnings.push({type:n,node:t}),""}return super.visit(t,r)}deparse(t,r){if(t==null)return null;if(!r){let n=new SqlFormatter;r=new DeparserContext({formatter:n});}return typeof t=="number"||t instanceof Number?t.toString():this.visit(t,r)}RawStmt(t,r){if(!t.stmt||t.stmt.CommentStmt)return "";let n=this.deparse(t.stmt,r);return !n||n.length===0?"":t.stmt_len?n+";":n}RangeVar(t,r){this.ensureRelation(t);let n=this.effectiveSchema(t.schemaname),s=t.relname,i=this.quoteBareIfNeeded(s);n&&(this.schemaHandling==="prefix"?i=`${n}__${s}`:i=`"${n}.${s}"`);let o=t.alias?" "+this.Alias(t.alias,r):"";return i+o}getRelationName(t){this.ensureRelation(t);let r=this.effectiveSchema(t.schemaname),n=t.relname;return r?this.schemaHandling==="prefix"?`${r}__${n}`:`${r}.${n}`:n}quoteBareIfNeeded(t){return /^[A-Za-z_][A-Za-z0-9_]*$/.test(t)?t:`"${t.replace(/"/g,'""')}"`}effectiveSchema(t){if(t){if(this.config.forceDefaultSchema||this.schemaHandling!=="default")return t;if(t!=="public")return t}}ensureRelation(t){let r=this.config.forceDefaultSchema;r&&(!t||typeof t!="object"||r.length===0||t.schemaname||(t.schemaname=r));}CreateStmt(t,r){if(t.inhRelations&&t.inhRelations.length>0)throw new B({CreateStmt:t},"Inheritance is not supported in SQLite");if(t.ofTypename!==void 0)throw new B({CreateStmt:t},"Typed tables (CREATE TABLE ... OF type_name) are not supported. Define columns directly in the CREATE TABLE statement instead.");if(t.options&&t.options.length>0&&(t.options=void 0),!t.tableElts||t.tableElts.length===0)throw new B({CreateStmt:t},"Empty tables are not supported in SQLite. Define at least one column.");return t.accessMethod&&(t.accessMethod=void 0),super.CreateStmt(t,r)+" STRICT"}TableLikeClause(t,r){throw new B({TableLikeClause:t},"CREATE TABLE ... (LIKE ...) is not supported in SQLite. Define the table columns explicitly instead.")}DefElem(t,r){if(["oids","fillfactor",/^autovacuum_/i,"toast_tuple_target","parallel_workers","user_catalog_table"].some(i=>cu(t.defname??"",i)))return "";let s=super.DefElem(t,r);throw new B({DefElem:t},`DefElem "${t.defname}" (${s}) not supported`)}TypeName(t,r){if(!t.names)return "";let n=t.names.map(i=>i.String?i.String.sval||i.String.str:"").filter(Boolean);if(n.length===0)return "";let s=n.length===2&&n[0]==="pg_catalog"?n[1]:n.join(".");return t.arrayBounds&&t.arrayBounds.length>0||this.enums.has(s.toLowerCase())?"TEXT":cm(s)}ColumnDef(t,r){let n=[],s=t.colname;s&&n.push(this.quoteIfNeeded(s));let i=false,o=false,a=null,l=null,c=null,u=false;if(t.typeName){let p=t.typeName.names?.map(d=>d.String?.sval||d.String?.str).filter(Boolean);c=p&&(p.length===2&&p[0]==="pg_catalog"?p[1]:p[0]),i=!!(c&&Us(c)),u=!!(t.typeName.arrayBounds&&t.typeName.arrayBounds.length>0);let f=Array.isArray(t.typeName.typmods)?t.typeName.typmods:[],h=d=>f[d]?.A_Const?.ival?.ival??f[d]?.A_Const?.val?.ival?.ival;if(c&&Bs(c)&&f.length>0){let d=h(0);typeof d=="number"&&d>0&&(a={maxLen:d});}if(c&&qs(c)&&f.length>=2){let d=h(0),m=h(1);typeof d=="number"&&typeof m=="number"&&d>0&&m>=0&&(l={precision:d,scale:m});}if(t.constraints){let d=Array.isArray(t.constraints)?t.constraints:[];o=d.some(m=>m.Constraint?.contype==="CONSTR_PRIMARY"),d.some(m=>m.Constraint?.contype==="CONSTR_IDENTITY")&&(i=true);}n.push(this.TypeName(t.typeName,r));}if(t.constraints){let p=Array.isArray(t.constraints)?t.constraints:[],f=p.map(d=>this.visit(d,r));n.push(...f.filter(Boolean));let h=p.some(d=>d.Constraint?.contype==="CONSTR_CHECK");i&&o&&!h&&n.push("AUTOINCREMENT");}if(s&&c){let p={isArray:u};a&&(p.lengthConstraint=a.maxLen),l&&(p.numericPrecision=l);let f=this.enums.get(c.toLowerCase());f&&(p.enumValues=f);let m=jt({schema:"public",table:"",column:s,pgTypeName:c,nullable:true,defaultValue:null,defaultFn:null,isPrimaryKey:o,isUnique:false,isSerial:i},p).checkConstraint();m&&n.push(`CHECK (${m})`);}return n.join(" ")}Constraint(t,r){let n=t.contype;if(n==="CONSTR_IDENTITY"||n==="CONSTR_ATTR_DEFERRABLE"||n==="CONSTR_ATTR_NOT_DEFERRABLE"||n==="CONSTR_ATTR_DEFERRED"||n==="CONSTR_ATTR_IMMEDIATE")return "";if(n==="CONSTR_NULL")return "NULL";if(n==="CONSTR_NOTNULL")return "NOT NULL";if(n==="CONSTR_DEFAULT"&&t.raw_expr){let s=this.visit(t.raw_expr,r);return s.includes("(")&&!s.startsWith("(")?`DEFAULT (${s})`:`DEFAULT ${s}`}if(n==="CONSTR_CHECK"&&t.raw_expr){let s=[];t.conname&&s.push("CONSTRAINT",Ms(t.conname)),s.push("CHECK");let i=this.visit(t.raw_expr,r);return s.push(`(${i})`),s.join(" ")}if(n==="CONSTR_PRIMARY")return t.keys&&t.keys.length>0?`PRIMARY KEY (${Nt(t.keys).map(i=>this.visit(i,r)).join(", ")})`:"PRIMARY KEY";if(n==="CONSTR_UNIQUE")return t.keys&&t.keys.length>0?`UNIQUE (${Nt(t.keys).map(i=>this.visit(i,r)).join(", ")})`:"UNIQUE";if(n==="CONSTR_FOREIGN")return super.Constraint(t,r).replace(/FOREIGN\s+KEY\s+REFERENCES/gi,"REFERENCES");if(n==="CONSTR_GENERATED"&&t.raw_expr)return `GENERATED ALWAYS AS (${this.visit(t.raw_expr,r)}) STORED`;if(n==="CONSTR_EXCLUSION")throw new B({Constraint:t},"EXCLUSION constraints are not supported in SQLite");return ""}FuncCall(t,r){let s=(t.funcname||[]).map(c=>c.String?.sval||c.String?.str).filter(Boolean);if(s.length===0)throw new Error("Function call has no name");let i=s[s.length-1].toLowerCase();if(i==="extract"&&t.args&&t.args.length>=2){let c=t.args[0];if((c?.A_Const?.sval?.sval||c?.String?.sval)==="epoch")return `strftime('%s', ${this.visit(t.args[1],r)})`}let a=(t.args??[]).map(c=>this.visit(c,r));if(t.agg_star)return `${i}(*)`;if(t.agg_distinct)return `${i}(DISTINCT ${a.join(", ")})`;let l=Wa(i,this.functionResolution);if(l){if(l.sqliteExpr!==null){let c=l.sqliteExpr;return c.includes("(")?c:`${c}(${a.join(", ")})`}if(l.jsFn!==null){let c=Vs[i];if(c?.sqlite){let u=c.sqlite();return u.includes("(")?u:`${u}(${a.join(", ")})`}}}throw new B({FuncCall:t},`Function call "${i}" not supported`)}SQLValueFunction(t,r){switch(t.op){case "SVFOP_CURRENT_TIMESTAMP":return "datetime('now')";case "SVFOP_CURRENT_DATE":return "date('now')";case "SVFOP_CURRENT_TIME":return "time('now')";default:throw new B({SQLValueFunction:t},`SQLValueFunction "${t.op}" not supported`)}}ResTarget(t,r){if(t.indirection&&t.indirection.length>0)throw new B({ResTarget:t},"Indirections are not supported in SQLite");let n=[];return r.update&&t.name?(n.push(this.quoteIfNeeded(t.name)),n.push("="),t.val&&n.push(this.deparse(t.val,r))):r.insertColumns&&t.name?n.push(this.quoteIfNeeded(t.name)):(t.val&&n.push(this.deparse(t.val,r)),t.name&&n.push(this.Alias({aliasname:t.name},r))),n.join(" ")}A_Expr(t,r){if(["AEXPR_OP_ALL","AEXPR_OP_ANY"].includes(t.kind))throw new B({A_Expr:t},"ALL/ANY/SOME comparison operators are not supported. Use NOT EXISTS or IN instead");if(t.name&&t.name.length>0){if(t.name.length>1)throw new B({A_Expr:t},"Schema-qualified OPERATOR() syntax is not supported in SQLite");let n=t.name[0]?.String?.sval||t.name[0]?.String?.str;if(n){if(!t.lexpr||!t.rexpr)throw new B({A_Expr:t},"A_Expr missing left or right expression");if(!lm.includes(n.toUpperCase()))throw new B({A_Expr:t},`Operator "${n}" is not supported in SQLite`);if(n==="~~"||n==="~~*"){let s=this.visit(t.lexpr,r),i=this.visit(t.rexpr,r);return `${s} LIKE ${i}`}if(n==="!~~"||n==="!~~*"){let s=this.visit(t.lexpr,r),i=this.visit(t.rexpr,r);return `${s} NOT LIKE ${i}`}if(n==="~"||n==="~*"){let s=this.visit(t.lexpr,r),i=this.visit(t.rexpr,r);return `${s} GLOB ${i}`}}}return super.A_Expr(t,r)}IndexStmt(t,r){let n=["CREATE"];t.unique&&n.push("UNIQUE"),n.push("INDEX"),t.if_not_exists&&n.push("IF NOT EXISTS"),t.idxname&&n.push(Ms(t.idxname)),n.push("ON"),t.relation&&n.push(this.RangeVar(t.relation,r));let s=(t.indexParams??[]).map(i=>"IndexElem"in i?this.IndexElem(i.IndexElem,r):this.visit(i,r)).filter(Boolean);return n.push(`(${s.join(", ")})`),n.join(" ")}IndexElem(t,r){let n=[];return t.name?n.push(Ms(t.name)):t.expr&&n.push(`(${this.visit(t.expr,r)})`),t.ordering==="SORTBY_ASC"&&n.push("ASC"),t.ordering==="SORTBY_DESC"&&n.push("DESC"),t.nulls_ordering==="SORTBY_NULLS_FIRST"&&n.push("NULLS FIRST"),t.nulls_ordering==="SORTBY_NULLS_LAST"&&n.push("NULLS LAST"),n.join(" ")}TypeCast(t,r){if(!t.arg||!t.typeName)return super.TypeCast(t,r);if([...this.helper.walk(t)].filter(({node:o})=>"A_Star"in o).length>0)throw new B({TypeCast:t},"A.* in type casts are not supported in SQLite");if(t.typeName.arrayBounds&&t.typeName.arrayBounds.length>0){if("A_Const"in t.arg&&t.arg.A_Const.sval){let o=t.arg.A_Const.sval.sval;if(o.startsWith("{")&&o.endsWith("}")){let a=t.typeName.names?.map(p=>p.String?.sval).filter(Boolean)??[],l=a.length===2&&a[0]==="pg_catalog"?a[1]:a[0],u=["text","varchar","character varying","char","bpchar","name","uuid"].includes(l?.toLowerCase());try{let p=this.parsePgArrayLiteral(o,u);return `'${JSON.stringify(p).replace(/'/g,"''")}'`}catch{}}}return this.visit(t.arg,r)}let s=this.visit(t.arg,r),i=this.TypeName(t.typeName,r);return `CAST(${s} AS ${i})`}A_ArrayExpr(t,r){let n=Nt(t.elements),s=this.tryExtractStaticArray(n);return s!==void 0?`'${JSON.stringify(s).replace(/'/g,"''")}'`:`json_array(${n.map(o=>this.visit(o,r)).join(", ")})`}tryExtractStaticArray(t){let r=[];for(let n of t)if("A_ArrayExpr"in n){let s=Nt(n.A_ArrayExpr.elements),i=this.tryExtractStaticArray(s);if(i===void 0)return;r.push(i);}else if("A_Const"in n){let s=n.A_Const;if(s.isnull)r.push(null);else if(s.ival)r.push(s.ival.ival);else if(s.fval)r.push(parseFloat(s.fval.fval));else if(s.sval)r.push(s.sval.sval);else if("boolval"in s)r.push(s.boolval.boolval===true);else return}else return;return r}parsePgArrayLiteral(t,r){if(!t.startsWith("{")||!t.endsWith("}"))throw new Error("Not a PG array literal");let n=t.slice(1,-1);if(n.length===0)return [];let s=[],i=0;for(;i<n.length;)if(n[i]==="{"){let o=0,a=i;for(;a<n.length;){if(n[a]==="{")o++;else if(n[a]==="}"&&(o--,o===0))break;a++;}s.push(this.parsePgArrayLiteral(n.slice(i,a+1),r)),i=a+1,n[i]===","&&i++;}else if(n[i]==='"'){let o=i+1,a="";for(;o<n.length&&n[o]!=='"';)n[o]==="\\"&&o++,a+=n[o],o++;s.push(a),i=o+1,n[i]===","&&i++;}else {let o=i;for(;o<n.length&&n[o]!==","&&n[o]!=="}";)o++;if(o===i)throw new Error("Malformed PG array literal");let a=n.slice(i,o);if(a==="NULL")s.push(null);else if(r)s.push(a);else {let l=Number(a);s.push(isNaN(l)?a:l);}i=o,n[i]===","&&i++;}return s}BetweenExpr(t,r){return super.A_Expr(t,r)}AlterTableStmt(t,r){let n=t.cmds??[],s=["AT_EnableRowSecurity","AT_ForceRowSecurity"],i=n.filter(u=>"AlterTableCmd"in u&&!s.includes(u.AlterTableCmd.subtype));if(i.length===0)return "";if(!["OBJECT_TABLE","OBJECT_INDEX","OBJECT_VIEW"].includes(t.objtype))throw new B({AlterTableStmt:t},`AlterTableStmt with objtype ${t.objtype} is not supported`);let o=["AT_AddColumn","AT_DropColumn"],a=["AT_AlterColumnType","AT_SetNotNull","AT_DropNotNull","AT_ColumnDefault","AT_AddConstraint","AT_DropConstraint"],l=[],c=[];for(let u of i){let p=u.AlterTableCmd.subtype;if(o.includes(p)){let f={...t,cmds:[u]};l.push(super.AlterTableStmt(f,r));}else if(a.includes(p))c.push(u.AlterTableCmd);else throw new B({AlterTableStmt:t},`AlterTableCmd with subtype ${p} is not supported in SQLite`)}if(c.length>0){let u=this.getRelationName(t.relation);l.push(this.generateRebuildSql(u,c));}return l.join(`;
|
|
366
|
+
`)}AlterTableCmd(t,r){if(!["AT_AddColumn","AT_DropColumn"].includes(t.subtype))throw new B({AlterTableCmd:t},`AlterTableCmd with subtype ${t.subtype} is not supported`);return t.subtype==="AT_DropColumn"&&t.behavior?super.AlterTableCmd({...t,behavior:void 0},r):super.AlterTableCmd(t,r)}DefineStmt(t,r){if(t.kind==="OBJECT_AGGREGATE")throw new Error("AGGREGATE definitions are not supported in SQLite");return super.DefineStmt(t,r)}InsertStmt(t,r){if("selectStmt"in t){let s=(t.selectStmt?.SelectStmt?.valuesLists??[]).map(i=>i.List?.items?.map(o=>"SetToDefault"in o));if(s.length===1&&s[0]?.every(i=>i===true))return super.InsertStmt({...t,selectStmt:void 0,cols:void 0},r);if(s.some(i=>i.some(o=>o===true)))throw new B({InsertStmt:t},"Insert with partial DEFAULT values is not supported")}return super.InsertStmt(t,r)}SelectStmt(t,r){if(this.helper.hasUnsafeStar())throw new B({SelectStmt:t},"Row-wise comparison using .* is not supported in SQLite. Expand to explicit per-column comparisons instead.");if(t.intoClause)throw new B({SelectStmt:t},"SELECT ... INTO clause is not supported in SQLite");if(t.distinctClause){let s=Nt(t.distinctClause);if(s.length>0&&Object.keys(s[0]).length>0)throw new B({SelectStmt:t},"DISTINCT ON clause is not supported in SQLite. Use window functions instead.")}if(t.limitOffset&&!t.limitCount)throw new B({SelectStmt:t},"OFFSET without LIMIT is not supported in SQLite");let n=super.SelectStmt(t,r);if(/^SELECT\s+FROM/.test(n))throw new B({SelectStmt:t},"SELECT without a target list is not supported in SQLite");return n}JoinExpr(t,r){return t.alias&&this.Alias(t.alias,r),super.JoinExpr(t,r)}A_Const(t,r){if(t.bsval!==void 0)throw new B({A_Const:t},"Bit string literals are not supported in SQLite");let n=super.A_Const(t,r);return typeof n=="string"&&n.startsWith("E'")?n.substring(2,n.length-1):n}SortBy(t,r){if(t.sortby_dir==="SORTBY_USING"){let n=Nt(t.useOp),s=n[0]?.String?.sval;if(n.length>1||!["<",">"].includes(s??""))throw new B({SortBy:t},"Only `USING <` or `USING >` are supported.");t.sortby_dir=s==="<"?"SORTBY_DESC":"SORTBY_ASC",t.useOp=void 0;}return super.SortBy(t,r)}RangeSubselect(t,r){if(t.lateral)throw new B({RangeSubselect:t},"LATERAL subqueries are not supported in SQLite");return super.RangeSubselect(t,r)}SubLink(t,r){if(["ANY_SUBLINK","ALL_SUBLINK"].includes(t.subLinkType))throw new B({SubLink:t},"ANY/ALL/SOME subqueries are not supported. Use NOT EXISTS or IN instead");if(t.subLinkType==="ARRAY_SUBLINK")throw new B({SubLink:t},"ARRAY subqueries are not supported in SQLite");return super.SubLink(t,r)}LockingClause(t,r){return ""}UpdateStmt(t,r){if(r.parentNodeTypes.includes("SelectStmt"))throw new B({UpdateStmt:t},"UPDATE ... FROM (SELECT ...) is not supported in SQLite");return super.UpdateStmt(t,r)}Alias(t,r){if(t.colnames&&t.colnames.length>0)throw new B({Alias:t},"Aliasing with column names is not supported in SQLite");return `AS "${t.aliasname}"`}CreateFunctionStmt(t,r){let n=t.options??[],s=t.returnType?.names?.map(c=>c.String?.sval).filter(Boolean).join("."),i=n.find(c=>c.DefElem?.defname==="language")?.DefElem?.arg?.String?.sval;if(s!=="trigger"||i!=="plpgsql")throw new B({CreateFunctionStmt:t},"Only trigger functions with LANGUAGE plpgsql are supported");let o=t.funcname?.map(c=>c.String?.sval).filter(Boolean).pop();if(!o)throw new Error("Function has no name");let a=n.find(c=>c.DefElem?.defname==="as")?.DefElem?.arg?.List?.items?.[0]?.String?.sval;if(!a)throw new Error("Function has no body");let l=this.plpgsqlParser.parse(a);return this.triggerFunctions.set(o,l),""}CreateTrigStmt(t,r){let n=t.trigname,s=this.RangeVar(t.relation,r),i=t.funcname?.map(p=>p.String?.sval).filter(Boolean).pop();if(!i)throw new Error(`Trigger "${n}" has no function reference`);let o=this.triggerFunctions.get(i);if(!o)throw new B({CreateTrigStmt:t},`Trigger "${n}" references unknown function "${i}"`);let a=t.timing===2?"BEFORE":t.timing===64?"INSTEAD OF":"AFTER",l=[];if(t.events&4&&l.push("INSERT"),t.events&8&&l.push("DELETE"),t.events&16)if(t.columns?.length){let p=t.columns.map(f=>f.String?.sval).filter(Boolean);l.push(`UPDATE OF ${p.join(", ")}`);}else l.push("UPDATE");let c=l.join(" OR "),u=this.buildTriggerBody(o,s,r);return [`CREATE TRIGGER ${n}`,`${a} ${c} ON ${s}`,"FOR EACH ROW","BEGIN",...u.map(p=>` ${p};`),"END"].join(`
|
|
367
|
+
`)}buildTriggerBody(t,r,n){let s=[],i=[];for(let o of t.statements)if(o.type!=="return"){if(o.type==="assignment"){i.push(o);continue}i.length>0&&(s.push(this.buildAssignmentUpdate(i,r,n)),i.length=0),o.type==="dml"&&s.push(this.translateDml(o.sql,n));}return i.length>0&&s.push(this.buildAssignmentUpdate(i,r,n)),s}buildAssignmentUpdate(t,r,n){let s=t.map(i=>{let o=this.translateExpression(i.expression,n);return `${i.column} = ${o}`});return `UPDATE ${r} SET ${s.join(", ")} WHERE rowid = NEW.rowid`}translateExpression(t,r){try{let n=`SELECT ${t}`,s=t.trim().toLowerCase();return s==="now()"||s==="current_timestamp"?"datetime('now')":t}catch{return t}}translateDml(t,r){return t.replace(/\bnow\(\)/gi,"datetime('now')").replace(/\bcurrent_timestamp\b/gi,"datetime('now')").replace(/\bgen_random_uuid\(\)/gi,this.uuidExpression()).replace(/\buuid_generate_v4\(\)/gi,this.uuidExpression())}uuidExpression(){return "lower(hex(randomblob(4))) || '-' || lower(hex(randomblob(2))) || '-4' || substr(lower(hex(randomblob(2))),2) || '-' || substr('89ab',abs(random()) % 4 + 1, 1) || substr(lower(hex(randomblob(2))),2) || '-' || lower(hex(randomblob(6)))"}NullTest(t,r){if(t.arg?.ColumnRef?.fields?.length>1)throw new B({NullTest:t},"row-level NULL tests are not supported in SQLite");return super.NullTest(t,r)}RenameStmt(t,r){if(!t.renameType)throw new Error("RenameStmt requires renameType");let n=["OBJECT_TABLE","OBJECT_VIEW","OBJECT_COLUMN"];if(t.renameType==="OBJECT_COLUMN"&&(t.relationType==="OBJECT_FOREIGN_TABLE"||t.relationType==="OBJECT_VIEW"))throw new B({RenameStmt:t},`RenameStmt with relationType ${t.relationType} is not supported`);if(!n.includes(t.renameType))throw new B({RenameStmt:t},`RenameStmt with renameType ${t.renameType} is not supported in SQLite`);return super.RenameStmt(t,r)}DropStmt(t,r){let n=t.removeType;if(["OBJECT_TABLE","OBJECT_VIEW","OBJECT_INDEX","OBJECT_TRIGGER"].includes(n))return super.DropStmt(t,r);if(["OBJECT_POLICY"].includes(n))return "";throw new B({DropStmt:t},`DROP with removeType ${n} is not supported in SQLite`)}generateRebuildSql(t,r){if(!this.introspection)throw new Error(`ALTER TABLE on "${t}" requires 12-step rebuild but no introspection was provided. Pass introspection in DeparseOptions to enable column type changes, NOT NULL, defaults, and constraint modifications.`);let n=this.buildDesiredSchema(this.introspection,t,r),s=new xi,i=new vi,o=s.diff(this.introspection,n);return o.has_changes?i.plan(o,this.introspection,n).steps.filter(l=>!["disable_foreign_keys","begin_transaction","commit_transaction","enable_foreign_keys"].includes(l.type)).map(l=>l.sql).join(`
|
|
368
|
+
`):""}buildDesiredSchema(t,r,n){let s={...t,tables:t.tables.map(i=>({...i})),columns:t.columns.map(i=>({...i})),indexes:t.indexes.map(i=>({...i})),foreign_keys:t.foreign_keys.map(i=>({...i})),primary_keys:t.primary_keys.map(i=>({...i})),views:t.views.map(i=>({...i})),triggers:(t.triggers??[]).map(i=>({...i})),check_constraints:t.check_constraints.map(i=>({...i})),unique_constraints:(t.unique_constraints??[]).map(i=>({...i})),comments:(t.comments??[]).map(i=>({...i})),custom_types:t.custom_types.map(i=>({...i}))};for(let i of n){let o=s.columns.findIndex(a=>a.table===r&&a.name===i.name);switch(i.subtype){case "AT_AlterColumnType":{if(o===-1)break;let a=this.extractTypeName(i);a&&(s.columns[o]={...s.columns[o],type:a.toLowerCase()});break}case "AT_SetNotNull":{if(o===-1)break;s.columns[o]={...s.columns[o],nullable:false};break}case "AT_DropNotNull":{if(o===-1)break;s.columns[o]={...s.columns[o],nullable:true};break}case "AT_ColumnDefault":{if(o===-1)break;if(i.def){let a=this.extractDefaultValue(i);s.columns[o]={...s.columns[o],default_value:a};}else s.columns[o]={...s.columns[o],default_value:null};break}case "AT_AddConstraint":case "AT_DropConstraint":{let a=s.tables.findIndex(l=>l.name===r);a!==-1&&(s.tables[a]={...s.tables[a],sql:s.tables[a].sql+" /* modified */"});break}}}return this.rebuildTableSql(s,r),s}rebuildTableSql(t,r){let n=t.tables.findIndex(p=>p.name===r);if(n===-1)return;let s=t.columns.filter(p=>p.table===r),i=t.foreign_keys.filter(p=>p.table===r),o=t.check_constraints.filter(p=>p.table===r),a=s.map(p=>{let f=`${M(p.name)} ${p.type||"TEXT"}`;return p.is_primary_key&&(f+=" PRIMARY KEY"),p.nullable||(f+=" NOT NULL"),p.default_value!=null&&(f+=` DEFAULT ${p.default_value}`),f}),l=i.map(p=>`FOREIGN KEY (${M(p.column)}) REFERENCES ${M(p.ref_table)}(${M(p.ref_column)}) ON UPDATE ${p.on_update} ON DELETE ${p.on_delete}`),c=o.map(p=>`CHECK (${p.expression})`),u=[...a,...l,...c];t.tables[n]={...t.tables[n],sql:`CREATE TABLE ${M(r)} (${u.join(", ")}) STRICT`};}extractTypeName(t){let r=t.def?.ColumnDef;return r?.typeName?.TypeName?(r.typeName.TypeName.names??[]).map(s=>s.String?.sval).filter(Boolean).pop()??null:null}extractDefaultValue(t){return t.def?"Integer"in t.def?String(t.def.Integer.ival):"Float"in t.def?t.def.Float.fval:"String"in t.def?`'${t.def.String.sval}'`:null:null}};});async function $n(e,t={}){let r=await Ad(e);return {ast:r,...f0(r,t)}}function f0(e,t={}){let r=Va(e),n=Ja(e,r),s=Ka(e),i=Xa(e),o=Qa(e),a=new $i(e,{...t,enums:r}),{policies:l,tables:c}=Ya(e);if(t.strict)for(let u of l){if(!n.get(`${u.data.schema??"public"}.${u.data.table}`))throw new Error(`Policy "${u.data.name}" references unknown table "${u.data.table}"`);if(!c.has(u.data.table))throw new Error(`RLS is not enabled on table "${u.data.table}"`)}return {ddl:a.deparseQuery(),enums:r,rls:{tables:c,policies:l},schema:n,vars:s,tableConstraints:i,comments:o}}var jl=y(()=>{Cd();Od();Ca();el();Ra();});function Ti(e){return !e||e==="main"||e==="public"?"public":e}function Tn(e,t){return `${Ti(e)}.${t}`}function d0(e,t){let r=new Map(e.map(a=>[Tn(a.schema,a.name),a])),n=new Map,s=new Map;for(let a of r.keys())n.set(a,new Set),s.set(a,new Set);for(let a of t){let l=Tn(a.schema,a.table),c=Tn(a.ref_schema??a.schema,a.ref_table);!n.has(l)||!n.has(c)||(n.get(l).add(c),s.get(c).add(l));}let i=[...n.entries()].filter(([,a])=>a.size===0).map(([a])=>a),o=[];for(let a=0;a<i.length;a++){let l=i[a];o.push(l);for(let c of s.get(l)??[]){let u=n.get(c);u&&(u.delete(l),u.size===0&&i.push(c));}}if(o.length<e.length){console.warn("Warning: cycle detected in user table foreign keys; using best-effort data export order.");let a=new Set(o);for(let l of e){let c=Tn(l.schema,l.name);a.has(c)||o.push(c);}}return o.map(a=>r.get(a)).filter(Boolean)}function Ld(e,t){if(e==null)return "NULL";let r=(t??"").toLowerCase();if(Array.isArray(e)&&r.endsWith("[]")){let n=t?.slice(0,-2);return `ARRAY[${e.map(s=>Ld(s,n)).join(", ")}]::${t}`}if(typeof e=="boolean")return e?"true":"false";if(typeof e=="number")return Number.isFinite(e)?String(e):"NULL";if(r.includes("bool")&&(e===0||e===1||e==="0"||e==="1"))return e===1||e==="1"?"true":"false";if(r.includes("json")){let n=typeof e=="string"?e:JSON.stringify(e),s=r.includes("jsonb")?"::jsonb":"::json";return `${pr(n)}${s}`}return e instanceof Date?pr(e.toISOString()):typeof e=="object"?`${pr(JSON.stringify(e))}::jsonb`:pr(String(e))}function pr(e){return `'${e.replace(/'/g,"''")}'`}function Fl(e){return `"${e.replace(/"/g,'""')}"`}function h0(e){let t=e.default_value??e.default;if(typeof t=="string"&&t.trim().toLowerCase().startsWith("nextval("))return true;let r=typeof e.type=="string"?e.type.toLowerCase():"",n=typeof e.pg_type=="string"?e.pg_type.toLowerCase():"";return Id.has(r)||Id.has(n)}function g0(e,t,r){let n=`${Fl(e)}.${Fl(t)}`;return `SELECT setval(pg_get_serial_sequence(${pr(n)}, ${pr(r)}), COALESCE((SELECT MAX(${Fl(r)}) FROM ${n}), 1));`}async function y0(e){let t=e.connection.config?.translation?.deparse?.schema;if(t instanceof Map&&t.size>0)return t;let r=await ge(e);return r.trim()?(await $n(r)).schema:new Map}async function Ai(e){let t=await e.connection.introspect(),r=e.connection.dialect,n=await y0(e),s=d0(t.tables.filter(o=>!m0.has(Ti(o.schema))),t.foreign_keys),i=[];for(let o of s){let a=Ti(o.schema),l=r==="sqlite"?a==="public"?`"${o.name}"`:`"${a}.${o.name}"`:`"${a}"."${o.name}"`,u=t.columns.filter(S=>S.table===o.name&&Ti(S.schema)===a).filter(S=>!S.generated&&!S.is_generated),p=[];try{p=(await e.connection.exec(`SELECT * FROM ${l}`))?.rows??[];}catch{continue}if(p.length===0)continue;let f=n.get(Tn(a,o.name)),h=typeof e.connection.deserializeRow=="function"?e.connection.deserializeRow.bind(e.connection):S=>S;p=p.map(S=>{let A=f?f.deserializeRow(S):S;return h(A)});let d=u.map(S=>S.name),m=new Map(u.map(S=>[S.name,S.pg_type??S.type])),b=[];for(let S of p){let A=d.map(v=>Ld(S[v],m.get(v)));b.push(`INSERT INTO "${a}"."${o.name}" (${d.map(v=>`"${v}"`).join(", ")}) VALUES (${A.join(", ")}) ON CONFLICT DO NOTHING`);}let g=u.filter(h0).map(S=>g0(a,o.name,S.name));i.push({schema:a,table:o.name,inserts:b,sequenceResets:g});}return i}var m0,Id,Ml=y(()=>{jl();We();m0=new Set(["auth","storage","realtime","supabase_functions","graphql","graphql_public","extensions","pgsodium","pgsodium_masks","vault","information_schema","pg_catalog","pg_toast"]),Id=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]);});async function Dd(e){let{PGlite:t}=await Ye("@supabase/lite/pglite","pglite","@electric-sql/pglite"),r=new t,n=[],s=0,i=0,o=0,a=0;try{for(let h of ["anon","authenticated","service_role","supabase_auth_admin"])await r.exec(`CREATE ROLE ${h}`);if(e.config.auth?.enabled!==!1){let h=Ut(vd());s=h.length;for(let d=0;d<h.length;d++)try{await r.exec(h[d]);}catch(m){return n.push({phase:"schema",label:`auth base schema ${d+1}/${h.length}`,statement:h[d],error:String(m)}),{ok:!1,baseSchemaStatements:s,schemaStatements:i,authInserts:o,dataInserts:a,failures:n}}}let l=await ge(e),c=Ut(l);i=c.length;for(let h=0;h<c.length;h++)try{await r.exec(c[h]);}catch(d){return n.push({phase:"schema",label:`schema ${h+1}/${c.length}`,statement:c[h],error:String(d)}),{ok:!1,baseSchemaStatements:s,schemaStatements:i,authInserts:o,dataInserts:a,failures:n}}let u=await wi(e,{target:"local"}),p=["users","sessions","identities","refresh_tokens"];for(let h of p){let d=u[h];for(let m=0;m<d.length;m++){o++;try{await r.exec(d[m]);}catch(b){n.push({phase:"auth",label:`auth.${h} row ${m+1}/${d.length}`,statement:d[m],error:String(b)});}}}let f=await Ai(e);for(let h of f){for(let d=0;d<h.inserts.length;d++){a++;try{await r.exec(h.inserts[d]);}catch(m){n.push({phase:"data",label:`${h.schema}.${h.table} row ${d+1}/${h.inserts.length}`,statement:h.inserts[d],error:String(m)});}}for(let d=0;d<h.sequenceResets.length;d++)try{await r.exec(h.sequenceResets[d]);}catch(m){n.push({phase:"data",label:`${h.schema}.${h.table} sequence reset ${d+1}/${h.sequenceResets.length}`,statement:h.sequenceResets[d],error:String(m)});}}}finally{await r.close().catch(()=>{});}return {ok:n.length===0,baseSchemaStatements:s,schemaStatements:i,authInserts:o,dataInserts:a,failures:n}}var jd=y(()=>{jr();We();$d();gi();Dl();Ml();});function Fd(e){if(console.log(P.default.bold("Readiness Report")),console.log(` db reachable: ${e.dbReachable?P.default.green("yes"):P.default.red("no")} schema statements: ${P.default.cyan(e.schemaStatementCount)} schema bytes: ${P.default.cyan(e.schemaBytes)}`),console.log(` auth \u2014 users: ${P.default.cyan(e.auth.users)} sessions: ${P.default.cyan(e.auth.sessions)} identities: ${P.default.cyan(e.auth.identities)} refresh_tokens: ${P.default.cyan(e.auth.refresh_tokens)} jwt_secret: ${e.auth.jwt_secret_set?P.default.green("set"):P.default.yellow("unset")}`),e.tables.length>0){console.log(P.default.dim(" tables:"));for(let t of e.tables){let r=t.issues.length>0?P.default.yellow(` (${t.issues.length} issues)`):"",n=t.schema?`${t.schema}.`:"";console.log(` ${n}${t.table}: ${P.default.cyan(t.rowCount)} rows${r}`);}}if(e.errors.length>0){console.log(P.default.red("Errors:"));for(let t of e.errors)console.log(` ${P.default.red("\u2717")} ${t}`);}if(e.warnings.length>0){console.log(P.default.yellow("Warnings:"));for(let t of e.warnings)console.log(` ${P.default.yellow("!")} ${t}`);}console.log(),console.log(e.ok?P.default.green("Ready to upgrade."):P.default.red("Not ready."));}function Md(e){if(console.log(),console.log(P.default.bold("Rehearsal (in-memory pglite)")),console.log(` auth schema: ${P.default.cyan(e.baseSchemaStatements)} stmts user schema: ${P.default.cyan(e.schemaStatements)} stmts auth: ${P.default.cyan(e.authInserts)} inserts data: ${P.default.cyan(e.dataInserts)} inserts`),e.failures.length>0){console.log(P.default.red(` ${e.failures.length} failure(s):`));for(let t of e.failures)console.log(P.default.red(` \u2717 [${t.phase}] ${t.label}`)),console.log(P.default.dim(` ${t.statement}`)),console.log(P.default.dim(` ${t.error}`));}console.log(e.ok?P.default.green(" rehearsal passed"):P.default.red(" rehearsal failed"));}function Ud(e){console.log(),console.log(P.default.bold("SQLite Shim Audit")),console.log(` fields: ${P.default.cyan(e.summary.total)} passed: ${P.default.green(String(e.summary.passed))} warned: ${P.default.yellow(String(e.summary.warned))} failed: ${P.default.red(String(e.summary.failed))}`),e.results.length===0&&console.log(P.default.dim(" no shim-backed fields found"));for(let t of e.results.filter(r=>r.status!=="pass")){let r=t.status==="fail"?P.default.red:P.default.yellow;if(console.log(` ${r(t.status)} ${t.field} (${t.pg_type}) rows: ${P.default.cyan(t.rows_checked)} affected: ${P.default.cyan(t.affected_rows??0)}`),t.message&&console.log(` ${t.message}`),t.samples?.length)for(let n of t.samples)console.log(P.default.dim(` sample ${JSON.stringify(n.id)} raw=${JSON.stringify(n.raw_value)}`));t.action&&console.log(P.default.dim(` action: ${t.action}`));}console.log(e.summary.upgrade_safe?P.default.green(" shim audit passed"):P.default.red(" shim audit failed"));}function Ul(e){if(console.log(),console.log(P.default.bold(P.default.green("Upgrade complete."))),console.log(),console.log(` ${P.default.bold("Project URL:")} ${P.default.cyan(e.projectUrl)}`),console.log(` ${P.default.bold("API URL:")} ${P.default.cyan(e.apiUrl)}`),e.studioUrl&&console.log(` ${P.default.bold("Studio URL:")} ${P.default.cyan(e.studioUrl)}`),console.log(` ${P.default.bold("Ref:")} ${P.default.cyan(e.projectRef)}`),console.log(),console.log(` ${P.default.bold("anon key:")} ${e.anonKey}`),console.log(` ${P.default.bold("service_role key:")} ${e.serviceRoleKey}`),console.log(` ${P.default.bold("db password:")} ${e.dbPassword}`),console.log(),console.log(` migrated auth \u2014 users: ${P.default.cyan(e.auth.users)} sessions: ${P.default.cyan(e.auth.sessions)} identities: ${P.default.cyan(e.auth.identities)} refresh_tokens: ${P.default.cyan(e.auth.refresh_tokens)}`),console.log(` jwt secret: ${e.jwtMigrated?P.default.green("migrated"):P.default.yellow("not migrated \u2014 users must re-authenticate")}`),e.warnings.length>0){console.log(),console.log(P.default.yellow("Warnings:"));for(let t of e.warnings)console.log(` ${P.default.yellow("!")} ${t}`);}console.log(),console.log(P.default.bold("Update your supabase-js client:")),console.log(` url: ${P.default.cyan(e.apiUrl)}`),console.log(` anonKey: ${P.default.cyan(e.anonKey)}`),console.log();}var P,Bd=y(()=>{P=te(ie());});function Hd(e){let t=[],r=e??"",n=r.toLowerCase(),s=Buffer$1.byteLength(r,"utf8");if(!r)return t.push("auth.jwt_secret is empty"),{strong:false,reasons:t};w0.has(r)&&t.push(`matches Supalite development default "${r}"`),s<32&&t.push(`is ${s} bytes; use at least 32 bytes for production secrets`),[/[a-z]/.test(r),/[A-Z]/.test(r),/[0-9]/.test(r),/[^A-Za-z0-9]/.test(r)].filter(Boolean).length<3&&t.push("uses too little character variety"),/^(.)\1{7,}$/.test(r)?t.push("is one repeated character"):S0(r)&&t.push("contains an obvious repeated pattern");let o=b0.find(a=>n.includes(a));return o&&t.push(`contains placeholder term "${o}"`),{strong:t.length===0,reasons:t}}function Wd(e){return {kty:"oct",alg:"HS256",k:Buffer$1.from(e,"utf8").toString("base64url")}}function S0(e){if(e.length<8)return false;for(let t=2;t<=Math.floor(e.length/2);t++){if(e.length%t!==0)continue;if(e.slice(0,t).repeat(e.length/t)===e)return true}return false}var w0,b0,zd=y(()=>{w0=new Set(["unsafe-secret-change-me","dev-secret-change-me"]),b0=["change-me","changeme","secret","password","passwd","test","dev"];});function Gd(e){return !e||e==="main"?"public":e}function Bt(e){return `"${e.replace(/"/g,'""')}"`}function _0(e,t){return Bt(e==="public"?t:`${e}.${t}`)}function Bl(e){return `${e.schema}.${e.table}.${e.column}`}function x0(e){let t=e.filter(s=>s.status==="pass").length,r=e.filter(s=>s.status==="warn").length,n=e.filter(s=>s.status==="fail").length;return {total:e.length,passed:t,warned:r,failed:n,upgrade_safe:n===0}}async function v0(e){let t=e.connection.config?.translation?.deparse?.schema;if(t instanceof Map&&t.size>0)return t;let r=await Fs(e),n=await ge(e);if(r.trim()){let i=[await nd(r),n].filter(o=>o.trim().length>0).join(`
|
|
369
|
+
`);return i.trim()?(await $n(i)).schema:new Map}return n.trim()?(await $n(n)).schema:new Map}async function $0(e){let t=await v0(e),r=[];for(let n of t.values())for(let s of n.all())s.isShimBacked&&r.push({schema:Gd(s.context.schema),table:s.context.table,column:s.context.column,field:s});return r}function T0(e,t){return e==="fail"||t==="fail"?"fail":e==="warn"||t==="warn"?"warn":"pass"}async function A0(e,t,r){return (await e.connection.introspect()).primary_keys.find(i=>Gd(i.schema)===t&&i.table===r)?.columns??[]}async function C0(e,t){if(e.connection.dialect!=="sqlite")return {field:Bl(t),pg_type:t.field.context.pgTypeName,status:"warn",rows_checked:0,affected_rows:0,message:"Shim at-rest scan only applies to SQLite-backed projects.",action:"Run this audit against the SQLite Supalite project before upgrading."};let n=_0(t.schema,t.table),s=await A0(e,t.schema,t.table),i=s.length>0?s:["rowid"],a=[...s.length>0?s.map(m=>`${Bt(m)} AS ${Bt(`id_${m}`)}`):[`rowid AS ${Bt("id_rowid")}`],`${Bt(t.column)} AS ${Bt("__lite_value")}`].join(", "),l;try{l=await e.connection.exec(`SELECT ${a} FROM ${n}`);}catch(m){return {field:Bl(t),pg_type:ql(t.field),status:"fail",rows_checked:0,affected_rows:0,message:`Declared shim field could not be scanned in SQLite: ${String(m)}`,action:"Apply the declared schema to the local Supalite database, then rerun the dry-run audit before upgrading."}}let c=l?.rows??[],u="pass",p=0,f=null,h,d=[];for(let m of c){let b=t.field.validateStorage(m.__lite_value);if(u=T0(u,b.status),b.status!=="pass"&&(p++,f??=b.message,h??=b.action,d.length<E0)){let g={};for(let S of i)g[S]=m[`id_${S}`];d.push({id:g,raw_value:m.__lite_value});}}return {field:Bl(t),pg_type:ql(t.field),status:u,rows_checked:c.length,...p>0?{affected_rows:p}:{},message:f,...d.length>0?{samples:d}:{},...h?{action:h}:{}}}function ql(e){if(e instanceof dt)return `${e.elementField?ql(e.elementField):e.context.pgTypeName}[]`;if(e instanceof Dt&&e.numericPrecision){let{precision:t,scale:r}=e.numericPrecision;return `${e.context.pgTypeName}(${t},${r})`}return e instanceof ae&&e.lengthConstraint!==void 0?`${e.context.pgTypeName}(${e.lengthConstraint})`:e.context.pgTypeName}async function Hl(e){let t=await $0(e),r=[];for(let n of t)r.push(await C0(e,n));return {summary:x0(r),results:r}}var E0,Vd=y(()=>{We();Pt();Ol();jl();Gs();zs();Me();E0=3;});function Kd(e){let t=e.auth??{},r={};return typeof t.site_url=="string"&&(r.site_url=t.site_url),Array.isArray(t.additional_redirect_urls)&&(r.uri_allow_list=t.additional_redirect_urls.join(",")),typeof t.jwt_expiry=="number"&&(r.jwt_exp=t.jwt_expiry),typeof t.enable_signup=="boolean"&&(r.disable_signup=!t.enable_signup),typeof t.enable_anonymous_sign_ins=="boolean"&&(r.external_anonymous_users_enabled=t.enable_anonymous_sign_ins),typeof t.minimum_password_length=="number"&&(r.min_password_length=t.minimum_password_length),typeof t.email?.enable_confirmations=="boolean"&&(r.mailer_autoconfirm=!t.email.enable_confirmations),r}var Yd=y(()=>{});function R0(e){if(e.length===0)return "";if(e.length===1)return e[0];let t=e[0].match(Jd);if(!t)return e.map(i=>i.trim().endsWith(";")?i:`${i};`).join(" ");let r=t[1],n=t[3]??"",s=[t[2]];for(let i=1;i<e.length;i++){let o=e[i].match(Jd);if(!o||o[1]!==r||(o[3]??"")!==n)return e.map(a=>a.trim().endsWith(";")?a:`${a};`).join(" ");s.push(o[2]);}return `${r}${s.join(", ")}${n}`}async function Xd(e,t,r={}){let n=r.sizes??[50,10,1],s=[],i=0,o=t.length,a=async(l,c)=>{if(l.length===0)return;let u=n[c]??1;if(l.length===1||u===1){for(let p of l){try{await e.runSql(p);}catch(f){s.push({statement:p,error:String(f)});}i++,r.onProgress?.(i,o);}return}for(let p=0;p<l.length;p+=u){let f=l.slice(p,p+u),h=R0(f);try{await e.runSql(h),i+=f.length,r.onProgress?.(i,o);}catch{await a(f,c+1);}}};return await a(t,0),s}var Jd,Qd=y(()=>{Jd=/^(INSERT INTO [^(]+\([^)]+\)\s*VALUES\s*)(\(.*\))(\s*ON CONFLICT[\s\S]*)?$/i;});async function P0(e,t,r,n){n.onSql?.(t,r);try{await e.runSql(t);}catch(s){throw new Error(`Failed SQL (${r}): ${String(s)}
|
|
370
|
+
${t}`,{cause:s})}}async function fr(e,t,r,n,s={}){if(r.length===0)return;n.onBatchStart?.(t,r.length);let i=await Xd(e,r,{sizes:s.sizes??n.batchSizes,onProgress:(o,a)=>n.onBatchProgress?.(t,o,a)});if(i.length>0)throw n.onBatchFailure?.(t,i),new Error(`${t} had ${i.length} failures`);n.onBatchEnd?.(t,r.length,s.unit??"rows");}async function Wl(e,t,r){let n=await ge(e),s=Ut(n);r.onSchemaStart?.(s.length);for(let c=0;c<s.length;c++)r.onSchemaProgress?.(c+1,s.length),await P0(t,s[c],`schema ${c+1}/${s.length}`,r);r.onSchemaEnd?.(s.length);let i=await wi(e,{target:r.authTarget??"supabase"}),o={users:i.users.length,sessions:r.migrateSessions?i.sessions.length:0,identities:i.identities.length,refresh_tokens:r.migrateSessions?i.refresh_tokens.length:0};await fr(t,"Migrating auth.users",i.users,r),await fr(t,"Migrating auth.identities",i.identities,r),r.migrateSessions?(await fr(t,"Migrating auth.sessions",i.sessions,r),await fr(t,"Migrating auth.refresh_tokens",i.refresh_tokens,r)):(i.sessions.length>0||i.refresh_tokens.length>0)&&r.onSkip?.(`Skipped ${i.sessions.length} sessions and ${i.refresh_tokens.length} refresh tokens (existing tokens will be invalidated).`);let a=await Ai(e),l=a.filter(c=>c.inserts.length>0);l.length===0&&r.onSkip?.("No user data rows to migrate.");for(let c of l)await fr(t,`Migrating ${c.schema}.${c.table}`,c.inserts,r);for(let c of l)await fr(t,`Resetting ${c.schema}.${c.table} sequences`,c.sequenceResets,r,{sizes:[1],unit:"statements"});if(r.syncAuthConfig!==false&&t.updateAuthConfig){let c=Kd(e.config);Object.keys(c).length>0&&(r.onAuthConfigStart?.(),await t.updateAuthConfig(c),r.onAuthConfigEnd?.());}return {schemaStatements:s.length,auth:o,dataTables:a}}var Zd=y(()=>{We();Yd();Dl();Ml();Qd();gi();});function Rn(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function eh(e,t=new Map){if(!e||typeof e!="object")return t;for(let[r,n]of Object.entries(e))typeof n=="string"?t.set(Rn(r),n):n&&typeof n=="object"&&eh(n,t);return t}function An(e,t,r){for(let n of t){let s=e.get(Rn(n));if(s)return s}throw new Error(`Supabase status JSON is missing ${r}`)}function L0(e){let t=JSON.parse(e),r=eh(t);return {apiUrl:An(r,["API_URL","api_url","API URL","Project URL"],"API URL"),studioUrl:r.get(Rn("Studio URL"))??r.get(Rn("STUDIO_URL"))??r.get(Rn("studio_url")),dbUrl:An(r,["DB_URL","db_url","DB URL"],"DB URL"),anonKey:An(r,["ANON_KEY","anon_key","anon key","Publishable"],"anon key"),serviceRoleKey:An(r,["SERVICE_ROLE_KEY","service_role_key","service role key","Secret"],"service role key"),jwtSecret:An(r,["JWT_SECRET","jwt_secret","JWT secret"],"JWT secret")}}function th(e){try{return decodeURIComponent(new URL(e).password)}catch{return ""}}function rh(e=process.cwd()){return e}async function D0(){return await new Promise((e,t)=>{let r=k0.createServer();r.once("error",t),r.listen(0,"127.0.0.1",()=>{let n=r.address();r.close(()=>{typeof n=="object"&&n?e(n.port):t(new Error("Could not allocate a free local port"));});});})}async function j0(){let e=new Set,t=async()=>{for(;;){let r=await D0();if(!e.has(r))return e.add(r),r}};return {api:await t(),db:await t(),shadow:await t(),studio:await t(),inbucket:await t(),analytics:await t(),pooler:await t(),edgeInspector:await t()}}async function Cn(e,t={}){let r=process.env.LITE_SUPABASE_CLI?.split(/\s+/).filter(Boolean)??O0,{spawn:n}=await import('bun'),s=n([...r,...e],{cwd:t.cwd,stdout:"pipe",stderr:"pipe",env:{...process.env,SUPABASE_TELEMETRY_DISABLED:"1",DO_NOT_TRACK:"1"}}),i=setTimeout(()=>s.kill(),t.timeoutMs??12e4),[o,a,l]=await Promise.all([new Response(s.stdout).text(),new Response(s.stderr).text(),s.exited]).finally(()=>clearTimeout(i));if(l!==0)throw new Error([`supabase ${e.join(" ")} failed with exit code ${l}`,o,a].filter(Boolean).join(`
|
|
371
|
+
`));return {stdout:o,stderr:a}}function se(e,t,r,n){let s=new RegExp(`(\\[${t.replace(".","\\.")}\\][\\s\\S]*?)(?=\\n\\[|$)`),i=e.match(s);if(!i)return `${e.trimEnd()}
|
|
403
372
|
|
|
404
373
|
[${t}]
|
|
405
|
-
${r} = ${
|
|
406
|
-
`;let
|
|
407
|
-
${r} = ${
|
|
408
|
-
`;return s.replace(a,l)}function f_(s,t,r){let e=new RegExp(`(\\[${t.replace(".","\\.")}\\][\\s\\S]*?)(?=\\n\\[|$)`),i=s.match(e);if(!i)return s;let n=i[1],a=r.map(l=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),o=new RegExp(`^\\s*(${a})\\s*=.*(?:\\n|$)`,"gm");return s.replace(n,n.replace(o,""))}function h_(s){return f_(s,"db",["driver","url"])}async function m_(s){return await mt__default.access(s).then(()=>true).catch(()=>false)}async function g_(s){let t=J__default.join(s,"supabase","config.toml");await m_(t)||(await mt__default.mkdir(s,{recursive:true}),await Dr(["init","--workdir",s,"--yes"],{timeoutMs:6e4}));}async function d_(s,t,r){let e=J__default.join(s,"supabase","config.toml"),i=h_(await mt__default.readFile(e,"utf-8"));i=i.replace(/^project_id\s*=.*$/m,`project_id = "${t}"`),i=at(i,"api","port",String(r.api)),i=at(i,"db","port",String(r.db)),i=at(i,"db","shadow_port",String(r.shadow)),i=at(i,"db","major_version","15"),i=at(i,"db.seed","enabled","false"),i=at(i,"studio","enabled","true"),i=at(i,"studio","port",String(r.studio)),i=at(i,"inbucket","enabled","false"),i=at(i,"inbucket","port",String(r.inbucket)),i=at(i,"realtime","enabled","false"),i=at(i,"storage","enabled","false"),i=at(i,"edge_runtime","enabled","false"),i=at(i,"edge_runtime","inspector_port",String(r.edgeInspector)),i=at(i,"analytics","enabled","false"),i=at(i,"analytics","port",String(r.analytics)),i=at(i,"db.pooler","enabled","false"),i=at(i,"db.pooler","port",String(r.pooler)),await mt__default.writeFile(e,i,"utf-8");}function Lg(s){return JSON.stringify(s)}function E_(s){return `[${s.map(Lg).join(", ")}]`}async function S_(s,t){if(!t)return;let r=J__default.join(s,"supabase","config.toml"),e=await mt__default.readFile(r,"utf-8"),i=t.auth??{},n=i.email??{},a=t.api??{};typeof a.max_rows=="number"&&(e=at(e,"api","max_rows",String(a.max_rows))),typeof i.site_url=="string"&&(e=at(e,"auth","site_url",Lg(i.site_url))),Array.isArray(i.additional_redirect_urls)&&(e=at(e,"auth","additional_redirect_urls",E_(i.additional_redirect_urls))),typeof i.jwt_expiry=="number"&&(e=at(e,"auth","jwt_expiry",String(i.jwt_expiry))),typeof i.enable_signup=="boolean"&&(e=at(e,"auth","enable_signup",String(i.enable_signup))),typeof i.enable_anonymous_sign_ins=="boolean"&&(e=at(e,"auth","enable_anonymous_sign_ins",String(i.enable_anonymous_sign_ins))),typeof i.minimum_password_length=="number"&&(e=at(e,"auth","minimum_password_length",String(i.minimum_password_length))),typeof n.enable_confirmations=="boolean"&&(e=at(e,"auth.email","enable_confirmations",String(n.enable_confirmations))),await mt__default.writeFile(r,e,"utf-8");}var o_,l_,jn,$g=y(()=>{Gs();o_=["bunx","supabase@2.98.1"],l_=["mailpit","realtime","storage-api","imgproxy","edge-runtime","logflare","vector","supavisor"];jn=class s{constructor(t,r,e,i){this.workdir=t;this.projectId=r;this.status=e;this.cleanupOnStop=i;}stopped=false;static async start(t={}){let r=t.workdir??await mt__default.mkdtemp(J__default.join(wy.tmpdir(),"lite-local-supa-")),e=t.projectId??`lite-local-${Date.now().toString(36)}`,i=t.cleanupOnStop??!t.workdir,n=await p_();try{await g_(r),await d_(r,e,n),await S_(r,t.sourceConfig),await Dr(["start","--workdir",r,"--yes","--exclude",l_.join(",")],{timeoutMs:5*6e4});let{stdout:a}=await Dr(["status","--workdir",r,"-o","json"],{timeoutMs:6e4});return new s(r,e,u_(a),i)}catch(a){throw await Dr(["stop","--workdir",r,"--no-backup"],{timeoutMs:12e4}).catch(()=>{}),i&&await mt__default.rm(r,{recursive:true,force:true}).catch(()=>{}),a}}async runSql(t){let{createPostgresConnection:r}=await Qt("@supabase/lite/postgres","postgres","postgres"),e=r({url:this.status.dbUrl});try{await e.exec(t);}finally{await e.close();}}async stop(){this.stopped||(this.stopped=true,await Dr(["stop","--workdir",this.workdir,"--no-backup"],{timeoutMs:12e4}).catch(()=>{}),this.cleanupOnStop&&await mt__default.rm(this.workdir,{recursive:true,force:true}));}};});async function Un(){let s=await Ir({message:"Email",placeholder:"Enter your email",validate:t=>{try{Cc(t,{domains:["supabase.io"],panic:!0});return}catch(r){return r}}});return bt(s)&&process.exit(1),s}async function Mn(s=false){let t=await Or({message:"Password",validate:r=>{try{_c(r,{panic:!0});return}catch(e){return e}}});if(bt(t)&&process.exit(1),s){let r=await Or({message:"Confirm Password",validate:e=>{try{if(e!==t)throw new Error("Passwords do not match");return}catch(i){return i}}});bt(r)&&process.exit(1);}return t}async function Pg(){let s=await Ir({message:"Project Name",placeholder:"Enter your project name"});return bt(s)&&process.exit(1),s}async function Bn(s){let t=await vr({message:s,initialValue:true});return bt(t)&&process.exit(1),t}var ys=y(()=>{se();Ds();});async function w_(){return Ts||(Ts=await import('@sentry/node')),Ts}function b_(){if(kg)return;kg=true;let s=process.exit.bind(process),t=false;process.exit=(r=>{if(t)return;t=true,qn((r??0)!==0).finally(()=>s(r));});}function Fg(s){if(s)return false;let t=process.env.LITE_TELEMETRY;if(t==="0"||t==="false")return false;let r=process.env.DO_NOT_TRACK;return !(r==="1"||r==="true"||process.env.CI||process.env.LOCAL)}function A_(){let s=process.versions;return s.bun?"bun":s.deno?"deno":"node"}function C_(){if(process.env.CODESPACES)return "codespaces";if(process.env.REMOTE_CONTAINERS)return "devcontainer";try{return statSync("/.dockerenv"),"docker"}catch{return}}function __(s){let t=s/1e6;return t<1?"<1MB":t<10?"1-10MB":t<100?"10-100MB":t<1e3?"100MB-1GB":">1GB"}function R_(s,t){if(s==="sqlite"||s==="sqlite-postgres"||s==="pglite")return !t||t===":memory:"||t.startsWith("file::memory:")?s==="pglite"&&!t?void 0:"memory":t.startsWith("file:")?"file":void 0;if(s==="postgres"){if(!t)return;try{let r=new URL(t).hostname;return r==="localhost"||r==="127.0.0.1"||r==="::1"?"local":"remote"}catch{return "remote"}}}function v_(){try{let s=J__default.resolve(process.cwd(),vt.config_dir,"config.toml"),t;try{t=readFileSync(s,"utf-8");}catch{return {}}let r;try{r=_e(t);}catch{return {}}let e=r.db?.driver,i=e==="sqlite"||e==="sqlite-postgres"||e==="pglite"||e==="postgres"?e:"sqlite-postgres",n=r.db?.url??vt.default_db_url,a=R_(i,n),o;if(a==="file"&&n.startsWith("file:"))try{let l=n.startsWith("file://")?n.slice(7):n.slice(5),u=J__default.resolve(process.cwd(),l);o=statSync(u).size;}catch{}return {driver:i,location:a,sizeBytes:o}}catch{return {}}}async function Ug(s){if(xr)return;xr=true;let t=await w_(),{version:r}=await Qr();t.init({dsn:T_,release:`@supabase/lite@${r}`,sendDefaultPii:false,defaultIntegrations:false,integrations:[t.httpIntegration()],tracesSampleRate:1,tracePropagationTargets:["sentry.io"],beforeSend(n){return delete n.server_name,n.user&&delete n.user.ip_address,n},beforeSendTransaction(n){return delete n.server_name,n.user&&delete n.user.ip_address,n}}),t.setTag("command",s.command),t.setTag("runtime",A_()),t.setTag("node",process.version),t.setTag("platform",process.platform),t.setTag("arch",process.arch),t.setTag("ci",!!process.env.CI);let e=C_();e&&t.setTag("container",e);try{let{determineAgent:n}=await import('@vercel/detect-agent'),a=await n();a.isAgent&&t.setTag("agent",a.agent.name);}catch{}let i=v_();i.driver&&t.setTag("db.driver",i.driver),i.location&&t.setTag("db.location",i.location),typeof i.sizeBytes=="number"&&t.setTag("db.size",__(i.sizeBytes));for(let[n,a]of Object.entries(s.args))t.setTag(`arg.${n}`,!!a);t.startSession(),jg=true,He=t.startInactiveSpan({name:`cli:${s.command}`,op:"cli.command",forceTransaction:true}),b_();}async function qn(s,t){if(!xr)return;let r=Ts;try{if(s&&(r.setTag("status","failed"),t instanceof Error&&r.setTag("error_class",t.constructor.name)),He&&(He.setStatus({code:s?2:1,message:s?"internal_error":"ok"}),He.end(),He=void 0),jg){let e=r.getCurrentScope().getSession();e&&s&&(e.status="crashed"),r.endSession();}}finally{await r.flush(2e3).catch(()=>{});}}function jr(s,t){if(!xr)return Promise.resolve(t());let r=Ts,e=()=>r.startSpan({name:s,op:"cli.step"},t);return He?r.withActiveSpan(He,e):e()}function lu(s,t){xr&&Ts.setTag(s,t);}var T_,Ts,xr,jg,He,kg,uu=y(()=>{Os();ze();At();T_="https://9562525a4ea320539ea7e94859533a17@o398706.ingest.us.sentry.io/4511381939290112";xr=false,jg=false,kg=false;});var Gg={};dt(Gg,{isNonInteractive:()=>cu,resolveSessionMigration:()=>qg,resolveTarget:()=>Bg,upgrade:()=>j_});async function I_(s,t){let r=await s.listOrganizations();if(r.length===0)throw new Error("No Supabase organizations found for this token");if(t){let i=r.find(n=>n.id===t||n.slug===t);if(!i)throw new Error(`Organization not found: ${t}`);return i}if(r.length===1)return r[0];let e=await Nr({message:"Select organization",options:r.map(i=>({value:i.id,label:`${i.name} (${i.slug})`}))});return bt(e)&&process.exit(1),r.find(i=>i.id===e)}async function $_(s,t,r){if(r)return r;let e=L_;try{let a=(await s.listRegions(t)).regions??[];a.length>0&&(e=a.map(o=>({key:o.key,label:o.display_name??o.name??o.key})));}catch{}let i=await Nr({message:"Select region",options:e.map(n=>({value:n.key,label:n.label}))});return bt(i)&&process.exit(1),i}async function P_(s){if(s)return s;let t=await Ir({message:"Project name",placeholder:"my-project",validate:r=>r&&r.trim().length>0?void 0:"Name is required"});return bt(t)&&process.exit(1),t}function D_(){return O_.randomBytes(24).toString("base64url")}function Bg(s){let t=s??"hosted";if(t==="hosted"||t==="local")return t;throw new Error(`Unknown upgrade target '${t}'. Use 'hosted' or 'local'.`)}function cu(){return process.env.CI==="true"||process.env.LITE_NON_INTERACTIVE==="1"||!process.stdin.isTTY}async function k_(s){if(typeof s=="boolean")return s;if(cu())return false;let t=await vr({message:"Migrate existing sessions (transfers JWT secret, sessions, refresh tokens)?",initialValue:false});return bt(t)&&process.exit(1),t}async function x_(s){if(s)return s;let t=process.env.SUPABASE_ACCESS_TOKEN;if(t)return t;Z.info("Create a personal access token at https://supabase.com/dashboard/account/tokens");let r=await Or({message:"Supabase access token",validate:e=>e&&e.trim().length>0?void 0:"Token is required"});return bt(r)&&process.exit(1),r}async function qg(s){if(!s.requested)return {migrateSessions:false,weakReasons:[]};if(!s.jwtSecret)throw new Error("Cannot migrate sessions because auth.jwt_secret is not configured. Re-run with --no-migrate-sessions to skip session migration.");let t=Eg(s.jwtSecret);if(t.strong||s.allowWeakJwtSecret)return {migrateSessions:true,jwtSecret:s.jwtSecret,weakReasons:t.reasons};if(cu())throw new Error(["Cannot migrate sessions because auth.jwt_secret looks weak:",...t.reasons.map(e=>`- ${e}`),"Use --allow-weak-jwt-secret to preserve existing sessions anyway, or --no-migrate-sessions to require users to sign in again."].join(`
|
|
409
|
-
`));
|
|
410
|
-
`));let r=await
|
|
411
|
-
Rehearsing upgrade against in-memory pglite...`));let w=await
|
|
412
|
-
${
|
|
413
|
-
${w}`));},onSchemaStart:w=>
|
|
414
|
-
`)){if(/^\s*#/.test(t))continue;let r=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(r)return r.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var
|
|
415
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var
|
|
416
|
-
`),
|
|
374
|
+
${r} = ${n}
|
|
375
|
+
`;let o=i[1],a=new RegExp(`(^${r}\\s*=\\s*).*$`,"m"),l=a.test(o)?o.replace(a,`$1${n}`):`${o.trimEnd()}
|
|
376
|
+
${r} = ${n}
|
|
377
|
+
`;return e.replace(o,l)}function F0(e,t,r){let n=new RegExp(`(\\[${t.replace(".","\\.")}\\][\\s\\S]*?)(?=\\n\\[|$)`),s=e.match(n);if(!s)return e;let i=s[1],o=r.map(l=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),a=new RegExp(`^\\s*(${o})\\s*=.*(?:\\n|$)`,"gm");return e.replace(i,i.replace(a,""))}function M0(e){return F0(e,"db",["driver","url"])}async function U0(e){return await fe__default.access(e).then(()=>true).catch(()=>false)}async function B0(e){let t=z__default.join(e,"supabase","config.toml");await U0(t)||(await fe__default.mkdir(e,{recursive:true}),await Cn(["init","--workdir",e,"--yes"],{timeoutMs:6e4}));}async function q0(e,t,r){let n=z__default.join(e,"supabase","config.toml"),s=M0(await fe__default.readFile(n,"utf-8"));s=s.replace(/^project_id\s*=.*$/m,`project_id = "${t}"`),s=se(s,"api","port",String(r.api)),s=se(s,"db","port",String(r.db)),s=se(s,"db","shadow_port",String(r.shadow)),s=se(s,"db","major_version","15"),s=se(s,"db.seed","enabled","false"),s=se(s,"studio","enabled","true"),s=se(s,"studio","port",String(r.studio)),s=se(s,"inbucket","enabled","false"),s=se(s,"inbucket","port",String(r.inbucket)),s=se(s,"realtime","enabled","false"),s=se(s,"storage","enabled","false"),s=se(s,"edge_runtime","enabled","false"),s=se(s,"edge_runtime","inspector_port",String(r.edgeInspector)),s=se(s,"analytics","enabled","false"),s=se(s,"analytics","port",String(r.analytics)),s=se(s,"db.pooler","enabled","false"),s=se(s,"db.pooler","port",String(r.pooler)),await fe__default.writeFile(n,s,"utf-8");}function nh(e){return JSON.stringify(e)}function H0(e){return `[${e.map(nh).join(", ")}]`}async function W0(e,t){if(!t)return;let r=z__default.join(e,"supabase","config.toml"),n=await fe__default.readFile(r,"utf-8"),s=t.auth??{},i=s.email??{},o=t.api??{};typeof o.max_rows=="number"&&(n=se(n,"api","max_rows",String(o.max_rows))),typeof s.site_url=="string"&&(n=se(n,"auth","site_url",nh(s.site_url))),Array.isArray(s.additional_redirect_urls)&&(n=se(n,"auth","additional_redirect_urls",H0(s.additional_redirect_urls))),typeof s.jwt_expiry=="number"&&(n=se(n,"auth","jwt_expiry",String(s.jwt_expiry))),typeof s.enable_signup=="boolean"&&(n=se(n,"auth","enable_signup",String(s.enable_signup))),typeof s.enable_anonymous_sign_ins=="boolean"&&(n=se(n,"auth","enable_anonymous_sign_ins",String(s.enable_anonymous_sign_ins))),typeof s.minimum_password_length=="number"&&(n=se(n,"auth","minimum_password_length",String(s.minimum_password_length))),typeof i.enable_confirmations=="boolean"&&(n=se(n,"auth.email","enable_confirmations",String(i.enable_confirmations))),await fe__default.writeFile(r,n,"utf-8");}var O0,I0,Ci,sh=y(()=>{jr();O0=["bunx","supabase@2.98.1"],I0=["mailpit","realtime","storage-api","imgproxy","edge-runtime","logflare","vector","supavisor"];Ci=class e{constructor(t,r,n,s){this.workdir=t;this.projectId=r;this.status=n;this.cleanupOnStop=s;}stopped=false;static async start(t={}){let r=t.workdir??await fe__default.mkdtemp(z__default.join(Vw.tmpdir(),"lite-local-supa-")),n=t.projectId??`lite-local-${Date.now().toString(36)}`,s=t.cleanupOnStop??!t.workdir,i=await j0();try{await B0(r),await q0(r,n,i),await W0(r,t.sourceConfig),await Cn(["start","--workdir",r,"--yes","--exclude",I0.join(",")],{timeoutMs:5*6e4});let{stdout:o}=await Cn(["status","--workdir",r,"-o","json"],{timeoutMs:6e4});return new e(r,n,L0(o),s)}catch(o){throw await Cn(["stop","--workdir",r,"--no-backup"],{timeoutMs:12e4}).catch(()=>{}),s&&await fe__default.rm(r,{recursive:true,force:true}).catch(()=>{}),o}}async runSql(t){let{createPostgresConnection:r}=await Ye("@supabase/lite/postgres","postgres","postgres"),n=r({url:this.status.dbUrl});try{await n.exec(t);}finally{await n.close();}}async stop(){this.stopped||(this.stopped=true,await Cn(["stop","--workdir",this.workdir,"--no-backup"],{timeoutMs:12e4}).catch(()=>{}),this.cleanupOnStop&&await fe__default.rm(this.workdir,{recursive:true,force:true}));}};});async function Pi(){let e=await vn({message:"Email",placeholder:"Enter your email",validate:t=>{try{au(t,{domains:["supabase.io"],panic:!0});return}catch(r){return r}}});return Se(e)&&process.exit(1),e}async function ki(e=false){let t=await _n({message:"Password",validate:r=>{try{lu(r,{panic:!0});return}catch(n){return n}}});if(Se(t)&&process.exit(1),e){let r=await _n({message:"Confirm Password",validate:n=>{try{if(n!==t)throw new Error("Passwords do not match");return}catch(s){return s}}});Se(r)&&process.exit(1);}return t}async function ih(){let e=await vn({message:"Project Name",placeholder:"Enter your project name"});return Se(e)&&process.exit(1),e}async function Ni(e){let t=await En({message:e,initialValue:true});return Se(t)&&process.exit(1),t}var mr=y(()=>{Ze();Cr();});async function V0(){return dr||(dr=await import('@sentry/node')),dr}function K0(){if(ah)return;ah=true;let e=process.exit.bind(process),t=false;process.exit=(r=>{if(t)return;t=true,Oi((r??0)!==0).finally(()=>e(r));});}function uh(e){if(e)return false;let t=process.env.LITE_TELEMETRY;if(t==="0"||t==="false")return false;let r=process.env.DO_NOT_TRACK;return !(r==="1"||r==="true"||process.env.CI||process.env.LOCAL)}function Y0(){let e=process.versions;return e.bun?"bun":e.deno?"deno":"node"}function J0(){if(process.env.CODESPACES)return "codespaces";if(process.env.REMOTE_CONTAINERS)return "devcontainer";try{return statSync("/.dockerenv"),"docker"}catch{return}}function X0(e){let t=e/1e6;return t<1?"<1MB":t<10?"1-10MB":t<100?"10-100MB":t<1e3?"100MB-1GB":">1GB"}function Q0(e,t){if(e==="sqlite"||e==="sqlite-postgres"||e==="pglite")return !t||t===":memory:"||t.startsWith("file::memory:")?e==="pglite"&&!t?void 0:"memory":t.startsWith("file:")?"file":void 0;if(e==="postgres"){if(!t)return;try{let r=new URL(t).hostname;return r==="localhost"||r==="127.0.0.1"||r==="::1"?"local":"remote"}catch{return "remote"}}}function Z0(){try{let e=z__default.resolve(process.cwd(),$e.config_dir,"config.toml"),t;try{t=readFileSync(e,"utf-8");}catch{return {}}let r;try{r=_t(t);}catch{return {}}let n=r.db?.driver,s=n==="sqlite"||n==="sqlite-postgres"||n==="pglite"||n==="postgres"?n:"sqlite-postgres",i=r.db?.url??$e.default_db_url,o=Q0(s,i),a;if(o==="file"&&i.startsWith("file:"))try{let l=i.startsWith("file://")?i.slice(7):i.slice(5),c=z__default.resolve(process.cwd(),l);a=statSync(c).size;}catch{}return {driver:s,location:o,sizeBytes:a}}catch{return {}}}async function ph(e){if(Pn)return;Pn=true;let t=await V0(),{version:r}=await Gn();t.init({dsn:G0,release:`@supabase/lite@${r}`,sendDefaultPii:false,defaultIntegrations:false,integrations:[t.httpIntegration()],tracesSampleRate:1,tracePropagationTargets:["sentry.io"],beforeSend(i){return delete i.server_name,i.user&&delete i.user.ip_address,i},beforeSendTransaction(i){return delete i.server_name,i.user&&delete i.user.ip_address,i}}),t.setTag("command",e.command),t.setTag("runtime",Y0()),t.setTag("node",process.version),t.setTag("platform",process.platform),t.setTag("arch",process.arch),t.setTag("ci",!!process.env.CI);let n=J0();n&&t.setTag("container",n);try{let{determineAgent:i}=await import('@vercel/detect-agent'),o=await i();o.isAgent&&t.setTag("agent",o.agent.name);}catch{}let s=Z0();s.driver&&t.setTag("db.driver",s.driver),s.location&&t.setTag("db.location",s.location),typeof s.sizeBytes=="number"&&t.setTag("db.size",X0(s.sizeBytes));for(let[i,o]of Object.entries(e.args))t.setTag(`arg.${i}`,!!o);t.startSession(),ch=true,qt=t.startInactiveSpan({name:`cli:${e.command}`,op:"cli.command",forceTransaction:true}),K0();}async function Oi(e,t){if(!Pn)return;let r=dr;try{if(e&&(r.setTag("status","failed"),t instanceof Error&&r.setTag("error_class",t.constructor.name)),qt&&(qt.setStatus({code:e?2:1,message:e?"internal_error":"ok"}),qt.end(),qt=void 0),ch){let n=r.getCurrentScope().getSession();n&&e&&(n.status="crashed"),r.endSession();}}finally{await r.flush(2e3).catch(()=>{});}}function kn(e,t){if(!Pn)return Promise.resolve(t());let r=dr,n=()=>r.startSpan({name:e,op:"cli.step"},t);return qt?r.withActiveSpan(qt,n):n()}function zl(e,t){Pn&&dr.setTag(e,t);}var G0,dr,Pn,ch,qt,ah,Gl=y(()=>{_r();Vt();Ee();G0="https://9562525a4ea320539ea7e94859533a17@o398706.ingest.us.sentry.io/4511381939290112";Pn=false,ch=false,ah=false;});var hh={};de(hh,{isNonInteractive:()=>Vl,resolveSessionMigration:()=>dh,resolveTarget:()=>mh,upgrade:()=>cv});async function rv(e,t){let r=await e.listOrganizations();if(r.length===0)throw new Error("No Supabase organizations found for this token");if(t){let s=r.find(i=>i.id===t||i.slug===t);if(!s)throw new Error(`Organization not found: ${t}`);return s}if(r.length===1)return r[0];let n=await xn({message:"Select organization",options:r.map(s=>({value:s.id,label:`${s.name} (${s.slug})`}))});return Se(n)&&process.exit(1),r.find(s=>s.id===n)}async function sv(e,t,r){if(r)return r;let n=nv;try{let o=(await e.listRegions(t)).regions??[];o.length>0&&(n=o.map(a=>({key:a.key,label:a.display_name??a.name??a.key})));}catch{}let s=await xn({message:"Select region",options:n.map(i=>({value:i.key,label:i.label}))});return Se(s)&&process.exit(1),s}async function iv(e){if(e)return e;let t=await vn({message:"Project name",placeholder:"my-project",validate:r=>r&&r.trim().length>0?void 0:"Name is required"});return Se(t)&&process.exit(1),t}function ov(){return ev.randomBytes(24).toString("base64url")}function mh(e){let t=e??"hosted";if(t==="hosted"||t==="local")return t;throw new Error(`Unknown upgrade target '${t}'. Use 'hosted' or 'local'.`)}function Vl(){return process.env.CI==="true"||process.env.LITE_NON_INTERACTIVE==="1"||!process.stdin.isTTY}async function av(e){if(typeof e=="boolean")return e;if(Vl())return false;let t=await En({message:"Migrate existing sessions (transfers JWT secret, sessions, refresh tokens)?",initialValue:false});return Se(t)&&process.exit(1),t}async function lv(e){if(e)return e;let t=process.env.SUPABASE_ACCESS_TOKEN;if(t)return t;J.info("Create a personal access token at https://supabase.com/dashboard/account/tokens");let r=await _n({message:"Supabase access token",validate:n=>n&&n.trim().length>0?void 0:"Token is required"});return Se(r)&&process.exit(1),r}async function dh(e){if(!e.requested)return {migrateSessions:false,weakReasons:[]};if(!e.jwtSecret)throw new Error("Cannot migrate sessions because auth.jwt_secret is not configured. Re-run with --no-migrate-sessions to skip session migration.");let t=Hd(e.jwtSecret);if(t.strong||e.allowWeakJwtSecret)return {migrateSessions:true,jwtSecret:e.jwtSecret,weakReasons:t.reasons};if(Vl())throw new Error(["Cannot migrate sessions because auth.jwt_secret looks weak:",...t.reasons.map(n=>`- ${n}`),"Use --allow-weak-jwt-secret to preserve existing sessions anyway, or --no-migrate-sessions to require users to sign in again."].join(`
|
|
378
|
+
`));J.warning(["auth.jwt_secret looks weak and will become a trusted Supabase signing key:",...t.reasons.map(n=>`- ${n}`)].join(`
|
|
379
|
+
`));let r=await En({message:"Preserve existing sessions anyway by importing this JWT secret?",initialValue:false});return Se(r)&&process.exit(1),r?{migrateSessions:true,jwtSecret:e.jwtSecret,weakReasons:t.reasons}:{migrateSessions:false,weakReasons:t.reasons}}var xe,nv,cv,gh=y(()=>{xe=te(ie());Ze();Le();Ce();dd();_d();jd();Bd();zd();Vd();Zd();sh();mr();Gl();Ee();nv=[{key:"us-east-1",label:"East US (N. Virginia)"},{key:"us-east-2",label:"East US (Ohio)"},{key:"us-west-1",label:"West US (N. California)"},{key:"us-west-2",label:"West US (Oregon)"},{key:"ca-central-1",label:"Canada (Central)"},{key:"sa-east-1",label:"South America (S\xE3o Paulo)"},{key:"eu-west-1",label:"West EU (Ireland)"},{key:"eu-west-2",label:"West Europe (London)"},{key:"eu-west-3",label:"West EU (Paris)"},{key:"eu-central-1",label:"Central EU (Frankfurt)"},{key:"eu-central-2",label:"Central Europe (Zurich)"},{key:"eu-north-1",label:"North EU (Stockholm)"},{key:"ap-south-1",label:"South Asia (Mumbai)"},{key:"ap-southeast-1",label:"Southeast Asia (Singapore)"},{key:"ap-southeast-2",label:"Oceania (Sydney)"},{key:"ap-northeast-1",label:"Northeast Asia (Tokyo)"},{key:"ap-northeast-2",label:"Northeast Asia (Seoul)"}];cv=e=>e.command("upgrade").description("[lite] Upgrade this Supalite project to full Supabase").option("--dry-run","Check readiness without making changes",false).option("--force","Perform the upgrade",false).option("--target <target>","'hosted' or 'local' Supabase target","hosted").option("--mode <mode>","'user' or 'platform' (only 'user' is supported)","user").option("--org-id <id>","Supabase organization ID or slug").option("--region <region>","Project region key").option("--project-name <name>","Name for the new Supabase project").option("--supabase-token <token>","Supabase personal access token").option("--local-dir <path>","Supabase CLI workdir for --target local").option("--migrate-sessions","Transfer existing sessions, refresh tokens, and JWT secret so current tokens keep working").option("--no-migrate-sessions","Skip sessions, refresh tokens, and JWT secret").option("--allow-weak-jwt-secret","Allow --migrate-sessions to import a weak JWT secret non-interactively",false).option("--dump-credentials <path>","Write credentials to a file").option("--config <config>","Path to the local config file").option("--verbose","Echo each SQL statement sent to Supabase",false).option("--json","Emit machine-readable JSON for --dry-run",false).helpGroup("Management APIs:").action(async t=>{let r=t.dryRun&&t.json,n=console.log;r||console.log(),await ee(async()=>{await Q(t.config);let s=mh(t.target);if(zl("upgrade.target",s),zl("upgrade.dry_run",!!t.dryRun),s==="hosted"&&t.localDir)throw new Error("--local-dir can only be used with --target local.");if(s==="hosted"&&t.mode&&t.mode!=="user")throw new Error(`Mode '${t.mode}' is not yet supported. Only 'user' mode is available.`);if(s==="local"&&t.mode&&t.mode!=="user")throw new Error("--mode only applies to hosted upgrades.");r&&(console.log=()=>{});let i;try{i=await(await K({withSupabaseClient:!1})).project.local.createApp(t.config);}finally{r&&(console.log=n);}if(r){let w=await Hl(i);n(JSON.stringify(w,null,2)),w.summary.upgrade_safe||process.exit(1);return}console.log(xe.default.dim("Running readiness checks..."));let o=await kn("readiness",()=>Ed(i));if(Fd(o),!o.ok)throw new Error("Readiness checks failed. See errors above.");let a=async()=>{console.log(xe.default.dim(`
|
|
380
|
+
Rehearsing upgrade against in-memory pglite...`));let w=await kn("rehearsal",()=>Dd(i));return Md(w),w.ok};if(t.dryRun){let w=await Hl(i);Ud(w),w.summary.upgrade_safe||process.exit(1),await a()||process.exit(1);return}if(!t.force&&!await Ni("Proceed with upgrade?"))return;if(!await a())throw new Error("Rehearsal failed. Upgrade aborted.");if(s==="local"){if(t.migrateSessions===!0)throw new Error("--target local does not support preserving existing sessions yet. Re-run with --no-migrate-sessions.");let w=z__default.resolve(t.localDir??rh()),L=Pl();L.start(`Starting local Supabase in ${w}`);let T=await Ci.start({workdir:w,cleanupOnStop:!1,sourceConfig:i.config});L.stop(`Local Supabase is running at ${T.status.apiUrl}`);let q=await kn("apply",()=>Wl(i,T,{migrateSessions:!1,authTarget:"supabase",syncAuthConfig:!1,onSql:(U,j)=>{t.verbose&&console.log(xe.default.dim(`-- ${j}
|
|
381
|
+
${U}`));},onSchemaStart:U=>L.start(`Applying schema (0/${U})`),onSchemaProgress:(U,j)=>L.message(`Applying schema (${U}/${j})`),onSchemaEnd:U=>L.stop(`Schema applied (${U} statements)`),onBatchStart:(U,j)=>L.start(`${U} (0/${j})`),onBatchProgress:(U,j,V)=>L.message(`${U} (${j}/${V})`),onBatchEnd:(U,j,V)=>L.stop(`${U} (${j} ${V})`),onBatchFailure:(U,j)=>{L.stop(xe.default.red(`${U}: ${j.length} failed`));for(let V of j)console.log(xe.default.red(` \u2717 ${V.error}`)),t.verbose&&console.log(xe.default.dim(` ${V.statement}`));},onSkip:U=>console.log(xe.default.dim(U))})),E=["Sessions and JWT secret not migrated. Existing tokens are invalid \u2014 users must re-authenticate.","Management API auth config sync is skipped for --target local; supported local auth settings are written before Supabase starts."];i.config.storage?.enabled&&E.push("Storage migration is not yet supported."),i.config.realtime?.enabled&&E.push("Realtime config migration is not yet supported.");let _=th(T.status.dbUrl);if(t.dumpCredentials){let U=JSON.stringify({target:"local",workdir:T.workdir,projectUrl:T.status.apiUrl,apiUrl:T.status.apiUrl,studioUrl:T.status.studioUrl,dbUrl:T.status.dbUrl,anonKey:T.status.anonKey,serviceRoleKey:T.status.serviceRoleKey,dbPassword:_},null,2);await fe__default.writeFile(t.dumpCredentials,U,"utf-8"),console.log(xe.default.dim(`Credentials written to ${t.dumpCredentials}`));}Ul({projectRef:T.projectId,projectUrl:T.status.apiUrl,apiUrl:T.status.apiUrl,studioUrl:T.status.studioUrl,anonKey:T.status.anonKey,serviceRoleKey:T.status.serviceRoleKey,dbPassword:_,auth:q.auth,jwtMigrated:!1,warnings:[`Local Supabase workdir: ${T.workdir}`,...E]});return}let c=await lv(t.supabaseToken),u=new hi(c);try{await u.listOrganizations();}catch(w){throw new Error(`Supabase access token rejected: ${String(w)}`)}let p=await rv(u,t.orgId),f=await sv(u,p.slug,t.region),h=await iv(t.projectName),d=await av(t.migrateSessions),m=await dh({requested:d,jwtSecret:i.config.auth?.jwt_secret,allowWeakJwtSecret:t.allowWeakJwtSecret}),b=m.migrateSessions,g=ov(),S=Pl();S.start("Creating Supabase project");let A=await u.createProject({organization_id:p.id,name:h,db_pass:g,region:f}),v=A.ref??A.id;if(S.stop(`Project created: ${v}`),S.start("Waiting for project to become active"),await u.waitForActive(v,{onTick:w=>S.message(`Project status: ${w}`)}),S.stop("Project is active"),b){S.start("Importing JWT signing key");try{await u.createSigningKey(v,{algorithm:"HS256",status:"in_use",private_jwk:Wd(m.jwtSecret)});}catch(w){throw S.stop(xe.default.red("JWT signing key import failed")),new Error(["Session migration is not available for this Supabase project, token, or plan.","The upgrade cannot preserve existing Supalite sessions without importing auth.jwt_secret as a signing key.","Re-run with --no-migrate-sessions if requiring users to sign in again is acceptable.",`Supabase response: ${String(w)}`].join(" "))}S.stop("JWT signing key imported");}let N=(await kn("apply",()=>Wl(i,{runSql:w=>u.runSql(v,w),updateAuthConfig:w=>u.updateAuthConfig(v,w)},{migrateSessions:b,authTarget:"supabase",onSql:(w,L)=>{t.verbose&&console.log(xe.default.dim(`-- ${L}
|
|
382
|
+
${w}`));},onSchemaStart:w=>S.start(`Applying schema (0/${w})`),onSchemaProgress:(w,L)=>S.message(`Applying schema (${w}/${L})`),onSchemaEnd:w=>S.stop(`Schema applied (${w} statements)`),onBatchStart:(w,L)=>{S.start(`${w} (0/${L})`);},onBatchProgress:(w,L,T)=>S.message(`${w} (${L}/${T})`),onBatchEnd:(w,L,T)=>S.stop(`${w} (${L} ${T})`),onBatchFailure:(w,L)=>{S.stop(xe.default.red(`${w}: ${L.length} failed`));for(let T of L)console.log(xe.default.red(` \u2717 ${T.error}`)),t.verbose&&console.log(xe.default.dim(` ${T.statement}`));},onAuthConfigStart:()=>S.start("Syncing auth config"),onAuthConfigEnd:()=>S.stop("Auth config synced"),onSkip:w=>console.log(xe.default.dim(w))}))).auth,$=md(await u.getApiKeys(v)),x=`https://${v}.${u.projectDomain}`,I=[];if(b?m.weakReasons.length>0?I.push(`A weak JWT secret was imported to preserve sessions: ${m.weakReasons.join("; ")}.`):I.push("Sessions preserved by importing auth.jwt_secret as a Supabase signing key."):I.push("Sessions and JWT secret not migrated. Existing tokens are invalid \u2014 users must re-authenticate."),i.config.storage?.enabled&&I.push("Storage migration is not yet supported."),i.config.realtime?.enabled&&I.push("Realtime config migration is not yet supported."),t.dumpCredentials){let w=JSON.stringify({ref:v,projectUrl:x,anonKey:$.anon,serviceRoleKey:$.service_role,dbPassword:g},null,2);await fe__default.writeFile(t.dumpCredentials,w,"utf-8"),console.log(xe.default.dim(`Credentials written to ${t.dumpCredentials}`));}Ul({projectRef:v,projectUrl:x,apiUrl:x,anonKey:$.anon,serviceRoleKey:$.service_role,dbPassword:g,auth:N,jwtMigrated:!!(b&&m.jwtSecret),warnings:I});});});});var yh={};de(yh,{login:()=>uv});var Kl,uv,wh=y(()=>{Kl=te(ie());Ze();mr();Le();Ce();uv=e=>{e.command("login").description("Login").option("--json","Output in JSON format").helpGroup("Local Development:").action(async t=>{await ee(async()=>{let r=await K();J.message(Kl.default.dim("Enter your credentials to login to the cloud"));let n=await Pi(),s=await ki(),{data:i,error:o}=await r.client.auth.signInWithPassword({email:n,password:s});o&&(J.error(o.message),process.exit(1)),t.json?console.log(JSON.stringify(i,null,2)):J.success(`Authenticated as: ${Kl.default.cyan(i.user.email)}`);});});};});var Sh={};de(Sh,{logout:()=>pv});var bh,pv,Eh=y(()=>{bh=te(ie());Ce();Ze();Le();pv=e=>{e.command("logout").description("Logout").helpGroup("Local Development:").action(async()=>{console.log(),await ee(async()=>{let t=await K(),{error:r}=await t.client.auth.signOut();r&&(J.error(r.message),process.exit(1)),console.log(bh.default.green("Logged out successfully"));});});};});var _h={};de(_h,{signup:()=>fv});var Yl,fv,xh=y(()=>{Yl=te(ie());Ze();mr();Le();Ce();Qe();fv=e=>{e.command("signup").description(ye("Register a supalite cloud account")).option("--json","Output in JSON format").helpGroup("Local Development:").action(async t=>{J.message(Yl.default.dim("Enter your credentials to sign up to the cloud")),await ee(async()=>{let r=await K(),n=await Pi(),s=await ki(!0),{data:i,error:o}=await r.client.auth.signUp({email:n,password:s});o&&(J.error(o.message),process.exit(1)),t.json?console.log(JSON.stringify(i,null,2)):J.success(`Signed up as: ${Yl.default.cyan(i.user.email)}`);});});};});var vh={};de(vh,{whoami:()=>mv});var Jl,mv,$h=y(()=>{Jl=te(ie());Ce();Ze();Le();Qe();mv=e=>{e.command("whoami").description(ye("Show the current authenticated user")).option("--json","Output in JSON format").helpGroup("Local Development:").action(async t=>{console.log(),await ee(async()=>{let r=await K(),{data:n,error:s}=await r.client.auth.getUser();t.json?console.log(JSON.stringify(n,null,2)):n&&"user"in n&&n.user&&"email"in n.user?(console.log(`Authenticated as: ${Jl.default.cyan(n.user.email)}`),process.exit(0)):(console.log(Jl.default.yellow("Not authenticated")),process.exit(1)),s&&(J.error(s.message),process.exit(1));});});};});var Ah={};de(Ah,{link:()=>dv});var Th,dv,Ch=y(()=>{Le();Ce();Ee();Ze();Th=te(ie()),dv=e=>e.command("link").description("Link to a Supalite project").option("--project-ref <project-ref>","The reference of the project to link to").option("--json","Output in JSON format").helpGroup("Local Development:").action(async t=>{console.log(),await ee(async()=>{await Q();let r=await K();r.project.local.ref()&&J.warning("Project is already linked.");let n=t.projectRef;if(!n){let i=await r.project.remote.list();n=await xn({message:"Select a project:",options:i.map(o=>({value:o.id,hint:`name: ${o.name}, created: ${o.created_at}`}))}),Se(n)&&process.exit(1);}if(!n)throw new Error("No project ref found");console.log("Linking project",n);let s=await r.project.remote.get(n);r.project.local.setRef(s.id),console.log(`Finished linking project ${Th.default.cyan(s.id)}.`);});});});var Rh={};de(Rh,{unlink:()=>hv});var hv,Ph=y(()=>{Le();Ce();Ee();hv=e=>e.command("unlink").description("Unlink from a Supalite project").option("--json","Output in JSON format").helpGroup("Local Development:").action(async()=>{console.log(),await ee(async()=>{await Q(),(await K()).project.local.unlink(),console.log("Finished unlinking project.");});});});var Nh={};de(Nh,{status:()=>gv});var kh,gv,Oh=y(()=>{Ce();Le();Ee();kh=te(ie());Qe();gv=e=>e.command("status").description(ye("Show information about the linked project")).helpGroup("Local Development:").action(async()=>{console.log(),await ee(async()=>{await Q();let t=await K(),r=await t.project.remote.get();console.log(r),console.log(`Project URL: ${kh.default.cyan(t.project.remote.url(r.id))}`);});});});var Lh={};de(Lh,{projects:()=>yv});var Xl,yv,wv,bv,Dh=y(()=>{mr();Ze();Xl=te(ie());Le();Ce();Le();yv=e=>{e.command("projects").description("Manage Supalite cloud projects").helpGroup("Management APIs:").addCommand(bv).addCommand(wv);},wv=new Command$1().name("list").description("List projects").helpGroup("Projects:").action(async()=>{await ee(async()=>{let t=await(await K()).project.remote.list();(!Array.isArray(t)||t.length===0)&&(J.info("No projects found"),process.exit(0)),console.log(rd(t,{omitKeys:["config","user_id"],renderHeader:r=>String(r).split("_").map(n=>n.toUpperCase()).join(" ")}));});}),bv=new Command$1().name("create").description("Create a project").option("--name <name>","The name of the project").helpGroup("Projects:").action(async e=>{await ee(async()=>{let t=await K(),r=e.name??await ih(),n=await t.project.remote.create({name:r});J.success(`Project ${Xl.default.cyan(n.name)} created: ${Xl.default.cyan(n.id)}`);});});});function Sv(){try{return Mn.statSync("/.dockerenv"),!0}catch{return false}}function Ev(){try{return Mn.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return false}}function Zl(){return Ql===void 0&&(Ql=Sv()||Ev()),Ql}var Ql,Fh=y(()=>{});function Ht(){return ec===void 0&&(ec=xv()||Zl()),ec}var ec,xv,tc=y(()=>{Fh();xv=()=>{try{return Mn.statSync("/run/.containerenv"),!0}catch{return false}};});var Mh,at,nc=y(()=>{tc();Mh=()=>{if(ze.platform!=="linux")return false;if(Vw.release().toLowerCase().includes("microsoft"))return !Ht();try{if(Mn.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft"))return !Ht()}catch{}return Mn.existsSync("/proc/sys/fs/binfmt_misc/WSLInterop")||Mn.existsSync("/run/WSL")?!Ht():false},at=ze.env.__IS_WSL_TEST__?Mh:Mh();});var Cv,sc,De,ic=y(()=>{Cv=promisify(Av.execFile),sc=()=>`${ze.env.SYSTEMROOT||ze.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,De=async(e,t={})=>{let{powerShellPath:r,...n}=t,s=De.encodeCommand(e);return Cv(r??sc(),[...De.argumentsPrefix,s],{encoding:"utf8",...n})};De.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];De.encodeCommand=e=>Buffer$1.from(e,"utf16le").toString("base64");De.escapeArgument=e=>`'${String(e).replaceAll("'","''")}'`;});function qh(e){for(let t of e.split(`
|
|
383
|
+
`)){if(/^\s*#/.test(t))continue;let r=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(t);if(r)return r.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var Hh=y(()=>{});var kv,Nv,Ov,Ii,Wh,Gh,Vh,Kh,Yh=y(()=>{nc();ic();Hh();nc();kv=promisify(Av.execFile),Nv=(()=>{let e="/mnt/",t;return async function(){if(t)return t;let r="/etc/wsl.conf",n=false;try{await fe__default.access(r,constants.F_OK),n=!0;}catch{}if(!n)return e;let s=await fe__default.readFile(r,{encoding:"utf8"}),i=qh(s);return i===void 0?e:(t=i,t=t.endsWith("/")?t:`${t}/`,t)}})(),Ov=async()=>`${await Nv()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,Ii=at?Ov:sc,Gh=async()=>(Wh??=(async()=>{try{let e=await Ii();return await fe__default.access(e,constants.X_OK),!0}catch{return false}})(),Wh),Vh=async()=>{let e=await Ii(),t=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:r}=await De(t,{powerShellPath:e});return r.trim()},Kh=async e=>{if(/^[a-z]+:\/\//i.test(e))return e;try{let{stdout:t}=await kv("wslpath",["-aw",e],{encoding:"utf8"});return t.trim()}catch{return e}};});function Wt(e,t,r){let n=s=>Object.defineProperty(e,t,{value:s,enumerable:true,writable:true});return Object.defineProperty(e,t,{configurable:true,enumerable:true,get(){let s=r();return n(s),s},set(s){n(s);}}),e}var Jh=y(()=>{});async function ac(){if(ze.platform!=="darwin")throw new Error("macOS only");let{stdout:e}=await jv("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),r=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(e)?.groups.id??"com.apple.Safari";return r==="com.apple.safari"?"com.apple.Safari":r}var jv,Xh=y(()=>{jv=promisify(execFile);});async function Qh(e,{humanReadableOutput:t=true,signal:r}={}){if(ze.platform!=="darwin")throw new Error("macOS only");let n=t?[]:["-ss"],s={};r&&(s.signal=r);let{stdout:i}=await Bv("osascript",["-e",e,n],s);return i.trim()}var Bv,Zh=y(()=>{Bv=promisify(execFile);});async function lc(e){return Qh(`tell application "Finder" to set app_path to application file id "${e}" as string
|
|
384
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var eg=y(()=>{Zh();});async function pc(e=Wv){let{stdout:t}=await e("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),r=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(t);if(!r)throw new cc(`Cannot find Windows browser in stdout: ${JSON.stringify(t)}`);let{id:n}=r.groups,s=n.lastIndexOf("."),i=n.lastIndexOf("-"),o=s===-1?void 0:n.slice(0,s),a=i===-1?void 0:n.slice(0,i);return Li[n]??Li[o]??Li[a]??{name:n,id:n}}var Wv,Li,uc,cc,fc=y(()=>{Wv=promisify(execFile),Li={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},uc=new Map(Object.entries(Li)),cc=class extends Error{};});async function dc(){if(ze.platform==="darwin"){let e=await ac();return {name:await lc(e),id:e}}if(ze.platform==="linux"){let{stdout:e}=await Vv("xdg-mime",["query","default","x-scheme-handler/http"]),t=e.trim();return {name:Kv(t.replace(/.desktop$/,"").replace("-"," ")),id:t}}if(ze.platform==="win32")return pc();throw new Error("Only macOS, Linux, and Windows are supported")}var Vv,Kv,tg=y(()=>{Xh();eg();fc();fc();Vv=promisify(execFile),Kv=e=>e.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,t=>t.toUpperCase());});var Yv,rg,ng=y(()=>{Yv=!!(ze.env.SSH_CONNECTION||ze.env.SSH_CLIENT||ze.env.SSH_TTY),rg=Yv;});function ag(e){if(typeof e=="string"||Array.isArray(e))return e;let{[ig]:t}=e;if(!t)throw new Error(`${ig} is not supported`);return t}function Nn({[hr]:e},{wsl:t}={}){if(t&&at)return ag(t);if(!e)throw new Error(`${hr} is not supported`);return ag(e)}var Di,gc,sg,hr,ig,og,ji,e$,gr,ug,pg=y(()=>{Yh();ic();Jh();tg();tc();ng();Di=Symbol("fallbackAttempt"),gc=import.meta.url?z__default.dirname(fileURLToPath(import.meta.url)):"",sg=z__default.join(gc,"xdg-open"),{platform:hr,arch:ig}=ze,og=async(e,t)=>{if(e.length===0)return;let r=[];for(let n of e)try{return await t(n)}catch(s){r.push(s);}throw new AggregateError(r,"Failed to open in all supported apps")},ji=async e=>{e={wait:false,background:false,newInstance:false,allowNonzeroExitCode:false,...e};let t=e[Di]===true;if(delete e[Di],Array.isArray(e.app))return og(e.app,c=>ji({...e,app:c,[Di]:true}));let{name:r,arguments:n=[]}=e.app??{};if(n=[...n],Array.isArray(r))return og(r,c=>ji({...e,app:{name:c,arguments:n},[Di]:true}));if(r==="browser"||r==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},p;if(at){let f=await Vh();p=uc.get(f)??{};}else p=await dc();if(p.id in c){let f=c[p.id.toLowerCase()];if(r==="browserPrivate"){if(f==="safari")throw new Error("Safari doesn't support opening in private mode via command line");n.push(u[f]);}return ji({...e,app:{name:gr[f],arguments:n}})}throw new Error(`${p.name} is not supported as a default browser`)}let s,i=[],o={},a=false;if(at&&!Ht()&&!rg&&!r&&(a=await Gh()),hr==="darwin")s="open",e.wait&&i.push("--wait-apps"),e.background&&i.push("--background"),e.newInstance&&i.push("--new"),r&&i.push("-a",r);else if(hr==="win32"||a){s=await Ii(),i.push(...De.argumentsPrefix),at||(o.windowsVerbatimArguments=true),at&&e.target&&(e.target=await Kh(e.target));let c=["$ProgressPreference = 'SilentlyContinue';","Start"];e.wait&&c.push("-Wait"),r?(c.push(De.escapeArgument(r)),e.target&&n.push(e.target)):e.target&&c.push(De.escapeArgument(e.target)),n.length>0&&(n=n.map(u=>De.escapeArgument(u)),c.push("-ArgumentList",n.join(","))),e.target=De.encodeCommand(c.join(" ")),e.wait||(o.stdio="ignore");}else {if(r)s=r;else {let c=!gc||gc==="/",u=false;try{await fe__default.access(sg,constants.X_OK),u=!0;}catch{}s=ze.versions.electron??(hr==="android"||c||!u)?"xdg-open":sg;}n.length>0&&i.push(...n),e.wait||(o.stdio="ignore",o.detached=true);}hr==="darwin"&&n.length>0&&i.push("--args",...n),e.target&&i.push(e.target);let l=Av.spawn(s,i,o);return e.wait?new Promise((c,u)=>{l.once("error",u),l.once("close",p=>{if(!e.allowNonzeroExitCode&&p!==0){u(new Error(`Exited with code ${p}`));return}c(l);});}):t?new Promise((c,u)=>{l.once("error",u),l.once("spawn",()=>{l.once("close",p=>{if(l.off("error",u),p!==0){u(new Error(`Exited with code ${p}`));return}l.unref(),c(l);});});}):(l.unref(),new Promise((c,u)=>{l.once("error",u),l.once("spawn",()=>{l.off("error",u),c(l);});}))},e$=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a `target`");return ji({...t,target:e})};gr={browser:"browser",browserPrivate:"browserPrivate"};Wt(gr,"chrome",()=>Nn({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));Wt(gr,"brave",()=>Nn({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));Wt(gr,"firefox",()=>Nn({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Wt(gr,"edge",()=>Nn({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Wt(gr,"safari",()=>Nn({darwin:"Safari"}));ug=e$;});var fg={};de(fg,{cloud:()=>s$});var je,n$,s$,mg=y(()=>{je=te(ie());pg();Le();Ce();mr();We();_i();zt();Ee();Qe();n$="Management APIs:",s$=e=>{let t=e.command("cloud").description(ye("Supalite cloud operations")).helpGroup(n$);t.command("deploy").description("Push schema + config + seed to the linked supalite cloud project").option("--config <config>","Path to the config file").option("--force","Force the push",false).action(async r=>{console.log();let n=Bi();n.length>0&&(console.error(je.default.red(`Cannot deploy: experimental features enabled (${n.join(", ")}). Cloud does not support them yet.`)),process.exit(1)),await ee(async()=>{await Q(r.config);let s=await K(),i=await s.project.local.createApp(r.config),o=!1;await mn(i,{force:!0});let a=await s.project.remote.get().catch(async()=>{if(await Ni("No project found. Create a new project?"))return o=!0,await s.project.remote.create().then(m=>s.project.local.link(m));throw new Error("No project found")}),l=await s.project.remote.createApp(a.id),c=await ge(i),u=l.connection.createMigrator(c),p=await u.diff();console.log(),ht(p);let f=l.getInfoJson(),h=i.getInfoJson();if(isEqual(f,h))console.log(je.default.dim("Project config is up to date"));else {if(!await s.project.remote.setConfig(a.id,h))throw new Error("Failed to update project config");console.log(je.default.green("Project config updated"));}let d=s.project.remote.url(a.id);if(p.plan.steps.length>0)try{if(await measureTime(async()=>{await u.migratePlan(p.plan,{force:r.force??!1});},m=>{console.log(je.default.green(`Pushed changes to project in ${m.toFixed(2)}ms.`));}),o)try{let m=await dn(l,{recoveryHint:"Fix `supabase/seed.sql` and rerun `lite cloud deploy` against the new project."});m>0&&console.log(je.default.green(`Seeded remote project (${m} statements).`));}catch(m){console.warn(je.default.yellow(String(m.message??m)));}console.log(`Project URL: ${je.default.cyan(d)}
|
|
385
|
+
`),o&&await ug(d);}catch(m){m instanceof Ei&&(console.warn(je.default.yellow("Migration would cause data loss. Rerun with --force to proceed.")),process.exit(1)),console.error(je.default.red("Migration error: "+String(m))),process.exit(1);}else console.log(je.default.green("No changes to push."));});}),t.command("diff").description("Diff local project against the linked supalite cloud project").option("--config <config>","Path to the config file").option("--sql","Show the SQL for the diff",false).action(async r=>{console.log(),await ee(async()=>{await Q(r.config);let n=await K(),s=await n.project.local.createApp(r.config);if(await mn(s,{force:!0}),!n.project.local.ref())throw new Error("No project linked");let i=await n.project.remote.get();if(!i)throw new Error("Project not found");let o=await n.project.remote.createApp(i.id),a=await ge(s),l=await o.connection.createMigrator(a).diff();if(l.plan.steps.length>0)if(r.sql){let c=hn(l,{colorize:!0});console.log(je.default.cyan(c));}else ht(l);else console.log(je.default.green("No changes to migrate."));});});};});var yr=te(ie());zt();var dg={init:()=>Promise.resolve().then(()=>(jc(),Dc)).then(e=>e.init),start:()=>Promise.resolve().then(()=>(Yp(),Kp)).then(e=>e.start),dev:()=>Promise.resolve().then(()=>(Pm(),Rm)).then(e=>e.dev),repl:()=>Promise.resolve().then(()=>(Nm(),km)).then(e=>e.repl),debug:()=>Promise.resolve().then(()=>(Im(),Om)).then(e=>e.debug),db:()=>Promise.resolve().then(()=>(ud(),cd)).then(e=>e.db),migration:()=>Promise.resolve().then(()=>(fd(),pd)).then(e=>e.migration),upgrade:()=>Promise.resolve().then(()=>(gh(),hh)).then(e=>e.upgrade)},i$={login:()=>Promise.resolve().then(()=>(wh(),yh)).then(e=>e.login),logout:()=>Promise.resolve().then(()=>(Eh(),Sh)).then(e=>e.logout),signup:()=>Promise.resolve().then(()=>(xh(),_h)).then(e=>e.signup),whoami:()=>Promise.resolve().then(()=>($h(),vh)).then(e=>e.whoami),link:()=>Promise.resolve().then(()=>(Ch(),Ah)).then(e=>e.link),unlink:()=>Promise.resolve().then(()=>(Ph(),Rh)).then(e=>e.unlink),status:()=>Promise.resolve().then(()=>(Oh(),Nh)).then(e=>e.status),projects:()=>Promise.resolve().then(()=>(Dh(),Lh)).then(e=>e.projects),cloud:()=>Promise.resolve().then(()=>(mg(),fg)).then(e=>e.cloud)};function o$(){return _c("cloud")?{...dg,...i$}:dg}async function hg(){let e=o$(),t=process.argv[2];return t&&Object.hasOwn(e,t)?[await e[t]()]:Promise.all(Object.values(e).map(r=>r()))}Ee();Gl();var yc=new Command;function l$(e){let t=[],r=e;for(;r&&r.name&&r.name()&&r.parent;)t.unshift(r.name()),r=r.parent;return t.join(" ")}async function c$(){let{version:e,name:t}=await Gn();yc.name("lite").description(`${yr.default.yellowBright("\u26A1")} ${t} v${e}`).version(e).option("--no-telemetry","disable anonymous usage telemetry").hook("preAction",async(r,n)=>{let s=r.opts?.()??{},i=typeof n.opts=="function"?n.opts():{};i.json&&i.dryRun||console.log(`${yr.default.green("\u26A1"+yr.default.bold("Supalite"))} ${yr.default.dim(yr.default.green("v"+e))}`),uh(s.telemetry===false)&&await ph({command:l$(n),args:i});});for(let r of await hg())r(yc);await yc.parseAsync(),await Oi(false);}c$().then(null).catch(async e=>{console.error(e),await Oi(true,e),process.exitCode=1;});
|
|
417
386
|
/*! Bundled license information:
|
|
418
387
|
|
|
419
388
|
smol-toml/dist/error.js:
|