@supabase/lite 0.3.1-next.1 → 0.3.1-next.2

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/dist/cli/lib.js CHANGED
@@ -9,7 +9,7 @@ import'pgsql-deparser';import*as rt from'node:path';import rt__default from'node
9
9
  };
10
10
  } catch {}
11
11
 
12
- var yi=Object.create;var De=Object.defineProperty;var bi=Object.getOwnPropertyDescriptor;var wi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Si=Object.prototype.hasOwnProperty;var L=(e,t)=>()=>(e&&(t=e(e=0)),t);var mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ei=(e,t)=>{for(var n in t)De(e,n,{get:t[n],enumerable:true});},Ti=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wi(t))!Si.call(e,i)&&i!==n&&De(e,i,{get:()=>t[i],enumerable:!(r=bi(t,i))||r.enumerable});return e};var $t=(e,t,n)=>(n=e!=null?yi(xi(e)):{},Ti(De(n,"default",{value:e,enumerable:true}),e));var vt=mt((Ul,Be)=>{var he=process||{},In=he.argv||[],me=he.env||{},$i=!(me.NO_COLOR||In.includes("--no-color"))&&(!!me.FORCE_COLOR||In.includes("--color")||he.platform==="win32"||(he.stdout||{}).isTTY&&me.TERM!=="dumb"||!!me.CI),Ni=(e,t,n=e)=>r=>{let i=""+r,s=i.indexOf(t,e.length);return ~s?e+vi(i,t,n,s)+t:e+i+t},vi=(e,t,n,r)=>{let i="",s=0;do i+=e.substring(s,r)+n,s=r+t.length,r=e.indexOf(t,s);while(~r);return i+e.substring(s)},jn=(e=$i)=>{let t=e?Ni:()=>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")}};Be.exports=jn();Be.exports.createColors=jn;});var jt=mt((Bu,pr)=>{var lr="[^\\\\/]",uo="(?=.)",cr="[^/]",en="(?:\\/|$)",ur="(?:^|\\/)",nn=`\\.{1,2}${en}`,fo="(?!\\.)",po=`(?!${ur}${nn})`,mo=`(?!\\.{0,1}${en})`,ho=`(?!${nn})`,go="[^.\\/]",yo=`${cr}*?`,bo="/",fr={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:uo,QMARK:cr,END_ANCHOR:en,DOTS_SLASH:nn,NO_DOT:fo,NO_DOTS:po,NO_DOT_SLASH:mo,NO_DOTS_SLASH:ho,QMARK_NO_DOT:go,STAR:yo,START_ANCHOR:ur,SEP:bo},wo={...fr,SLASH_LITERAL:"[\\\\/]",QMARK:lr,STAR:`${lr}*?`,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:"\\"},xo={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"};pr.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:xo,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?wo:fr}};});var Dt=mt(X=>{var{REGEX_BACKSLASH:So,REGEX_REMOVE_BACKSLASH:Eo,REGEX_SPECIAL_CHARS:To,REGEX_SPECIAL_CHARS_GLOBAL:Ao}=jt();X.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);X.hasRegexChars=e=>To.test(e);X.isRegexChar=e=>e.length===1&&X.hasRegexChars(e);X.escapeRegex=e=>e.replace(Ao,"\\$1");X.toPosixSlashes=e=>e.replace(So,"/");X.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};X.removeBackslashes=e=>e.replace(Eo,t=>t==="\\"?"":t);X.escapeLast=(e,t,n)=>{let r=e.lastIndexOf(t,n);return r===-1?e:e[r-1]==="\\"?X.escapeLast(e,t,r-1):`${e.slice(0,r)}\\${e.slice(r)}`};X.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n};X.wrapOutput=(e,t={},n={})=>{let r=n.contains?"":"^",i=n.contains?"":"$",s=`${r}(?:${e})${i}`;return t.negated===true&&(s=`(?:^(?!${s}).*$)`),s};X.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:"/"),r=n[n.length-1];return r===""?n[n.length-2]:r};});var xr=mt((Hu,wr)=>{var mr=Dt(),{CHAR_ASTERISK:rn,CHAR_AT:_o,CHAR_BACKWARD_SLASH:Ut,CHAR_COMMA:Co,CHAR_DOT:sn,CHAR_EXCLAMATION_MARK:on,CHAR_FORWARD_SLASH:br,CHAR_LEFT_CURLY_BRACE:an,CHAR_LEFT_PARENTHESES:ln,CHAR_LEFT_SQUARE_BRACKET:Ro,CHAR_PLUS:$o,CHAR_QUESTION_MARK:hr,CHAR_RIGHT_CURLY_BRACE:No,CHAR_RIGHT_PARENTHESES:dr,CHAR_RIGHT_SQUARE_BRACKET:vo}=jt(),gr=e=>e===br||e===Ut,yr=e=>{e.isPrefix!==true&&(e.depth=e.isGlobstar?1/0:1);},ko=(e,t)=>{let n=t||{},r=e.length-1,i=n.parts===true||n.scanToEnd===true,s=[],o=[],a=[],l=e,c=-1,u=0,h=0,d=false,b=false,w=false,E=false,_=false,N=false,x=false,V=false,Z=false,H=false,B=0,W,T,C={value:"",depth:0,isGlob:false},m=()=>c>=r,G=()=>l.charCodeAt(c+1),S=()=>(W=T,l.charCodeAt(++c));for(;c<r;){T=S();let P;if(T===Ut){x=C.backslashes=true,T=S(),T===an&&(N=true);continue}if(N===true||T===an){for(B++;m()!==true&&(T=S());){if(T===Ut){x=C.backslashes=true,S();continue}if(T===an){B++;continue}if(N!==true&&T===sn&&(T=S())===sn){if(d=C.isBrace=true,w=C.isGlob=true,H=true,i===true)continue;break}if(N!==true&&T===Co){if(d=C.isBrace=true,w=C.isGlob=true,H=true,i===true)continue;break}if(T===No&&(B--,B===0)){N=false,d=C.isBrace=true,H=true;break}}if(i===true)continue;break}if(T===br){if(s.push(c),o.push(C),C={value:"",depth:0,isGlob:false},H===true)continue;if(W===sn&&c===u+1){u+=2;continue}h=c+1;continue}if(n.noext!==true&&(T===$o||T===_o||T===rn||T===hr||T===on)===true&&G()===ln){if(w=C.isGlob=true,E=C.isExtglob=true,H=true,T===on&&c===u&&(Z=true),i===true){for(;m()!==true&&(T=S());){if(T===Ut){x=C.backslashes=true,T=S();continue}if(T===dr){w=C.isGlob=true,H=true;break}}continue}break}if(T===rn){if(W===rn&&(_=C.isGlobstar=true),w=C.isGlob=true,H=true,i===true)continue;break}if(T===hr){if(w=C.isGlob=true,H=true,i===true)continue;break}if(T===Ro){for(;m()!==true&&(P=S());){if(P===Ut){x=C.backslashes=true,S();continue}if(P===vo){b=C.isBracket=true,w=C.isGlob=true,H=true;break}}if(i===true)continue;break}if(n.nonegate!==true&&T===on&&c===u){V=C.negated=true,u++;continue}if(n.noparen!==true&&T===ln){if(w=C.isGlob=true,i===true){for(;m()!==true&&(T=S());){if(T===ln){x=C.backslashes=true,T=S();continue}if(T===dr){H=true;break}}continue}break}if(w===true){if(H=true,i===true)continue;break}}n.noext===true&&(E=false,w=false);let k=l,p="",f="";u>0&&(p=l.slice(0,u),l=l.slice(u),h-=u),k&&w===true&&h>0?(k=l.slice(0,h),f=l.slice(h)):w===true?(k="",f=l):k=l,k&&k!==""&&k!=="/"&&k!==l&&gr(k.charCodeAt(k.length-1))&&(k=k.slice(0,-1)),n.unescape===true&&(f&&(f=mr.removeBackslashes(f)),k&&x===true&&(k=mr.removeBackslashes(k)));let J={prefix:p,input:e,start:u,base:k,glob:f,isBrace:d,isBracket:b,isGlob:w,isExtglob:E,isGlobstar:_,negated:V,negatedExtglob:Z};if(n.tokens===true&&(J.maxDepth=0,gr(T)||o.push(C),J.tokens=o),n.parts===true||n.tokens===true){let P;for(let F=0;F<s.length;F++){let st=P?P+1:u,Y=s[F],ct=e.slice(st,Y);n.tokens&&(F===0&&u!==0?(o[F].isPrefix=true,o[F].value=p):o[F].value=ct,yr(o[F]),J.maxDepth+=o[F].depth),(F!==0||ct!=="")&&a.push(ct),P=Y;}if(P&&P+1<e.length){let F=e.slice(P+1);a.push(F),n.tokens&&(o[o.length-1].value=F,yr(o[o.length-1]),J.maxDepth+=o[o.length-1].depth);}J.slashes=s,J.parts=a;}return J};wr.exports=ko;});var Tr=mt((qu,Er)=>{var $e=jt(),it=Dt(),{MAX_LENGTH:Ne,POSIX_REGEX_SOURCE:Po,REGEX_NON_SPECIAL_CHARS:Lo,REGEX_SPECIAL_CHARS_BACKREF:Oo,REPLACEMENTS:Sr}=$e,Fo=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n);}catch{return e.map(i=>it.escapeRegex(i)).join("..")}return n},Tt=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,cn=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=Sr[e]||e;let n={...t},r=typeof n.maxLength=="number"?Math.min(Ne,n.maxLength):Ne,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},o=[s],a=n.capture?"":"?:",l=$e.globChars(n.windows),c=$e.extglobChars(l),{DOT_LITERAL:u,PLUS_LITERAL:h,SLASH_LITERAL:d,ONE_CHAR:b,DOTS_SLASH:w,NO_DOT:E,NO_DOT_SLASH:_,NO_DOTS_SLASH:N,QMARK:x,QMARK_NO_DOT:V,STAR:Z,START_ANCHOR:H}=l,B=y=>`(${a}(?:(?!${H}${y.dot?w:u}).)*?)`,W=n.dot?"":E,T=n.dot?x:V,C=n.bash===true?B(n):Z;n.capture&&(C=`(${C})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let m={input:e,index:-1,start:0,dot:n.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:o};e=it.removePrefix(e,m),i=e.length;let G=[],S=[],k=[],p=s,f,J=()=>m.index===i-1,P=m.peek=(y=1)=>e[m.index+y],F=m.advance=()=>e[++m.index]||"",st=()=>e.slice(m.index+1),Y=(y="",O=0)=>{m.consumed+=y,m.index+=O;},ct=y=>{m.output+=y.output!=null?y.output:y.value,Y(y.value);},di=()=>{let y=1;for(;P()==="!"&&(P(2)!=="("||P(3)==="?");)F(),m.start++,y++;return y%2===0?false:(m.negated=true,m.start++,true)},oe=y=>{m[y]++,k.push(y);},pt=y=>{m[y]--,k.pop();},$=y=>{if(p.type==="globstar"){let O=m.braces>0&&(y.type==="comma"||y.type==="brace"),g=y.extglob===true||G.length&&(y.type==="pipe"||y.type==="paren");y.type!=="slash"&&y.type!=="paren"&&!O&&!g&&(m.output=m.output.slice(0,-p.output.length),p.type="star",p.value="*",p.output=C,m.output+=p.output);}if(G.length&&y.type!=="paren"&&(G[G.length-1].inner+=y.value),(y.value||y.output)&&ct(y),p&&p.type==="text"&&y.type==="text"){p.output=(p.output||p.value)+y.value,p.value+=y.value;return}y.prev=p,o.push(y),p=y;},ae=(y,O)=>{let g={...c[O],conditions:1,inner:""};g.prev=p,g.parens=m.parens,g.output=m.output;let R=(n.capture?"(":"")+g.open;oe("parens"),$({type:y,value:O,output:m.output?"":b}),$({type:"paren",extglob:true,value:F(),output:R}),G.push(g);},gi=y=>{let O=y.close+(n.capture?")":""),g;if(y.type==="negate"){let R=C;if(y.inner&&y.inner.length>1&&y.inner.includes("/")&&(R=B(n)),(R!==C||J()||/^\)+$/.test(st()))&&(O=y.close=`)$))${R}`),y.inner.includes("*")&&(g=st())&&/^\.[^\\/.]+$/.test(g)){let I=cn(g,{...t,fastpaths:false}).output;O=y.close=`)${I})${R})`;}y.prev.type==="bos"&&(m.negatedExtglob=true);}$({type:"paren",extglob:true,value:f,output:O}),pt("parens");};if(n.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(e)){let y=false,O=e.replace(Oo,(g,R,I,z,M,je)=>z==="\\"?(y=true,g):z==="?"?R?R+z+(M?x.repeat(M.length):""):je===0?T+(M?x.repeat(M.length):""):x.repeat(I.length):z==="."?u.repeat(I.length):z==="*"?R?R+z+(M?C:""):C:R?g:`\\${g}`);return y===true&&(n.unescape===true?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,g=>g.length%2===0?"\\\\":g?"\\":"")),O===e&&n.contains===true?(m.output=e,m):(m.output=it.wrapOutput(O,m,t),m)}for(;!J();){if(f=F(),f==="\0")continue;if(f==="\\"){let g=P();if(g==="/"&&n.bash!==true||g==="."||g===";")continue;if(!g){f+="\\",$({type:"text",value:f});continue}let R=/^\\+/.exec(st()),I=0;if(R&&R[0].length>2&&(I=R[0].length,m.index+=I,I%2!==0&&(f+="\\")),n.unescape===true?f=F():f+=F(),m.brackets===0){$({type:"text",value:f});continue}}if(m.brackets>0&&(f!=="]"||p.value==="["||p.value==="[^")){if(n.posix!==false&&f===":"){let g=p.value.slice(1);if(g.includes("[")&&(p.posix=true,g.includes(":"))){let R=p.value.lastIndexOf("["),I=p.value.slice(0,R),z=p.value.slice(R+2),M=Po[z];if(M){p.value=I+M,m.backtrack=true,F(),!s.output&&o.indexOf(p)===1&&(s.output=b);continue}}}(f==="["&&P()!==":"||f==="-"&&P()==="]")&&(f=`\\${f}`),f==="]"&&(p.value==="["||p.value==="[^")&&(f=`\\${f}`),n.posix===true&&f==="!"&&p.value==="["&&(f="^"),p.value+=f,ct({value:f});continue}if(m.quotes===1&&f!=='"'){f=it.escapeRegex(f),p.value+=f,ct({value:f});continue}if(f==='"'){m.quotes=m.quotes===1?0:1,n.keepQuotes===true&&$({type:"text",value:f});continue}if(f==="("){oe("parens"),$({type:"paren",value:f});continue}if(f===")"){if(m.parens===0&&n.strictBrackets===true)throw new SyntaxError(Tt("opening","("));let g=G[G.length-1];if(g&&m.parens===g.parens+1){gi(G.pop());continue}$({type:"paren",value:f,output:m.parens?")":"\\)"}),pt("parens");continue}if(f==="["){if(n.nobracket===true||!st().includes("]")){if(n.nobracket!==true&&n.strictBrackets===true)throw new SyntaxError(Tt("closing","]"));f=`\\${f}`;}else oe("brackets");$({type:"bracket",value:f});continue}if(f==="]"){if(n.nobracket===true||p&&p.type==="bracket"&&p.value.length===1){$({type:"text",value:f,output:`\\${f}`});continue}if(m.brackets===0){if(n.strictBrackets===true)throw new SyntaxError(Tt("opening","["));$({type:"text",value:f,output:`\\${f}`});continue}pt("brackets");let g=p.value.slice(1);if(p.posix!==true&&g[0]==="^"&&!g.includes("/")&&(f=`/${f}`),p.value+=f,ct({value:f}),n.literalBrackets===false||it.hasRegexChars(g))continue;let R=it.escapeRegex(p.value);if(m.output=m.output.slice(0,-p.value.length),n.literalBrackets===true){m.output+=R,p.value=R;continue}p.value=`(${a}${R}|${p.value})`,m.output+=p.value;continue}if(f==="{"&&n.nobrace!==true){oe("braces");let g={type:"brace",value:f,output:"(",outputIndex:m.output.length,tokensIndex:m.tokens.length};S.push(g),$(g);continue}if(f==="}"){let g=S[S.length-1];if(n.nobrace===true||!g){$({type:"text",value:f,output:f});continue}let R=")";if(g.dots===true){let I=o.slice(),z=[];for(let M=I.length-1;M>=0&&(o.pop(),I[M].type!=="brace");M--)I[M].type!=="dots"&&z.unshift(I[M].value);R=Fo(z,n),m.backtrack=true;}if(g.comma!==true&&g.dots!==true){let I=m.output.slice(0,g.outputIndex),z=m.tokens.slice(g.tokensIndex);g.value=g.output="\\{",f=R="\\}",m.output=I;for(let M of z)m.output+=M.output||M.value;}$({type:"brace",value:f,output:R}),pt("braces"),S.pop();continue}if(f==="|"){G.length>0&&G[G.length-1].conditions++,$({type:"text",value:f});continue}if(f===","){let g=f,R=S[S.length-1];R&&k[k.length-1]==="braces"&&(R.comma=true,g="|"),$({type:"comma",value:f,output:g});continue}if(f==="/"){if(p.type==="dot"&&m.index===m.start+1){m.start=m.index+1,m.consumed="",m.output="",o.pop(),p=s;continue}$({type:"slash",value:f,output:d});continue}if(f==="."){if(m.braces>0&&p.type==="dot"){p.value==="."&&(p.output=u);let g=S[S.length-1];p.type="dots",p.output+=f,p.value+=f,g.dots=true;continue}if(m.braces+m.parens===0&&p.type!=="bos"&&p.type!=="slash"){$({type:"text",value:f,output:u});continue}$({type:"dot",value:f,output:u});continue}if(f==="?"){if(!(p&&p.value==="(")&&n.noextglob!==true&&P()==="("&&P(2)!=="?"){ae("qmark",f);continue}if(p&&p.type==="paren"){let R=P(),I=f;(p.value==="("&&!/[!=<:]/.test(R)||R==="<"&&!/<([!=]|\w+>)/.test(st()))&&(I=`\\${f}`),$({type:"text",value:f,output:I});continue}if(n.dot!==true&&(p.type==="slash"||p.type==="bos")){$({type:"qmark",value:f,output:V});continue}$({type:"qmark",value:f,output:x});continue}if(f==="!"){if(n.noextglob!==true&&P()==="("&&(P(2)!=="?"||!/[!=<:]/.test(P(3)))){ae("negate",f);continue}if(n.nonegate!==true&&m.index===0){di();continue}}if(f==="+"){if(n.noextglob!==true&&P()==="("&&P(2)!=="?"){ae("plus",f);continue}if(p&&p.value==="("||n.regex===false){$({type:"plus",value:f,output:h});continue}if(p&&(p.type==="bracket"||p.type==="paren"||p.type==="brace")||m.parens>0){$({type:"plus",value:f});continue}$({type:"plus",value:h});continue}if(f==="@"){if(n.noextglob!==true&&P()==="("&&P(2)!=="?"){$({type:"at",extglob:true,value:f,output:""});continue}$({type:"text",value:f});continue}if(f!=="*"){(f==="$"||f==="^")&&(f=`\\${f}`);let g=Lo.exec(st());g&&(f+=g[0],m.index+=g[0].length),$({type:"text",value:f});continue}if(p&&(p.type==="globstar"||p.star===true)){p.type="star",p.star=true,p.value+=f,p.output=C,m.backtrack=true,m.globstar=true,Y(f);continue}let y=st();if(n.noextglob!==true&&/^\([^?]/.test(y)){ae("star",f);continue}if(p.type==="star"){if(n.noglobstar===true){Y(f);continue}let g=p.prev,R=g.prev,I=g.type==="slash"||g.type==="bos",z=R&&(R.type==="star"||R.type==="globstar");if(n.bash===true&&(!I||y[0]&&y[0]!=="/")){$({type:"star",value:f,output:""});continue}let M=m.braces>0&&(g.type==="comma"||g.type==="brace"),je=G.length&&(g.type==="pipe"||g.type==="paren");if(!I&&g.type!=="paren"&&!M&&!je){$({type:"star",value:f,output:""});continue}for(;y.slice(0,3)==="/**";){let le=e[m.index+4];if(le&&le!=="/")break;y=y.slice(3),Y("/**",3);}if(g.type==="bos"&&J()){p.type="globstar",p.value+=f,p.output=B(n),m.output=p.output,m.globstar=true,Y(f);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&!z&&J()){m.output=m.output.slice(0,-(g.output+p.output).length),g.output=`(?:${g.output}`,p.type="globstar",p.output=B(n)+(n.strictSlashes?")":"|$)"),p.value+=f,m.globstar=true,m.output+=g.output+p.output,Y(f);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&y[0]==="/"){let le=y[1]!==void 0?"|$":"";m.output=m.output.slice(0,-(g.output+p.output).length),g.output=`(?:${g.output}`,p.type="globstar",p.output=`${B(n)}${d}|${d}${le})`,p.value+=f,m.output+=g.output+p.output,m.globstar=true,Y(f+F()),$({type:"slash",value:"/",output:""});continue}if(g.type==="bos"&&y[0]==="/"){p.type="globstar",p.value+=f,p.output=`(?:^|${d}|${B(n)}${d})`,m.output=p.output,m.globstar=true,Y(f+F()),$({type:"slash",value:"/",output:""});continue}m.output=m.output.slice(0,-p.output.length),p.type="globstar",p.output=B(n),p.value+=f,m.output+=p.output,m.globstar=true,Y(f);continue}let O={type:"star",value:f,output:C};if(n.bash===true){O.output=".*?",(p.type==="bos"||p.type==="slash")&&(O.output=W+O.output),$(O);continue}if(p&&(p.type==="bracket"||p.type==="paren")&&n.regex===true){O.output=f,$(O);continue}(m.index===m.start||p.type==="slash"||p.type==="dot")&&(p.type==="dot"?(m.output+=_,p.output+=_):n.dot===true?(m.output+=N,p.output+=N):(m.output+=W,p.output+=W),P()!=="*"&&(m.output+=b,p.output+=b)),$(O);}for(;m.brackets>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing","]"));m.output=it.escapeLast(m.output,"["),pt("brackets");}for(;m.parens>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing",")"));m.output=it.escapeLast(m.output,"("),pt("parens");}for(;m.braces>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing","}"));m.output=it.escapeLast(m.output,"{"),pt("braces");}if(n.strictSlashes!==true&&(p.type==="star"||p.type==="bracket")&&$({type:"maybe_slash",value:"",output:`${d}?`}),m.backtrack===true){m.output="";for(let y of m.tokens)m.output+=y.output!=null?y.output:y.value,y.suffix&&(m.output+=y.suffix);}return m};cn.fastpaths=(e,t)=>{let n={...t},r=typeof n.maxLength=="number"?Math.min(Ne,n.maxLength):Ne,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);e=Sr[e]||e;let{DOT_LITERAL:s,SLASH_LITERAL:o,ONE_CHAR:a,DOTS_SLASH:l,NO_DOT:c,NO_DOTS:u,NO_DOTS_SLASH:h,STAR:d,START_ANCHOR:b}=$e.globChars(n.windows),w=n.dot?u:c,E=n.dot?h:c,_=n.capture?"":"?:",N={negated:false,prefix:""},x=n.bash===true?".*?":d;n.capture&&(x=`(${x})`);let V=W=>W.noglobstar===true?x:`(${_}(?:(?!${b}${W.dot?l:s}).)*?)`,Z=W=>{switch(W){case "*":return `${w}${a}${x}`;case ".*":return `${s}${a}${x}`;case "*.*":return `${w}${x}${s}${a}${x}`;case "*/*":return `${w}${x}${o}${a}${E}${x}`;case "**":return w+V(n);case "**/*":return `(?:${w}${V(n)}${o})?${E}${a}${x}`;case "**/*.*":return `(?:${w}${V(n)}${o})?${E}${x}${s}${a}${x}`;case "**/.*":return `(?:${w}${V(n)}${o})?${s}${a}${x}`;default:{let T=/^(.*?)\.(\w+)$/.exec(W);if(!T)return;let C=Z(T[1]);return C?C+s+T[2]:void 0}}},H=it.removePrefix(e,N),B=Z(H);return B&&n.strictSlashes!==true&&(B+=`${o}?`),B};Er.exports=cn;});var Cr=mt((Gu,_r)=>{var Io=xr(),un=Tr(),Ar=Dt(),jo=jt(),Do=e=>e&&typeof e=="object"&&!Array.isArray(e),D=(e,t,n=false)=>{if(Array.isArray(e)){let u=e.map(d=>D(d,t,n));return d=>{for(let b of u){let w=b(d);if(w)return w}return false}}let r=Do(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=t||{},s=i.windows,o=r?D.compileRe(e,t):D.makeRe(e,t,false,true),a=o.state;delete o.state;let l=()=>false;if(i.ignore){let u={...t,ignore:null,onMatch:null,onResult:null};l=D(i.ignore,u,n);}let c=(u,h=false)=>{let{isMatch:d,match:b,output:w}=D.test(u,o,t,{glob:e,posix:s}),E={glob:e,state:a,regex:o,posix:s,input:u,output:w,match:b,isMatch:d};return typeof i.onResult=="function"&&i.onResult(E),d===false?(E.isMatch=false,h?E:false):l(u)?(typeof i.onIgnore=="function"&&i.onIgnore(E),E.isMatch=false,h?E:false):(typeof i.onMatch=="function"&&i.onMatch(E),h?E:true)};return n&&(c.state=a),c};D.test=(e,t,n,{glob:r,posix:i}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return {isMatch:false,output:""};let s=n||{},o=s.format||(i?Ar.toPosixSlashes:null),a=e===r,l=a&&o?o(e):e;return a===false&&(l=o?o(e):e,a=l===r),(a===false||s.capture===true)&&(s.matchBase===true||s.basename===true?a=D.matchBase(e,t,n,i):a=t.exec(l)),{isMatch:!!a,match:a,output:l}};D.matchBase=(e,t,n)=>(t instanceof RegExp?t:D.makeRe(t,n)).test(Ar.basename(e));D.isMatch=(e,t,n)=>D(t,n)(e);D.parse=(e,t)=>Array.isArray(e)?e.map(n=>D.parse(n,t)):un(e,{...t,fastpaths:false});D.scan=(e,t)=>Io(e,t);D.compileRe=(e,t,n=false,r=false)=>{if(n===true)return e.output;let i=t||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${e.output})${o}`;e&&e.negated===true&&(a=`^(?!${a}).*$`);let l=D.toRegex(a,t);return r===true&&(l.state=e),l};D.makeRe=(e,t={},n=false,r=false)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let i={negated:false,fastpaths:true};return t.fastpaths!==false&&(e[0]==="."||e[0]==="*")&&(i.output=un.fastpaths(e,t)),i.output||(i=un(e,t)),D.compileRe(i,t,n,r)};D.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(n){if(t&&t.debug===true)throw n;return /$^/}};D.constants=jo;_r.exports=D;});var vr=mt((Vu,Nr)=>{var Rr=Cr(),Uo=Dt();function $r(e,t,n=false){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:Uo.isWindows()}),Rr(e,t,n)}Object.assign($r,Rr);Nr.exports=$r;});function Ht(e){if("String"in e)return e.String.sval}function yt(e){return e.map(Ht).filter(t=>t!=null)}function Ir(e){return Object.keys(e)[0]}function jr(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 ke=L(()=>{});function Dr(e){let t=e.toLowerCase();return ["serial","serial4","bigserial","serial8","smallserial","serial2"].includes(t)}function Ur(e){let t=e.toLowerCase();return ["varchar","character varying","char","character","bpchar"].includes(t)}function Br(e){let t=e.toLowerCase();return ["numeric","decimal"].includes(t)}var mn,Pe,ca,hn=L(()=>{ke();mn=class extends Error{},Pe=class extends mn{constructor(n,r){super(r??`Unsupported node type: ${Ir(n)}`);this.node=n;}};ca={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"}},new Map(Object.entries(ca));});var Q,Le,Mr=L(()=>{ke();hn();Q=class extends Pe{constructor(t,n){super(t,`Unsupported expression: ${n}`);}},Le=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 n=Object.keys(t)[0],r=this[n];if(!r)throw new Q({[n]:t},`Unsupported expression: ${n}`);return r.call(this,t[n])}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 r=this.isJwtAccessor(t.A_Expr);return r||this.A_Expr(t.A_Expr)}if("BoolExpr"in t)return this.BoolExpr(t.BoolExpr);let n=Object.keys(t)[0];throw new Q({[n]:t},`deparseValue: ${n}`)}A_Expr(t){if(t.kind==="AEXPR_OP"){let n=t.name?.[0],r=n?Ht(n):void 0;if(!r)throw new Q({A_Expr:t},"A_Expr missing operator");let i=this.isJwtAccessor(t);if(i)return {[i]:{}};let s=t.lexpr?this.deparseValue(t.lexpr):void 0,o=t.rexpr?this.deparseValue(t.rexpr):void 0,a=this.mapOperator(r);if(!a)throw new Q({A_Expr:t},`Unsupported operator: ${r}`);let l=t.rexpr!=null&&"ColumnRef"in t.rexpr;if(typeof s=="string"&&s.startsWith("{{")&&l)return {[o]:{[a]:s}};let c=l&&typeof o=="string"?{$ref:o}:o;return {[s]:{[a]:c}}}if(t.kind==="AEXPR_LIKE"||t.kind==="AEXPR_ILIKE"){let n=t.lexpr?this.deparseValue(t.lexpr):void 0,r=t.rexpr?this.deparseValue(t.rexpr):void 0,s=(t.name?.[0]?Ht(t.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[n]:{[s]:r}}}if(t.kind==="AEXPR_IN"){let n=t.lexpr?this.deparseValue(t.lexpr):void 0,r=t.rexpr&&"List"in t.rexpr&&t.rexpr.List.items?t.rexpr.List.items.map(i=>this.deparseValue(i)):[];return {[n]:{$in:r}}}throw new Q({A_Expr:t},`A_Expr kind: ${t.kind}`)}BoolExpr(t){let n=t.args??[];switch(t.boolop){case "AND_EXPR":return {$and:n.map(r=>this.deparse(r))};case "OR_EXPR":return {$or:n.map(r=>this.deparse(r))};case "NOT_EXPR":return {$not:this.deparse(n[0])};default:throw new Q({BoolExpr:t},`BoolExpr op: ${t.boolop}`)}}NullTest(t){let n=t.arg?this.deparseValue(t.arg):void 0;return t.nulltesttype==="IS_NULL"?{[n]:{$is:null}}:{[n]:{$isNot:null}}}SubLink(t){if(t.subLinkType==="ANY_SUBLINK"){let n=t.testexpr?this.deparseValue(t.testexpr):void 0,r=t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0;return {[n]:{$in:r}}}if(t.subLinkType==="EXISTS_SUBLINK")return {$exists:t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0};if(t.subLinkType==="EXPR_SUBLINK"){let n=t.subselect?t.subselect.SelectStmt:void 0;if(n?.fromClause?.length)return this.SelectStmt(n);if(n?.targetList?.[0]){let r=n.targetList[0],i="ResTarget"in r?r.ResTarget:void 0;if(i?.val){let s=this.deparseValue(i.val);return s}}}throw new Q({SubLink:t},`SubLink type: ${t.subLinkType}`)}SelectStmt(t){let{from:n,schema:r,join:i}=this.deparseFromClause(t.fromClause??[]),s=[];for(let d of t.targetList??[]){let b="ResTarget"in d?d.ResTarget:void 0;if(b?.val){let w=this.deparseValue(b.val);Array.isArray(w)?s.push(...w.map(String)):w!=null&&w!==""&&s.push(String(w));}}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),h={type:"query",from:n,select:s};return r&&(h.schema=r),Object.keys(i).length>0&&(h.join=i),o&&(h.where=o),a.length>0&&(h.order=a),l!==void 0&&(h.limit=l),c!==void 0&&(h.offset=c),u.length>0&&(h.group=u),h}FuncCall(t){let n=this.isAuthFunc(t.funcname??[]);if(n)return n;throw new Q({FuncCall:t},`FuncCall: ${yt(t.funcname??[]).join(".")}`)}ColumnRef(t){let n=yt(t.fields??[]);return n.length===1?n[0]:n.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 Q({A_Const:t},"A_Const: unknown variant")}TypeCast(t){if(!t.arg)throw new Q({TypeCast:t},"TypeCast: missing arg");return this.deparseValue(t.arg)}BooleanTest(t){let n=t.arg?this.deparseValue(t.arg):void 0;return t.booltesttype==="IS_TRUE"?{[n]:{$eq:true}}:{[n]:{$eq:false}}}deparseFromClause(t){let n={};if(t.length===0)return {from:"",join:n};let r=t[0];if("RangeVar"in r){let i=r.RangeVar;return {from:i.relname??"",schema:i.schemaname,join:n}}if("JoinExpr"in r){let{from:i,schema:s}=this.walkJoinExpr(r.JoinExpr,n);return {from:i,schema:s,join:n}}return {from:"",join:n}}walkJoinExpr(t,n){let r={from:""};if(t.larg)if("RangeVar"in t.larg){let i=t.larg.RangeVar;r={from:i.relname??"",schema:i.schemaname};}else "JoinExpr"in t.larg&&(r=this.walkJoinExpr(t.larg.JoinExpr,n));if(t.rarg&&"RangeVar"in t.rarg){let i=t.rarg.RangeVar,s=i.relname??"",o=i.alias?.aliasname??s,a=t.jointype==="JOIN_LEFT"?"left":"inner",l={from:s,type:a};t.quals&&(l.on=this.deparse(t.quals));let c=o;if(c in n){let u=2;for(;`${c}_${u}`in n;)u++;c=`${c}_${u}`;}n[c]=l;}return r}deparseSortClause(t){if(!t)return [];let n=[];for(let r of t){if(!("SortBy"in r))continue;let i=r.SortBy;if(!i.node)continue;let s=String(this.deparseValue(i.node)),o=i.sortby_dir==="SORTBY_DESC"?"desc":"asc",a={column:s,direction:o};i.sortby_nulls==="SORTBY_NULLS_FIRST"?a.nullsFirst=true:i.sortby_nulls==="SORTBY_NULLS_LAST"&&(a.nullsFirst=false),n.push(a);}return n}deparseLimit(t){if(!t)return;let n=this.deparseValue(t);return typeof n=="number"?n:Number(n)}deparseGroupClause(t){return t?t.map(n=>String(this.deparseValue(n))):[]}isAuthFunc(t){let n=yt(t);if(n.length===2&&n[0]==="auth"){if(n[1]==="uid")return "{{auth.uid}}";if(n[1]==="jwt")return "{{auth.jwt}}";if(n[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${n.slice(1).join(".")}"`)}return null}isJwtAccessor(t){if(t.kind!=="AEXPR_OP")return null;let n=t.name?.[0]?Ht(t.name[0]):void 0;if(n!=="->"&&n!=="->>")return null;let r=t.rexpr&&"A_Const"in t.rexpr?t.rexpr.A_Const.sval?.sval:void 0;if(r===void 0)return null;if(t.lexpr&&"FuncCall"in t.lexpr)return this.isAuthFunc(t.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${r}}}`:null;if(t.lexpr&&"A_Expr"in t.lexpr){let i=this.isJwtAccessor(t.lexpr.A_Expr);if(i)return `${i.slice(0,-2)}.${r}}}`}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 Oe,Hr=L(()=>{Oe=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 qt,dn=L(()=>{qt=class extends Error{constructor(n,r,i,s){super(`check constraint "${i}" violated for ${n}.${r}`);this.table=n;this.column=r;this.constraint=i;this.value=s;this.name="CheckConstraintError";}};});var q,lt=L(()=>{dn();q=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,n){return {status:"fail",message:t,action:n}}validationPass(){return {status:"pass",message:null}}isNullish(t){return t==null}toColumnDDL(t){let{includeNullable:n=true}=t??{},r=[],i=this.context.column;r.push(this.quoteIfNeeded(i)),r.push(this.sqliteType),this.context.isPrimaryKey&&r.push("PRIMARY KEY"),this.context.isSerial&&this.context.isPrimaryKey&&r.push("AUTOINCREMENT"),n&&!this.context.nullable&&!this.context.isPrimaryKey&&r.push("NOT NULL"),this.context.isUnique&&!this.context.isPrimaryKey&&r.push("UNIQUE"),this.context.defaultValue!==null&&r.push(`DEFAULT ${this.context.defaultValue}`);let s=this.checkConstraint();return s&&r.push(`CHECK (${s})`),r.join(" ")}checkError(t,n){return new qt(this.context.table,this.context.column,t,n)}quoteIfNeeded(t){return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)?t:`"${t}"`}};});var bt,Fe=L(()=>{lt();bt=class extends q{get sqliteType(){return "INTEGER"}};});var Gt,gn=L(()=>{Fe();Gt=class extends bt{constructor(t){super({...t,isSerial:true});}};});function ua(e,t){let{precision:n,scale:r}=t,i=10**r,s=10**(n-r);return Math.abs(Math.round(e*i)-e*i)<1e-4&&Math.abs(e)<s}var Vt,yn=L(()=>{lt();Vt=class extends q{numericPrecision;constructor(t,n){super(t),this.numericPrecision=n;}get isShimBacked(){return this.numericPrecision!==void 0}get sqliteType(){return "REAL"}checkConstraint(){if(this.numericPrecision){let{precision:t,scale:n}=this.numericPrecision,r=this.context.column,i=10**n,s=10**(t-n);return `ABS(ROUND(${r} * ${i}) - ${r} * ${i}) < 0.0001 AND ABS(${r}) < ${s}`}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:n,scale:r}=this.numericPrecision;if(!ua(t,this.numericPrecision))return this.validationFail(`Does not fit numeric(${n}, ${r}).`,"Patch rows within numeric precision.")}return this.validationPass()}};});var j,et=L(()=>{lt();j=class extends q{lengthConstraint;constructor(t,n){super(t),this.lengthConstraint=n;}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 Wt,bn=L(()=>{lt();Wt=class extends q{get sqliteType(){return "BLOB"}};});var zt,wn=L(()=>{lt();zt=class extends q{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){if(this.isNullish(t)||t===true||t===false)return t;if(typeof t=="number"&&Number.isFinite(t)){if(t===1)return true;if(t===0)return false}return t===1n?true:t===0n?false:t==="1"||t==="true"?true:t==="0"||t==="false"?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 qr(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var Kt,xn=L(()=>{lt();Kt=class extends q{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 n=qr(t);return n.ok?n.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."):qr(t).ok?this.validationPass():this.validationFail("Invalid JSON text.","Patch rows with valid JSON.")}};});function fa(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 Xt,Sn=L(()=>{et();Xt=class extends j{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"||!fa(t)?this.validationFail("Invalid date.","Patch rows with YYYY-MM-DD dates."):this.validationPass()}};});function pa(e){let t=e.match(/^(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?([+-](\d{2}):?(\d{2}))?$/);if(!t)return false;let n=Number(t[1]),r=Number(t[2]),i=t[3]===void 0?0:Number(t[3]),s=t[5]===void 0?null:Number(t[5]),o=t[6]===void 0?null:Number(t[6]),a=s===null||o!==null&&s<=15&&o<=59;return n<=24&&r<=59&&i<=59&&(n!==24||r===0&&i===0)&&a}var Jt,En=L(()=>{et();Jt=class extends j{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"||!pa(t)?this.validationFail("Invalid time.","Patch rows with HH:MM[:SS] times."):this.validationPass()}};});function ma(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 n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),s=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(n,r-1,i)),h=u.getUTCFullYear()===n&&u.getUTCMonth()===r-1&&u.getUTCDate()===i,d=s<=24&&o<=59&&a<=59&&(s!==24||o===0&&a===0),b=l===null||c!==null&&l<=15&&c<=59;return h&&d&&b}var Yt,Tn=L(()=>{et();Yt=class extends j{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"||!ma(t)?this.validationFail("Invalid timestamp.","Patch rows with ISO timestamps."):this.validationPass()}};});var Qt,An=L(()=>{et();Qt=class extends j{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 Zt,_n=L(()=>{et();Zt=class extends j{enumValues;constructor(t,n){super(t),this.enumValues=n;}get isShimBacked(){return true}checkConstraint(){let t=this.context.column,n=this.enumValues.map(r=>`'${r.replace(/'/g,"''")}'`).join(", ");return `${t} IN (${n})`}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 Gr(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var Rt,Cn=L(()=>{lt();Rt=class extends q{elementField;constructor(t,n){super(t),this.elementField=n;}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(n=>this.elementField.serialize(n))):JSON.stringify(t)}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let n=Gr(t);if(n.ok&&Array.isArray(n.value))return this.elementField?n.value.map(r=>this.elementField.deserialize(r)):n.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 n=Gr(t);if(!n.ok)return this.validationFail("Invalid JSON array text.","Patch rows with array values.");if(!Array.isArray(n.value))return this.validationFail("Expected JSON array.","Patch rows with array values.");if(this.elementField)for(let r of n.value){let i=this.elementField.validateStorage(r);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 Vr(e){return da.test(e.toLowerCase())}var ha,da,te,Rn=L(()=>{et();ha="????????-????-????-????-????????????",da=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;te=class extends j{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR ${t} GLOB '${ha}'`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("uuid_format",t);let n=t.toLowerCase();if(!Vr(n))throw this.checkError("uuid_format",t);return n}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Vr(t)?this.validationFail("Invalid UUID.","Patch rows with valid UUIDs."):this.validationPass()}};});function ga(e){let t=e.split("/");if(t.length>2)return null;let n=t[0];if(!n)return null;if(t.length===1)return {address:n,prefix:null};let r=t[1];return !r||!/^\d+$/.test(r)?null:{address:n,prefix:Number(r)}}function ya(e){let t=e.split(".");return t.length!==4?false:t.every(n=>{if(!/^\d+$/.test(n))return false;let r=Number(n);return r>=0&&r<=255})}function ba(e){if(!e.includes(":"))return false;try{return new URL(`http://[${e}]/`),!0}catch{return false}}function Wr(e){let t=ga(e);return t?ya(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=32:ba(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=128:false:false}var ee,$n=L(()=>{et();ee=class extends j{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 n=t.trim();if(!Wr(n))throw this.checkError("inet_format",t);return n}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Wr(t.trim())?this.validationFail("Invalid inet address.","Patch rows with valid inet strings."):this.validationPass()}};});var ne,Nn=L(()=>{et();ne=class extends j{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 re(e,t){if(t?.isArray){let r=re(e,{...t,isArray:false});return new Rt(e,r)}if(t?.enumValues)return new Zt(e,t.enumValues);let n=e.pgTypeName.toLowerCase().trim();if(n.startsWith("_")||n.endsWith("[]")){let r=n.startsWith("_")?n.slice(1):n.slice(0,-2),i={...e,pgTypeName:r},s=re(i);return new Rt(e,s)}return xa.has(n)?new Gt(e):wa.has(n)?new bt(e):Aa.has(n)?new zt(e):_a.has(n)?new Kt(e):Na.has(n)?new Xt(e):va.has(n)?new Jt(e):ka.has(n)?new Yt(e):Pa.has(n)?new Qt(e):Ta.has(n)?new Wt(e):Sa.has(n)?new Vt(e,t?.numericPrecision):Ca.has(n)?new te(e):Ra.has(n)?new j(e,63):$a.has(n)?new ee(e):Ea.has(n)?new j(e,t?.lengthConstraint):new ne(e)}var wa,xa,Sa,Ea,Ta,Aa,_a,Ca,Ra,$a,Na,va,ka,Pa,zr=L(()=>{Fe();gn();yn();et();bn();wn();xn();Sn();En();Tn();An();_n();Cn();Rn();$n();Nn();wa=new Set(["int2","smallint","int4","integer","int","int8","bigint"]),xa=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]),Sa=new Set(["float4","real","float8","double precision","numeric","decimal"]),Ea=new Set(["text","varchar","character varying","char","character","bpchar"]),Ta=new Set(["bytea"]),Aa=new Set(["bool","boolean"]),_a=new Set(["json","jsonb"]),Ca=new Set(["uuid"]),Ra=new Set(["name"]),$a=new Set(["inet"]),Na=new Set(["date"]),va=new Set(["time","timetz","time without time zone","time with time zone"]),ka=new Set(["timestamp","timestamptz","timestamp without time zone","timestamp with time zone"]),Pa=new Set(["interval"]);});var Kr=L(()=>{});var ie,Xr=L(()=>{ie=class{table;schema;fields;constructor(t,n="public",r=new Map){this.table=t,this.schema=n,this.fields=r;}get(t){return this.fields.get(t)}has(t){return this.fields.has(t)}set(t,n){this.fields.set(t,n);}columns(){return Array.from(this.fields.keys())}all(){return Array.from(this.fields.values())}serializeRow(t){let n={};for(let[r,i]of Object.entries(t)){let s=this.fields.get(r);n[r]=s?s.serialize(i):i;}return n}deserializeRow(t){let n={};for(let[r,i]of Object.entries(t)){let s=this.fields.get(r);n[r]=s?s.deserialize(i):i;}return n}applyDefaults(t){let n={...t};for(let[r,i]of this.fields)!(r in n)&&i.context.defaultFn&&(n[r]=i.context.defaultFn());return n}};});var Jr=L(()=>{lt();dn();Fe();gn();yn();et();bn();wn();xn();Sn();En();Tn();An();_n();Cn();Rn();$n();Nn();zr();Kr();Xr();});var Yr={};Ei(Yr,{_resetWarnedMissingToClauseForTests:()=>La,collectComments:()=>Ua,collectEnums:()=>Oa,collectPolicies:()=>Ia,collectSchema:()=>ja,collectTableConstraints:()=>Da,collectVariables:()=>Fa});function La(){vn.clear();}function Oa(e){let t=new Map;for(let n of e.stmts??[]){if(!n.stmt||!("CreateEnumStmt"in n.stmt))continue;let r=n.stmt.CreateEnumStmt,i=yt(r.typeName??[]).join(".");if(!i||!r.vals)continue;let s=yt(r.vals);t.set(i.toLowerCase(),s);}return t}function Fa(e){let t=new Map;for(let n of e.stmts??[]){if(!n.stmt||!("VariableSetStmt"in n.stmt))continue;let r=n.stmt.VariableSetStmt,i=r.name,s=jr(r.args?.[0]??{});t.set(i,{value:s,local:r.is_local});}return t}function Ia(e){let t=new Le,n=new Set,r=[];for(let i of e.stmts??[])if(i.stmt){if("CreatePolicyStmt"in i.stmt){let s=i.stmt.CreatePolicyStmt,o=s.table?.relname??"",a=s.table?.schemaname,l={select:"SELECT",insert:"INSERT",update:"UPDATE",delete:"DELETE"},c=s.cmd_name?l[s.cmd_name]??"ALL":"ALL",u=s.permissive===true,h=[],d=false;for(let _ of s.roles??[])if("RoleSpec"in _){let N=_.RoleSpec;N.roletype==="ROLESPEC_PUBLIC"?N.location===-1&&(d=true):N.roletype==="ROLESPEC_CSTRING"&&N.rolename&&h.push(N.rolename);}if(d){let _=a?`${a}.${o}`:o,N=s.policy_name??"",x=`${_}::${N}`;vn.has(x)||(vn.add(x),console.warn(`[supalite] policy "${N}" on "${_}" has no TO clause \u2014 applies to all roles (PUBLIC). For clarity, prefer an explicit \`TO <role>\` clause (e.g. \`TO authenticated\`).`));}let b=s.qual?t.deparse(s.qual):void 0,w=s.with_check?t.deparse(s.with_check):void 0,E=new Oe({name:s.policy_name??"",table:o,schema:a,command:c,permissive:u,roles:h,using:b,withCheck:w});r.push(E);}if("AlterTableStmt"in i.stmt){let s=i.stmt.AlterTableStmt;if((s.cmds??[]).some(l=>"AlterTableCmd"in l&&(l.AlterTableCmd.subtype==="AT_EnableRowSecurity"||l.AlterTableCmd.subtype==="AT_ForceRowSecurity"))){let l=s.relation?.relname??"";n.add(l);}}}return {policies:r,tables:n}}function ja(e,t){let n=new Map;for(let r of e.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let i=r.stmt.CreateStmt,s=i.relation?.relname??"",o=i.relation?.schemaname??"public";if(!s)continue;let a=new ie(s,o);for(let l of i.tableElts??[]){if(!("ColumnDef"in l))continue;let c=l.ColumnDef,u=c.colname;if(!u)continue;let h=c.typeName?.names?.map(S=>S.String?.sval||S.String?.str).filter(Boolean),d=h&&(h.length===2&&h[0]==="pg_catalog"?h[1]:h[0]);if(!d)continue;let b=!!c.typeName?.arrayBounds?.length,w=Array.isArray(c.typeName?.typmods)?c.typeName.typmods:[],E=S=>w[S]?.A_Const?.ival?.ival??w[S]?.A_Const?.val?.ival?.ival,_={isArray:b};if(Ur(d)&&w.length>0){let S=E(0);typeof S=="number"&&S>0&&(_.lengthConstraint=S);}if(Br(d)&&w.length>=2){let S=E(0),k=E(1);typeof S=="number"&&typeof k=="number"&&S>0&&k>=0&&(_.numericPrecision={precision:S,scale:k});}let N=t.get(d.toLowerCase());N&&(_.enumValues=N);let x=Array.isArray(c.constraints)?c.constraints:[],V=x.some(S=>S.Constraint?.contype==="CONSTR_PRIMARY"),Z=Dr(d)||x.some(S=>S.Constraint?.contype==="CONSTR_IDENTITY"),H=x.some(S=>S.Constraint?.contype==="CONSTR_NOTNULL"),B=x.find(S=>S.Constraint?.contype==="CONSTR_UNIQUE"),W=x.find(S=>S.Constraint?.contype==="CONSTR_GENERATED"),T=x.find(S=>S.Constraint?.contype==="CONSTR_FOREIGN"),C=x.find(S=>S.Constraint?.contype==="CONSTR_CHECK"),m;if(T){let S=T.Constraint,k=S.pktable?.relname,p=S.pktable?.schemaname,f=S.pk_attrs?.[0]?.String?.sval;k&&f&&(m={refSchema:p,refTable:k,refColumn:f,constraintName:S.conname||void 0});}let G={schema:o,table:s,column:u,pgTypeName:d,nullable:!H&&!V,defaultValue:null,defaultFn:null,isPrimaryKey:V,isUnique:!!B,isSerial:Z,isGenerated:!!W,fkRef:m,hasCheck:!!C,checkConstraintName:C?.Constraint?.conname||void 0,uniqueConstraintName:B?.Constraint?.conname||void 0};a.set(u,re(G,_));}n.set(`${o}.${s}`,a);}return n}function Da(e){let t=[];for(let n of e.stmts??[]){if(!n.stmt||!("CreateStmt"in n.stmt))continue;let r=n.stmt.CreateStmt,i=r.relation?.relname??"",s=r.relation?.schemaname??"public";if(i)for(let o of r.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(h=>h.String?.sval??h.String?.str).filter(Boolean);if(u.length===0)continue;t.push({schema:s,table:i,kind:"unique",name:l.conname||void 0,columns:u});}else if(c==="CONSTR_CHECK")t.push({schema:s,table:i,kind:"check",name:l.conname||void 0,columns:[]});else if(c==="CONSTR_FOREIGN"){let u=(l.fk_attrs??[]).map(b=>b.String?.sval??b.String?.str).filter(Boolean),h=(l.pk_attrs??[]).map(b=>b.String?.sval??b.String?.str).filter(Boolean),d=l.pktable?.relname;if(!d)continue;t.push({schema:s,table:i,kind:"foreign_key",name:l.conname||void 0,columns:u,refSchema:l.pktable?.schemaname,refTable:d,refColumns:h});}}}return t}function Ua(e){let t=[];for(let n of e.stmts??[]){if(!n.stmt||!("CommentStmt"in n.stmt))continue;let r=n.stmt.CommentStmt,i=r.comment??"";if(!i)continue;let s=r.objtype,o=(r.object?.List?.items??r.object?.items??[]).map(a=>a.String?.sval??a.String?.str).filter(Boolean);if(o.length!==0){if(s==="OBJECT_TABLE"||s==="OBJECT_VIEW"){let[a,l]=o.length>=2?o:["public",o[0]];t.push({schema:a,table:l,text:i});}else if(s==="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:i});}}}return t}var vn,Qr=L(()=>{Mr();ke();Hr();Jr();hn();vn=new Set;});function tt(e,t){ce.existsSync(e)||(ce.mkdirSync(e,{recursive:true}),t?.());}function ht(e,t,n){ce.existsSync(e)||(ce.writeFileSync(e,t),n?.());}var at=class e{root;constructor(t,n){let r=n??e.projectDir();this.root=rt__default.join(r,t??"");}ensureRoot(){tt(this.root);}static homeDir(){return rt__default.join(Ai.homedir(),".lite")}static projectDir(){return rt__default.join(process.cwd(),"supabase")}deleteAll(t=false){try{ce.rmSync(this.root,{recursive:!0});}catch(n){if(!t)throw n}this.ensureRoot();}delete(t,n=false){try{ce.unlinkSync(rt__default.join(this.root,t));}catch(r){if(!n)throw r}}write(t,n,r=false){try{this.ensureRoot(),ce.writeFileSync(rt__default.join(this.root,t),n);}catch(i){if(!r)throw i}}read(t,n=false){try{return ce.readFileSync(rt__default.join(this.root,t),"utf8")}catch(r){if(!n)throw r}}relativePath(t){return t?rt__default.relative(process.cwd(),rt__default.join(this.root,t)):this.root}path(t){return t?rt__default.join(this.root,t):this.root}};var Nt=process.env.SUPALITE_CLOUD_URL??(process.env.LOCAL?"http://localhost:2000":"https://www.lite.dev");var pe=class{root;constructor(t){this.root=t??rt__default.join(Ai.homedir(),".lite","auth"),tt(this.root);}async getItem(t){try{return ce.readFileSync(rt__default.join(this.root,t+".json"),"utf8")}catch{return null}}async setItem(t,n){ce.writeFileSync(rt__default.join(this.root,t+".json"),n);}async removeItem(t){try{ce.unlinkSync(rt__default.join(this.root,t+".json"));}catch{return}}};var xt=class{constructor(t){this.config=t;this.tempFs=new at(".temp",this.config.root),this.projectFs=new at("supabase",this.config.root),this.schemaFs=new at("schemas",this.config.root),this.authStorage=this.config.authStorage??new pe(rt__default.join(at.homeDir(),"auth")),this._client=this.config.withSupabaseClient!==false?this.config.client??createClient(this.config.host??Nt,process.env.SUPALITE_CLOUD_ANON_KEY??"...",{auth:{storage:this.authStorage}}):void 0;}tempFs;projectFs;schemaFs;_client;authStorage;async fetch(t,n){if(!this.config.token)throw new Error("Not authenticated, sign in first.");let r=t instanceof URL?t:new URL(t,this.config.host??Nt);return await fetch(r,{...n,headers:{...n?.headers,Authorization:`Bearer ${this.config.token}`}})}};var St=class extends xt{constructor(n){super(n);this.config=n;}get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}projectRef(){return this.tempFs.read("project-ref",true)}projectUrl(n){let r=new URL(this.config.host),i=r.hostname==="localhost"?"supalite.local":r.hostname,s=i.split(".").filter(a=>a!=="www"),o=s.length>=2?s.slice(-2).join("."):i;return `${r.protocol}//${n}.${o}${r.port?`:${r.port}`:""}`}};var ut={config_dir:"supabase",default_db_url:"file:supabase/.temp/data.db",default_db_dir:"supabase/.temp/data"};var It=$t(vt());function ki(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return [n.length,n.pop().length+1]}function Pi(e,t,n){let r=e.split(/\r\n|\n|\r/g),i="",s=(Math.log10(t+1)|0)+1;for(let o=t-1;o<=t+1;o++){let a=r[o-1];a&&(i+=o.toString().padEnd(s," "),i+=": ",i+=a,i+=`
12
+ var yi=Object.create;var De=Object.defineProperty;var bi=Object.getOwnPropertyDescriptor;var wi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Si=Object.prototype.hasOwnProperty;var L=(e,t)=>()=>(e&&(t=e(e=0)),t);var mt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ei=(e,t)=>{for(var n in t)De(e,n,{get:t[n],enumerable:true});},Ti=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of wi(t))!Si.call(e,i)&&i!==n&&De(e,i,{get:()=>t[i],enumerable:!(r=bi(t,i))||r.enumerable});return e};var $t=(e,t,n)=>(n=e!=null?yi(xi(e)):{},Ti(De(n,"default",{value:e,enumerable:true}),e));var vt=mt((Ul,Be)=>{var he=process||{},In=he.argv||[],me=he.env||{},$i=!(me.NO_COLOR||In.includes("--no-color"))&&(!!me.FORCE_COLOR||In.includes("--color")||he.platform==="win32"||(he.stdout||{}).isTTY&&me.TERM!=="dumb"||!!me.CI),Ni=(e,t,n=e)=>r=>{let i=""+r,s=i.indexOf(t,e.length);return ~s?e+vi(i,t,n,s)+t:e+i+t},vi=(e,t,n,r)=>{let i="",s=0;do i+=e.substring(s,r)+n,s=r+t.length,r=e.indexOf(t,s);while(~r);return i+e.substring(s)},jn=(e=$i)=>{let t=e?Ni:()=>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")}};Be.exports=jn();Be.exports.createColors=jn;});var jt=mt((Bu,pr)=>{var lr="[^\\\\/]",uo="(?=.)",cr="[^/]",en="(?:\\/|$)",ur="(?:^|\\/)",nn=`\\.{1,2}${en}`,fo="(?!\\.)",po=`(?!${ur}${nn})`,mo=`(?!\\.{0,1}${en})`,ho=`(?!${nn})`,go="[^.\\/]",yo=`${cr}*?`,bo="/",fr={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:uo,QMARK:cr,END_ANCHOR:en,DOTS_SLASH:nn,NO_DOT:fo,NO_DOTS:po,NO_DOT_SLASH:mo,NO_DOTS_SLASH:ho,QMARK_NO_DOT:go,STAR:yo,START_ANCHOR:ur,SEP:bo},wo={...fr,SLASH_LITERAL:"[\\\\/]",QMARK:lr,STAR:`${lr}*?`,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:"\\"},xo={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"};pr.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:xo,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?wo:fr}};});var Dt=mt(X=>{var{REGEX_BACKSLASH:So,REGEX_REMOVE_BACKSLASH:Eo,REGEX_SPECIAL_CHARS:To,REGEX_SPECIAL_CHARS_GLOBAL:Ao}=jt();X.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);X.hasRegexChars=e=>To.test(e);X.isRegexChar=e=>e.length===1&&X.hasRegexChars(e);X.escapeRegex=e=>e.replace(Ao,"\\$1");X.toPosixSlashes=e=>e.replace(So,"/");X.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};X.removeBackslashes=e=>e.replace(Eo,t=>t==="\\"?"":t);X.escapeLast=(e,t,n)=>{let r=e.lastIndexOf(t,n);return r===-1?e:e[r-1]==="\\"?X.escapeLast(e,t,r-1):`${e.slice(0,r)}\\${e.slice(r)}`};X.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n};X.wrapOutput=(e,t={},n={})=>{let r=n.contains?"":"^",i=n.contains?"":"$",s=`${r}(?:${e})${i}`;return t.negated===true&&(s=`(?:^(?!${s}).*$)`),s};X.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:"/"),r=n[n.length-1];return r===""?n[n.length-2]:r};});var xr=mt((Hu,wr)=>{var mr=Dt(),{CHAR_ASTERISK:rn,CHAR_AT:_o,CHAR_BACKWARD_SLASH:Ut,CHAR_COMMA:Co,CHAR_DOT:sn,CHAR_EXCLAMATION_MARK:on,CHAR_FORWARD_SLASH:br,CHAR_LEFT_CURLY_BRACE:an,CHAR_LEFT_PARENTHESES:ln,CHAR_LEFT_SQUARE_BRACKET:Ro,CHAR_PLUS:$o,CHAR_QUESTION_MARK:hr,CHAR_RIGHT_CURLY_BRACE:No,CHAR_RIGHT_PARENTHESES:dr,CHAR_RIGHT_SQUARE_BRACKET:vo}=jt(),gr=e=>e===br||e===Ut,yr=e=>{e.isPrefix!==true&&(e.depth=e.isGlobstar?1/0:1);},ko=(e,t)=>{let n=t||{},r=e.length-1,i=n.parts===true||n.scanToEnd===true,s=[],o=[],a=[],l=e,c=-1,u=0,h=0,d=false,b=false,w=false,E=false,_=false,N=false,x=false,H=false,J=false,q=false,B=0,W,T,C={value:"",depth:0,isGlob:false},m=()=>c>=r,V=()=>l.charCodeAt(c+1),S=()=>(W=T,l.charCodeAt(++c));for(;c<r;){T=S();let P;if(T===Ut){x=C.backslashes=true,T=S(),T===an&&(N=true);continue}if(N===true||T===an){for(B++;m()!==true&&(T=S());){if(T===Ut){x=C.backslashes=true,S();continue}if(T===an){B++;continue}if(N!==true&&T===sn&&(T=S())===sn){if(d=C.isBrace=true,w=C.isGlob=true,q=true,i===true)continue;break}if(N!==true&&T===Co){if(d=C.isBrace=true,w=C.isGlob=true,q=true,i===true)continue;break}if(T===No&&(B--,B===0)){N=false,d=C.isBrace=true,q=true;break}}if(i===true)continue;break}if(T===br){if(s.push(c),o.push(C),C={value:"",depth:0,isGlob:false},q===true)continue;if(W===sn&&c===u+1){u+=2;continue}h=c+1;continue}if(n.noext!==true&&(T===$o||T===_o||T===rn||T===hr||T===on)===true&&V()===ln){if(w=C.isGlob=true,E=C.isExtglob=true,q=true,T===on&&c===u&&(J=true),i===true){for(;m()!==true&&(T=S());){if(T===Ut){x=C.backslashes=true,T=S();continue}if(T===dr){w=C.isGlob=true,q=true;break}}continue}break}if(T===rn){if(W===rn&&(_=C.isGlobstar=true),w=C.isGlob=true,q=true,i===true)continue;break}if(T===hr){if(w=C.isGlob=true,q=true,i===true)continue;break}if(T===Ro){for(;m()!==true&&(P=S());){if(P===Ut){x=C.backslashes=true,S();continue}if(P===vo){b=C.isBracket=true,w=C.isGlob=true,q=true;break}}if(i===true)continue;break}if(n.nonegate!==true&&T===on&&c===u){H=C.negated=true,u++;continue}if(n.noparen!==true&&T===ln){if(w=C.isGlob=true,i===true){for(;m()!==true&&(T=S());){if(T===ln){x=C.backslashes=true,T=S();continue}if(T===dr){q=true;break}}continue}break}if(w===true){if(q=true,i===true)continue;break}}n.noext===true&&(E=false,w=false);let k=l,p="",f="";u>0&&(p=l.slice(0,u),l=l.slice(u),h-=u),k&&w===true&&h>0?(k=l.slice(0,h),f=l.slice(h)):w===true?(k="",f=l):k=l,k&&k!==""&&k!=="/"&&k!==l&&gr(k.charCodeAt(k.length-1))&&(k=k.slice(0,-1)),n.unescape===true&&(f&&(f=mr.removeBackslashes(f)),k&&x===true&&(k=mr.removeBackslashes(k)));let Y={prefix:p,input:e,start:u,base:k,glob:f,isBrace:d,isBracket:b,isGlob:w,isExtglob:E,isGlobstar:_,negated:H,negatedExtglob:J};if(n.tokens===true&&(Y.maxDepth=0,gr(T)||o.push(C),Y.tokens=o),n.parts===true||n.tokens===true){let P;for(let F=0;F<s.length;F++){let st=P?P+1:u,Q=s[F],ct=e.slice(st,Q);n.tokens&&(F===0&&u!==0?(o[F].isPrefix=true,o[F].value=p):o[F].value=ct,yr(o[F]),Y.maxDepth+=o[F].depth),(F!==0||ct!=="")&&a.push(ct),P=Q;}if(P&&P+1<e.length){let F=e.slice(P+1);a.push(F),n.tokens&&(o[o.length-1].value=F,yr(o[o.length-1]),Y.maxDepth+=o[o.length-1].depth);}Y.slashes=s,Y.parts=a;}return Y};wr.exports=ko;});var Tr=mt((qu,Er)=>{var $e=jt(),it=Dt(),{MAX_LENGTH:Ne,POSIX_REGEX_SOURCE:Po,REGEX_NON_SPECIAL_CHARS:Lo,REGEX_SPECIAL_CHARS_BACKREF:Oo,REPLACEMENTS:Sr}=$e,Fo=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n);}catch{return e.map(i=>it.escapeRegex(i)).join("..")}return n},Tt=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,cn=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=Sr[e]||e;let n={...t},r=typeof n.maxLength=="number"?Math.min(Ne,n.maxLength):Ne,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},o=[s],a=n.capture?"":"?:",l=$e.globChars(n.windows),c=$e.extglobChars(l),{DOT_LITERAL:u,PLUS_LITERAL:h,SLASH_LITERAL:d,ONE_CHAR:b,DOTS_SLASH:w,NO_DOT:E,NO_DOT_SLASH:_,NO_DOTS_SLASH:N,QMARK:x,QMARK_NO_DOT:H,STAR:J,START_ANCHOR:q}=l,B=y=>`(${a}(?:(?!${q}${y.dot?w:u}).)*?)`,W=n.dot?"":E,T=n.dot?x:H,C=n.bash===true?B(n):J;n.capture&&(C=`(${C})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let m={input:e,index:-1,start:0,dot:n.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:o};e=it.removePrefix(e,m),i=e.length;let V=[],S=[],k=[],p=s,f,Y=()=>m.index===i-1,P=m.peek=(y=1)=>e[m.index+y],F=m.advance=()=>e[++m.index]||"",st=()=>e.slice(m.index+1),Q=(y="",O=0)=>{m.consumed+=y,m.index+=O;},ct=y=>{m.output+=y.output!=null?y.output:y.value,Q(y.value);},di=()=>{let y=1;for(;P()==="!"&&(P(2)!=="("||P(3)==="?");)F(),m.start++,y++;return y%2===0?false:(m.negated=true,m.start++,true)},oe=y=>{m[y]++,k.push(y);},pt=y=>{m[y]--,k.pop();},$=y=>{if(p.type==="globstar"){let O=m.braces>0&&(y.type==="comma"||y.type==="brace"),g=y.extglob===true||V.length&&(y.type==="pipe"||y.type==="paren");y.type!=="slash"&&y.type!=="paren"&&!O&&!g&&(m.output=m.output.slice(0,-p.output.length),p.type="star",p.value="*",p.output=C,m.output+=p.output);}if(V.length&&y.type!=="paren"&&(V[V.length-1].inner+=y.value),(y.value||y.output)&&ct(y),p&&p.type==="text"&&y.type==="text"){p.output=(p.output||p.value)+y.value,p.value+=y.value;return}y.prev=p,o.push(y),p=y;},ae=(y,O)=>{let g={...c[O],conditions:1,inner:""};g.prev=p,g.parens=m.parens,g.output=m.output;let R=(n.capture?"(":"")+g.open;oe("parens"),$({type:y,value:O,output:m.output?"":b}),$({type:"paren",extglob:true,value:F(),output:R}),V.push(g);},gi=y=>{let O=y.close+(n.capture?")":""),g;if(y.type==="negate"){let R=C;if(y.inner&&y.inner.length>1&&y.inner.includes("/")&&(R=B(n)),(R!==C||Y()||/^\)+$/.test(st()))&&(O=y.close=`)$))${R}`),y.inner.includes("*")&&(g=st())&&/^\.[^\\/.]+$/.test(g)){let I=cn(g,{...t,fastpaths:false}).output;O=y.close=`)${I})${R})`;}y.prev.type==="bos"&&(m.negatedExtglob=true);}$({type:"paren",extglob:true,value:f,output:O}),pt("parens");};if(n.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(e)){let y=false,O=e.replace(Oo,(g,R,I,z,M,je)=>z==="\\"?(y=true,g):z==="?"?R?R+z+(M?x.repeat(M.length):""):je===0?T+(M?x.repeat(M.length):""):x.repeat(I.length):z==="."?u.repeat(I.length):z==="*"?R?R+z+(M?C:""):C:R?g:`\\${g}`);return y===true&&(n.unescape===true?O=O.replace(/\\/g,""):O=O.replace(/\\+/g,g=>g.length%2===0?"\\\\":g?"\\":"")),O===e&&n.contains===true?(m.output=e,m):(m.output=it.wrapOutput(O,m,t),m)}for(;!Y();){if(f=F(),f==="\0")continue;if(f==="\\"){let g=P();if(g==="/"&&n.bash!==true||g==="."||g===";")continue;if(!g){f+="\\",$({type:"text",value:f});continue}let R=/^\\+/.exec(st()),I=0;if(R&&R[0].length>2&&(I=R[0].length,m.index+=I,I%2!==0&&(f+="\\")),n.unescape===true?f=F():f+=F(),m.brackets===0){$({type:"text",value:f});continue}}if(m.brackets>0&&(f!=="]"||p.value==="["||p.value==="[^")){if(n.posix!==false&&f===":"){let g=p.value.slice(1);if(g.includes("[")&&(p.posix=true,g.includes(":"))){let R=p.value.lastIndexOf("["),I=p.value.slice(0,R),z=p.value.slice(R+2),M=Po[z];if(M){p.value=I+M,m.backtrack=true,F(),!s.output&&o.indexOf(p)===1&&(s.output=b);continue}}}(f==="["&&P()!==":"||f==="-"&&P()==="]")&&(f=`\\${f}`),f==="]"&&(p.value==="["||p.value==="[^")&&(f=`\\${f}`),n.posix===true&&f==="!"&&p.value==="["&&(f="^"),p.value+=f,ct({value:f});continue}if(m.quotes===1&&f!=='"'){f=it.escapeRegex(f),p.value+=f,ct({value:f});continue}if(f==='"'){m.quotes=m.quotes===1?0:1,n.keepQuotes===true&&$({type:"text",value:f});continue}if(f==="("){oe("parens"),$({type:"paren",value:f});continue}if(f===")"){if(m.parens===0&&n.strictBrackets===true)throw new SyntaxError(Tt("opening","("));let g=V[V.length-1];if(g&&m.parens===g.parens+1){gi(V.pop());continue}$({type:"paren",value:f,output:m.parens?")":"\\)"}),pt("parens");continue}if(f==="["){if(n.nobracket===true||!st().includes("]")){if(n.nobracket!==true&&n.strictBrackets===true)throw new SyntaxError(Tt("closing","]"));f=`\\${f}`;}else oe("brackets");$({type:"bracket",value:f});continue}if(f==="]"){if(n.nobracket===true||p&&p.type==="bracket"&&p.value.length===1){$({type:"text",value:f,output:`\\${f}`});continue}if(m.brackets===0){if(n.strictBrackets===true)throw new SyntaxError(Tt("opening","["));$({type:"text",value:f,output:`\\${f}`});continue}pt("brackets");let g=p.value.slice(1);if(p.posix!==true&&g[0]==="^"&&!g.includes("/")&&(f=`/${f}`),p.value+=f,ct({value:f}),n.literalBrackets===false||it.hasRegexChars(g))continue;let R=it.escapeRegex(p.value);if(m.output=m.output.slice(0,-p.value.length),n.literalBrackets===true){m.output+=R,p.value=R;continue}p.value=`(${a}${R}|${p.value})`,m.output+=p.value;continue}if(f==="{"&&n.nobrace!==true){oe("braces");let g={type:"brace",value:f,output:"(",outputIndex:m.output.length,tokensIndex:m.tokens.length};S.push(g),$(g);continue}if(f==="}"){let g=S[S.length-1];if(n.nobrace===true||!g){$({type:"text",value:f,output:f});continue}let R=")";if(g.dots===true){let I=o.slice(),z=[];for(let M=I.length-1;M>=0&&(o.pop(),I[M].type!=="brace");M--)I[M].type!=="dots"&&z.unshift(I[M].value);R=Fo(z,n),m.backtrack=true;}if(g.comma!==true&&g.dots!==true){let I=m.output.slice(0,g.outputIndex),z=m.tokens.slice(g.tokensIndex);g.value=g.output="\\{",f=R="\\}",m.output=I;for(let M of z)m.output+=M.output||M.value;}$({type:"brace",value:f,output:R}),pt("braces"),S.pop();continue}if(f==="|"){V.length>0&&V[V.length-1].conditions++,$({type:"text",value:f});continue}if(f===","){let g=f,R=S[S.length-1];R&&k[k.length-1]==="braces"&&(R.comma=true,g="|"),$({type:"comma",value:f,output:g});continue}if(f==="/"){if(p.type==="dot"&&m.index===m.start+1){m.start=m.index+1,m.consumed="",m.output="",o.pop(),p=s;continue}$({type:"slash",value:f,output:d});continue}if(f==="."){if(m.braces>0&&p.type==="dot"){p.value==="."&&(p.output=u);let g=S[S.length-1];p.type="dots",p.output+=f,p.value+=f,g.dots=true;continue}if(m.braces+m.parens===0&&p.type!=="bos"&&p.type!=="slash"){$({type:"text",value:f,output:u});continue}$({type:"dot",value:f,output:u});continue}if(f==="?"){if(!(p&&p.value==="(")&&n.noextglob!==true&&P()==="("&&P(2)!=="?"){ae("qmark",f);continue}if(p&&p.type==="paren"){let R=P(),I=f;(p.value==="("&&!/[!=<:]/.test(R)||R==="<"&&!/<([!=]|\w+>)/.test(st()))&&(I=`\\${f}`),$({type:"text",value:f,output:I});continue}if(n.dot!==true&&(p.type==="slash"||p.type==="bos")){$({type:"qmark",value:f,output:H});continue}$({type:"qmark",value:f,output:x});continue}if(f==="!"){if(n.noextglob!==true&&P()==="("&&(P(2)!=="?"||!/[!=<:]/.test(P(3)))){ae("negate",f);continue}if(n.nonegate!==true&&m.index===0){di();continue}}if(f==="+"){if(n.noextglob!==true&&P()==="("&&P(2)!=="?"){ae("plus",f);continue}if(p&&p.value==="("||n.regex===false){$({type:"plus",value:f,output:h});continue}if(p&&(p.type==="bracket"||p.type==="paren"||p.type==="brace")||m.parens>0){$({type:"plus",value:f});continue}$({type:"plus",value:h});continue}if(f==="@"){if(n.noextglob!==true&&P()==="("&&P(2)!=="?"){$({type:"at",extglob:true,value:f,output:""});continue}$({type:"text",value:f});continue}if(f!=="*"){(f==="$"||f==="^")&&(f=`\\${f}`);let g=Lo.exec(st());g&&(f+=g[0],m.index+=g[0].length),$({type:"text",value:f});continue}if(p&&(p.type==="globstar"||p.star===true)){p.type="star",p.star=true,p.value+=f,p.output=C,m.backtrack=true,m.globstar=true,Q(f);continue}let y=st();if(n.noextglob!==true&&/^\([^?]/.test(y)){ae("star",f);continue}if(p.type==="star"){if(n.noglobstar===true){Q(f);continue}let g=p.prev,R=g.prev,I=g.type==="slash"||g.type==="bos",z=R&&(R.type==="star"||R.type==="globstar");if(n.bash===true&&(!I||y[0]&&y[0]!=="/")){$({type:"star",value:f,output:""});continue}let M=m.braces>0&&(g.type==="comma"||g.type==="brace"),je=V.length&&(g.type==="pipe"||g.type==="paren");if(!I&&g.type!=="paren"&&!M&&!je){$({type:"star",value:f,output:""});continue}for(;y.slice(0,3)==="/**";){let le=e[m.index+4];if(le&&le!=="/")break;y=y.slice(3),Q("/**",3);}if(g.type==="bos"&&Y()){p.type="globstar",p.value+=f,p.output=B(n),m.output=p.output,m.globstar=true,Q(f);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&!z&&Y()){m.output=m.output.slice(0,-(g.output+p.output).length),g.output=`(?:${g.output}`,p.type="globstar",p.output=B(n)+(n.strictSlashes?")":"|$)"),p.value+=f,m.globstar=true,m.output+=g.output+p.output,Q(f);continue}if(g.type==="slash"&&g.prev.type!=="bos"&&y[0]==="/"){let le=y[1]!==void 0?"|$":"";m.output=m.output.slice(0,-(g.output+p.output).length),g.output=`(?:${g.output}`,p.type="globstar",p.output=`${B(n)}${d}|${d}${le})`,p.value+=f,m.output+=g.output+p.output,m.globstar=true,Q(f+F()),$({type:"slash",value:"/",output:""});continue}if(g.type==="bos"&&y[0]==="/"){p.type="globstar",p.value+=f,p.output=`(?:^|${d}|${B(n)}${d})`,m.output=p.output,m.globstar=true,Q(f+F()),$({type:"slash",value:"/",output:""});continue}m.output=m.output.slice(0,-p.output.length),p.type="globstar",p.output=B(n),p.value+=f,m.output+=p.output,m.globstar=true,Q(f);continue}let O={type:"star",value:f,output:C};if(n.bash===true){O.output=".*?",(p.type==="bos"||p.type==="slash")&&(O.output=W+O.output),$(O);continue}if(p&&(p.type==="bracket"||p.type==="paren")&&n.regex===true){O.output=f,$(O);continue}(m.index===m.start||p.type==="slash"||p.type==="dot")&&(p.type==="dot"?(m.output+=_,p.output+=_):n.dot===true?(m.output+=N,p.output+=N):(m.output+=W,p.output+=W),P()!=="*"&&(m.output+=b,p.output+=b)),$(O);}for(;m.brackets>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing","]"));m.output=it.escapeLast(m.output,"["),pt("brackets");}for(;m.parens>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing",")"));m.output=it.escapeLast(m.output,"("),pt("parens");}for(;m.braces>0;){if(n.strictBrackets===true)throw new SyntaxError(Tt("closing","}"));m.output=it.escapeLast(m.output,"{"),pt("braces");}if(n.strictSlashes!==true&&(p.type==="star"||p.type==="bracket")&&$({type:"maybe_slash",value:"",output:`${d}?`}),m.backtrack===true){m.output="";for(let y of m.tokens)m.output+=y.output!=null?y.output:y.value,y.suffix&&(m.output+=y.suffix);}return m};cn.fastpaths=(e,t)=>{let n={...t},r=typeof n.maxLength=="number"?Math.min(Ne,n.maxLength):Ne,i=e.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);e=Sr[e]||e;let{DOT_LITERAL:s,SLASH_LITERAL:o,ONE_CHAR:a,DOTS_SLASH:l,NO_DOT:c,NO_DOTS:u,NO_DOTS_SLASH:h,STAR:d,START_ANCHOR:b}=$e.globChars(n.windows),w=n.dot?u:c,E=n.dot?h:c,_=n.capture?"":"?:",N={negated:false,prefix:""},x=n.bash===true?".*?":d;n.capture&&(x=`(${x})`);let H=W=>W.noglobstar===true?x:`(${_}(?:(?!${b}${W.dot?l:s}).)*?)`,J=W=>{switch(W){case "*":return `${w}${a}${x}`;case ".*":return `${s}${a}${x}`;case "*.*":return `${w}${x}${s}${a}${x}`;case "*/*":return `${w}${x}${o}${a}${E}${x}`;case "**":return w+H(n);case "**/*":return `(?:${w}${H(n)}${o})?${E}${a}${x}`;case "**/*.*":return `(?:${w}${H(n)}${o})?${E}${x}${s}${a}${x}`;case "**/.*":return `(?:${w}${H(n)}${o})?${s}${a}${x}`;default:{let T=/^(.*?)\.(\w+)$/.exec(W);if(!T)return;let C=J(T[1]);return C?C+s+T[2]:void 0}}},q=it.removePrefix(e,N),B=J(q);return B&&n.strictSlashes!==true&&(B+=`${o}?`),B};Er.exports=cn;});var Cr=mt((Gu,_r)=>{var Io=xr(),un=Tr(),Ar=Dt(),jo=jt(),Do=e=>e&&typeof e=="object"&&!Array.isArray(e),D=(e,t,n=false)=>{if(Array.isArray(e)){let u=e.map(d=>D(d,t,n));return d=>{for(let b of u){let w=b(d);if(w)return w}return false}}let r=Do(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=t||{},s=i.windows,o=r?D.compileRe(e,t):D.makeRe(e,t,false,true),a=o.state;delete o.state;let l=()=>false;if(i.ignore){let u={...t,ignore:null,onMatch:null,onResult:null};l=D(i.ignore,u,n);}let c=(u,h=false)=>{let{isMatch:d,match:b,output:w}=D.test(u,o,t,{glob:e,posix:s}),E={glob:e,state:a,regex:o,posix:s,input:u,output:w,match:b,isMatch:d};return typeof i.onResult=="function"&&i.onResult(E),d===false?(E.isMatch=false,h?E:false):l(u)?(typeof i.onIgnore=="function"&&i.onIgnore(E),E.isMatch=false,h?E:false):(typeof i.onMatch=="function"&&i.onMatch(E),h?E:true)};return n&&(c.state=a),c};D.test=(e,t,n,{glob:r,posix:i}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return {isMatch:false,output:""};let s=n||{},o=s.format||(i?Ar.toPosixSlashes:null),a=e===r,l=a&&o?o(e):e;return a===false&&(l=o?o(e):e,a=l===r),(a===false||s.capture===true)&&(s.matchBase===true||s.basename===true?a=D.matchBase(e,t,n,i):a=t.exec(l)),{isMatch:!!a,match:a,output:l}};D.matchBase=(e,t,n)=>(t instanceof RegExp?t:D.makeRe(t,n)).test(Ar.basename(e));D.isMatch=(e,t,n)=>D(t,n)(e);D.parse=(e,t)=>Array.isArray(e)?e.map(n=>D.parse(n,t)):un(e,{...t,fastpaths:false});D.scan=(e,t)=>Io(e,t);D.compileRe=(e,t,n=false,r=false)=>{if(n===true)return e.output;let i=t||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${e.output})${o}`;e&&e.negated===true&&(a=`^(?!${a}).*$`);let l=D.toRegex(a,t);return r===true&&(l.state=e),l};D.makeRe=(e,t={},n=false,r=false)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let i={negated:false,fastpaths:true};return t.fastpaths!==false&&(e[0]==="."||e[0]==="*")&&(i.output=un.fastpaths(e,t)),i.output||(i=un(e,t)),D.compileRe(i,t,n,r)};D.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(n){if(t&&t.debug===true)throw n;return /$^/}};D.constants=jo;_r.exports=D;});var vr=mt((Vu,Nr)=>{var Rr=Cr(),Uo=Dt();function $r(e,t,n=false){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:Uo.isWindows()}),Rr(e,t,n)}Object.assign($r,Rr);Nr.exports=$r;});function Ht(e){if("String"in e)return e.String.sval}function yt(e){return e.map(Ht).filter(t=>t!=null)}function Ir(e){return Object.keys(e)[0]}function jr(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 ke=L(()=>{});function Dr(e){let t=e.toLowerCase();return ["serial","serial4","bigserial","serial8","smallserial","serial2"].includes(t)}function Ur(e){let t=e.toLowerCase();return ["varchar","character varying","char","character","bpchar"].includes(t)}function Br(e){let t=e.toLowerCase();return ["numeric","decimal"].includes(t)}var mn,Pe,ca,hn=L(()=>{ke();mn=class extends Error{},Pe=class extends mn{constructor(n,r){super(r??`Unsupported node type: ${Ir(n)}`);this.node=n;}};ca={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"}},new Map(Object.entries(ca));});var Z,Le,Mr=L(()=>{ke();hn();Z=class extends Pe{constructor(t,n){super(t,`Unsupported expression: ${n}`);}},Le=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 n=Object.keys(t)[0],r=this[n];if(!r)throw new Z({[n]:t},`Unsupported expression: ${n}`);return r.call(this,t[n])}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 r=this.isJwtAccessor(t.A_Expr);return r||this.A_Expr(t.A_Expr)}if("BoolExpr"in t)return this.BoolExpr(t.BoolExpr);let n=Object.keys(t)[0];throw new Z({[n]:t},`deparseValue: ${n}`)}A_Expr(t){if(t.kind==="AEXPR_OP"){let n=t.name?.[0],r=n?Ht(n):void 0;if(!r)throw new Z({A_Expr:t},"A_Expr missing operator");let i=this.isJwtAccessor(t);if(i)return {[i]:{}};let s=t.lexpr?this.deparseValue(t.lexpr):void 0,o=t.rexpr?this.deparseValue(t.rexpr):void 0,a=this.mapOperator(r);if(!a)throw new Z({A_Expr:t},`Unsupported operator: ${r}`);let l=t.rexpr!=null&&"ColumnRef"in t.rexpr;if(typeof s=="string"&&s.startsWith("{{")&&l)return {[o]:{[a]:s}};let c=l&&typeof o=="string"?{$ref:o}:o;return {[s]:{[a]:c}}}if(t.kind==="AEXPR_LIKE"||t.kind==="AEXPR_ILIKE"){let n=t.lexpr?this.deparseValue(t.lexpr):void 0,r=t.rexpr?this.deparseValue(t.rexpr):void 0,s=(t.name?.[0]?Ht(t.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[n]:{[s]:r}}}if(t.kind==="AEXPR_IN"){let n=t.lexpr?this.deparseValue(t.lexpr):void 0,r=t.rexpr&&"List"in t.rexpr&&t.rexpr.List.items?t.rexpr.List.items.map(i=>this.deparseValue(i)):[];return {[n]:{$in:r}}}throw new Z({A_Expr:t},`A_Expr kind: ${t.kind}`)}BoolExpr(t){let n=t.args??[];switch(t.boolop){case "AND_EXPR":return {$and:n.map(r=>this.deparse(r))};case "OR_EXPR":return {$or:n.map(r=>this.deparse(r))};case "NOT_EXPR":return {$not:this.deparse(n[0])};default:throw new Z({BoolExpr:t},`BoolExpr op: ${t.boolop}`)}}NullTest(t){let n=t.arg?this.deparseValue(t.arg):void 0;return t.nulltesttype==="IS_NULL"?{[n]:{$is:null}}:{[n]:{$isNot:null}}}SubLink(t){if(t.subLinkType==="ANY_SUBLINK"){let n=t.testexpr?this.deparseValue(t.testexpr):void 0,r=t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0;return {[n]:{$in:r}}}if(t.subLinkType==="EXISTS_SUBLINK")return {$exists:t.subselect?this.SelectStmt(t.subselect.SelectStmt):void 0};if(t.subLinkType==="EXPR_SUBLINK"){let n=t.subselect?t.subselect.SelectStmt:void 0;if(n?.fromClause?.length)return this.SelectStmt(n);if(n?.targetList?.[0]){let r=n.targetList[0],i="ResTarget"in r?r.ResTarget:void 0;if(i?.val){let s=this.deparseValue(i.val);return s}}}throw new Z({SubLink:t},`SubLink type: ${t.subLinkType}`)}SelectStmt(t){let{from:n,schema:r,join:i}=this.deparseFromClause(t.fromClause??[]),s=[];for(let d of t.targetList??[]){let b="ResTarget"in d?d.ResTarget:void 0;if(b?.val){let w=this.deparseValue(b.val);Array.isArray(w)?s.push(...w.map(String)):w!=null&&w!==""&&s.push(String(w));}}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),h={type:"query",from:n,select:s};return r&&(h.schema=r),Object.keys(i).length>0&&(h.join=i),o&&(h.where=o),a.length>0&&(h.order=a),l!==void 0&&(h.limit=l),c!==void 0&&(h.offset=c),u.length>0&&(h.group=u),h}FuncCall(t){let n=this.isAuthFunc(t.funcname??[]);if(n)return n;throw new Z({FuncCall:t},`FuncCall: ${yt(t.funcname??[]).join(".")}`)}ColumnRef(t){let n=yt(t.fields??[]);return n.length===1?n[0]:n.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 Z({A_Const:t},"A_Const: unknown variant")}TypeCast(t){if(!t.arg)throw new Z({TypeCast:t},"TypeCast: missing arg");return this.deparseValue(t.arg)}BooleanTest(t){let n=t.arg?this.deparseValue(t.arg):void 0;return t.booltesttype==="IS_TRUE"?{[n]:{$eq:true}}:{[n]:{$eq:false}}}deparseFromClause(t){let n={};if(t.length===0)return {from:"",join:n};let r=t[0];if("RangeVar"in r){let i=r.RangeVar;return {from:i.relname??"",schema:i.schemaname,join:n}}if("JoinExpr"in r){let{from:i,schema:s}=this.walkJoinExpr(r.JoinExpr,n);return {from:i,schema:s,join:n}}return {from:"",join:n}}walkJoinExpr(t,n){let r={from:""};if(t.larg)if("RangeVar"in t.larg){let i=t.larg.RangeVar;r={from:i.relname??"",schema:i.schemaname};}else "JoinExpr"in t.larg&&(r=this.walkJoinExpr(t.larg.JoinExpr,n));if(t.rarg&&"RangeVar"in t.rarg){let i=t.rarg.RangeVar,s=i.relname??"",o=i.alias?.aliasname??s,a=t.jointype==="JOIN_LEFT"?"left":"inner",l={from:s,type:a};t.quals&&(l.on=this.deparse(t.quals));let c=o;if(c in n){let u=2;for(;`${c}_${u}`in n;)u++;c=`${c}_${u}`;}n[c]=l;}return r}deparseSortClause(t){if(!t)return [];let n=[];for(let r of t){if(!("SortBy"in r))continue;let i=r.SortBy;if(!i.node)continue;let s=String(this.deparseValue(i.node)),o=i.sortby_dir==="SORTBY_DESC"?"desc":"asc",a={column:s,direction:o};i.sortby_nulls==="SORTBY_NULLS_FIRST"?a.nullsFirst=true:i.sortby_nulls==="SORTBY_NULLS_LAST"&&(a.nullsFirst=false),n.push(a);}return n}deparseLimit(t){if(!t)return;let n=this.deparseValue(t);return typeof n=="number"?n:Number(n)}deparseGroupClause(t){return t?t.map(n=>String(this.deparseValue(n))):[]}isAuthFunc(t){let n=yt(t);if(n.length===2&&n[0]==="auth"){if(n[1]==="uid")return "{{auth.uid}}";if(n[1]==="jwt")return "{{auth.jwt}}";if(n[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${n.slice(1).join(".")}"`)}return null}isJwtAccessor(t){if(t.kind!=="AEXPR_OP")return null;let n=t.name?.[0]?Ht(t.name[0]):void 0;if(n!=="->"&&n!=="->>")return null;let r=t.rexpr&&"A_Const"in t.rexpr?t.rexpr.A_Const.sval?.sval:void 0;if(r===void 0)return null;if(t.lexpr&&"FuncCall"in t.lexpr)return this.isAuthFunc(t.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${r}}}`:null;if(t.lexpr&&"A_Expr"in t.lexpr){let i=this.isJwtAccessor(t.lexpr.A_Expr);if(i)return `${i.slice(0,-2)}.${r}}}`}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 Oe,Hr=L(()=>{Oe=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 qt,dn=L(()=>{qt=class extends Error{constructor(n,r,i,s){super(`check constraint "${i}" violated for ${n}.${r}`);this.table=n;this.column=r;this.constraint=i;this.value=s;this.name="CheckConstraintError";}};});var G,lt=L(()=>{dn();G=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,n){return {status:"fail",message:t,action:n}}validationPass(){return {status:"pass",message:null}}isNullish(t){return t==null}toColumnDDL(t){let{includeNullable:n=true}=t??{},r=[],i=this.context.column;r.push(this.quoteIfNeeded(i)),r.push(this.sqliteType),this.context.isPrimaryKey&&r.push("PRIMARY KEY"),this.context.isSerial&&this.context.isPrimaryKey&&r.push("AUTOINCREMENT"),n&&!this.context.nullable&&!this.context.isPrimaryKey&&r.push("NOT NULL"),this.context.isUnique&&!this.context.isPrimaryKey&&r.push("UNIQUE"),this.context.defaultValue!==null&&r.push(`DEFAULT ${this.context.defaultValue}`);let s=this.checkConstraint();return s&&r.push(`CHECK (${s})`),r.join(" ")}checkError(t,n){return new qt(this.context.table,this.context.column,t,n)}quoteIfNeeded(t){return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(t)?t:`"${t}"`}};});var bt,Fe=L(()=>{lt();bt=class extends G{get sqliteType(){return "INTEGER"}};});var Gt,gn=L(()=>{Fe();Gt=class extends bt{constructor(t){super({...t,isSerial:true});}};});function ua(e,t){let{precision:n,scale:r}=t,i=10**r,s=10**(n-r);return Math.abs(Math.round(e*i)-e*i)<1e-4&&Math.abs(e)<s}var Vt,yn=L(()=>{lt();Vt=class extends G{numericPrecision;constructor(t,n){super(t),this.numericPrecision=n;}get isShimBacked(){return this.numericPrecision!==void 0}get sqliteType(){return "REAL"}checkConstraint(){if(this.numericPrecision){let{precision:t,scale:n}=this.numericPrecision,r=this.context.column,i=10**n,s=10**(t-n);return `ABS(ROUND(${r} * ${i}) - ${r} * ${i}) < 0.0001 AND ABS(${r}) < ${s}`}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:n,scale:r}=this.numericPrecision;if(!ua(t,this.numericPrecision))return this.validationFail(`Does not fit numeric(${n}, ${r}).`,"Patch rows within numeric precision.")}return this.validationPass()}};});var j,et=L(()=>{lt();j=class extends G{lengthConstraint;constructor(t,n){super(t),this.lengthConstraint=n;}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 Wt,bn=L(()=>{lt();Wt=class extends G{get sqliteType(){return "BLOB"}};});var zt,wn=L(()=>{lt();zt=class extends G{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){if(this.isNullish(t)||t===true||t===false)return t;if(typeof t=="number"&&Number.isFinite(t)){if(t===1)return true;if(t===0)return false}return t===1n?true:t===0n?false:t==="1"||t==="true"?true:t==="0"||t==="false"?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 qr(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var Kt,xn=L(()=>{lt();Kt=class extends G{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 n=qr(t);return n.ok?n.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."):qr(t).ok?this.validationPass():this.validationFail("Invalid JSON text.","Patch rows with valid JSON.")}};});function fa(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 Xt,Sn=L(()=>{et();Xt=class extends j{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"||!fa(t)?this.validationFail("Invalid date.","Patch rows with YYYY-MM-DD dates."):this.validationPass()}};});function pa(e){let t=e.match(/^(\d{2}):(\d{2})(?::(\d{2})(?:\.\d{1,6})?)?([+-](\d{2}):?(\d{2}))?$/);if(!t)return false;let n=Number(t[1]),r=Number(t[2]),i=t[3]===void 0?0:Number(t[3]),s=t[5]===void 0?null:Number(t[5]),o=t[6]===void 0?null:Number(t[6]),a=s===null||o!==null&&s<=15&&o<=59;return n<=24&&r<=59&&i<=59&&(n!==24||r===0&&i===0)&&a}var Jt,En=L(()=>{et();Jt=class extends j{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"||!pa(t)?this.validationFail("Invalid time.","Patch rows with HH:MM[:SS] times."):this.validationPass()}};});function ma(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 n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),s=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(n,r-1,i)),h=u.getUTCFullYear()===n&&u.getUTCMonth()===r-1&&u.getUTCDate()===i,d=s<=24&&o<=59&&a<=59&&(s!==24||o===0&&a===0),b=l===null||c!==null&&l<=15&&c<=59;return h&&d&&b}var Yt,Tn=L(()=>{et();Yt=class extends j{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"||!ma(t)?this.validationFail("Invalid timestamp.","Patch rows with ISO timestamps."):this.validationPass()}};});var Qt,An=L(()=>{et();Qt=class extends j{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 Zt,_n=L(()=>{et();Zt=class extends j{enumValues;constructor(t,n){super(t),this.enumValues=n;}get isShimBacked(){return true}checkConstraint(){let t=this.context.column,n=this.enumValues.map(r=>`'${r.replace(/'/g,"''")}'`).join(", ");return `${t} IN (${n})`}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 Gr(e){try{return {ok:!0,value:JSON.parse(e)}}catch{return {ok:false}}}var Rt,Cn=L(()=>{lt();Rt=class extends G{elementField;constructor(t,n){super(t),this.elementField=n;}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(n=>this.elementField.serialize(n))):JSON.stringify(t)}deserialize(t){if(this.isNullish(t))return t;if(typeof t=="string"){let n=Gr(t);if(n.ok&&Array.isArray(n.value))return this.elementField?n.value.map(r=>this.elementField.deserialize(r)):n.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 n=Gr(t);if(!n.ok)return this.validationFail("Invalid JSON array text.","Patch rows with array values.");if(!Array.isArray(n.value))return this.validationFail("Expected JSON array.","Patch rows with array values.");if(this.elementField)for(let r of n.value){let i=this.elementField.validateStorage(r);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 Vr(e){return da.test(e.toLowerCase())}var ha,da,te,Rn=L(()=>{et();ha="????????-????-????-????-????????????",da=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;te=class extends j{get isShimBacked(){return true}checkConstraint(){let t=this.quoteIfNeeded(this.context.column);return `${t} IS NULL OR ${t} GLOB '${ha}'`}serialize(t){if(this.isNullish(t))return t;if(typeof t!="string")throw this.checkError("uuid_format",t);let n=t.toLowerCase();if(!Vr(n))throw this.checkError("uuid_format",t);return n}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Vr(t)?this.validationFail("Invalid UUID.","Patch rows with valid UUIDs."):this.validationPass()}};});function ga(e){let t=e.split("/");if(t.length>2)return null;let n=t[0];if(!n)return null;if(t.length===1)return {address:n,prefix:null};let r=t[1];return !r||!/^\d+$/.test(r)?null:{address:n,prefix:Number(r)}}function ya(e){let t=e.split(".");return t.length!==4?false:t.every(n=>{if(!/^\d+$/.test(n))return false;let r=Number(n);return r>=0&&r<=255})}function ba(e){if(!e.includes(":"))return false;try{return new URL(`http://[${e}]/`),!0}catch{return false}}function Wr(e){let t=ga(e);return t?ya(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=32:ba(t.address)?t.prefix===null||t.prefix>=0&&t.prefix<=128:false:false}var ee,$n=L(()=>{et();ee=class extends j{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 n=t.trim();if(!Wr(n))throw this.checkError("inet_format",t);return n}validateStorage(t){return this.isNullish(t)?this.validationPass():typeof t!="string"||!Wr(t.trim())?this.validationFail("Invalid inet address.","Patch rows with valid inet strings."):this.validationPass()}};});var ne,Nn=L(()=>{et();ne=class extends j{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 re(e,t){if(t?.isArray){let r=re(e,{...t,isArray:false});return new Rt(e,r)}if(t?.enumValues)return new Zt(e,t.enumValues);let n=e.pgTypeName.toLowerCase().trim();if(n.startsWith("_")||n.endsWith("[]")){let r=n.startsWith("_")?n.slice(1):n.slice(0,-2),i={...e,pgTypeName:r},s=re(i);return new Rt(e,s)}return xa.has(n)?new Gt(e):wa.has(n)?new bt(e):Aa.has(n)?new zt(e):_a.has(n)?new Kt(e):Na.has(n)?new Xt(e):va.has(n)?new Jt(e):ka.has(n)?new Yt(e):Pa.has(n)?new Qt(e):Ta.has(n)?new Wt(e):Sa.has(n)?new Vt(e,t?.numericPrecision):Ca.has(n)?new te(e):Ra.has(n)?new j(e,63):$a.has(n)?new ee(e):Ea.has(n)?new j(e,t?.lengthConstraint):new ne(e)}var wa,xa,Sa,Ea,Ta,Aa,_a,Ca,Ra,$a,Na,va,ka,Pa,zr=L(()=>{Fe();gn();yn();et();bn();wn();xn();Sn();En();Tn();An();_n();Cn();Rn();$n();Nn();wa=new Set(["int2","smallint","int4","integer","int","int8","bigint"]),xa=new Set(["serial","serial4","bigserial","serial8","smallserial","serial2"]),Sa=new Set(["float4","real","float8","double precision","numeric","decimal"]),Ea=new Set(["text","varchar","character varying","char","character","bpchar"]),Ta=new Set(["bytea"]),Aa=new Set(["bool","boolean"]),_a=new Set(["json","jsonb"]),Ca=new Set(["uuid"]),Ra=new Set(["name"]),$a=new Set(["inet"]),Na=new Set(["date"]),va=new Set(["time","timetz","time without time zone","time with time zone"]),ka=new Set(["timestamp","timestamptz","timestamp without time zone","timestamp with time zone"]),Pa=new Set(["interval"]);});var Kr=L(()=>{});var ie,Xr=L(()=>{ie=class{table;schema;fields;constructor(t,n="public",r=new Map){this.table=t,this.schema=n,this.fields=r;}get(t){return this.fields.get(t)}has(t){return this.fields.has(t)}set(t,n){this.fields.set(t,n);}columns(){return Array.from(this.fields.keys())}all(){return Array.from(this.fields.values())}serializeRow(t){let n={};for(let[r,i]of Object.entries(t)){let s=this.fields.get(r);n[r]=s?s.serialize(i):i;}return n}deserializeRow(t){let n={};for(let[r,i]of Object.entries(t)){let s=this.fields.get(r);n[r]=s?s.deserialize(i):i;}return n}applyDefaults(t){let n={...t};for(let[r,i]of this.fields)!(r in n)&&i.context.defaultFn&&(n[r]=i.context.defaultFn());return n}};});var Jr=L(()=>{lt();dn();Fe();gn();yn();et();bn();wn();xn();Sn();En();Tn();An();_n();Cn();Rn();$n();Nn();zr();Kr();Xr();});var Yr={};Ei(Yr,{_resetWarnedMissingToClauseForTests:()=>La,collectComments:()=>Ua,collectEnums:()=>Oa,collectPolicies:()=>Ia,collectSchema:()=>ja,collectTableConstraints:()=>Da,collectVariables:()=>Fa});function La(){vn.clear();}function Oa(e){let t=new Map;for(let n of e.stmts??[]){if(!n.stmt||!("CreateEnumStmt"in n.stmt))continue;let r=n.stmt.CreateEnumStmt,i=yt(r.typeName??[]).join(".");if(!i||!r.vals)continue;let s=yt(r.vals);t.set(i.toLowerCase(),s);}return t}function Fa(e){let t=new Map;for(let n of e.stmts??[]){if(!n.stmt||!("VariableSetStmt"in n.stmt))continue;let r=n.stmt.VariableSetStmt,i=r.name,s=jr(r.args?.[0]??{});t.set(i,{value:s,local:r.is_local});}return t}function Ia(e){let t=new Le,n=new Set,r=[];for(let i of e.stmts??[])if(i.stmt){if("CreatePolicyStmt"in i.stmt){let s=i.stmt.CreatePolicyStmt,o=s.table?.relname??"",a=s.table?.schemaname,l={select:"SELECT",insert:"INSERT",update:"UPDATE",delete:"DELETE"},c=s.cmd_name?l[s.cmd_name]??"ALL":"ALL",u=s.permissive===true,h=[],d=false;for(let _ of s.roles??[])if("RoleSpec"in _){let N=_.RoleSpec;N.roletype==="ROLESPEC_PUBLIC"?N.location===-1&&(d=true):N.roletype==="ROLESPEC_CSTRING"&&N.rolename&&h.push(N.rolename);}let b=s.qual?t.deparse(s.qual):void 0,w=s.with_check?t.deparse(s.with_check):void 0;if(d){let _=a?`${a}.${o}`:o,N=s.policy_name??"",x=`${_}::${N}`;if(!vn.has(x)){vn.add(x);let H=JSON.stringify(b)+JSON.stringify(w);/\{\{auth\.(uid|jwt|role)/i.test(H)||console.warn(`[supalite] policy "${N}" on "${_}" has no TO clause \u2014 applies to all roles (PUBLIC). For clarity, prefer an explicit \`TO <role>\` clause (e.g. \`TO authenticated\`).`);}}let E=new Oe({name:s.policy_name??"",table:o,schema:a,command:c,permissive:u,roles:h,using:b,withCheck:w});r.push(E);}if("AlterTableStmt"in i.stmt){let s=i.stmt.AlterTableStmt;if((s.cmds??[]).some(l=>"AlterTableCmd"in l&&(l.AlterTableCmd.subtype==="AT_EnableRowSecurity"||l.AlterTableCmd.subtype==="AT_ForceRowSecurity"))){let l=s.relation?.relname??"";n.add(l);}}}return {policies:r,tables:n}}function ja(e,t){let n=new Map;for(let r of e.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let i=r.stmt.CreateStmt,s=i.relation?.relname??"",o=i.relation?.schemaname??"public";if(!s)continue;let a=new ie(s,o);for(let l of i.tableElts??[]){if(!("ColumnDef"in l))continue;let c=l.ColumnDef,u=c.colname;if(!u)continue;let h=c.typeName?.names?.map(S=>S.String?.sval||S.String?.str).filter(Boolean),d=h&&(h.length===2&&h[0]==="pg_catalog"?h[1]:h[0]);if(!d)continue;let b=!!c.typeName?.arrayBounds?.length,w=Array.isArray(c.typeName?.typmods)?c.typeName.typmods:[],E=S=>w[S]?.A_Const?.ival?.ival??w[S]?.A_Const?.val?.ival?.ival,_={isArray:b};if(Ur(d)&&w.length>0){let S=E(0);typeof S=="number"&&S>0&&(_.lengthConstraint=S);}if(Br(d)&&w.length>=2){let S=E(0),k=E(1);typeof S=="number"&&typeof k=="number"&&S>0&&k>=0&&(_.numericPrecision={precision:S,scale:k});}let N=t.get(d.toLowerCase());N&&(_.enumValues=N);let x=Array.isArray(c.constraints)?c.constraints:[],H=x.some(S=>S.Constraint?.contype==="CONSTR_PRIMARY"),J=Dr(d)||x.some(S=>S.Constraint?.contype==="CONSTR_IDENTITY"),q=x.some(S=>S.Constraint?.contype==="CONSTR_NOTNULL"),B=x.find(S=>S.Constraint?.contype==="CONSTR_UNIQUE"),W=x.find(S=>S.Constraint?.contype==="CONSTR_GENERATED"),T=x.find(S=>S.Constraint?.contype==="CONSTR_FOREIGN"),C=x.find(S=>S.Constraint?.contype==="CONSTR_CHECK"),m;if(T){let S=T.Constraint,k=S.pktable?.relname,p=S.pktable?.schemaname,f=S.pk_attrs?.[0]?.String?.sval;k&&f&&(m={refSchema:p,refTable:k,refColumn:f,constraintName:S.conname||void 0});}let V={schema:o,table:s,column:u,pgTypeName:d,nullable:!q&&!H,defaultValue:null,defaultFn:null,isPrimaryKey:H,isUnique:!!B,isSerial:J,isGenerated:!!W,fkRef:m,hasCheck:!!C,checkConstraintName:C?.Constraint?.conname||void 0,uniqueConstraintName:B?.Constraint?.conname||void 0};a.set(u,re(V,_));}n.set(`${o}.${s}`,a);}return n}function Da(e){let t=[];for(let n of e.stmts??[]){if(!n.stmt||!("CreateStmt"in n.stmt))continue;let r=n.stmt.CreateStmt,i=r.relation?.relname??"",s=r.relation?.schemaname??"public";if(i)for(let o of r.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(h=>h.String?.sval??h.String?.str).filter(Boolean);if(u.length===0)continue;t.push({schema:s,table:i,kind:"unique",name:l.conname||void 0,columns:u});}else if(c==="CONSTR_CHECK")t.push({schema:s,table:i,kind:"check",name:l.conname||void 0,columns:[]});else if(c==="CONSTR_FOREIGN"){let u=(l.fk_attrs??[]).map(b=>b.String?.sval??b.String?.str).filter(Boolean),h=(l.pk_attrs??[]).map(b=>b.String?.sval??b.String?.str).filter(Boolean),d=l.pktable?.relname;if(!d)continue;t.push({schema:s,table:i,kind:"foreign_key",name:l.conname||void 0,columns:u,refSchema:l.pktable?.schemaname,refTable:d,refColumns:h});}}}return t}function Ua(e){let t=[];for(let n of e.stmts??[]){if(!n.stmt||!("CommentStmt"in n.stmt))continue;let r=n.stmt.CommentStmt,i=r.comment??"";if(!i)continue;let s=r.objtype,o=(r.object?.List?.items??r.object?.items??[]).map(a=>a.String?.sval??a.String?.str).filter(Boolean);if(o.length!==0){if(s==="OBJECT_TABLE"||s==="OBJECT_VIEW"){let[a,l]=o.length>=2?o:["public",o[0]];t.push({schema:a,table:l,text:i});}else if(s==="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:i});}}}return t}var vn,Qr=L(()=>{Mr();ke();Hr();Jr();hn();vn=new Set;});function tt(e,t){ce.existsSync(e)||(ce.mkdirSync(e,{recursive:true}),t?.());}function ht(e,t,n){ce.existsSync(e)||(ce.writeFileSync(e,t),n?.());}var at=class e{root;constructor(t,n){let r=n??e.projectDir();this.root=rt__default.join(r,t??"");}ensureRoot(){tt(this.root);}static homeDir(){return rt__default.join(Ai.homedir(),".lite")}static projectDir(){return rt__default.join(process.cwd(),"supabase")}deleteAll(t=false){try{ce.rmSync(this.root,{recursive:!0});}catch(n){if(!t)throw n}this.ensureRoot();}delete(t,n=false){try{ce.unlinkSync(rt__default.join(this.root,t));}catch(r){if(!n)throw r}}write(t,n,r=false){try{this.ensureRoot(),ce.writeFileSync(rt__default.join(this.root,t),n);}catch(i){if(!r)throw i}}read(t,n=false){try{return ce.readFileSync(rt__default.join(this.root,t),"utf8")}catch(r){if(!n)throw r}}relativePath(t){return t?rt__default.relative(process.cwd(),rt__default.join(this.root,t)):this.root}path(t){return t?rt__default.join(this.root,t):this.root}};var Nt=process.env.SUPALITE_CLOUD_URL??(process.env.LOCAL?"http://localhost:2000":"https://www.lite.dev");var pe=class{root;constructor(t){this.root=t??rt__default.join(Ai.homedir(),".lite","auth"),tt(this.root);}async getItem(t){try{return ce.readFileSync(rt__default.join(this.root,t+".json"),"utf8")}catch{return null}}async setItem(t,n){ce.writeFileSync(rt__default.join(this.root,t+".json"),n);}async removeItem(t){try{ce.unlinkSync(rt__default.join(this.root,t+".json"));}catch{return}}};var xt=class{constructor(t){this.config=t;this.tempFs=new at(".temp",this.config.root),this.projectFs=new at("supabase",this.config.root),this.schemaFs=new at("schemas",this.config.root),this.authStorage=this.config.authStorage??new pe(rt__default.join(at.homeDir(),"auth")),this._client=this.config.withSupabaseClient!==false?this.config.client??createClient(this.config.host??Nt,process.env.SUPALITE_CLOUD_ANON_KEY??"...",{auth:{storage:this.authStorage}}):void 0;}tempFs;projectFs;schemaFs;_client;authStorage;async fetch(t,n){if(!this.config.token)throw new Error("Not authenticated, sign in first.");let r=t instanceof URL?t:new URL(t,this.config.host??Nt);return await fetch(r,{...n,headers:{...n?.headers,Authorization:`Bearer ${this.config.token}`}})}};var St=class extends xt{constructor(n){super(n);this.config=n;}get client(){if(!this._client)throw new Error("Supabase client not initialized");return this._client}projectRef(){return this.tempFs.read("project-ref",true)}projectUrl(n){let r=new URL(this.config.host),i=r.hostname==="localhost"?"supalite.local":r.hostname,s=i.split(".").filter(a=>a!=="www"),o=s.length>=2?s.slice(-2).join("."):i;return `${r.protocol}//${n}.${o}${r.port?`:${r.port}`:""}`}};var ut={config_dir:"supabase",default_db_url:"file:supabase/.temp/data.db",default_db_dir:"supabase/.temp/data"};var It=$t(vt());function ki(e,t){let n=e.slice(0,t).split(/\r\n|\n|\r/g);return [n.length,n.pop().length+1]}function Pi(e,t,n){let r=e.split(/\r\n|\n|\r/g),i="",s=(Math.log10(t+1)|0)+1;for(let o=t-1;o<=t+1;o++){let a=r[o-1];a&&(i+=o.toString().padEnd(s," "),i+=": ",i+=a,i+=`
13
13
  `,o===t&&(i+=" ".repeat(s+n+2),i+=`^
14
14
  `));}return i}var A=class extends Error{line;column;codeblock;constructor(t,n){let[r,i]=ki(n.toml,n.ptr),s=Pi(n.toml,r,i);super(`Invalid TOML document: ${t}
15
15
 
@@ -56,7 +56,7 @@ create table todos (
56
56
  create table test (
57
57
  id serial primary key,
58
58
  name text not null
59
- )`,us="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 Yn=createRequire(import.meta.url);function ys(e){let t=normalize(e);return t.length>1&&t[t.length-1]===sep&&(t=t.substring(0,t.length-1)),t}var bs=/[\\/]/g;function tr(e,t){return e.replace(bs,t)}var ws=/^[a-z]:[\\/]$/i;function xs(e){return e==="/"||ws.test(e)}function Ze(e,t){let{resolvePaths:n,normalizePath:r,pathSeparator:i}=t,s=process.platform==="win32"&&e.includes("/")||e.startsWith(".");if(n&&(e=resolve(e)),(r||s)&&(e=ys(e)),e===".")return "";let o=e[e.length-1]!==i;return tr(o?e+i:e,i)}function er(e,t){return t+e}function Ss(e,t){return function(n,r){return r.startsWith(e)?r.slice(e.length)+n:tr(relative(e,r),t.pathSeparator)+t.pathSeparator+n}}function Es(e){return e}function Ts(e,t,n){return t+e+n}function As(e,t){let{relativePaths:n,includeBasePath:r}=t;return n&&e?Ss(e,t):r?er:Es}function _s(e){return function(t,n){n.push(t.substring(e.length)||".");}}function Cs(e){return function(t,n,r){let i=t.substring(e.length)||".";r.every(s=>s(i,true))&&n.push(i);}}var Rs=(e,t)=>{t.push(e||".");},$s=(e,t,n)=>{let r=e||".";n.every(i=>i(r,true))&&t.push(r);},Ns=()=>{};function vs(e,t){let{includeDirs:n,filters:r,relativePaths:i}=t;return n?i?r&&r.length?Cs(e):_s(e):r&&r.length?$s:Rs:Ns}var ks=(e,t,n,r)=>{r.every(i=>i(e,false))&&n.files++;},Ps=(e,t,n,r)=>{r.every(i=>i(e,false))&&t.push(e);},Ls=(e,t,n,r)=>{n.files++;},Os=(e,t)=>{t.push(e);},Fs=()=>{};function Is(e){let{excludeFiles:t,filters:n,onlyCounts:r}=e;return t?Fs:n&&n.length?r?ks:Ps:r?Ls:Os}var js=e=>e,Ds=()=>[""].slice(0,0);function Us(e){return e.group?Ds:js}var Bs=(e,t,n)=>{e.push({directory:t,files:n,dir:t});},Ms=()=>{};function Hs(e){return e.group?Bs:Ms}var qs=function(e,t,n){let{queue:r,fs:i,options:{suppressErrors:s}}=t;r.enqueue(),i.realpath(e,(o,a)=>{if(o)return r.dequeue(s?null:o,t);i.stat(a,(l,c)=>{if(l)return r.dequeue(s?null:l,t);if(c.isDirectory()&&nr(e,a,t))return r.dequeue(null,t);n(c,a),r.dequeue(null,t);});});},Gs=function(e,t,n){let{queue:r,fs:i,options:{suppressErrors:s}}=t;r.enqueue();try{let o=i.realpathSync(e),a=i.statSync(o);if(a.isDirectory()&&nr(e,o,t))return;n(a,o);}catch(o){if(!s)throw o}};function Vs(e,t){return !e.resolveSymlinks||e.excludeSymlinks?null:t?Gs:qs}function nr(e,t,n){if(n.options.useRealPaths)return Ws(t,n);let r=dirname(e),i=1;for(;r!==n.root&&i<2;){let s=n.symlinks.get(r);!!s&&(s===t||s.startsWith(t)||t.startsWith(s))?i++:r=dirname(r);}return n.symlinks.set(e,t),i>1}function Ws(e,t){return t.visited.includes(e+t.options.pathSeparator)}var zs=e=>e.counts,Ks=e=>e.groups,Xs=e=>e.paths,Js=e=>e.paths.slice(0,e.options.maxFiles),Ys=(e,t,n)=>(Re(t,n,e.counts,e.options.suppressErrors),null),Qs=(e,t,n)=>(Re(t,n,e.paths,e.options.suppressErrors),null),Zs=(e,t,n)=>(Re(t,n,e.paths.slice(0,e.options.maxFiles),e.options.suppressErrors),null),to=(e,t,n)=>(Re(t,n,e.groups,e.options.suppressErrors),null);function Re(e,t,n,r){t(e&&!r?e:null,n);}function eo(e,t){let{onlyCounts:n,group:r,maxFiles:i}=e;return n?t?zs:Ys:r?t?Ks:to:i?t?Js:Zs:t?Xs:Qs}var rr={withFileTypes:true},no=(e,t,n,r,i)=>{if(e.queue.enqueue(),r<0)return e.queue.dequeue(null,e);let{fs:s}=e;e.visited.push(t),e.counts.directories++,s.readdir(t||".",rr,(o,a=[])=>{i(a,n,r),e.queue.dequeue(e.options.suppressErrors?null:o,e);});},ro=(e,t,n,r,i)=>{let{fs:s}=e;if(r<0)return;e.visited.push(t),e.counts.directories++;let o=[];try{o=s.readdirSync(t||".",rr);}catch(a){if(!e.options.suppressErrors)throw a}i(o,n,r);};function io(e){return e?ro:no}var so=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));}},oo=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}},ao=class{aborted=false;abort(){this.aborted=true;}},ir=class{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(e,t,n){this.isSynchronous=!n,this.callbackInvoker=eo(t,this.isSynchronous),this.root=Ze(e,t),this.state={root:xs(this.root)?this.root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new oo,options:t,queue:new so((r,i)=>this.callbackInvoker(i,r,n)),symlinks:new Map,visited:[""].slice(0,0),controller:new ao,fs:t.fs||At},this.joinPath=As(this.root,t),this.pushDirectory=vs(this.root,t),this.pushFile=Is(t),this.getArray=Us(t),this.groupFiles=Hs(t),this.resolveSymlink=Vs(t,this.isSynchronous),this.walkDirectory=io(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,n)=>{let{paths:r,options:{filters:i,resolveSymlinks:s,excludeSymlinks:o,exclude:a,maxFiles:l,signal:c,useRealPaths:u,pathSeparator:h},controller:d}=this.state;if(d.aborted||c&&c.aborted||l&&r.length>l)return;let b=this.getArray(this.state.paths);for(let w=0;w<e.length;++w){let E=e[w];if(E.isFile()||E.isSymbolicLink()&&!s&&!o){let _=this.joinPath(E.name,t);this.pushFile(_,b,this.state.counts,i);}else if(E.isDirectory()){let _=Ts(E.name,t,this.state.options.pathSeparator);if(a&&a(E.name,_))continue;this.pushDirectory(_,r,i),this.walkDirectory(this.state,_,_,n-1,this.walk);}else if(this.resolveSymlink&&E.isSymbolicLink()){let _=er(E.name,t);this.resolveSymlink(_,this.state,(N,x)=>{if(N.isDirectory()){if(x=Ze(x,this.state.options),a&&a(E.name,u?x:_+h))return;this.walkDirectory(this.state,x,u?x:_+h,n-1,this.walk);}else {x=u?x:_;let V=basename(x),Z=Ze(dirname(x),this.state.options);x=this.joinPath(V,Z),this.pushFile(x,b,this.state.counts,i);}});}}this.groupFiles(this.state.groups,t,b);}};function lo(e,t){return new Promise((n,r)=>{sr(e,t,(i,s)=>{if(i)return r(i);n(s);});})}function sr(e,t,n){new ir(e,t,n).start();}function co(e,t){return new ir(e,t).start()}var Qn=class{constructor(e,t){this.root=e,this.options=t;}withPromise(){return lo(this.root,this.options)}withCallback(e){sr(this.root,this.options,e);}sync(){return co(this.root,this.options)}},or=null;try{Yn.resolve("picomatch"),or=Yn("picomatch");}catch{}var ar=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 Qn(e||".",this.options)}withGlobFunction(e){return this.globFunction=e,this}crawlWithOptions(e,t){return this.options={...this.options,...t},new Qn(e||".",this.options)}glob(...e){return this.globFunction?this.globWithOptions(e):this.globWithOptions(e,{dot:true})}globWithOptions(e,...t){let n=this.globFunction||or;if(!n)throw new Error("Please specify a glob function to use glob matching.");var r=this.globCache[e.join("\0")];return r||(r=n(e,...t),this.globCache[e.join("\0")]=r),this.options.filters.push(i=>r(i)),this}};var Ct=$t(vr()),Mo=Array.isArray,Lr=process.platform==="win32",Ho=/^(\/?\.\.)+$/;function qo(e,t={}){let n=e.length,r=Array(n),i=Array(n),s=!t.noglobstar;for(let o=0;o<n;o++){let a=Or(e[o]);r[o]=a;let l=a.length,c=Array(l);for(let u=0;u<l;u++)c[u]=(0, Ct.default)(a[u],t);i[o]=c;}return o=>{let a=o.split("/");if(a[0]===".."&&Ho.test(o))return true;for(let l=0;l<e.length;l++){let c=r[l],u=i[l],h=a.length,d=Math.min(h,c.length),b=0;for(;b<d;){let w=c[b];if(w.includes("/"))return true;if(!u[b](a[b]))break;if(s&&w==="**")return true;b++;}if(b===h)return true}return false}}var Go=/^[A-Z]:\/$/i,Vo=Lr?e=>Go.test(e):e=>e==="/";function kr(e,t,n){if(e===t||t.startsWith(`${e}/`)){if(n){let i=Vo(e)?e.length:e.length+1;return (s,o)=>s.slice(i,o?-1:void 0)||"."}let r=t.slice(e.length+1);return r?(i,s)=>{if(i===".")return r;let o=`${r}/${i}`;return s?o.slice(0,-1):o}:(i,s)=>s&&i!=="."?i.slice(0,-1):i}return n?r=>posix.relative(e,r)||".":r=>posix.relative(e,`${t}/${r}`)||"."}function Wo(e,t){if(t.startsWith(`${e}/`)){let n=t.slice(e.length+1);return r=>`${n}/${r}`}return n=>{let r=posix.relative(e,`${t}/${n}`);return n.endsWith("/")&&r!==""?`${r}/`:r||"."}}var zo={parts:true};function Or(e){var t;let n=Ct.default.scan(e,zo);return !((t=n.parts)===null||t===void 0)&&t.length?n.parts:[e]}var Ko=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,Xo=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,Jo=e=>e.replace(Ko,"\\$&"),Yo=e=>e.replace(Xo,"\\$&"),Qo=Lr?Yo:Jo;function Zo(e,t){let n=Ct.default.scan(e);return n.isGlob||n.negated}function _t(...e){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...e);}var ta=/^(\/?\.\.)+/,ea=/\\(?=[()[\]{}!*+?@|])/g,ve=/\\/g;function fn(e,t,n,r,i){let s=e;e.endsWith("/")&&(s=e.slice(0,-1)),!s.endsWith("*")&&t&&(s+="/**");let o=Qo(n);Pr.isAbsolute(s.replace(ea,""))?s=posix.relative(o,s):s=posix.normalize(s);let a=ta.exec(s),l=Or(s);if(a?.[0]){let u=(a[0].length+1)/3,h=0,d=o.split("/");for(;h<u&&l[h+u]===d[d.length+h-u];)s=s.slice(0,(u-h-1)*3)+s.slice((u-h)*3+l[h+u].length+1)||".",h++;let b=posix.join(n,a[0].slice(h*3));!b.startsWith(".")&&r.root.length>b.length&&(r.root=b,r.depthOffset=-u+h);}if(!i&&r.depthOffset>=0){var c;(c=r.commonPath)!==null&&c!==void 0||(r.commonPath=l);let u=[],h=Math.min(r.commonPath.length,l.length);for(let d=0;d<h;d++){let b=l[d];if(b==="**"&&!l[d+1]){u.pop();break}if(b!==r.commonPath[d]||Zo(b)||d===l.length-1)break;u.push(b);}r.depthOffset=u.length,r.commonPath=u,r.root=u.length>0?posix.join(n,...u):n;}return s}function na({patterns:e=["**/*"],ignore:t=[],expandDirectories:n=true},r,i){typeof e=="string"&&(e=[e]),typeof t=="string"&&(t=[t]);let s=[],o=[];for(let a of t)a&&(a[0]!=="!"||a[1]==="(")&&o.push(fn(a,n,r,i,true));for(let a of e)a&&(a[0]!=="!"||a[1]==="("?s.push(fn(a,n,r,i,false)):(a[1]!=="!"||a[2]==="(")&&o.push(fn(a.slice(1),n,r,i,true)));return {match:s,ignore:o}}function ra(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];e[n]=t(r);}return e}function ia(e){return e?e instanceof URL?fileURLToPath(e).replace(ve,"/"):Pr.resolve(e).replace(ve,"/"):process.cwd().replace(ve,"/")}function sa(e,t={}){let n=process.env.TINYGLOBBY_DEBUG?{...t,debug:true}:t,r=ia(n.cwd);if(n.debug&&_t("globbing with:",{patterns:e,options:n,cwd:r}),Array.isArray(e)&&e.length===0)return [{sync:()=>[],withPromise:async()=>[]},false];let i={root:r,commonPath:null,depthOffset:0},s=na({...n,patterns:e},r,i);n.debug&&_t("internal processing patterns:",s);let o={dot:n.dot,nobrace:n.braceExpansion===false,nocase:n.caseSensitiveMatch===false,noextglob:n.extglob===false,noglobstar:n.globstar===false,posix:true},a=(0, Ct.default)(s.match,{...o,ignore:s.ignore}),l=(0, Ct.default)(s.ignore,o),c=qo(s.match,o),u=kr(r,i.root,n.absolute),h=n.absolute?u:kr(r,i.root,true),d={filters:[n.debug?(E,_)=>{let N=u(E,_),x=a(N);return x&&_t(`matched ${N}`),x}:(E,_)=>a(u(E,_))],exclude:n.debug?(E,_)=>{let N=h(_,true),x=N!=="."&&!c(N)||l(N);return _t(x?`skipped ${_}`:`crawling ${_}`),x}:(E,_)=>{let N=h(_,true);return N!=="."&&!c(N)||l(N)},fs:n.fs?{readdir:n.fs.readdir||At__default.readdir,readdirSync:n.fs.readdirSync||At__default.readdirSync,realpath:n.fs.realpath||At__default.realpath,realpathSync:n.fs.realpathSync||At__default.realpathSync,stat:n.fs.stat||At__default.stat,statSync:n.fs.statSync||At__default.statSync}:void 0,pathSeparator:"/",relativePaths:true,resolveSymlinks:true,signal:n.signal};n.deep!==void 0&&(d.maxDepth=Math.round(n.deep-i.depthOffset)),n.absolute&&(d.relativePaths=false,d.resolvePaths=true,d.includeBasePath=true),n.followSymbolicLinks===false&&(d.resolveSymlinks=false,d.excludeSymlinks=true),n.onlyDirectories?(d.excludeFiles=true,d.includeDirs=true):n.onlyFiles===false&&(d.includeDirs=true),i.root=i.root.replace(ve,"");let b=i.root;n.debug&&_t("internal properties:",i);let w=r!==b&&!n.absolute&&Wo(r,i.root);return [new ar(d).crawl(b),w]}async function Bt(e,t){if(e&&t?.patterns)throw new Error("Cannot pass patterns as both an argument and an option");let n=Mo(e)||typeof e=="string",r=n?t:e,i=n?e:e.patterns,[s,o]=sa(i,r);return o?ra(await s.withPromise(),o):s.withPromise()}var v=$t(vt());var aa=/^(\d{14})(?:_([^.]+))?\.sql$/;function Fr(e){return e.config?.db?.driver==="sqlite"?"./sqlite-migrations/*.sql":"./migrations/*.sql"}function la(e){return rt__default.posix.dirname(Fr(e))}async function Mt(e){let t=rt__default.join(process.cwd(),"supabase"),n=await Bt([Fr(e)],{cwd:t,absolute:true}),r=[];for(let i of n){let s=rt__default.basename(i),o=aa.exec(s);if(!o)continue;let a=await U__default.readFile(i,"utf-8");r.push({version:o[1],name:o[2]??null,filename:s,path:i,sql:a});}return r.sort((i,s)=>i.version.localeCompare(s.version))}var ni="supabase/.temp/.translation-cache.json",ri=2;async function Ha(e,t){let n=await e.connection.introspect(),r=kn(n);await ii(e,{...t,dbHasTables:n.tables.length>0,dbFingerprint:r}),n.tables.length===0&&await Va(e);let i=await e.connection.introspect();oi(i,e);}async function qa(e){let t=await Bt(e.config.db?.seed?.sql_paths??["./seed.sql"],{cwd:rt__default.join(process.cwd(),"supabase"),absolute:true});return (await Promise.all(t.map(r=>U__default.readFile(r,"utf-8")))).flatMap(r=>splitSqlStatements(r))}async function Ga(e,t){let n=await qa(e);if(n.length===0)return 0;console.log(v.default.dim("Seeding database..."));try{return await e.connection.transaction(n),n.length}catch(r){let i="Fix `supabase/seed.sql`, then run `bun run dev --recreate` to reset and reseed.";throw new Error(`Seed failed and was rolled back: ${String(r.message??r)}
59
+ )`,us="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 Yn=createRequire(import.meta.url);function ys(e){let t=normalize(e);return t.length>1&&t[t.length-1]===sep&&(t=t.substring(0,t.length-1)),t}var bs=/[\\/]/g;function tr(e,t){return e.replace(bs,t)}var ws=/^[a-z]:[\\/]$/i;function xs(e){return e==="/"||ws.test(e)}function Ze(e,t){let{resolvePaths:n,normalizePath:r,pathSeparator:i}=t,s=process.platform==="win32"&&e.includes("/")||e.startsWith(".");if(n&&(e=resolve(e)),(r||s)&&(e=ys(e)),e===".")return "";let o=e[e.length-1]!==i;return tr(o?e+i:e,i)}function er(e,t){return t+e}function Ss(e,t){return function(n,r){return r.startsWith(e)?r.slice(e.length)+n:tr(relative(e,r),t.pathSeparator)+t.pathSeparator+n}}function Es(e){return e}function Ts(e,t,n){return t+e+n}function As(e,t){let{relativePaths:n,includeBasePath:r}=t;return n&&e?Ss(e,t):r?er:Es}function _s(e){return function(t,n){n.push(t.substring(e.length)||".");}}function Cs(e){return function(t,n,r){let i=t.substring(e.length)||".";r.every(s=>s(i,true))&&n.push(i);}}var Rs=(e,t)=>{t.push(e||".");},$s=(e,t,n)=>{let r=e||".";n.every(i=>i(r,true))&&t.push(r);},Ns=()=>{};function vs(e,t){let{includeDirs:n,filters:r,relativePaths:i}=t;return n?i?r&&r.length?Cs(e):_s(e):r&&r.length?$s:Rs:Ns}var ks=(e,t,n,r)=>{r.every(i=>i(e,false))&&n.files++;},Ps=(e,t,n,r)=>{r.every(i=>i(e,false))&&t.push(e);},Ls=(e,t,n,r)=>{n.files++;},Os=(e,t)=>{t.push(e);},Fs=()=>{};function Is(e){let{excludeFiles:t,filters:n,onlyCounts:r}=e;return t?Fs:n&&n.length?r?ks:Ps:r?Ls:Os}var js=e=>e,Ds=()=>[""].slice(0,0);function Us(e){return e.group?Ds:js}var Bs=(e,t,n)=>{e.push({directory:t,files:n,dir:t});},Ms=()=>{};function Hs(e){return e.group?Bs:Ms}var qs=function(e,t,n){let{queue:r,fs:i,options:{suppressErrors:s}}=t;r.enqueue(),i.realpath(e,(o,a)=>{if(o)return r.dequeue(s?null:o,t);i.stat(a,(l,c)=>{if(l)return r.dequeue(s?null:l,t);if(c.isDirectory()&&nr(e,a,t))return r.dequeue(null,t);n(c,a),r.dequeue(null,t);});});},Gs=function(e,t,n){let{queue:r,fs:i,options:{suppressErrors:s}}=t;r.enqueue();try{let o=i.realpathSync(e),a=i.statSync(o);if(a.isDirectory()&&nr(e,o,t))return;n(a,o);}catch(o){if(!s)throw o}};function Vs(e,t){return !e.resolveSymlinks||e.excludeSymlinks?null:t?Gs:qs}function nr(e,t,n){if(n.options.useRealPaths)return Ws(t,n);let r=dirname(e),i=1;for(;r!==n.root&&i<2;){let s=n.symlinks.get(r);!!s&&(s===t||s.startsWith(t)||t.startsWith(s))?i++:r=dirname(r);}return n.symlinks.set(e,t),i>1}function Ws(e,t){return t.visited.includes(e+t.options.pathSeparator)}var zs=e=>e.counts,Ks=e=>e.groups,Xs=e=>e.paths,Js=e=>e.paths.slice(0,e.options.maxFiles),Ys=(e,t,n)=>(Re(t,n,e.counts,e.options.suppressErrors),null),Qs=(e,t,n)=>(Re(t,n,e.paths,e.options.suppressErrors),null),Zs=(e,t,n)=>(Re(t,n,e.paths.slice(0,e.options.maxFiles),e.options.suppressErrors),null),to=(e,t,n)=>(Re(t,n,e.groups,e.options.suppressErrors),null);function Re(e,t,n,r){t(e&&!r?e:null,n);}function eo(e,t){let{onlyCounts:n,group:r,maxFiles:i}=e;return n?t?zs:Ys:r?t?Ks:to:i?t?Js:Zs:t?Xs:Qs}var rr={withFileTypes:true},no=(e,t,n,r,i)=>{if(e.queue.enqueue(),r<0)return e.queue.dequeue(null,e);let{fs:s}=e;e.visited.push(t),e.counts.directories++,s.readdir(t||".",rr,(o,a=[])=>{i(a,n,r),e.queue.dequeue(e.options.suppressErrors?null:o,e);});},ro=(e,t,n,r,i)=>{let{fs:s}=e;if(r<0)return;e.visited.push(t),e.counts.directories++;let o=[];try{o=s.readdirSync(t||".",rr);}catch(a){if(!e.options.suppressErrors)throw a}i(o,n,r);};function io(e){return e?ro:no}var so=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));}},oo=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}},ao=class{aborted=false;abort(){this.aborted=true;}},ir=class{root;isSynchronous;state;joinPath;pushDirectory;pushFile;getArray;groupFiles;resolveSymlink;walkDirectory;callbackInvoker;constructor(e,t,n){this.isSynchronous=!n,this.callbackInvoker=eo(t,this.isSynchronous),this.root=Ze(e,t),this.state={root:xs(this.root)?this.root:this.root.slice(0,-1),paths:[""].slice(0,0),groups:[],counts:new oo,options:t,queue:new so((r,i)=>this.callbackInvoker(i,r,n)),symlinks:new Map,visited:[""].slice(0,0),controller:new ao,fs:t.fs||At},this.joinPath=As(this.root,t),this.pushDirectory=vs(this.root,t),this.pushFile=Is(t),this.getArray=Us(t),this.groupFiles=Hs(t),this.resolveSymlink=Vs(t,this.isSynchronous),this.walkDirectory=io(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,n)=>{let{paths:r,options:{filters:i,resolveSymlinks:s,excludeSymlinks:o,exclude:a,maxFiles:l,signal:c,useRealPaths:u,pathSeparator:h},controller:d}=this.state;if(d.aborted||c&&c.aborted||l&&r.length>l)return;let b=this.getArray(this.state.paths);for(let w=0;w<e.length;++w){let E=e[w];if(E.isFile()||E.isSymbolicLink()&&!s&&!o){let _=this.joinPath(E.name,t);this.pushFile(_,b,this.state.counts,i);}else if(E.isDirectory()){let _=Ts(E.name,t,this.state.options.pathSeparator);if(a&&a(E.name,_))continue;this.pushDirectory(_,r,i),this.walkDirectory(this.state,_,_,n-1,this.walk);}else if(this.resolveSymlink&&E.isSymbolicLink()){let _=er(E.name,t);this.resolveSymlink(_,this.state,(N,x)=>{if(N.isDirectory()){if(x=Ze(x,this.state.options),a&&a(E.name,u?x:_+h))return;this.walkDirectory(this.state,x,u?x:_+h,n-1,this.walk);}else {x=u?x:_;let H=basename(x),J=Ze(dirname(x),this.state.options);x=this.joinPath(H,J),this.pushFile(x,b,this.state.counts,i);}});}}this.groupFiles(this.state.groups,t,b);}};function lo(e,t){return new Promise((n,r)=>{sr(e,t,(i,s)=>{if(i)return r(i);n(s);});})}function sr(e,t,n){new ir(e,t,n).start();}function co(e,t){return new ir(e,t).start()}var Qn=class{constructor(e,t){this.root=e,this.options=t;}withPromise(){return lo(this.root,this.options)}withCallback(e){sr(this.root,this.options,e);}sync(){return co(this.root,this.options)}},or=null;try{Yn.resolve("picomatch"),or=Yn("picomatch");}catch{}var ar=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 Qn(e||".",this.options)}withGlobFunction(e){return this.globFunction=e,this}crawlWithOptions(e,t){return this.options={...this.options,...t},new Qn(e||".",this.options)}glob(...e){return this.globFunction?this.globWithOptions(e):this.globWithOptions(e,{dot:true})}globWithOptions(e,...t){let n=this.globFunction||or;if(!n)throw new Error("Please specify a glob function to use glob matching.");var r=this.globCache[e.join("\0")];return r||(r=n(e,...t),this.globCache[e.join("\0")]=r),this.options.filters.push(i=>r(i)),this}};var Ct=$t(vr()),Mo=Array.isArray,Lr=process.platform==="win32",Ho=/^(\/?\.\.)+$/;function qo(e,t={}){let n=e.length,r=Array(n),i=Array(n),s=!t.noglobstar;for(let o=0;o<n;o++){let a=Or(e[o]);r[o]=a;let l=a.length,c=Array(l);for(let u=0;u<l;u++)c[u]=(0, Ct.default)(a[u],t);i[o]=c;}return o=>{let a=o.split("/");if(a[0]===".."&&Ho.test(o))return true;for(let l=0;l<e.length;l++){let c=r[l],u=i[l],h=a.length,d=Math.min(h,c.length),b=0;for(;b<d;){let w=c[b];if(w.includes("/"))return true;if(!u[b](a[b]))break;if(s&&w==="**")return true;b++;}if(b===h)return true}return false}}var Go=/^[A-Z]:\/$/i,Vo=Lr?e=>Go.test(e):e=>e==="/";function kr(e,t,n){if(e===t||t.startsWith(`${e}/`)){if(n){let i=Vo(e)?e.length:e.length+1;return (s,o)=>s.slice(i,o?-1:void 0)||"."}let r=t.slice(e.length+1);return r?(i,s)=>{if(i===".")return r;let o=`${r}/${i}`;return s?o.slice(0,-1):o}:(i,s)=>s&&i!=="."?i.slice(0,-1):i}return n?r=>posix.relative(e,r)||".":r=>posix.relative(e,`${t}/${r}`)||"."}function Wo(e,t){if(t.startsWith(`${e}/`)){let n=t.slice(e.length+1);return r=>`${n}/${r}`}return n=>{let r=posix.relative(e,`${t}/${n}`);return n.endsWith("/")&&r!==""?`${r}/`:r||"."}}var zo={parts:true};function Or(e){var t;let n=Ct.default.scan(e,zo);return !((t=n.parts)===null||t===void 0)&&t.length?n.parts:[e]}var Ko=/(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g,Xo=/(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g,Jo=e=>e.replace(Ko,"\\$&"),Yo=e=>e.replace(Xo,"\\$&"),Qo=Lr?Yo:Jo;function Zo(e,t){let n=Ct.default.scan(e);return n.isGlob||n.negated}function _t(...e){console.log(`[tinyglobby ${new Date().toLocaleTimeString("es")}]`,...e);}var ta=/^(\/?\.\.)+/,ea=/\\(?=[()[\]{}!*+?@|])/g,ve=/\\/g;function fn(e,t,n,r,i){let s=e;e.endsWith("/")&&(s=e.slice(0,-1)),!s.endsWith("*")&&t&&(s+="/**");let o=Qo(n);Pr.isAbsolute(s.replace(ea,""))?s=posix.relative(o,s):s=posix.normalize(s);let a=ta.exec(s),l=Or(s);if(a?.[0]){let u=(a[0].length+1)/3,h=0,d=o.split("/");for(;h<u&&l[h+u]===d[d.length+h-u];)s=s.slice(0,(u-h-1)*3)+s.slice((u-h)*3+l[h+u].length+1)||".",h++;let b=posix.join(n,a[0].slice(h*3));!b.startsWith(".")&&r.root.length>b.length&&(r.root=b,r.depthOffset=-u+h);}if(!i&&r.depthOffset>=0){var c;(c=r.commonPath)!==null&&c!==void 0||(r.commonPath=l);let u=[],h=Math.min(r.commonPath.length,l.length);for(let d=0;d<h;d++){let b=l[d];if(b==="**"&&!l[d+1]){u.pop();break}if(b!==r.commonPath[d]||Zo(b)||d===l.length-1)break;u.push(b);}r.depthOffset=u.length,r.commonPath=u,r.root=u.length>0?posix.join(n,...u):n;}return s}function na({patterns:e=["**/*"],ignore:t=[],expandDirectories:n=true},r,i){typeof e=="string"&&(e=[e]),typeof t=="string"&&(t=[t]);let s=[],o=[];for(let a of t)a&&(a[0]!=="!"||a[1]==="(")&&o.push(fn(a,n,r,i,true));for(let a of e)a&&(a[0]!=="!"||a[1]==="("?s.push(fn(a,n,r,i,false)):(a[1]!=="!"||a[2]==="(")&&o.push(fn(a.slice(1),n,r,i,true)));return {match:s,ignore:o}}function ra(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];e[n]=t(r);}return e}function ia(e){return e?e instanceof URL?fileURLToPath(e).replace(ve,"/"):Pr.resolve(e).replace(ve,"/"):process.cwd().replace(ve,"/")}function sa(e,t={}){let n=process.env.TINYGLOBBY_DEBUG?{...t,debug:true}:t,r=ia(n.cwd);if(n.debug&&_t("globbing with:",{patterns:e,options:n,cwd:r}),Array.isArray(e)&&e.length===0)return [{sync:()=>[],withPromise:async()=>[]},false];let i={root:r,commonPath:null,depthOffset:0},s=na({...n,patterns:e},r,i);n.debug&&_t("internal processing patterns:",s);let o={dot:n.dot,nobrace:n.braceExpansion===false,nocase:n.caseSensitiveMatch===false,noextglob:n.extglob===false,noglobstar:n.globstar===false,posix:true},a=(0, Ct.default)(s.match,{...o,ignore:s.ignore}),l=(0, Ct.default)(s.ignore,o),c=qo(s.match,o),u=kr(r,i.root,n.absolute),h=n.absolute?u:kr(r,i.root,true),d={filters:[n.debug?(E,_)=>{let N=u(E,_),x=a(N);return x&&_t(`matched ${N}`),x}:(E,_)=>a(u(E,_))],exclude:n.debug?(E,_)=>{let N=h(_,true),x=N!=="."&&!c(N)||l(N);return _t(x?`skipped ${_}`:`crawling ${_}`),x}:(E,_)=>{let N=h(_,true);return N!=="."&&!c(N)||l(N)},fs:n.fs?{readdir:n.fs.readdir||At__default.readdir,readdirSync:n.fs.readdirSync||At__default.readdirSync,realpath:n.fs.realpath||At__default.realpath,realpathSync:n.fs.realpathSync||At__default.realpathSync,stat:n.fs.stat||At__default.stat,statSync:n.fs.statSync||At__default.statSync}:void 0,pathSeparator:"/",relativePaths:true,resolveSymlinks:true,signal:n.signal};n.deep!==void 0&&(d.maxDepth=Math.round(n.deep-i.depthOffset)),n.absolute&&(d.relativePaths=false,d.resolvePaths=true,d.includeBasePath=true),n.followSymbolicLinks===false&&(d.resolveSymlinks=false,d.excludeSymlinks=true),n.onlyDirectories?(d.excludeFiles=true,d.includeDirs=true):n.onlyFiles===false&&(d.includeDirs=true),i.root=i.root.replace(ve,"");let b=i.root;n.debug&&_t("internal properties:",i);let w=r!==b&&!n.absolute&&Wo(r,i.root);return [new ar(d).crawl(b),w]}async function Bt(e,t){if(e&&t?.patterns)throw new Error("Cannot pass patterns as both an argument and an option");let n=Mo(e)||typeof e=="string",r=n?t:e,i=n?e:e.patterns,[s,o]=sa(i,r);return o?ra(await s.withPromise(),o):s.withPromise()}var v=$t(vt());var aa=/^(\d{14})(?:_([^.]+))?\.sql$/;function Fr(e){return e.config?.db?.driver==="sqlite"?"./sqlite-migrations/*.sql":"./migrations/*.sql"}function la(e){return rt__default.posix.dirname(Fr(e))}async function Mt(e){let t=rt__default.join(process.cwd(),"supabase"),n=await Bt([Fr(e)],{cwd:t,absolute:true}),r=[];for(let i of n){let s=rt__default.basename(i),o=aa.exec(s);if(!o)continue;let a=await U__default.readFile(i,"utf-8");r.push({version:o[1],name:o[2]??null,filename:s,path:i,sql:a});}return r.sort((i,s)=>i.version.localeCompare(s.version))}var ni="supabase/.temp/.translation-cache.json",ri=2;async function Ha(e,t){let n=await e.connection.introspect(),r=kn(n);await ii(e,{...t,dbHasTables:n.tables.length>0,dbFingerprint:r}),n.tables.length===0&&await Va(e);let i=await e.connection.introspect();oi(i,e);}async function qa(e){let t=await Bt(e.config.db?.seed?.sql_paths??["./seed.sql"],{cwd:rt__default.join(process.cwd(),"supabase"),absolute:true});return (await Promise.all(t.map(r=>U__default.readFile(r,"utf-8")))).flatMap(r=>splitSqlStatements(r))}async function Ga(e,t){let n=await qa(e);if(n.length===0)return 0;console.log(v.default.dim("Seeding database..."));try{return await e.connection.transaction(n),n.length}catch(r){let i="Fix `supabase/seed.sql`, then run `bun run dev --recreate` to reset and reseed.";throw new Error(`Seed failed and was rolled back: ${String(r.message??r)}
60
60
  ${i}`)}}async function Va(e){await Ga(e);}async function Wa(e){let t=await Bt(e.config?.db?.migrations?.schema_paths??["./schemas/*.sql"],{cwd:rt__default.join(process.cwd(),"supabase"),absolute:true}),n=await Promise.all(t.map(async r=>await U__default.readFile(r,"utf-8"))).then(r=>r.map(i=>i.split(`
61
61
  `).filter(s=>s.trim().length>0&&!s.trim().startsWith("--")).join(`
62
62
  `)).join(`
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ SQL: ${r}`);this.stepIndex=n;this.sql=r;this.cause=s;this.name="MigrationError";
25
25
  FROM ${I(e)};`,description:`Copy data from ${I(e)} to ${I(l)}`,type:"copy_data"});}i.push({sql:`DROP TABLE ${I(e)};`,description:`Drop old table ${I(e)}`,type:"drop_table"}),i.push({sql:`ALTER TABLE ${I(l)} RENAME TO ${I(e)};`,description:`Rename ${I(l)} to ${I(e)}`,type:"rename_table"});let d=r.indexes.filter(g=>g.table===e);for(let g of d){let w=g.unique?"UNIQUE ":"",_=g.columns.map(S=>I(S)).join(", ");i.push({sql:`CREATE ${w}INDEX ${I(g.name)} ON ${I(e)} (${_});`,description:`Recreate index ${I(g.name)} on ${I(e)}`,type:"add_index"});}let h=r.triggers?.filter(g=>g.table===e)??[];for(let g of h)i.push({sql:`${g.sql};`,description:`Recreate trigger ${I(g.name)} on ${I(e)}`,type:"create_trigger"});let m=s.columns.filter(g=>g.table===e&&g.type==="removed");for(let g of m)o.push({table:e,reason:`column "${g.name}" will be dropped`});let b=s.columns.filter(g=>g.table===e&&g.type==="modified");for(let g of b)g.changes?.type&&o.push({table:e,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:e,reason:`column "${g.name}" becomes NOT NULL`});return {steps:i,warnings:o}}canSimpleAlter(e,n,r){let s=n.columns.filter(u=>u.table===e),i=s.filter(u=>u.type==="added"),o=s.filter(u=>u.type==="removed"),a=s.filter(u=>u.type==="modified"),l=n.foreign_keys.some(u=>u.table===e);if(o.length>0||a.length>0||l)return {canAlter:false,addedCols:i};let c=r.tables.find(u=>u.name===e);return c&&/\bCHECK\s*\(/i.test(c.sql)?{canAlter:false,addedCols:i}:{canAlter:i.every(u=>{let p=u.column;return this.hasNonConstantDefault(p.default_value)?false:p.nullable||p.default_value!=null})&&i.length>0,addedCols:i}}hasNonConstantDefault(e){if(e==null)return false;let n=e.trim().toUpperCase();return IR.includes(n)}columnDef(e){let n=e.column,r=`${I(n.name)} ${n.type||"TEXT"}`;return n.nullable||(r+=" NOT NULL"),n.default_value!=null&&(r+=` DEFAULT ${n.default_value}`),r}};});async function ar(t){let{parse:e}=await import('pgsql-parser');return e(t)}var wg=N(()=>{});function Bs(t){if("String"in t)return t.String.sval}function wn(t){return t.map(Bs).filter(e=>e!=null)}function Sn(t){return t==null?[]:t.List!==void 0?t.List.items||[]:Array.isArray(t)?t:[t]}function jo(t){return QuoteUtils.quoteIdentifier(t)}function lr(t){return Object.keys(t)[0]}function Sg(t){if("A_Const"in t){if(t.A_Const.ival)return t.A_Const.ival.ival;if(t.A_Const.fval)return t.A_Const.fval.fval;if(t.A_Const.sval)return t.A_Const.sval.sval;if(t.A_Const.boolval)return t.A_Const.boolval.boolval;if(t.A_Const.isnull)return null}}var En=N(()=>{});function _g(t){let e=t.toLowerCase().trim();if(e.startsWith("_")||e.endsWith("[]"))return "TEXT";let n=KR[e];if(!n)throw new _n(`Unsupported PostgreSQL type: "${t}"`);return n}function Lo(t){let e=t.toLowerCase();return ["serial","serial4","bigserial","serial8","smallserial","serial2"].includes(e)}function Fo(t){let e=t.toLowerCase();return ["varchar","character varying","char","character","bpchar"].includes(e)}function Mo(t){let e=t.toLowerCase();return ["numeric","decimal"].includes(e)}var _n,D,KR,Eg,HR,Uo,cr=N(()=>{En();_n=class extends Error{},D=class extends _n{constructor(n,r){super(r??`Unsupported node type: ${lr(n)}`);this.node=n;}},KR={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"},Eg=["<",">","<=",">=","=","<>","!=","+","-","*","/","%","&","|","<<",">>","||","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","->>"];HR={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"}},Uo=new Map(Object.entries(HR));});var qo,xg=N(()=>{cr();En();qo=class{constructor(e){this.ast=e;this.result=[...this.walk(this.ast,[],{trackPaths:["returningList"]})];}result=[];*walk(e=this.ast,n=[],r={}){if(!e||typeof e!="object")return;let{trackPaths:s=[]}=r;if(Array.isArray(e)){for(let o=0;o<e.length;o++)yield*this.walk(e[o],n,r);return}let i=Object.keys(e);if(i.length===1&&i[0][0]>="A"&&i[0][0]<="Z"){let o=i[0];yield {node:e,path:n},yield*this.walk(e[o],[...n,o],r);}else for(let[o,a]of Object.entries(e))if(a&&typeof a=="object"){let l=s.includes(o)?[...n,o]:n;yield*this.walk(a,l,r);}}containsUnsupportedNode(){for(let{node:e}of this.result){let n=lr(e),r=Uo.get(n);if(r&&r.react==="error")return true}}hasFuncCall(){for(let{node:e}of this.result)if("FuncCall"in e)return true;return false}getFuncCalls(){return Array.from(this.result).map(({node:e})=>e).filter(e=>"FuncCall"in e).map(e=>e.FuncCall)}getFuncCallNames(){return this.getFuncCalls().flatMap(e=>e.funcname?.map(n=>n.String?.sval||n.String?.str))}hasSqlValueFunction(){for(let{node:e}of this.result)if("SQLValueFunction"in e)return true;return false}getSqlValueFunctions(){return Array.from(this.result).map(({node:e})=>e).filter(e=>"SQLValueFunction"in e).map(e=>e.SQLValueFunction)}getSqlValueFunctionNames(){return this.getSqlValueFunctions().map(e=>e.op)}hasUnsafeStar(){let e=this.result.filter(({node:n})=>"A_Star"in n);if(e.length===0)return false;for(let{path:n}of e)if(!n.includes("SelectStmt")&&!n.includes("returningList"))return true;return false}getRelationDefinitions(){return this.result.filter(({node:n})=>"CreateStmt"in n).map(({node:n})=>n.CreateStmt).map(n=>({relation:{relname:n.relation?.relname??"",inh:n.relation?.inh,relpersistence:n.relation?.relpersistence},columns:n.tableElts?.map(r=>{let s=r.ColumnDef?.typeName?.names?.map(o=>"String"in o?o.String.sval:""),i=s?.some(o=>o.toLowerCase().includes("pg_catalog"));return {name:r.ColumnDef?.colname??"",is_local:r.ColumnDef?.is_local,pg_catalog:i,type:s?.filter(o=>!o.toLowerCase().includes("pg_catalog"))[0]??"",types:s,constraints:r.ColumnDef?.constraints}})}))}getRelationColumnTypes(){return {has_non_pg_catalog_types:this.getRelationDefinitions().some(e=>e.columns?.some(n=>!n.pg_catalog)),types:Array.from(new Set(this.getRelationDefinitions().flatMap(e=>e.columns?.map(n=>n.type))))}}};});var JR,zR,VR,GR,ur,Bo,Rg=N(()=>{cr();JR=["DECLARE","IF","ELSIF","ELSE","LOOP","WHILE","FOR","FOREACH","EXCEPTION","RAISE","PERFORM","EXECUTE","SELECT"],zR=/^NEW\.(\w+)\s*(?::=|=)\s*(.+)$/is,VR=/^RETURN\s+(NEW|OLD)$/i,GR=/^(INSERT|UPDATE|DELETE)\b/i,ur=class extends _n{constructor(n,r,s){super(s??`Unsupported PL/pgSQL: ${n}`);this.hint=n;this.body=r;}},Bo=class{parse(e){let n=this.extractBlock(e),r=this.splitStatements(n),s=[],i=null;for(let o of r){let a=o.trim();if(!a)continue;this.rejectUnsupported(a);let l=a.match(VR);if(l){i=l[1].toUpperCase(),s.push({type:"return",value:i});continue}let c=a.match(zR);if(c){s.push({type:"assignment",column:c[1],expression:c[2].trim()});continue}if(GR.test(a)){s.push({type:"dml",sql:a});continue}throw new ur(`"${a.substring(0,80)}" is not translatable to SQLite`,n)}if(!i)throw new _n("Trigger function body must end with RETURN NEW or RETURN OLD");return {statements:s,returnValue:i}}extractBlock(e){let n=e.trim(),r=n.toUpperCase();if(/^\s*DECLARE\b/i.test(n))throw new ur('"DECLARE" is not translatable to SQLite',e);let s=r.indexOf("BEGIN"),i=r.lastIndexOf("END");if(s===-1||i===-1||i<=s)throw new ur("Expected BEGIN ... END block in trigger function body",e);return n.slice(s+5,i).trim()}splitStatements(e){let n=[],r="",s=0,i=false,o="";for(let l=0;l<e.length;l++){let c=e[l];if(i){r+=c,c===o&&(l+1<e.length&&e[l+1]===o?r+=e[++l]:i=false);continue}if(c==="'"||c==='"'){i=true,o=c,r+=c;continue}if(c==="("){s++,r+=c;continue}if(c===")"){s--,r+=c;continue}if(c===";"&&s===0){n.push(r.trim()),r="";continue}r+=c;}let a=r.trim();return a&&n.push(a),n}rejectUnsupported(e){let n=e.match(/^(\w+)/)?.[1]?.toUpperCase();if(n&&JR.includes(n))throw new ur(`"${n}" is not translatable to SQLite`,e)}};});function ev(t){let e=t?.GrantStmt??t;return e?.is_grant!==true?false:e.targtype==="ACL_TARGET_ALL_IN_SCHEMA"?e.objtype==="OBJECT_TABLE"||e.objtype==="OBJECT_SEQUENCE":e.targtype==="ACL_TARGET_OBJECT"&&ZR.has(e.objtype)}var ZR,Wo,vg=N(()=>{cr();En();En();xg();Jr();Rg();Ao();fu();pu();Hr();Hl();zl();ZR=new Set(["OBJECT_TABLE","OBJECT_VIEW","OBJECT_SEQUENCE","OBJECT_SCHEMA"]);Wo=class extends Deparser{enums;schemaHandling;warnings=[];helper;config;triggerFunctions=new Map;plpgsqlParser=new Bo;introspection;functionResolution;constructor(e,{enums:n,schemaHandling:r,introspection:s,...i}={}){super(e,i),this.schemaHandling=r??"default",this.enums=n??new Map,this.helper=new qo(e),this.config=i,this.introspection=s,this.functionResolution=i?.functionResolution??"translate";}visit(e,n){let r=lr(e);if(r==="GrantStmt"&&ev(e))return "";let s=Uo.get(r);if(s){if(s.react==="error")throw new D({[r]:e},`Unsupported node type: ${r}`);return s.react==="warn"&&this.warnings.push({type:r,node:e}),""}return super.visit(e,n)}deparse(e,n){if(e==null)return null;if(!n){let r=new SqlFormatter;n=new DeparserContext({formatter:r});}return typeof e=="number"||e instanceof Number?e.toString():this.visit(e,n)}RawStmt(e,n){if(!e.stmt||e.stmt.CommentStmt)return "";let r=this.deparse(e.stmt,n);return !r||r.length===0?"":e.stmt_len?r+";":r}RangeVar(e,n){this.ensureRelation(e);let r=this.effectiveSchema(e.schemaname),s=e.relname,i=this.quoteBareIfNeeded(s);r&&(this.schemaHandling==="prefix"?i=`${r}__${s}`:i=`"${r}.${s}"`);let o=e.alias?" "+this.Alias(e.alias,n):"";return i+o}getRelationName(e){this.ensureRelation(e);let n=this.effectiveSchema(e.schemaname),r=e.relname;return n?this.schemaHandling==="prefix"?`${n}__${r}`:`${n}.${r}`:r}quoteBareIfNeeded(e){return /^[A-Za-z_][A-Za-z0-9_]*$/.test(e)?e:`"${e.replace(/"/g,'""')}"`}effectiveSchema(e){if(e){if(this.config.forceDefaultSchema||this.schemaHandling!=="default")return e;if(e!=="public")return e}}ensureRelation(e){let n=this.config.forceDefaultSchema;n&&(!e||typeof e!="object"||n.length===0||e.schemaname||(e.schemaname=n));}CreateStmt(e,n){if(e.inhRelations&&e.inhRelations.length>0)throw new D({CreateStmt:e},"Inheritance is not supported in SQLite");if(e.ofTypename!==void 0)throw new D({CreateStmt:e},"Typed tables (CREATE TABLE ... OF type_name) are not supported. Define columns directly in the CREATE TABLE statement instead.");if(e.options&&e.options.length>0&&(e.options=void 0),!e.tableElts||e.tableElts.length===0)throw new D({CreateStmt:e},"Empty tables are not supported in SQLite. Define at least one column.");return e.accessMethod&&(e.accessMethod=void 0),super.CreateStmt(e,n)+" STRICT"}TableLikeClause(e,n){throw new D({TableLikeClause:e},"CREATE TABLE ... (LIKE ...) is not supported in SQLite. Define the table columns explicitly instead.")}DefElem(e,n){if(["oids","fillfactor",/^autovacuum_/i,"toast_tuple_target","parallel_workers","user_catalog_table"].some(i=>Mi(e.defname??"",i)))return "";let s=super.DefElem(e,n);throw new D({DefElem:e},`DefElem "${e.defname}" (${s}) not supported`)}TypeName(e,n){if(!e.names)return "";let r=e.names.map(i=>i.String?i.String.sval||i.String.str:"").filter(Boolean);if(r.length===0)return "";let s=r.length===2&&r[0]==="pg_catalog"?r[1]:r.join(".");return e.arrayBounds&&e.arrayBounds.length>0||this.enums.has(s.toLowerCase())?"TEXT":_g(s)}ColumnDef(e,n){let r=[],s=e.colname;s&&r.push(this.quoteIfNeeded(s));let i=false,o=false,a=null,l=null,c=null,f=false;if(e.typeName){let u=e.typeName.names?.map(h=>h.String?.sval||h.String?.str).filter(Boolean);c=u&&(u.length===2&&u[0]==="pg_catalog"?u[1]:u[0]),i=!!(c&&Lo(c)),f=!!(e.typeName.arrayBounds&&e.typeName.arrayBounds.length>0);let p=Array.isArray(e.typeName.typmods)?e.typeName.typmods:[],d=h=>p[h]?.A_Const?.ival?.ival??p[h]?.A_Const?.val?.ival?.ival;if(c&&Fo(c)&&p.length>0){let h=d(0);typeof h=="number"&&h>0&&(a={maxLen:h});}if(c&&Mo(c)&&p.length>=2){let h=d(0),m=d(1);typeof h=="number"&&typeof m=="number"&&h>0&&m>=0&&(l={precision:h,scale:m});}if(e.constraints){let h=Array.isArray(e.constraints)?e.constraints:[];o=h.some(m=>m.Constraint?.contype==="CONSTR_PRIMARY"),h.some(m=>m.Constraint?.contype==="CONSTR_IDENTITY")&&(i=true);}r.push(this.TypeName(e.typeName,n));}if(e.constraints){let u=Array.isArray(e.constraints)?e.constraints:[],p=u.map(h=>this.visit(h,n));r.push(...p.filter(Boolean));let d=u.some(h=>h.Constraint?.contype==="CONSTR_CHECK");i&&o&&!d&&r.push("AUTOINCREMENT");}if(s&&c){let u={isArray:f};a&&(u.lengthConstraint=a.maxLen),l&&(u.numericPrecision=l);let p=this.enums.get(c.toLowerCase());p&&(u.enumValues=p);let m=Ze({schema:"public",table:"",column:s,pgTypeName:c,nullable:true,defaultValue:null,defaultFn:null,isPrimaryKey:o,isUnique:false,isSerial:i},u).checkConstraint();m&&r.push(`CHECK (${m})`);}return r.join(" ")}Constraint(e,n){let r=e.contype;if(r==="CONSTR_IDENTITY"||r==="CONSTR_ATTR_DEFERRABLE"||r==="CONSTR_ATTR_NOT_DEFERRABLE"||r==="CONSTR_ATTR_DEFERRED"||r==="CONSTR_ATTR_IMMEDIATE")return "";if(r==="CONSTR_NULL")return "NULL";if(r==="CONSTR_NOTNULL")return "NOT NULL";if(r==="CONSTR_DEFAULT"&&e.raw_expr){let s=this.visit(e.raw_expr,n);return s.includes("(")&&!s.startsWith("(")?`DEFAULT (${s})`:`DEFAULT ${s}`}if(r==="CONSTR_CHECK"&&e.raw_expr){let s=[];e.conname&&s.push("CONSTRAINT",jo(e.conname)),s.push("CHECK");let i=this.visit(e.raw_expr,n);return s.push(`(${i})`),s.join(" ")}if(r==="CONSTR_PRIMARY")return e.keys&&e.keys.length>0?`PRIMARY KEY (${Sn(e.keys).map(i=>this.visit(i,n)).join(", ")})`:"PRIMARY KEY";if(r==="CONSTR_UNIQUE")return e.keys&&e.keys.length>0?`UNIQUE (${Sn(e.keys).map(i=>this.visit(i,n)).join(", ")})`:"UNIQUE";if(r==="CONSTR_FOREIGN")return super.Constraint(e,n).replace(/FOREIGN\s+KEY\s+REFERENCES/gi,"REFERENCES");if(r==="CONSTR_GENERATED"&&e.raw_expr)return `GENERATED ALWAYS AS (${this.visit(e.raw_expr,n)}) STORED`;if(r==="CONSTR_EXCLUSION")throw new D({Constraint:e},"EXCLUSION constraints are not supported in SQLite");return ""}FuncCall(e,n){let s=(e.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"&&e.args&&e.args.length>=2){let c=e.args[0];if((c?.A_Const?.sval?.sval||c?.String?.sval)==="epoch")return `strftime('%s', ${this.visit(e.args[1],n)})`}let a=(e.args??[]).map(c=>this.visit(c,n));if(e.agg_star)return `${i}(*)`;if(e.agg_distinct)return `${i}(DISTINCT ${a.join(", ")})`;let l=Jl(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=Zi[i];if(c?.sqlite){let f=c.sqlite();return f.includes("(")?f:`${f}(${a.join(", ")})`}}}throw new D({FuncCall:e},`Function call "${i}" not supported`)}SQLValueFunction(e,n){switch(e.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 D({SQLValueFunction:e},`SQLValueFunction "${e.op}" not supported`)}}ResTarget(e,n){if(e.indirection&&e.indirection.length>0)throw new D({ResTarget:e},"Indirections are not supported in SQLite");let r=[];return n.update&&e.name?(r.push(this.quoteIfNeeded(e.name)),r.push("="),e.val&&r.push(this.deparse(e.val,n))):n.insertColumns&&e.name?r.push(this.quoteIfNeeded(e.name)):(e.val&&r.push(this.deparse(e.val,n)),e.name&&r.push(this.Alias({aliasname:e.name},n))),r.join(" ")}A_Expr(e,n){if(["AEXPR_OP_ALL","AEXPR_OP_ANY"].includes(e.kind))throw new D({A_Expr:e},"ALL/ANY/SOME comparison operators are not supported. Use NOT EXISTS or IN instead");if(e.name&&e.name.length>0){if(e.name.length>1)throw new D({A_Expr:e},"Schema-qualified OPERATOR() syntax is not supported in SQLite");let r=e.name[0]?.String?.sval||e.name[0]?.String?.str;if(r){if(!e.lexpr||!e.rexpr)throw new D({A_Expr:e},"A_Expr missing left or right expression");if(!Eg.includes(r.toUpperCase()))throw new D({A_Expr:e},`Operator "${r}" is not supported in SQLite`);if(r==="~~"||r==="~~*"){let s=this.visit(e.lexpr,n),i=this.visit(e.rexpr,n);return `${s} LIKE ${i}`}if(r==="!~~"||r==="!~~*"){let s=this.visit(e.lexpr,n),i=this.visit(e.rexpr,n);return `${s} NOT LIKE ${i}`}if(r==="~"||r==="~*"){let s=this.visit(e.lexpr,n),i=this.visit(e.rexpr,n);return `${s} GLOB ${i}`}}}return super.A_Expr(e,n)}IndexStmt(e,n){let r=["CREATE"];e.unique&&r.push("UNIQUE"),r.push("INDEX"),e.if_not_exists&&r.push("IF NOT EXISTS"),e.idxname&&r.push(jo(e.idxname)),r.push("ON"),e.relation&&r.push(this.RangeVar(e.relation,n));let s=(e.indexParams??[]).map(i=>"IndexElem"in i?this.IndexElem(i.IndexElem,n):this.visit(i,n)).filter(Boolean);return r.push(`(${s.join(", ")})`),r.join(" ")}IndexElem(e,n){let r=[];return e.name?r.push(jo(e.name)):e.expr&&r.push(`(${this.visit(e.expr,n)})`),e.ordering==="SORTBY_ASC"&&r.push("ASC"),e.ordering==="SORTBY_DESC"&&r.push("DESC"),e.nulls_ordering==="SORTBY_NULLS_FIRST"&&r.push("NULLS FIRST"),e.nulls_ordering==="SORTBY_NULLS_LAST"&&r.push("NULLS LAST"),r.join(" ")}TypeCast(e,n){if(!e.arg||!e.typeName)return super.TypeCast(e,n);if([...this.helper.walk(e)].filter(({node:o})=>"A_Star"in o).length>0)throw new D({TypeCast:e},"A.* in type casts are not supported in SQLite");if(e.typeName.arrayBounds&&e.typeName.arrayBounds.length>0){if("A_Const"in e.arg&&e.arg.A_Const.sval){let o=e.arg.A_Const.sval.sval;if(o.startsWith("{")&&o.endsWith("}")){let a=e.typeName.names?.map(u=>u.String?.sval).filter(Boolean)??[],l=a.length===2&&a[0]==="pg_catalog"?a[1]:a[0],f=["text","varchar","character varying","char","bpchar","name","uuid"].includes(l?.toLowerCase());try{let u=this.parsePgArrayLiteral(o,f);return `'${JSON.stringify(u).replace(/'/g,"''")}'`}catch{}}}return this.visit(e.arg,n)}let s=this.visit(e.arg,n),i=this.TypeName(e.typeName,n);return `CAST(${s} AS ${i})`}A_ArrayExpr(e,n){let r=Sn(e.elements),s=this.tryExtractStaticArray(r);return s!==void 0?`'${JSON.stringify(s).replace(/'/g,"''")}'`:`json_array(${r.map(o=>this.visit(o,n)).join(", ")})`}tryExtractStaticArray(e){let n=[];for(let r of e)if("A_ArrayExpr"in r){let s=Sn(r.A_ArrayExpr.elements),i=this.tryExtractStaticArray(s);if(i===void 0)return;n.push(i);}else if("A_Const"in r){let s=r.A_Const;if(s.isnull)n.push(null);else if(s.ival)n.push(s.ival.ival);else if(s.fval)n.push(parseFloat(s.fval.fval));else if(s.sval)n.push(s.sval.sval);else if("boolval"in s)n.push(s.boolval.boolval===true);else return}else return;return n}parsePgArrayLiteral(e,n){if(!e.startsWith("{")||!e.endsWith("}"))throw new Error("Not a PG array literal");let r=e.slice(1,-1);if(r.length===0)return [];let s=[],i=0;for(;i<r.length;)if(r[i]==="{"){let o=0,a=i;for(;a<r.length;){if(r[a]==="{")o++;else if(r[a]==="}"&&(o--,o===0))break;a++;}s.push(this.parsePgArrayLiteral(r.slice(i,a+1),n)),i=a+1,r[i]===","&&i++;}else if(r[i]==='"'){let o=i+1,a="";for(;o<r.length&&r[o]!=='"';)r[o]==="\\"&&o++,a+=r[o],o++;s.push(a),i=o+1,r[i]===","&&i++;}else {let o=i;for(;o<r.length&&r[o]!==","&&r[o]!=="}";)o++;if(o===i)throw new Error("Malformed PG array literal");let a=r.slice(i,o);if(a==="NULL")s.push(null);else if(n)s.push(a);else {let l=Number(a);s.push(isNaN(l)?a:l);}i=o,r[i]===","&&i++;}return s}BetweenExpr(e,n){return super.A_Expr(e,n)}AlterTableStmt(e,n){let r=e.cmds??[],s=["AT_EnableRowSecurity","AT_ForceRowSecurity"],i=r.filter(f=>"AlterTableCmd"in f&&!s.includes(f.AlterTableCmd.subtype));if(i.length===0)return "";if(!["OBJECT_TABLE","OBJECT_INDEX","OBJECT_VIEW"].includes(e.objtype))throw new D({AlterTableStmt:e},`AlterTableStmt with objtype ${e.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 f of i){let u=f.AlterTableCmd.subtype;if(o.includes(u)){let p={...e,cmds:[f]};l.push(super.AlterTableStmt(p,n));}else if(a.includes(u))c.push(f.AlterTableCmd);else throw new D({AlterTableStmt:e},`AlterTableCmd with subtype ${u} is not supported in SQLite`)}if(c.length>0){let f=this.getRelationName(e.relation);l.push(this.generateRebuildSql(f,c));}return l.join(`;
26
26
  `)}AlterTableCmd(e,n){if(!["AT_AddColumn","AT_DropColumn"].includes(e.subtype))throw new D({AlterTableCmd:e},`AlterTableCmd with subtype ${e.subtype} is not supported`);return e.subtype==="AT_DropColumn"&&e.behavior?super.AlterTableCmd({...e,behavior:void 0},n):super.AlterTableCmd(e,n)}DefineStmt(e,n){if(e.kind==="OBJECT_AGGREGATE")throw new Error("AGGREGATE definitions are not supported in SQLite");return super.DefineStmt(e,n)}InsertStmt(e,n){if("selectStmt"in e){let s=(e.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({...e,selectStmt:void 0,cols:void 0},n);if(s.some(i=>i.some(o=>o===true)))throw new D({InsertStmt:e},"Insert with partial DEFAULT values is not supported")}return super.InsertStmt(e,n)}SelectStmt(e,n){if(this.helper.hasUnsafeStar())throw new D({SelectStmt:e},"Row-wise comparison using .* is not supported in SQLite. Expand to explicit per-column comparisons instead.");if(e.intoClause)throw new D({SelectStmt:e},"SELECT ... INTO clause is not supported in SQLite");if(e.distinctClause){let s=Sn(e.distinctClause);if(s.length>0&&Object.keys(s[0]).length>0)throw new D({SelectStmt:e},"DISTINCT ON clause is not supported in SQLite. Use window functions instead.")}if(e.limitOffset&&!e.limitCount)throw new D({SelectStmt:e},"OFFSET without LIMIT is not supported in SQLite");let r=super.SelectStmt(e,n);if(/^SELECT\s+FROM/.test(r))throw new D({SelectStmt:e},"SELECT without a target list is not supported in SQLite");return r}JoinExpr(e,n){return e.alias&&this.Alias(e.alias,n),super.JoinExpr(e,n)}A_Const(e,n){if(e.bsval!==void 0)throw new D({A_Const:e},"Bit string literals are not supported in SQLite");let r=super.A_Const(e,n);return typeof r=="string"&&r.startsWith("E'")?r.substring(2,r.length-1):r}SortBy(e,n){if(e.sortby_dir==="SORTBY_USING"){let r=Sn(e.useOp),s=r[0]?.String?.sval;if(r.length>1||!["<",">"].includes(s??""))throw new D({SortBy:e},"Only `USING <` or `USING >` are supported.");e.sortby_dir=s==="<"?"SORTBY_DESC":"SORTBY_ASC",e.useOp=void 0;}return super.SortBy(e,n)}RangeSubselect(e,n){if(e.lateral)throw new D({RangeSubselect:e},"LATERAL subqueries are not supported in SQLite");return super.RangeSubselect(e,n)}SubLink(e,n){if(["ANY_SUBLINK","ALL_SUBLINK"].includes(e.subLinkType))throw new D({SubLink:e},"ANY/ALL/SOME subqueries are not supported. Use NOT EXISTS or IN instead");if(e.subLinkType==="ARRAY_SUBLINK")throw new D({SubLink:e},"ARRAY subqueries are not supported in SQLite");return super.SubLink(e,n)}LockingClause(e,n){return ""}UpdateStmt(e,n){if(n.parentNodeTypes.includes("SelectStmt"))throw new D({UpdateStmt:e},"UPDATE ... FROM (SELECT ...) is not supported in SQLite");return super.UpdateStmt(e,n)}Alias(e,n){if(e.colnames&&e.colnames.length>0)throw new D({Alias:e},"Aliasing with column names is not supported in SQLite");return `AS "${e.aliasname}"`}CreateFunctionStmt(e,n){let r=e.options??[],s=e.returnType?.names?.map(c=>c.String?.sval).filter(Boolean).join("."),i=r.find(c=>c.DefElem?.defname==="language")?.DefElem?.arg?.String?.sval;if(s!=="trigger"||i!=="plpgsql")throw new D({CreateFunctionStmt:e},"Only trigger functions with LANGUAGE plpgsql are supported");let o=e.funcname?.map(c=>c.String?.sval).filter(Boolean).pop();if(!o)throw new Error("Function has no name");let a=r.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(e,n){let r=e.trigname,s=this.RangeVar(e.relation,n),i=e.funcname?.map(u=>u.String?.sval).filter(Boolean).pop();if(!i)throw new Error(`Trigger "${r}" has no function reference`);let o=this.triggerFunctions.get(i);if(!o)throw new D({CreateTrigStmt:e},`Trigger "${r}" references unknown function "${i}"`);let a=e.timing===2?"BEFORE":e.timing===64?"INSTEAD OF":"AFTER",l=[];if(e.events&4&&l.push("INSERT"),e.events&8&&l.push("DELETE"),e.events&16)if(e.columns?.length){let u=e.columns.map(p=>p.String?.sval).filter(Boolean);l.push(`UPDATE OF ${u.join(", ")}`);}else l.push("UPDATE");let c=l.join(" OR "),f=this.buildTriggerBody(o,s,n);return [`CREATE TRIGGER ${r}`,`${a} ${c} ON ${s}`,"FOR EACH ROW","BEGIN",...f.map(u=>` ${u};`),"END"].join(`
27
27
  `)}buildTriggerBody(e,n,r){let s=[],i=[];for(let o of e.statements)if(o.type!=="return"){if(o.type==="assignment"){i.push(o);continue}i.length>0&&(s.push(this.buildAssignmentUpdate(i,n,r)),i.length=0),o.type==="dml"&&s.push(this.translateDml(o.sql,r));}return i.length>0&&s.push(this.buildAssignmentUpdate(i,n,r)),s}buildAssignmentUpdate(e,n,r){let s=e.map(i=>{let o=this.translateExpression(i.expression,r);return `${i.column} = ${o}`});return `UPDATE ${n} SET ${s.join(", ")} WHERE rowid = NEW.rowid`}translateExpression(e,n){try{let r=`SELECT ${e}`,s=e.trim().toLowerCase();return s==="now()"||s==="current_timestamp"?"datetime('now')":e}catch{return e}}translateDml(e,n){return e.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(e,n){if(e.arg?.ColumnRef?.fields?.length>1)throw new D({NullTest:e},"row-level NULL tests are not supported in SQLite");return super.NullTest(e,n)}RenameStmt(e,n){if(!e.renameType)throw new Error("RenameStmt requires renameType");let r=["OBJECT_TABLE","OBJECT_VIEW","OBJECT_COLUMN"];if(e.renameType==="OBJECT_COLUMN"&&(e.relationType==="OBJECT_FOREIGN_TABLE"||e.relationType==="OBJECT_VIEW"))throw new D({RenameStmt:e},`RenameStmt with relationType ${e.relationType} is not supported`);if(!r.includes(e.renameType))throw new D({RenameStmt:e},`RenameStmt with renameType ${e.renameType} is not supported in SQLite`);return super.RenameStmt(e,n)}DropStmt(e,n){let r=e.removeType;if(["OBJECT_TABLE","OBJECT_VIEW","OBJECT_INDEX","OBJECT_TRIGGER"].includes(r))return super.DropStmt(e,n);if(["OBJECT_POLICY"].includes(r))return "";throw new D({DropStmt:e},`DROP with removeType ${r} is not supported in SQLite`)}generateRebuildSql(e,n){if(!this.introspection)throw new Error(`ALTER TABLE on "${e}" 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 r=this.buildDesiredSchema(this.introspection,e,n),s=new ir,i=new or,o=s.diff(this.introspection,r);return o.has_changes?i.plan(o,this.introspection,r).steps.filter(l=>!["disable_foreign_keys","begin_transaction","commit_transaction","enable_foreign_keys"].includes(l.type)).map(l=>l.sql).join(`
28
- `):""}buildDesiredSchema(e,n,r){let s={...e,tables:e.tables.map(i=>({...i})),columns:e.columns.map(i=>({...i})),indexes:e.indexes.map(i=>({...i})),foreign_keys:e.foreign_keys.map(i=>({...i})),primary_keys:e.primary_keys.map(i=>({...i})),views:e.views.map(i=>({...i})),triggers:(e.triggers??[]).map(i=>({...i})),check_constraints:e.check_constraints.map(i=>({...i})),unique_constraints:(e.unique_constraints??[]).map(i=>({...i})),comments:(e.comments??[]).map(i=>({...i})),custom_types:e.custom_types.map(i=>({...i}))};for(let i of r){let o=s.columns.findIndex(a=>a.table===n&&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===n);a!==-1&&(s.tables[a]={...s.tables[a],sql:s.tables[a].sql+" /* modified */"});break}}}return this.rebuildTableSql(s,n),s}rebuildTableSql(e,n){let r=e.tables.findIndex(u=>u.name===n);if(r===-1)return;let s=e.columns.filter(u=>u.table===n),i=e.foreign_keys.filter(u=>u.table===n),o=e.check_constraints.filter(u=>u.table===n),a=s.map(u=>{let p=`${I(u.name)} ${u.type||"TEXT"}`;return u.is_primary_key&&(p+=" PRIMARY KEY"),u.nullable||(p+=" NOT NULL"),u.default_value!=null&&(p+=` DEFAULT ${u.default_value}`),p}),l=i.map(u=>`FOREIGN KEY (${I(u.column)}) REFERENCES ${I(u.ref_table)}(${I(u.ref_column)}) ON UPDATE ${u.on_update} ON DELETE ${u.on_delete}`),c=o.map(u=>`CHECK (${u.expression})`),f=[...a,...l,...c];e.tables[r]={...e.tables[r],sql:`CREATE TABLE ${I(n)} (${f.join(", ")}) STRICT`};}extractTypeName(e){let n=e.def?.ColumnDef;return n?.typeName?.TypeName?(n.typeName.TypeName.names??[]).map(s=>s.String?.sval).filter(Boolean).pop()??null:null}extractDefaultValue(e){return e.def?"Integer"in e.def?String(e.def.Integer.ival):"Float"in e.def?e.def.Float.fval:"String"in e.def?`'${e.def.String.sval}'`:null:null}};});var Ue,xn,du=N(()=>{En();cr();Ue=class extends D{constructor(e,n){super(e,`Unsupported expression: ${n}`);}},xn=class{deparse(e){if("A_Const"in e){let s=e.A_Const;if(s.boolval!==void 0)return s.boolval.boolval?{}:{$always:false}}let n=Object.keys(e)[0],r=this[n];if(!r)throw new Ue({[n]:e},`Unsupported expression: ${n}`);return r.call(this,e[n])}deparseValue(e){if("A_Const"in e)return this.A_Const(e.A_Const);if("ColumnRef"in e)return this.ColumnRef(e.ColumnRef);if("FuncCall"in e)return this.FuncCall(e.FuncCall);if("SubLink"in e)return this.SubLink(e.SubLink);if("TypeCast"in e)return this.TypeCast(e.TypeCast);if("A_Expr"in e){let r=this.isJwtAccessor(e.A_Expr);return r||this.A_Expr(e.A_Expr)}if("BoolExpr"in e)return this.BoolExpr(e.BoolExpr);let n=Object.keys(e)[0];throw new Ue({[n]:e},`deparseValue: ${n}`)}A_Expr(e){if(e.kind==="AEXPR_OP"){let n=e.name?.[0],r=n?Bs(n):void 0;if(!r)throw new Ue({A_Expr:e},"A_Expr missing operator");let s=this.isJwtAccessor(e);if(s)return {[s]:{}};let i=e.lexpr?this.deparseValue(e.lexpr):void 0,o=e.rexpr?this.deparseValue(e.rexpr):void 0,a=this.mapOperator(r);if(!a)throw new Ue({A_Expr:e},`Unsupported operator: ${r}`);let l=e.rexpr!=null&&"ColumnRef"in e.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(e.kind==="AEXPR_LIKE"||e.kind==="AEXPR_ILIKE"){let n=e.lexpr?this.deparseValue(e.lexpr):void 0,r=e.rexpr?this.deparseValue(e.rexpr):void 0,i=(e.name?.[0]?Bs(e.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[n]:{[i]:r}}}if(e.kind==="AEXPR_IN"){let n=e.lexpr?this.deparseValue(e.lexpr):void 0,r=e.rexpr&&"List"in e.rexpr&&e.rexpr.List.items?e.rexpr.List.items.map(s=>this.deparseValue(s)):[];return {[n]:{$in:r}}}throw new Ue({A_Expr:e},`A_Expr kind: ${e.kind}`)}BoolExpr(e){let n=e.args??[];switch(e.boolop){case "AND_EXPR":return {$and:n.map(r=>this.deparse(r))};case "OR_EXPR":return {$or:n.map(r=>this.deparse(r))};case "NOT_EXPR":return {$not:this.deparse(n[0])};default:throw new Ue({BoolExpr:e},`BoolExpr op: ${e.boolop}`)}}NullTest(e){let n=e.arg?this.deparseValue(e.arg):void 0;return e.nulltesttype==="IS_NULL"?{[n]:{$is:null}}:{[n]:{$isNot:null}}}SubLink(e){if(e.subLinkType==="ANY_SUBLINK"){let n=e.testexpr?this.deparseValue(e.testexpr):void 0,r=e.subselect?this.SelectStmt(e.subselect.SelectStmt):void 0;return {[n]:{$in:r}}}if(e.subLinkType==="EXISTS_SUBLINK")return {$exists:e.subselect?this.SelectStmt(e.subselect.SelectStmt):void 0};if(e.subLinkType==="EXPR_SUBLINK"){let n=e.subselect?e.subselect.SelectStmt:void 0;if(n?.fromClause?.length)return this.SelectStmt(n);if(n?.targetList?.[0]){let r=n.targetList[0],s="ResTarget"in r?r.ResTarget:void 0;if(s?.val){let i=this.deparseValue(s.val);return i}}}throw new Ue({SubLink:e},`SubLink type: ${e.subLinkType}`)}SelectStmt(e){let{from:n,schema:r,join:s}=this.deparseFromClause(e.fromClause??[]),i=[];for(let p of e.targetList??[]){let d="ResTarget"in p?p.ResTarget:void 0;if(d?.val){let h=this.deparseValue(d.val);Array.isArray(h)?i.push(...h.map(String)):h!=null&&h!==""&&i.push(String(h));}}let o=e.whereClause?this.deparse(e.whereClause):void 0,a=this.deparseSortClause(e.sortClause),l=this.deparseLimit(e.limitCount),c=this.deparseLimit(e.limitOffset),f=this.deparseGroupClause(e.groupClause),u={type:"query",from:n,select:i};return r&&(u.schema=r),Object.keys(s).length>0&&(u.join=s),o&&(u.where=o),a.length>0&&(u.order=a),l!==void 0&&(u.limit=l),c!==void 0&&(u.offset=c),f.length>0&&(u.group=f),u}FuncCall(e){let n=this.isAuthFunc(e.funcname??[]);if(n)return n;throw new Ue({FuncCall:e},`FuncCall: ${wn(e.funcname??[]).join(".")}`)}ColumnRef(e){let n=wn(e.fields??[]);return n.length===1?n[0]:n.join(".")}A_Const(e){if(e.boolval!==void 0)return e.boolval.boolval;if(e.ival!==void 0)return e.ival.ival??0;if(e.fval!==void 0)return parseFloat(e.fval.fval??"0");if(e.sval!==void 0)return e.sval.sval??"";if(e.isnull)return null;throw new Ue({A_Const:e},"A_Const: unknown variant")}TypeCast(e){if(!e.arg)throw new Ue({TypeCast:e},"TypeCast: missing arg");return this.deparseValue(e.arg)}BooleanTest(e){let n=e.arg?this.deparseValue(e.arg):void 0;return e.booltesttype==="IS_TRUE"?{[n]:{$eq:true}}:{[n]:{$eq:false}}}deparseFromClause(e){let n={};if(e.length===0)return {from:"",join:n};let r=e[0];if("RangeVar"in r){let s=r.RangeVar;return {from:s.relname??"",schema:s.schemaname,join:n}}if("JoinExpr"in r){let{from:s,schema:i}=this.walkJoinExpr(r.JoinExpr,n);return {from:s,schema:i,join:n}}return {from:"",join:n}}walkJoinExpr(e,n){let r={from:""};if(e.larg)if("RangeVar"in e.larg){let s=e.larg.RangeVar;r={from:s.relname??"",schema:s.schemaname};}else "JoinExpr"in e.larg&&(r=this.walkJoinExpr(e.larg.JoinExpr,n));if(e.rarg&&"RangeVar"in e.rarg){let s=e.rarg.RangeVar,i=s.relname??"",o=s.alias?.aliasname??i,a=e.jointype==="JOIN_LEFT"?"left":"inner",l={from:i,type:a};e.quals&&(l.on=this.deparse(e.quals));let c=o;if(c in n){let f=2;for(;`${c}_${f}`in n;)f++;c=`${c}_${f}`;}n[c]=l;}return r}deparseSortClause(e){if(!e)return [];let n=[];for(let r of e){if(!("SortBy"in r))continue;let s=r.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),n.push(a);}return n}deparseLimit(e){if(!e)return;let n=this.deparseValue(e);return typeof n=="number"?n:Number(n)}deparseGroupClause(e){return e?e.map(n=>String(this.deparseValue(n))):[]}isAuthFunc(e){let n=wn(e);if(n.length===2&&n[0]==="auth"){if(n[1]==="uid")return "{{auth.uid}}";if(n[1]==="jwt")return "{{auth.jwt}}";if(n[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${n.slice(1).join(".")}"`)}return null}isJwtAccessor(e){if(e.kind!=="AEXPR_OP")return null;let n=e.name?.[0]?Bs(e.name[0]):void 0;if(n!=="->"&&n!=="->>")return null;let r=e.rexpr&&"A_Const"in e.rexpr?e.rexpr.A_Const.sval?.sval:void 0;if(r===void 0)return null;if(e.lexpr&&"FuncCall"in e.lexpr)return this.isAuthFunc(e.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${r}}}`:null;if(e.lexpr&&"A_Expr"in e.lexpr){let s=this.isJwtAccessor(e.lexpr.A_Expr);if(s)return `${s.slice(0,-2)}.${r}}}`}return null}mapOperator(e){switch(e){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}}};});function Cg(t){let e=new Map;for(let n of t.stmts??[]){if(!n.stmt||!("CreateEnumStmt"in n.stmt))continue;let r=n.stmt.CreateEnumStmt,s=wn(r.typeName??[]).join(".");if(!s||!r.vals)continue;let i=wn(r.vals);e.set(s.toLowerCase(),i);}return e}function Tg(t){let e=new Map;for(let n of t.stmts??[]){if(!n.stmt||!("VariableSetStmt"in n.stmt))continue;let r=n.stmt.VariableSetStmt,s=r.name,i=Sg(r.args?.[0]??{});e.set(s,{value:i,local:r.is_local});}return e}function Ag(t){let e=new xn,n=new Set,r=[];for(let s of t.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",f=i.permissive===true,u=[],p=false;for(let b of i.roles??[])if("RoleSpec"in b){let g=b.RoleSpec;g.roletype==="ROLESPEC_PUBLIC"?g.location===-1&&(p=true):g.roletype==="ROLESPEC_CSTRING"&&g.rolename&&u.push(g.rolename);}if(p){let b=a?`${a}.${o}`:o,g=i.policy_name??"",w=`${b}::${g}`;kg.has(w)||(kg.add(w),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 d=i.qual?e.deparse(i.qual):void 0,h=i.with_check?e.deparse(i.with_check):void 0,m=new Ht({name:i.policy_name??"",table:o,schema:a,command:c,permissive:f,roles:u,using:d,withCheck:h});r.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??"";n.add(l);}}}return {policies:r,tables:n}}function $g(t,e){let n=new Map;for(let r of t.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let s=r.stmt.CreateStmt,i=s.relation?.relname??"",o=s.relation?.schemaname??"public";if(!i)continue;let a=new Ut(i,o);for(let l of s.tableElts??[]){if(!("ColumnDef"in l))continue;let c=l.ColumnDef,f=c.colname;if(!f)continue;let u=c.typeName?.names?.map(O=>O.String?.sval||O.String?.str).filter(Boolean),p=u&&(u.length===2&&u[0]==="pg_catalog"?u[1]:u[0]);if(!p)continue;let d=!!c.typeName?.arrayBounds?.length,h=Array.isArray(c.typeName?.typmods)?c.typeName.typmods:[],m=O=>h[O]?.A_Const?.ival?.ival??h[O]?.A_Const?.val?.ival?.ival,b={isArray:d};if(Fo(p)&&h.length>0){let O=m(0);typeof O=="number"&&O>0&&(b.lengthConstraint=O);}if(Mo(p)&&h.length>=2){let O=m(0),Q=m(1);typeof O=="number"&&typeof Q=="number"&&O>0&&Q>=0&&(b.numericPrecision={precision:O,scale:Q});}let g=e.get(p.toLowerCase());g&&(b.enumValues=g);let w=Array.isArray(c.constraints)?c.constraints:[],_=w.some(O=>O.Constraint?.contype==="CONSTR_PRIMARY"),S=Lo(p)||w.some(O=>O.Constraint?.contype==="CONSTR_IDENTITY"),x=w.some(O=>O.Constraint?.contype==="CONSTR_NOTNULL"),E=w.find(O=>O.Constraint?.contype==="CONSTR_UNIQUE"),R=w.find(O=>O.Constraint?.contype==="CONSTR_GENERATED"),$=w.find(O=>O.Constraint?.contype==="CONSTR_FOREIGN"),C=w.find(O=>O.Constraint?.contype==="CONSTR_CHECK"),P;if($){let O=$.Constraint,Q=O.pktable?.relname,le=O.pktable?.schemaname,$e=O.pk_attrs?.[0]?.String?.sval;Q&&$e&&(P={refSchema:le,refTable:Q,refColumn:$e,constraintName:O.conname||void 0});}let F={schema:o,table:i,column:f,pgTypeName:p,nullable:!x&&!_,defaultValue:null,defaultFn:null,isPrimaryKey:_,isUnique:!!E,isSerial:S,isGenerated:!!R,fkRef:P,hasCheck:!!C,checkConstraintName:C?.Constraint?.conname||void 0,uniqueConstraintName:E?.Constraint?.conname||void 0};a.set(f,Ze(F,b));}n.set(`${o}.${i}`,a);}return n}function Og(t){let e=[];for(let n of t.stmts??[]){if(!n.stmt||!("CreateStmt"in n.stmt))continue;let r=n.stmt.CreateStmt,s=r.relation?.relname??"",i=r.relation?.schemaname??"public";if(s)for(let o of r.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 f=(l.keys??[]).map(u=>u.String?.sval??u.String?.str).filter(Boolean);if(f.length===0)continue;e.push({schema:i,table:s,kind:"unique",name:l.conname||void 0,columns:f});}else if(c==="CONSTR_CHECK")e.push({schema:i,table:s,kind:"check",name:l.conname||void 0,columns:[]});else if(c==="CONSTR_FOREIGN"){let f=(l.fk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),u=(l.pk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),p=l.pktable?.relname;if(!p)continue;e.push({schema:i,table:s,kind:"foreign_key",name:l.conname||void 0,columns:f,refSchema:l.pktable?.schemaname,refTable:p,refColumns:u});}}}return e}function Pg(t){let e=[];for(let n of t.stmts??[]){if(!n.stmt||!("CommentStmt"in n.stmt))continue;let r=n.stmt.CommentStmt,s=r.comment??"";if(!s)continue;let i=r.objtype,o=(r.object?.List?.items??r.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]];e.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,e.push({schema:a,table:l,column:c,text:s});}}}return e}var kg,Ng=N(()=>{du();En();Oo();Vl();cr();kg=new Set;});var jg={};fr(jg,{Policy:()=>Ht,deparseDdl:()=>mu,deparseExpression:()=>rv,deparsePostgresDdl:()=>nv,deparseSelect:()=>sv,parse:()=>ar,parseExpression:()=>Dg,translatePostgresDdl:()=>Ig});async function Ig(t,e={}){let n=await ar(t);return mu(n,e).ddl}async function nv(t,e={}){let n=await ar(t);return {ast:n,...mu(n,e)}}function mu(t,e={}){let n=Cg(t),r=$g(t,n),s=Tg(t),i=Og(t),o=Pg(t),a=new Wo(t,{...e,enums:n}),{policies:l,tables:c}=Ag(t);if(e.strict)for(let f of l){if(!r.get(`${f.data.schema??"public"}.${f.data.table}`))throw new Error(`Policy "${f.data.name}" references unknown table "${f.data.table}"`);if(!c.has(f.data.table))throw new Error(`RLS is not enabled on table "${f.data.table}"`)}return {ddl:a.deparseQuery(),enums:n,rls:{tables:c,policies:l},schema:r,vars:s,tableConstraints:i,comments:o}}async function Dg(t){let n=(await ar(`SELECT 1 WHERE ${t}`)).stmts?.[0]?.stmt;if(!n||!("SelectStmt"in n))throw new Error("expected SelectStmt");let r=n.SelectStmt.whereClause;if(!r)throw new Error("no whereClause");return r}async function rv(t){let e=await Dg(t);return new xn().deparse(e)}async function sv(t){let n=(await ar(t)).stmts?.[0]?.stmt;if(!n||!("SelectStmt"in n))throw new Error("expected SelectStmt");return new xn().deparse(n)}var hu=N(()=>{wg();vg();du();Ng();Oo();});ee();function Ou(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r);}return n}function Pu(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ou(Object(n),true).forEach(function(r){eb(t,r,n[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ou(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r));});}return t}function eb(t,e,n){return e=tb(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true}):t[e]=n,t}function tb(t){var e=nb(t,"string");return typeof e=="symbol"?e:String(e)}function nb(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return (e==="string"?String:Number)(t)}var rb=Nu({}),Oe=rb;function Nu(t){return e.withOptions=n=>Nu(Pu(Pu({},t),n)),e;function e(n,...r){let s=typeof n=="string"?[n]:n.raw,{alignValues:i=false,escapeSpecialCharacters:o=Array.isArray(n),trimWhitespace:a=true}=t,l="";for(let u=0;u<s.length;u++){let p=s[u];if(o&&(p=p.replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{")),l+=p,u<r.length){let d=i?sb(r[u],l):r[u];l+=d;}}let c=l.split(`
28
+ `):""}buildDesiredSchema(e,n,r){let s={...e,tables:e.tables.map(i=>({...i})),columns:e.columns.map(i=>({...i})),indexes:e.indexes.map(i=>({...i})),foreign_keys:e.foreign_keys.map(i=>({...i})),primary_keys:e.primary_keys.map(i=>({...i})),views:e.views.map(i=>({...i})),triggers:(e.triggers??[]).map(i=>({...i})),check_constraints:e.check_constraints.map(i=>({...i})),unique_constraints:(e.unique_constraints??[]).map(i=>({...i})),comments:(e.comments??[]).map(i=>({...i})),custom_types:e.custom_types.map(i=>({...i}))};for(let i of r){let o=s.columns.findIndex(a=>a.table===n&&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===n);a!==-1&&(s.tables[a]={...s.tables[a],sql:s.tables[a].sql+" /* modified */"});break}}}return this.rebuildTableSql(s,n),s}rebuildTableSql(e,n){let r=e.tables.findIndex(u=>u.name===n);if(r===-1)return;let s=e.columns.filter(u=>u.table===n),i=e.foreign_keys.filter(u=>u.table===n),o=e.check_constraints.filter(u=>u.table===n),a=s.map(u=>{let p=`${I(u.name)} ${u.type||"TEXT"}`;return u.is_primary_key&&(p+=" PRIMARY KEY"),u.nullable||(p+=" NOT NULL"),u.default_value!=null&&(p+=` DEFAULT ${u.default_value}`),p}),l=i.map(u=>`FOREIGN KEY (${I(u.column)}) REFERENCES ${I(u.ref_table)}(${I(u.ref_column)}) ON UPDATE ${u.on_update} ON DELETE ${u.on_delete}`),c=o.map(u=>`CHECK (${u.expression})`),f=[...a,...l,...c];e.tables[r]={...e.tables[r],sql:`CREATE TABLE ${I(n)} (${f.join(", ")}) STRICT`};}extractTypeName(e){let n=e.def?.ColumnDef;return n?.typeName?.TypeName?(n.typeName.TypeName.names??[]).map(s=>s.String?.sval).filter(Boolean).pop()??null:null}extractDefaultValue(e){return e.def?"Integer"in e.def?String(e.def.Integer.ival):"Float"in e.def?e.def.Float.fval:"String"in e.def?`'${e.def.String.sval}'`:null:null}};});var Ue,xn,du=N(()=>{En();cr();Ue=class extends D{constructor(e,n){super(e,`Unsupported expression: ${n}`);}},xn=class{deparse(e){if("A_Const"in e){let s=e.A_Const;if(s.boolval!==void 0)return s.boolval.boolval?{}:{$always:false}}let n=Object.keys(e)[0],r=this[n];if(!r)throw new Ue({[n]:e},`Unsupported expression: ${n}`);return r.call(this,e[n])}deparseValue(e){if("A_Const"in e)return this.A_Const(e.A_Const);if("ColumnRef"in e)return this.ColumnRef(e.ColumnRef);if("FuncCall"in e)return this.FuncCall(e.FuncCall);if("SubLink"in e)return this.SubLink(e.SubLink);if("TypeCast"in e)return this.TypeCast(e.TypeCast);if("A_Expr"in e){let r=this.isJwtAccessor(e.A_Expr);return r||this.A_Expr(e.A_Expr)}if("BoolExpr"in e)return this.BoolExpr(e.BoolExpr);let n=Object.keys(e)[0];throw new Ue({[n]:e},`deparseValue: ${n}`)}A_Expr(e){if(e.kind==="AEXPR_OP"){let n=e.name?.[0],r=n?Bs(n):void 0;if(!r)throw new Ue({A_Expr:e},"A_Expr missing operator");let s=this.isJwtAccessor(e);if(s)return {[s]:{}};let i=e.lexpr?this.deparseValue(e.lexpr):void 0,o=e.rexpr?this.deparseValue(e.rexpr):void 0,a=this.mapOperator(r);if(!a)throw new Ue({A_Expr:e},`Unsupported operator: ${r}`);let l=e.rexpr!=null&&"ColumnRef"in e.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(e.kind==="AEXPR_LIKE"||e.kind==="AEXPR_ILIKE"){let n=e.lexpr?this.deparseValue(e.lexpr):void 0,r=e.rexpr?this.deparseValue(e.rexpr):void 0,i=(e.name?.[0]?Bs(e.name[0]):"~~")==="!~~"?"$notLike":"$like";return {[n]:{[i]:r}}}if(e.kind==="AEXPR_IN"){let n=e.lexpr?this.deparseValue(e.lexpr):void 0,r=e.rexpr&&"List"in e.rexpr&&e.rexpr.List.items?e.rexpr.List.items.map(s=>this.deparseValue(s)):[];return {[n]:{$in:r}}}throw new Ue({A_Expr:e},`A_Expr kind: ${e.kind}`)}BoolExpr(e){let n=e.args??[];switch(e.boolop){case "AND_EXPR":return {$and:n.map(r=>this.deparse(r))};case "OR_EXPR":return {$or:n.map(r=>this.deparse(r))};case "NOT_EXPR":return {$not:this.deparse(n[0])};default:throw new Ue({BoolExpr:e},`BoolExpr op: ${e.boolop}`)}}NullTest(e){let n=e.arg?this.deparseValue(e.arg):void 0;return e.nulltesttype==="IS_NULL"?{[n]:{$is:null}}:{[n]:{$isNot:null}}}SubLink(e){if(e.subLinkType==="ANY_SUBLINK"){let n=e.testexpr?this.deparseValue(e.testexpr):void 0,r=e.subselect?this.SelectStmt(e.subselect.SelectStmt):void 0;return {[n]:{$in:r}}}if(e.subLinkType==="EXISTS_SUBLINK")return {$exists:e.subselect?this.SelectStmt(e.subselect.SelectStmt):void 0};if(e.subLinkType==="EXPR_SUBLINK"){let n=e.subselect?e.subselect.SelectStmt:void 0;if(n?.fromClause?.length)return this.SelectStmt(n);if(n?.targetList?.[0]){let r=n.targetList[0],s="ResTarget"in r?r.ResTarget:void 0;if(s?.val){let i=this.deparseValue(s.val);return i}}}throw new Ue({SubLink:e},`SubLink type: ${e.subLinkType}`)}SelectStmt(e){let{from:n,schema:r,join:s}=this.deparseFromClause(e.fromClause??[]),i=[];for(let p of e.targetList??[]){let d="ResTarget"in p?p.ResTarget:void 0;if(d?.val){let h=this.deparseValue(d.val);Array.isArray(h)?i.push(...h.map(String)):h!=null&&h!==""&&i.push(String(h));}}let o=e.whereClause?this.deparse(e.whereClause):void 0,a=this.deparseSortClause(e.sortClause),l=this.deparseLimit(e.limitCount),c=this.deparseLimit(e.limitOffset),f=this.deparseGroupClause(e.groupClause),u={type:"query",from:n,select:i};return r&&(u.schema=r),Object.keys(s).length>0&&(u.join=s),o&&(u.where=o),a.length>0&&(u.order=a),l!==void 0&&(u.limit=l),c!==void 0&&(u.offset=c),f.length>0&&(u.group=f),u}FuncCall(e){let n=this.isAuthFunc(e.funcname??[]);if(n)return n;throw new Ue({FuncCall:e},`FuncCall: ${wn(e.funcname??[]).join(".")}`)}ColumnRef(e){let n=wn(e.fields??[]);return n.length===1?n[0]:n.join(".")}A_Const(e){if(e.boolval!==void 0)return e.boolval.boolval;if(e.ival!==void 0)return e.ival.ival??0;if(e.fval!==void 0)return parseFloat(e.fval.fval??"0");if(e.sval!==void 0)return e.sval.sval??"";if(e.isnull)return null;throw new Ue({A_Const:e},"A_Const: unknown variant")}TypeCast(e){if(!e.arg)throw new Ue({TypeCast:e},"TypeCast: missing arg");return this.deparseValue(e.arg)}BooleanTest(e){let n=e.arg?this.deparseValue(e.arg):void 0;return e.booltesttype==="IS_TRUE"?{[n]:{$eq:true}}:{[n]:{$eq:false}}}deparseFromClause(e){let n={};if(e.length===0)return {from:"",join:n};let r=e[0];if("RangeVar"in r){let s=r.RangeVar;return {from:s.relname??"",schema:s.schemaname,join:n}}if("JoinExpr"in r){let{from:s,schema:i}=this.walkJoinExpr(r.JoinExpr,n);return {from:s,schema:i,join:n}}return {from:"",join:n}}walkJoinExpr(e,n){let r={from:""};if(e.larg)if("RangeVar"in e.larg){let s=e.larg.RangeVar;r={from:s.relname??"",schema:s.schemaname};}else "JoinExpr"in e.larg&&(r=this.walkJoinExpr(e.larg.JoinExpr,n));if(e.rarg&&"RangeVar"in e.rarg){let s=e.rarg.RangeVar,i=s.relname??"",o=s.alias?.aliasname??i,a=e.jointype==="JOIN_LEFT"?"left":"inner",l={from:i,type:a};e.quals&&(l.on=this.deparse(e.quals));let c=o;if(c in n){let f=2;for(;`${c}_${f}`in n;)f++;c=`${c}_${f}`;}n[c]=l;}return r}deparseSortClause(e){if(!e)return [];let n=[];for(let r of e){if(!("SortBy"in r))continue;let s=r.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),n.push(a);}return n}deparseLimit(e){if(!e)return;let n=this.deparseValue(e);return typeof n=="number"?n:Number(n)}deparseGroupClause(e){return e?e.map(n=>String(this.deparseValue(n))):[]}isAuthFunc(e){let n=wn(e);if(n.length===2&&n[0]==="auth"){if(n[1]==="uid")return "{{auth.uid}}";if(n[1]==="jwt")return "{{auth.jwt}}";if(n[1]==="role")return "{{auth.role}}";throw new Error(`Unsupported auth function: "${n.slice(1).join(".")}"`)}return null}isJwtAccessor(e){if(e.kind!=="AEXPR_OP")return null;let n=e.name?.[0]?Bs(e.name[0]):void 0;if(n!=="->"&&n!=="->>")return null;let r=e.rexpr&&"A_Const"in e.rexpr?e.rexpr.A_Const.sval?.sval:void 0;if(r===void 0)return null;if(e.lexpr&&"FuncCall"in e.lexpr)return this.isAuthFunc(e.lexpr.FuncCall.funcname??[])==="{{auth.jwt}}"?`{{auth.jwt.${r}}}`:null;if(e.lexpr&&"A_Expr"in e.lexpr){let s=this.isJwtAccessor(e.lexpr.A_Expr);if(s)return `${s.slice(0,-2)}.${r}}}`}return null}mapOperator(e){switch(e){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}}};});function Cg(t){let e=new Map;for(let n of t.stmts??[]){if(!n.stmt||!("CreateEnumStmt"in n.stmt))continue;let r=n.stmt.CreateEnumStmt,s=wn(r.typeName??[]).join(".");if(!s||!r.vals)continue;let i=wn(r.vals);e.set(s.toLowerCase(),i);}return e}function Tg(t){let e=new Map;for(let n of t.stmts??[]){if(!n.stmt||!("VariableSetStmt"in n.stmt))continue;let r=n.stmt.VariableSetStmt,s=r.name,i=Sg(r.args?.[0]??{});e.set(s,{value:i,local:r.is_local});}return e}function Ag(t){let e=new xn,n=new Set,r=[];for(let s of t.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",f=i.permissive===true,u=[],p=false;for(let b of i.roles??[])if("RoleSpec"in b){let g=b.RoleSpec;g.roletype==="ROLESPEC_PUBLIC"?g.location===-1&&(p=true):g.roletype==="ROLESPEC_CSTRING"&&g.rolename&&u.push(g.rolename);}let d=i.qual?e.deparse(i.qual):void 0,h=i.with_check?e.deparse(i.with_check):void 0;if(p){let b=a?`${a}.${o}`:o,g=i.policy_name??"",w=`${b}::${g}`;if(!kg.has(w)){kg.add(w);let _=JSON.stringify(d)+JSON.stringify(h);/\{\{auth\.(uid|jwt|role)/i.test(_)||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 m=new Ht({name:i.policy_name??"",table:o,schema:a,command:c,permissive:f,roles:u,using:d,withCheck:h});r.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??"";n.add(l);}}}return {policies:r,tables:n}}function $g(t,e){let n=new Map;for(let r of t.stmts??[]){if(!r.stmt||!("CreateStmt"in r.stmt))continue;let s=r.stmt.CreateStmt,i=s.relation?.relname??"",o=s.relation?.schemaname??"public";if(!i)continue;let a=new Ut(i,o);for(let l of s.tableElts??[]){if(!("ColumnDef"in l))continue;let c=l.ColumnDef,f=c.colname;if(!f)continue;let u=c.typeName?.names?.map(O=>O.String?.sval||O.String?.str).filter(Boolean),p=u&&(u.length===2&&u[0]==="pg_catalog"?u[1]:u[0]);if(!p)continue;let d=!!c.typeName?.arrayBounds?.length,h=Array.isArray(c.typeName?.typmods)?c.typeName.typmods:[],m=O=>h[O]?.A_Const?.ival?.ival??h[O]?.A_Const?.val?.ival?.ival,b={isArray:d};if(Fo(p)&&h.length>0){let O=m(0);typeof O=="number"&&O>0&&(b.lengthConstraint=O);}if(Mo(p)&&h.length>=2){let O=m(0),Q=m(1);typeof O=="number"&&typeof Q=="number"&&O>0&&Q>=0&&(b.numericPrecision={precision:O,scale:Q});}let g=e.get(p.toLowerCase());g&&(b.enumValues=g);let w=Array.isArray(c.constraints)?c.constraints:[],_=w.some(O=>O.Constraint?.contype==="CONSTR_PRIMARY"),S=Lo(p)||w.some(O=>O.Constraint?.contype==="CONSTR_IDENTITY"),x=w.some(O=>O.Constraint?.contype==="CONSTR_NOTNULL"),E=w.find(O=>O.Constraint?.contype==="CONSTR_UNIQUE"),R=w.find(O=>O.Constraint?.contype==="CONSTR_GENERATED"),$=w.find(O=>O.Constraint?.contype==="CONSTR_FOREIGN"),C=w.find(O=>O.Constraint?.contype==="CONSTR_CHECK"),P;if($){let O=$.Constraint,Q=O.pktable?.relname,le=O.pktable?.schemaname,$e=O.pk_attrs?.[0]?.String?.sval;Q&&$e&&(P={refSchema:le,refTable:Q,refColumn:$e,constraintName:O.conname||void 0});}let F={schema:o,table:i,column:f,pgTypeName:p,nullable:!x&&!_,defaultValue:null,defaultFn:null,isPrimaryKey:_,isUnique:!!E,isSerial:S,isGenerated:!!R,fkRef:P,hasCheck:!!C,checkConstraintName:C?.Constraint?.conname||void 0,uniqueConstraintName:E?.Constraint?.conname||void 0};a.set(f,Ze(F,b));}n.set(`${o}.${i}`,a);}return n}function Og(t){let e=[];for(let n of t.stmts??[]){if(!n.stmt||!("CreateStmt"in n.stmt))continue;let r=n.stmt.CreateStmt,s=r.relation?.relname??"",i=r.relation?.schemaname??"public";if(s)for(let o of r.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 f=(l.keys??[]).map(u=>u.String?.sval??u.String?.str).filter(Boolean);if(f.length===0)continue;e.push({schema:i,table:s,kind:"unique",name:l.conname||void 0,columns:f});}else if(c==="CONSTR_CHECK")e.push({schema:i,table:s,kind:"check",name:l.conname||void 0,columns:[]});else if(c==="CONSTR_FOREIGN"){let f=(l.fk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),u=(l.pk_attrs??[]).map(d=>d.String?.sval??d.String?.str).filter(Boolean),p=l.pktable?.relname;if(!p)continue;e.push({schema:i,table:s,kind:"foreign_key",name:l.conname||void 0,columns:f,refSchema:l.pktable?.schemaname,refTable:p,refColumns:u});}}}return e}function Pg(t){let e=[];for(let n of t.stmts??[]){if(!n.stmt||!("CommentStmt"in n.stmt))continue;let r=n.stmt.CommentStmt,s=r.comment??"";if(!s)continue;let i=r.objtype,o=(r.object?.List?.items??r.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]];e.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,e.push({schema:a,table:l,column:c,text:s});}}}return e}var kg,Ng=N(()=>{du();En();Oo();Vl();cr();kg=new Set;});var jg={};fr(jg,{Policy:()=>Ht,deparseDdl:()=>mu,deparseExpression:()=>rv,deparsePostgresDdl:()=>nv,deparseSelect:()=>sv,parse:()=>ar,parseExpression:()=>Dg,translatePostgresDdl:()=>Ig});async function Ig(t,e={}){let n=await ar(t);return mu(n,e).ddl}async function nv(t,e={}){let n=await ar(t);return {ast:n,...mu(n,e)}}function mu(t,e={}){let n=Cg(t),r=$g(t,n),s=Tg(t),i=Og(t),o=Pg(t),a=new Wo(t,{...e,enums:n}),{policies:l,tables:c}=Ag(t);if(e.strict)for(let f of l){if(!r.get(`${f.data.schema??"public"}.${f.data.table}`))throw new Error(`Policy "${f.data.name}" references unknown table "${f.data.table}"`);if(!c.has(f.data.table))throw new Error(`RLS is not enabled on table "${f.data.table}"`)}return {ddl:a.deparseQuery(),enums:n,rls:{tables:c,policies:l},schema:r,vars:s,tableConstraints:i,comments:o}}async function Dg(t){let n=(await ar(`SELECT 1 WHERE ${t}`)).stmts?.[0]?.stmt;if(!n||!("SelectStmt"in n))throw new Error("expected SelectStmt");let r=n.SelectStmt.whereClause;if(!r)throw new Error("no whereClause");return r}async function rv(t){let e=await Dg(t);return new xn().deparse(e)}async function sv(t){let n=(await ar(t)).stmts?.[0]?.stmt;if(!n||!("SelectStmt"in n))throw new Error("expected SelectStmt");return new xn().deparse(n)}var hu=N(()=>{wg();vg();du();Ng();Oo();});ee();function Ou(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(t,s).enumerable})),n.push.apply(n,r);}return n}function Pu(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ou(Object(n),true).forEach(function(r){eb(t,r,n[r]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ou(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r));});}return t}function eb(t,e,n){return e=tb(e),e in t?Object.defineProperty(t,e,{value:n,enumerable:true,configurable:true,writable:true}):t[e]=n,t}function tb(t){var e=nb(t,"string");return typeof e=="symbol"?e:String(e)}function nb(t,e){if(typeof t!="object"||t===null)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return (e==="string"?String:Number)(t)}var rb=Nu({}),Oe=rb;function Nu(t){return e.withOptions=n=>Nu(Pu(Pu({},t),n)),e;function e(n,...r){let s=typeof n=="string"?[n]:n.raw,{alignValues:i=false,escapeSpecialCharacters:o=Array.isArray(n),trimWhitespace:a=true}=t,l="";for(let u=0;u<s.length;u++){let p=s[u];if(o&&(p=p.replace(/\\\n[ \t]*/g,"").replace(/\\`/g,"`").replace(/\\\$/g,"$").replace(/\\\{/g,"{")),l+=p,u<r.length){let d=i?sb(r[u],l):r[u];l+=d;}}let c=l.split(`
29
29
  `),f=null;for(let u of c){let p=u.match(/^(\s+)\S+/);if(p){let d=p[1].length;f?f=Math.min(f,d):f=d;}}if(f!==null){let u=f;l=c.map(p=>p[0]===" "||p[0]===" "?p.slice(u):p).join(`
30
30
  `);}return a&&(l=l.trim()),o&&(l=l.replace(/\\n/g,`
31
31
  `).replace(/\\t/g," ").replace(/\\r/g,"\r").replace(/\\v/g,"\v").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\0/g,"\0").replace(/\\x([\da-fA-F]{2})/g,(u,p)=>String.fromCharCode(parseInt(p,16))).replace(/\\u\{([\da-fA-F]{1,6})\}/g,(u,p)=>String.fromCodePoint(parseInt(p,16))).replace(/\\u([\da-fA-F]{4})/g,(u,p)=>String.fromCharCode(parseInt(p,16)))),typeof Bun<"u"&&(l=l.replace(/\\u(?:\{([\da-fA-F]{1,6})\}|([\da-fA-F]{4}))/g,(u,p,d)=>{var h;let m=(h=p??d)!==null&&h!==void 0?h:"";return String.fromCodePoint(parseInt(m,16))})),l}}function sb(t,e){if(typeof t!="string"||!t.includes(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supabase/lite",
3
- "version": "0.3.1-next.1",
3
+ "version": "0.3.1-next.2",
4
4
  "description": "Lightweight TypeScript-native Supabase implementation on SQLite (alpha). PostgREST + GoTrue compatible — use @supabase/supabase-js as-is.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -66,6 +66,9 @@
66
66
  "README.md",
67
67
  "STATUS.md",
68
68
  "UPGRADE.md",
69
+ "LIMITATIONS.md",
70
+ "PATTERNS.md",
71
+ "skills",
69
72
  "!dist/*.tsbuildinfo",
70
73
  "!dist/*.map",
71
74
  "!dist/**/*.map",