fjall 4.0.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,29 +1,29 @@
1
1
  import { createRequire as __fjcreateRequire } from "module";
2
2
  const require = __fjcreateRequire(import.meta.url);
3
3
 
4
- var Bw=Object.create;var Xl=Object.defineProperty;var Vw=Object.getOwnPropertyDescriptor;var Zw=Object.getOwnPropertyNames;var Gw=Object.getPrototypeOf,Ww=Object.prototype.hasOwnProperty;var Qa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},$t=(e,t)=>{for(var n in t)Xl(e,n,{get:t[n],enumerable:!0})},Hw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Zw(t))!Ww.call(e,r)&&r!==n&&Xl(e,r,{get:()=>t[r],enumerable:!(i=Vw(t,r))||i.enumerable});return e};var yS=(e,t,n)=>(n=e!=null?Bw(Gw(e)):{},Hw(t||!e||!e.__esModule?Xl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((xX,uC)=>{"use strict";var{FORCE_COLOR:D4,NODE_DISABLE_COLORS:M4,TERM:j4}=process.env,H={enabled:!M4&&j4!=="dumb"&&D4!=="0",reset:ee(0,0),bold:ee(1,22),dim:ee(2,22),italic:ee(3,23),underline:ee(4,24),inverse:ee(7,27),hidden:ee(8,28),strikethrough:ee(9,29),black:ee(30,39),red:ee(31,39),green:ee(32,39),yellow:ee(33,39),blue:ee(34,39),magenta:ee(35,39),cyan:ee(36,39),white:ee(37,39),gray:ee(90,39),grey:ee(90,39),bgBlack:ee(40,49),bgRed:ee(41,49),bgGreen:ee(42,49),bgYellow:ee(43,49),bgBlue:ee(44,49),bgMagenta:ee(45,49),bgCyan:ee(46,49),bgWhite:ee(47,49)};function cC(e,t){let n=0,i,r="",o="";for(;n<e.length;n++)i=e[n],r+=i.open,o+=i.close,t.includes(i.close)&&(t=t.replace(i.rgx,i.close+i.open));return r+t+o}function z4(e,t){let n={has:e,keys:t};return n.reset=H.reset.bind(n),n.bold=H.bold.bind(n),n.dim=H.dim.bind(n),n.italic=H.italic.bind(n),n.underline=H.underline.bind(n),n.inverse=H.inverse.bind(n),n.hidden=H.hidden.bind(n),n.strikethrough=H.strikethrough.bind(n),n.black=H.black.bind(n),n.red=H.red.bind(n),n.green=H.green.bind(n),n.yellow=H.yellow.bind(n),n.blue=H.blue.bind(n),n.magenta=H.magenta.bind(n),n.cyan=H.cyan.bind(n),n.white=H.white.bind(n),n.gray=H.gray.bind(n),n.grey=H.grey.bind(n),n.bgBlack=H.bgBlack.bind(n),n.bgRed=H.bgRed.bind(n),n.bgGreen=H.bgGreen.bind(n),n.bgYellow=H.bgYellow.bind(n),n.bgBlue=H.bgBlue.bind(n),n.bgMagenta=H.bgMagenta.bind(n),n.bgCyan=H.bgCyan.bind(n),n.bgWhite=H.bgWhite.bind(n),n}function ee(e,t){let n={open:`\x1B[${e}m`,close:`\x1B[${t}m`,rgx:new RegExp(`\\x1b\\[${t}m`,"g")};return function(i){return this!==void 0&&this.has!==void 0?(this.has.includes(e)||(this.has.push(e),this.keys.push(n)),i===void 0?this:H.enabled?cC(this.keys,i+""):i+""):i===void 0?z4([e],[n]):H.enabled?cC([n],i+""):i+""}}uC.exports=H});var dC=I((AX,lC)=>{"use strict";lC.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Ol=I((IX,mC)=>{"use strict";mC.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var ae=I(($X,pC)=>{"use strict";var iy={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let n="";return e<0?n+=`\x1B[${-e}D`:e>0&&(n+=`\x1B[${e}C`),t<0?n+=`\x1B[${-t}A`:t>0&&(n+=`\x1B[${t}B`),n},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},L4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},U4={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?iy.up():"");return e&&(t+=iy.left),t}};pC.exports={cursor:iy,scroll:L4,erase:U4,beep:"\x07"}});var bC=I((TX,vC)=>{"use strict";function F4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=B4(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
5
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function B4(e,t){if(e){if(typeof e=="string")return fC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fC(e,t)}}function fC(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var V4=Ol(),hC=ae(),gC=hC.erase,Z4=hC.cursor,G4=e=>[...V4(e)].length;vC.exports=function(e,t){if(!t)return gC.line+Z4.to(0);let n=0,i=e.split(/\r?\n/);var r=F4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(G4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return gC.lines(n)}});var oy=I((RX,yC)=>{"use strict";var Ba={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},W4={arrowUp:Ba.arrowUp,arrowDown:Ba.arrowDown,arrowLeft:Ba.arrowLeft,arrowRight:Ba.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},H4=process.platform==="win32"?W4:Ba;yC.exports=H4});var _C=I((CX,SC)=>{"use strict";var qi=oe(),An=oy(),ay=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),q4=e=>ay[e]||ay.default,Va=Object.freeze({aborted:qi.red(An.cross),done:qi.green(An.tick),exited:qi.yellow(An.cross),default:qi.cyan("?")}),K4=(e,t,n)=>t?Va.aborted:n?Va.exited:e?Va.done:Va.default,Y4=e=>qi.gray(e?An.ellipsis:An.pointerSmall),X4=(e,t)=>qi.gray(e?t?An.pointerSmall:"+":An.line);SC.exports={styles:ay,render:q4,symbols:Va,symbol:K4,delimiter:Y4,item:X4}});var xC=I((PX,EC)=>{"use strict";var J4=Ol();EC.exports=function(e,t){let n=String(J4(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var IC=I((NX,AC)=>{"use strict";AC.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
4
+ var Bw=Object.create;var Xl=Object.defineProperty;var Vw=Object.getOwnPropertyDescriptor;var Zw=Object.getOwnPropertyNames;var Gw=Object.getPrototypeOf,Ww=Object.prototype.hasOwnProperty;var Qa=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var I=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},$t=(e,t)=>{for(var n in t)Xl(e,n,{get:t[n],enumerable:!0})},Hw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Zw(t))!Ww.call(e,r)&&r!==n&&Xl(e,r,{get:()=>t[r],enumerable:!(i=Vw(t,r))||i.enumerable});return e};var yS=(e,t,n)=>(n=e!=null?Bw(Gw(e)):{},Hw(t||!e||!e.__esModule?Xl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((AX,uC)=>{"use strict";var{FORCE_COLOR:M4,NODE_DISABLE_COLORS:j4,TERM:z4}=process.env,H={enabled:!j4&&z4!=="dumb"&&M4!=="0",reset:ee(0,0),bold:ee(1,22),dim:ee(2,22),italic:ee(3,23),underline:ee(4,24),inverse:ee(7,27),hidden:ee(8,28),strikethrough:ee(9,29),black:ee(30,39),red:ee(31,39),green:ee(32,39),yellow:ee(33,39),blue:ee(34,39),magenta:ee(35,39),cyan:ee(36,39),white:ee(37,39),gray:ee(90,39),grey:ee(90,39),bgBlack:ee(40,49),bgRed:ee(41,49),bgGreen:ee(42,49),bgYellow:ee(43,49),bgBlue:ee(44,49),bgMagenta:ee(45,49),bgCyan:ee(46,49),bgWhite:ee(47,49)};function cC(e,t){let n=0,i,r="",o="";for(;n<e.length;n++)i=e[n],r+=i.open,o+=i.close,t.includes(i.close)&&(t=t.replace(i.rgx,i.close+i.open));return r+t+o}function L4(e,t){let n={has:e,keys:t};return n.reset=H.reset.bind(n),n.bold=H.bold.bind(n),n.dim=H.dim.bind(n),n.italic=H.italic.bind(n),n.underline=H.underline.bind(n),n.inverse=H.inverse.bind(n),n.hidden=H.hidden.bind(n),n.strikethrough=H.strikethrough.bind(n),n.black=H.black.bind(n),n.red=H.red.bind(n),n.green=H.green.bind(n),n.yellow=H.yellow.bind(n),n.blue=H.blue.bind(n),n.magenta=H.magenta.bind(n),n.cyan=H.cyan.bind(n),n.white=H.white.bind(n),n.gray=H.gray.bind(n),n.grey=H.grey.bind(n),n.bgBlack=H.bgBlack.bind(n),n.bgRed=H.bgRed.bind(n),n.bgGreen=H.bgGreen.bind(n),n.bgYellow=H.bgYellow.bind(n),n.bgBlue=H.bgBlue.bind(n),n.bgMagenta=H.bgMagenta.bind(n),n.bgCyan=H.bgCyan.bind(n),n.bgWhite=H.bgWhite.bind(n),n}function ee(e,t){let n={open:`\x1B[${e}m`,close:`\x1B[${t}m`,rgx:new RegExp(`\\x1b\\[${t}m`,"g")};return function(i){return this!==void 0&&this.has!==void 0?(this.has.includes(e)||(this.has.push(e),this.keys.push(n)),i===void 0?this:H.enabled?cC(this.keys,i+""):i+""):i===void 0?L4([e],[n]):H.enabled?cC([n],i+""):i+""}}uC.exports=H});var dC=I((IX,lC)=>{"use strict";lC.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Ol=I(($X,mC)=>{"use strict";mC.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var ae=I((TX,pC)=>{"use strict";var iy={to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e,t){let n="";return e<0?n+=`\x1B[${-e}D`:e>0&&(n+=`\x1B[${e}C`),t<0?n+=`\x1B[${-t}A`:t>0&&(n+=`\x1B[${t}B`),n},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},U4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},F4={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let n=0;n<e;n++)t+=this.line+(n<e-1?iy.up():"");return e&&(t+=iy.left),t}};pC.exports={cursor:iy,scroll:U4,erase:F4,beep:"\x07"}});var bC=I((RX,vC)=>{"use strict";function B4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=V4(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
5
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function V4(e,t){if(e){if(typeof e=="string")return fC(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fC(e,t)}}function fC(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}var Z4=Ol(),hC=ae(),gC=hC.erase,G4=hC.cursor,W4=e=>[...Z4(e)].length;vC.exports=function(e,t){if(!t)return gC.line+G4.to(0);let n=0,i=e.split(/\r?\n/);var r=B4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(W4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return gC.lines(n)}});var oy=I((CX,yC)=>{"use strict";var Ba={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},H4={arrowUp:Ba.arrowUp,arrowDown:Ba.arrowDown,arrowLeft:Ba.arrowLeft,arrowRight:Ba.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},q4=process.platform==="win32"?H4:Ba;yC.exports=q4});var _C=I((PX,SC)=>{"use strict";var qi=oe(),An=oy(),ay=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),K4=e=>ay[e]||ay.default,Va=Object.freeze({aborted:qi.red(An.cross),done:qi.green(An.tick),exited:qi.yellow(An.cross),default:qi.cyan("?")}),Y4=(e,t,n)=>t?Va.aborted:n?Va.exited:e?Va.done:Va.default,X4=e=>qi.gray(e?An.ellipsis:An.pointerSmall),J4=(e,t)=>qi.gray(e?t?An.pointerSmall:"+":An.line);SC.exports={styles:ay,render:K4,symbols:Va,symbol:Y4,delimiter:X4,item:J4}});var xC=I((NX,EC)=>{"use strict";var Q4=Ol();EC.exports=function(e,t){let n=String(Q4(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var IC=I((wX,AC)=>{"use strict";AC.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
6
6
  `)).join(`
7
- `)}});var TC=I((wX,$C)=>{"use strict";$C.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var At=I((kX,RC)=>{"use strict";RC.exports={action:dC(),clear:bC(),style:_C(),strip:Ol(),figures:oy(),lines:xC(),wrap:IC(),entriesToDisplay:TC()}});var ar=I((OX,NC)=>{"use strict";var CC=Qa("readline"),Q4=At(),e2=Q4.action,t2=Qa("events"),PC=ae(),r2=PC.beep,n2=PC.cursor,i2=oe(),sy=class extends t2{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=CC.createInterface({input:this.in,escapeCodeTimeout:50});CC.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=e2(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(n2.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(r2)}render(){this.onRender(i2),this.firstRender&&(this.firstRender=!1)}};NC.exports=sy});var MC=I((DX,DC)=>{"use strict";function wC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function kC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){wC(o,i,r,a,c,"next",u)}function c(u){wC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dl=oe(),o2=ar(),OC=ae(),a2=OC.erase,Za=OC.cursor,Ml=At(),cy=Ml.style,uy=Ml.clear,s2=Ml.lines,c2=Ml.figures,ly=class extends o2{constructor(t={}){super(t),this.transform=cy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=uy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Dl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
7
+ `)}});var TC=I((kX,$C)=>{"use strict";$C.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var At=I((OX,RC)=>{"use strict";RC.exports={action:dC(),clear:bC(),style:_C(),strip:Ol(),figures:oy(),lines:xC(),wrap:IC(),entriesToDisplay:TC()}});var ar=I((DX,NC)=>{"use strict";var CC=Qa("readline"),e2=At(),t2=e2.action,r2=Qa("events"),PC=ae(),n2=PC.beep,i2=PC.cursor,o2=oe(),sy=class extends r2{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=CC.createInterface({input:this.in,escapeCodeTimeout:50});CC.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=t2(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(i2.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(n2)}render(){this.onRender(o2),this.firstRender&&(this.firstRender=!1)}};NC.exports=sy});var MC=I((MX,DC)=>{"use strict";function wC(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function kC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){wC(o,i,r,a,c,"next",u)}function c(u){wC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dl=oe(),a2=ar(),OC=ae(),s2=OC.erase,Za=OC.cursor,Ml=At(),cy=Ml.style,uy=Ml.clear,c2=Ml.lines,u2=Ml.figures,ly=class extends a2{constructor(t={}){super(t),this.transform=cy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=uy("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Dl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
8
8
  `),this.close()}validate(){var t=this;return kC(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return kC(function*(){if(t.value=t.value||t.initial,t.cursorOffset=0,t.cursor=t.rendered.length,yield t.validate(),t.error){t.red=!0,t.fire(),t.render();return}t.done=!0,t.aborted=!1,t.fire(),t.render(),t.out.write(`
9
- `),t.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Za.down(s2(this.outputError,this.out.columns)-1)+uy(this.outputError,this.out.columns)),this.out.write(uy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[cy.symbol(this.done,this.aborted),Dl.bold(this.msg),cy.delimiter(this.done),this.red?Dl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
9
+ `),t.close()})()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Za.down(c2(this.outputError,this.out.columns)-1)+uy(this.outputError,this.out.columns)),this.out.write(uy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[cy.symbol(this.done,this.aborted),Dl.bold(this.msg),cy.delimiter(this.done),this.red?Dl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
10
10
  `).reduce((t,n,i)=>t+`
11
- ${i?" ":c2.pointerSmall} ${Dl.red().italic(n)}`,"")),this.out.write(a2.line+Za.to(0)+this.outputText+Za.save+this.outputError+Za.restore+Za.move(this.cursorOffset,0)))}};DC.exports=ly});var UC=I((MX,LC)=>{"use strict";var sr=oe(),u2=ar(),Ga=At(),jC=Ga.style,zC=Ga.clear,jl=Ga.figures,l2=Ga.wrap,d2=Ga.entriesToDisplay,m2=ae(),p2=m2.cursor,dy=class extends u2{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=zC("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
11
+ ${i?" ":u2.pointerSmall} ${Dl.red().italic(n)}`,"")),this.out.write(s2.line+Za.to(0)+this.outputText+Za.save+this.outputError+Za.restore+Za.move(this.cursorOffset,0)))}};DC.exports=ly});var UC=I((jX,LC)=>{"use strict";var sr=oe(),l2=ar(),Ga=At(),jC=Ga.style,zC=Ga.clear,jl=Ga.figures,d2=Ga.wrap,m2=Ga.entriesToDisplay,p2=ae(),f2=p2.cursor,dy=class extends l2{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=zC("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
12
12
  `),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
13
- `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(p2.hide):this.out.write(zC(this.outputText,this.out.columns)),super.render();let t=d2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[jC.symbol(this.done,this.aborted),sr.bold(this.msg),jC.delimiter(!1),this.done?this.selection.title:this.selection.disabled?sr.yellow(this.warn):sr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
13
+ `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(f2.hide):this.out.write(zC(this.outputText,this.out.columns)),super.render();let t=m2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[jC.symbol(this.done,this.aborted),sr.bold(this.msg),jC.delimiter(!1),this.done?this.selection.title:this.selection.disabled?sr.yellow(this.warn):sr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
14
14
  `;for(let r=n;r<i;r++){let o,a,c="",u=this.choices[r];r===n&&n>0?a=jl.arrowUp:r===i-1&&i<this.choices.length?a=jl.arrowDown:a=" ",u.disabled?(o=this.cursor===r?sr.gray().underline(u.title):sr.strikethrough().gray(u.title),a=(this.cursor===r?sr.bold().gray(jl.pointer)+" ":" ")+a):(o=this.cursor===r?sr.cyan().underline(u.title):u.title,a=(this.cursor===r?sr.cyan(jl.pointer)+" ":" ")+a,u.description&&this.cursor===r&&(c=` - ${u.description}`,(a.length+o.length+c.length>=this.out.columns||u.description.split(/\r?\n/).length>1)&&(c=`
15
- `+l2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${sr.gray(c)}
16
- `}}this.out.write(this.outputText)}};LC.exports=dy});var WC=I((jX,GC)=>{"use strict";var zl=oe(),f2=ar(),VC=At(),FC=VC.style,g2=VC.clear,ZC=ae(),BC=ZC.cursor,h2=ZC.erase,my=class extends f2{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
15
+ `+d2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${sr.gray(c)}
16
+ `}}this.out.write(this.outputText)}};LC.exports=dy});var WC=I((zX,GC)=>{"use strict";var zl=oe(),g2=ar(),VC=At(),FC=VC.style,h2=VC.clear,ZC=ae(),BC=ZC.cursor,v2=ZC.erase,my=class extends g2{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
17
17
  `),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
18
- `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(BC.hide):this.out.write(g2(this.outputText,this.out.columns)),super.render(),this.outputText=[FC.symbol(this.done,this.aborted),zl.bold(this.msg),FC.delimiter(this.done),this.value?this.inactive:zl.cyan().underline(this.inactive),zl.gray("/"),this.value?zl.cyan().underline(this.active):this.active].join(" "),this.out.write(h2.line+BC.to(0)+this.outputText))}};GC.exports=my});var Bt=I((zX,HC)=>{"use strict";var py=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};HC.exports=py});var KC=I((LX,qC)=>{"use strict";var v2=Bt(),fy=class extends v2{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};qC.exports=fy});var XC=I((UX,YC)=>{"use strict";var b2=Bt(),y2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),gy=class extends b2{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+y2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};YC.exports=gy});var QC=I((FX,JC)=>{"use strict";var S2=Bt(),hy=class extends S2{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};JC.exports=hy});var tP=I((BX,eP)=>{"use strict";var _2=Bt(),vy=class extends _2{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};eP.exports=vy});var nP=I((VX,rP)=>{"use strict";var E2=Bt(),by=class extends E2{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};rP.exports=by});var oP=I((ZX,iP)=>{"use strict";var x2=Bt(),yy=class extends x2{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};iP.exports=yy});var sP=I((GX,aP)=>{"use strict";var A2=Bt(),Sy=class extends A2{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};aP.exports=Sy});var uP=I((WX,cP)=>{"use strict";var I2=Bt(),_y=class extends I2{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};cP.exports=_y});var dP=I((HX,lP)=>{"use strict";lP.exports={DatePart:Bt(),Meridiem:KC(),Day:XC(),Hours:QC(),Milliseconds:tP(),Minutes:nP(),Month:oP(),Seconds:sP(),Year:uP()}});var _P=I((qX,SP)=>{"use strict";function mP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function pP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){mP(o,i,r,a,c,"next",u)}function c(u){mP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ey=oe(),$2=ar(),Ay=At(),fP=Ay.style,gP=Ay.clear,T2=Ay.figures,yP=ae(),R2=yP.erase,hP=yP.cursor,cr=dP(),vP=cr.DatePart,C2=cr.Meridiem,P2=cr.Day,N2=cr.Hours,w2=cr.Milliseconds,k2=cr.Minutes,O2=cr.Month,D2=cr.Seconds,M2=cr.Year,j2=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,bP={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new P2(e),3:e=>new O2(e),4:e=>new M2(e),5:e=>new C2(e),6:e=>new N2(e),7:e=>new k2(e),8:e=>new D2(e),9:e=>new w2(e)},z2={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},xy=class extends $2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(z2,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=gP("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=j2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in bP?bP[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof vP)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
18
+ `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(BC.hide):this.out.write(h2(this.outputText,this.out.columns)),super.render(),this.outputText=[FC.symbol(this.done,this.aborted),zl.bold(this.msg),FC.delimiter(this.done),this.value?this.inactive:zl.cyan().underline(this.inactive),zl.gray("/"),this.value?zl.cyan().underline(this.active):this.active].join(" "),this.out.write(v2.line+BC.to(0)+this.outputText))}};GC.exports=my});var Bt=I((LX,HC)=>{"use strict";var py=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};HC.exports=py});var KC=I((UX,qC)=>{"use strict";var b2=Bt(),fy=class extends b2{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};qC.exports=fy});var XC=I((FX,YC)=>{"use strict";var y2=Bt(),S2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),gy=class extends y2{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+S2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};YC.exports=gy});var QC=I((BX,JC)=>{"use strict";var _2=Bt(),hy=class extends _2{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};JC.exports=hy});var tP=I((VX,eP)=>{"use strict";var E2=Bt(),vy=class extends E2{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};eP.exports=vy});var nP=I((ZX,rP)=>{"use strict";var x2=Bt(),by=class extends x2{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};rP.exports=by});var oP=I((GX,iP)=>{"use strict";var A2=Bt(),yy=class extends A2{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};iP.exports=yy});var sP=I((WX,aP)=>{"use strict";var I2=Bt(),Sy=class extends I2{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};aP.exports=Sy});var uP=I((HX,cP)=>{"use strict";var $2=Bt(),_y=class extends $2{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};cP.exports=_y});var dP=I((qX,lP)=>{"use strict";lP.exports={DatePart:Bt(),Meridiem:KC(),Day:XC(),Hours:QC(),Milliseconds:tP(),Minutes:nP(),Month:oP(),Seconds:sP(),Year:uP()}});var _P=I((KX,SP)=>{"use strict";function mP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function pP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){mP(o,i,r,a,c,"next",u)}function c(u){mP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ey=oe(),T2=ar(),Ay=At(),fP=Ay.style,gP=Ay.clear,R2=Ay.figures,yP=ae(),C2=yP.erase,hP=yP.cursor,cr=dP(),vP=cr.DatePart,P2=cr.Meridiem,N2=cr.Day,w2=cr.Hours,k2=cr.Milliseconds,O2=cr.Minutes,D2=cr.Month,M2=cr.Seconds,j2=cr.Year,z2=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,bP={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new N2(e),3:e=>new D2(e),4:e=>new j2(e),5:e=>new P2(e),6:e=>new w2(e),7:e=>new O2(e),8:e=>new M2(e),9:e=>new k2(e)},L2={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},xy=class extends T2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(L2,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=gP("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=z2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in bP?bP[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof vP)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
19
19
  `),this.close()}validate(){var t=this;return pP(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return pP(function*(){if(yield t.validate(),t.error){t.color="red",t.fire(),t.render();return}t.done=!0,t.aborted=!1,t.fire(),t.render(),t.out.write(`
20
20
  `),t.close()})()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex(n=>n instanceof vP)),this.render()}_(t){/\d/.test(t)&&(this.typed+=t,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(hP.hide):this.out.write(gP(this.outputText,this.out.columns)),super.render(),this.outputText=[fP.symbol(this.done,this.aborted),Ey.bold(this.msg),fP.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?Ey.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
21
21
  `).reduce((t,n,i)=>t+`
22
- ${i?" ":T2.pointerSmall} ${Ey.red().italic(n)}`,"")),this.out.write(R2.line+hP.to(0)+this.outputText))}};SP.exports=xy});var RP=I((KX,TP)=>{"use strict";function EP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function xP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){EP(o,i,r,a,c,"next",u)}function c(u){EP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ll=oe(),L2=ar(),$P=ae(),Ul=$P.cursor,U2=$P.erase,Fl=At(),Iy=Fl.style,F2=Fl.figures,AP=Fl.clear,B2=Fl.lines,V2=/[0-9]/,$y=e=>e!==void 0,IP=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},Ty=class extends L2{constructor(t={}){super(t),this.transform=Iy.render(t.style),this.msg=t.message,this.initial=$y(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=$y(t.min)?t.min:-1/0,this.max=$y(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Ll.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${IP(t,this.round)}`),this._value=IP(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||V2.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
22
+ ${i?" ":R2.pointerSmall} ${Ey.red().italic(n)}`,"")),this.out.write(C2.line+hP.to(0)+this.outputText))}};SP.exports=xy});var RP=I((YX,TP)=>{"use strict";function EP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function xP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){EP(o,i,r,a,c,"next",u)}function c(u){EP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ll=oe(),U2=ar(),$P=ae(),Ul=$P.cursor,F2=$P.erase,Fl=At(),Iy=Fl.style,B2=Fl.figures,AP=Fl.clear,V2=Fl.lines,Z2=/[0-9]/,$y=e=>e!==void 0,IP=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},Ty=class extends U2{constructor(t={}){super(t),this.transform=Iy.render(t.style),this.msg=t.message,this.initial=$y(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=$y(t.min)?t.min:-1/0,this.max=$y(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Ll.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${IP(t,this.round)}`),this._value=IP(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||Z2.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
23
23
  `),this.close()}validate(){var t=this;return xP(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return xP(function*(){if(yield t.validate(),t.error){t.color="red",t.fire(),t.render();return}let n=t.value;t.value=n!==""?n:t.initial,t.done=!0,t.aborted=!1,t.error=!1,t.fire(),t.render(),t.out.write(`
24
- `),t.close()})()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Ul.down(B2(this.outputError,this.out.columns)-1)+AP(this.outputError,this.out.columns)),this.out.write(AP(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Iy.symbol(this.done,this.aborted),Ll.bold(this.msg),Iy.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Ll[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
24
+ `),t.close()})()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Ul.down(V2(this.outputError,this.out.columns)-1)+AP(this.outputError,this.out.columns)),this.out.write(AP(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Iy.symbol(this.done,this.aborted),Ll.bold(this.msg),Iy.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Ll[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
25
25
  `).reduce((t,n,i)=>t+`
26
- ${i?" ":F2.pointerSmall} ${Ll.red().italic(n)}`,"")),this.out.write(U2.line+Ul.to(0)+this.outputText+Ul.save+this.outputError+Ul.restore))}};TP.exports=Ty});var Cy=I((YX,NP)=>{"use strict";var Vt=oe(),Z2=ae(),G2=Z2.cursor,W2=ar(),Wa=At(),CP=Wa.clear,jr=Wa.figures,PP=Wa.style,H2=Wa.wrap,q2=Wa.entriesToDisplay,Ry=class extends W2{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=CP("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
26
+ ${i?" ":B2.pointerSmall} ${Ll.red().italic(n)}`,"")),this.out.write(F2.line+Ul.to(0)+this.outputText+Ul.save+this.outputError+Ul.restore))}};TP.exports=Ty});var Cy=I((XX,NP)=>{"use strict";var Vt=oe(),G2=ae(),W2=G2.cursor,H2=ar(),Wa=At(),CP=Wa.clear,jr=Wa.figures,PP=Wa.style,q2=Wa.wrap,K2=Wa.entriesToDisplay,Ry=class extends H2{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=CP("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
27
27
  `),this.close()}submit(){let t=this.value.filter(n=>n.selected);this.minSelected&&t.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
28
28
  `),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let t=this.value[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let t=!this.value[this.cursor].selected;this.value.filter(n=>!n.disabled).forEach(n=>n.selected=t),this.render()}_(t,n){if(t===" ")this.handleSpaceToggle();else if(t==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
29
29
  Instructions:
@@ -31,15 +31,15 @@ Instructions:
31
31
  ${jr.arrowLeft}/${jr.arrowRight}/[space]: Toggle selection
32
32
  `+(this.maxChoices===void 0?` a: Toggle all
33
33
  `:"")+" enter/return: Complete answer":""}renderOption(t,n,i,r){let o=(n.selected?Vt.green(jr.radioOn):jr.radioOff)+" "+r+" ",a,c;return n.disabled?a=t===i?Vt.gray().underline(n.title):Vt.strikethrough().gray(n.title):(a=t===i?Vt.cyan().underline(n.title):n.title,t===i&&n.description&&(c=` - ${n.description}`,(o.length+a.length+c.length>=this.out.columns||n.description.split(/\r?\n/).length>1)&&(c=`
34
- `+H2(n.description,{margin:o.length,width:this.out.columns})))),o+a+Vt.gray(c||"")}paginateOptions(t){if(t.length===0)return Vt.red("No matches for this query.");let n=q2(this.cursor,t.length,this.optionsPerPage),i=n.startIndex,r=n.endIndex,o,a=[];for(let c=i;c<r;c++)c===i&&i>0?o=jr.arrowUp:c===r-1&&r<t.length?o=jr.arrowDown:o=" ",a.push(this.renderOption(this.cursor,t[c],c,o));return`
34
+ `+q2(n.description,{margin:o.length,width:this.out.columns})))),o+a+Vt.gray(c||"")}paginateOptions(t){if(t.length===0)return Vt.red("No matches for this query.");let n=K2(this.cursor,t.length,this.optionsPerPage),i=n.startIndex,r=n.endIndex,o,a=[];for(let c=i;c<r;c++)c===i&&i>0?o=jr.arrowUp:c===r-1&&r<t.length?o=jr.arrowDown:o=" ",a.push(this.renderOption(this.cursor,t[c],c,o));return`
35
35
  `+a.join(`
36
- `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Vt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Vt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(G2.hide),super.render();let t=[PP.symbol(this.done,this.aborted),Vt.bold(this.msg),PP.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Vt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=CP(t,this.out.columns)}};NP.exports=Ry});var zP=I((XX,jP)=>{"use strict";function wP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function K2(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){wP(o,i,r,a,c,"next",u)}function c(u){wP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ha=oe(),Y2=ar(),MP=ae(),X2=MP.erase,kP=MP.cursor,qa=At(),Py=qa.style,OP=qa.clear,Ny=qa.figures,J2=qa.wrap,Q2=qa.entriesToDisplay,DP=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),e6=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),t6=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},wy=class extends Y2{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:t6(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=Py.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=OP("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=DP(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return K2(function*(){let i=n.completing=n.suggest(n.input,n.choices),r=yield i;if(n.completing!==i)return;n.suggestions=r.map((a,c,u)=>({title:e6(u,c),value:DP(u,c),description:a.description})),n.completing=!1;let o=Math.max(r.length-1,0);n.moveSelect(Math.min(o,n.select)),t&&t()})()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
36
+ `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Vt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Vt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(W2.hide),super.render();let t=[PP.symbol(this.done,this.aborted),Vt.bold(this.msg),PP.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Vt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=CP(t,this.out.columns)}};NP.exports=Ry});var zP=I((JX,jP)=>{"use strict";function wP(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function Y2(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){wP(o,i,r,a,c,"next",u)}function c(u){wP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ha=oe(),X2=ar(),MP=ae(),J2=MP.erase,kP=MP.cursor,qa=At(),Py=qa.style,OP=qa.clear,Ny=qa.figures,Q2=qa.wrap,e6=qa.entriesToDisplay,DP=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),t6=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),r6=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},wy=class extends X2{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:r6(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=Py.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=OP("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=DP(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return Y2(function*(){let i=n.completing=n.suggest(n.input,n.choices),r=yield i;if(n.completing!==i)return;n.suggestions=r.map((a,c,u)=>({title:t6(u,c),value:DP(u,c),description:a.description})),n.completing=!1;let o=Math.max(r.length-1,0);n.moveSelect(Math.min(o,n.select)),t&&t()})()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
37
37
  `),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
38
38
  `),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
39
39
  `),this.close()}_(t,n){let i=this.input.slice(0,this.cursor),r=this.input.slice(this.cursor);this.input=`${i}${t}${r}`,this.cursor=i.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1),n=this.input.slice(this.cursor);this.input=`${t}${n}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor),n=this.input.slice(this.cursor+1);this.input=`${t}${n}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(t,n,i,r){let o,a=i?Ny.arrowUp:r?Ny.arrowDown:" ",c=n?Ha.cyan().underline(t.title):t.title;return a=(n?Ha.cyan(Ny.pointer)+" ":" ")+a,t.description&&(o=` - ${t.description}`,(a.length+c.length+o.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(o=`
40
- `+J2(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ha.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(kP.hide):this.out.write(OP(this.outputText,this.out.columns)),super.render();let t=Q2(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[Py.symbol(this.done,this.aborted,this.exited),Ha.bold(this.msg),Py.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let r=this.suggestions.slice(n,i).map((o,a)=>this.renderOption(o,this.select===a+n,a===0&&n>0,a+n===i-1&&i<this.choices.length)).join(`
40
+ `+Q2(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ha.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(kP.hide):this.out.write(OP(this.outputText,this.out.columns)),super.render();let t=e6(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[Py.symbol(this.done,this.aborted,this.exited),Ha.bold(this.msg),Py.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let r=this.suggestions.slice(n,i).map((o,a)=>this.renderOption(o,this.select===a+n,a===0&&n>0,a+n===i-1&&i<this.choices.length)).join(`
41
41
  `);this.outputText+=`
42
- `+(r||Ha.gray(this.fallback.title))}this.out.write(X2.line+kP.to(0)+this.outputText)}};jP.exports=wy});var BP=I((JX,FP)=>{"use strict";var ur=oe(),r6=ae(),n6=r6.cursor,i6=Cy(),Oy=At(),LP=Oy.clear,UP=Oy.style,Ki=Oy.figures,ky=class extends i6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=LP("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
42
+ `+(r||Ha.gray(this.fallback.title))}this.out.write(J2.line+kP.to(0)+this.outputText)}};jP.exports=wy});var BP=I((QX,FP)=>{"use strict";var ur=oe(),n6=ae(),i6=n6.cursor,o6=Cy(),Oy=At(),LP=Oy.clear,UP=Oy.style,Ki=Oy.figures,ky=class extends o6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=LP("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
43
43
  Instructions:
44
44
  ${Ki.arrowUp}/${Ki.arrowDown}: Highlight option
45
45
  ${Ki.arrowLeft}/${Ki.arrowRight}/[space]: Toggle selection
@@ -47,31 +47,31 @@ Instructions:
47
47
  enter/return: Complete answer
48
48
  `:""}renderCurrentInput(){return`
49
49
  Filtered results for: ${this.inputValue?this.inputValue:ur.gray("Enter something to filter")}
50
- `}renderOption(t,n,i){let r;return n.disabled?r=t===i?ur.gray().underline(n.title):ur.strikethrough().gray(n.title):r=t===i?ur.cyan().underline(n.title):n.title,(n.selected?ur.green(Ki.radioOn):Ki.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[ur.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(ur.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(n6.hide),super.render();let t=[UP.symbol(this.done,this.aborted),ur.bold(this.msg),UP.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=ur.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=LP(t,this.out.columns)}};FP.exports=ky});var KP=I((QX,qP)=>{"use strict";var VP=oe(),o6=ar(),WP=At(),ZP=WP.style,a6=WP.clear,HP=ae(),s6=HP.erase,GP=HP.cursor,Dy=class extends o6{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
50
+ `}renderOption(t,n,i){let r;return n.disabled?r=t===i?ur.gray().underline(n.title):ur.strikethrough().gray(n.title):r=t===i?ur.cyan().underline(n.title):n.title,(n.selected?ur.green(Ki.radioOn):Ki.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[ur.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(ur.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(i6.hide),super.render();let t=[UP.symbol(this.done,this.aborted),ur.bold(this.msg),UP.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=ur.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=LP(t,this.out.columns)}};FP.exports=ky});var KP=I((eJ,qP)=>{"use strict";var VP=oe(),a6=ar(),WP=At(),ZP=WP.style,s6=WP.clear,HP=ae(),c6=HP.erase,GP=HP.cursor,Dy=class extends a6{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
51
51
  `),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
52
- `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(GP.hide):this.out.write(a6(this.outputText,this.out.columns)),super.render(),this.outputText=[ZP.symbol(this.done,this.aborted),VP.bold(this.msg),ZP.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:VP.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(s6.line+GP.to(0)+this.outputText))}};qP.exports=Dy});var XP=I((eJ,YP)=>{"use strict";YP.exports={TextPrompt:MC(),SelectPrompt:UC(),TogglePrompt:WC(),DatePrompt:_P(),NumberPrompt:RP(),MultiselectPrompt:Cy(),AutocompletePrompt:zP(),AutocompleteMultiselectPrompt:BP(),ConfirmPrompt:KP()}});var QP=I(JP=>{"use strict";var Ye=JP,c6=XP(),Bl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new c6[e](t),a=n.onAbort||Bl,c=n.onSubmit||Bl,u=n.onExit||Bl;o.on("state",t.onState||Bl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Ye.text=e=>Zt("TextPrompt",e);Ye.password=e=>(e.style="password",Ye.text(e));Ye.invisible=e=>(e.style="invisible",Ye.text(e));Ye.number=e=>Zt("NumberPrompt",e);Ye.date=e=>Zt("DatePrompt",e);Ye.confirm=e=>Zt("ConfirmPrompt",e);Ye.list=e=>{let t=e.separator||",";return Zt("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Ye.toggle=e=>Zt("TogglePrompt",e);Ye.select=e=>Zt("SelectPrompt",e);Ye.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Ye.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var u6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||u6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var sN=I((rJ,aN)=>{"use strict";function eN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,i)}return n}function tN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?eN(Object(n),!0).forEach(function(i){l6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eN(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function l6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=m6(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
53
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function m6(e,t){if(e){if(typeof e=="string")return rN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rN(e,t)}}function rN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function nN(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function iN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){nN(o,i,r,a,c,"next",u)}function c(u){nN(o,i,r,a,c,"throw",u)}a(void 0)})}}var My=QP(),p6=["suggest","format","onState","validate","onRender","type"],oN=()=>{};function zr(){return jy.apply(this,arguments)}function jy(){return jy=iN(function*(e=[],{onSubmit:t=oN,onCancel:n=oN}={}){let i={},r=zr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=iN(function*(Se,pr,we=!1){if(!(!we&&Se.validate&&Se.validate(pr)!==!0))return Se.format?yield Se.format(pr,i):pr});return function(pr,we){return z.apply(this,arguments)}})();var g=d6(e),v;try{for(g.s();!(v=g.n()).done;){a=v.value;var A=a;if(u=A.name,l=A.type,typeof l=="function"&&(l=yield l(o,tN({},i),a),a.type=l),!!l){for(let z in a){if(p6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,tN({},i),m):Se}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");var Y=a;if(u=Y.name,l=Y.type,My[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=yield p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=zr._injected?f6(zr._injected,a.initial):yield My[l](a),i[u]=o=yield p(a,o,!0),c=yield t(a,o,i)}catch{c=!(yield n(a,i))}if(c)return i}}}catch(z){g.e(z)}finally{g.f()}return i}),jy.apply(this,arguments)}function f6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function g6(e){zr._injected=(zr._injected||[]).concat(e)}function h6(e){zr._override=Object.assign({},e)}aN.exports=Object.assign(zr,{prompt:zr,prompts:My,inject:g6,override:h6})});var uN=I((nJ,cN)=>{"use strict";cN.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Vl=I((iJ,lN)=>{"use strict";lN.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var pN=I((oJ,mN)=>{"use strict";var v6=Vl(),{erase:dN,cursor:b6}=ae(),y6=e=>[...v6(e)].length;mN.exports=function(e,t){if(!t)return dN.line+b6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(y6(r)-1,0)/t);return dN.lines(n)}});var zy=I((aJ,fN)=>{"use strict";var Ka={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},S6={arrowUp:Ka.arrowUp,arrowDown:Ka.arrowDown,arrowLeft:Ka.arrowLeft,arrowRight:Ka.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},_6=process.platform==="win32"?S6:Ka;fN.exports=_6});var hN=I((sJ,gN)=>{"use strict";var Yi=oe(),In=zy(),Ly=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),E6=e=>Ly[e]||Ly.default,Ya=Object.freeze({aborted:Yi.red(In.cross),done:Yi.green(In.tick),exited:Yi.yellow(In.cross),default:Yi.cyan("?")}),x6=(e,t,n)=>t?Ya.aborted:n?Ya.exited:e?Ya.done:Ya.default,A6=e=>Yi.gray(e?In.ellipsis:In.pointerSmall),I6=(e,t)=>Yi.gray(e?t?In.pointerSmall:"+":In.line);gN.exports={styles:Ly,render:E6,symbols:Ya,symbol:x6,delimiter:A6,item:I6}});var bN=I((cJ,vN)=>{"use strict";var $6=Vl();vN.exports=function(e,t){let n=String($6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var SN=I((uJ,yN)=>{"use strict";yN.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
52
+ `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(GP.hide):this.out.write(s6(this.outputText,this.out.columns)),super.render(),this.outputText=[ZP.symbol(this.done,this.aborted),VP.bold(this.msg),ZP.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:VP.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(c6.line+GP.to(0)+this.outputText))}};qP.exports=Dy});var XP=I((tJ,YP)=>{"use strict";YP.exports={TextPrompt:MC(),SelectPrompt:UC(),TogglePrompt:WC(),DatePrompt:_P(),NumberPrompt:RP(),MultiselectPrompt:Cy(),AutocompletePrompt:zP(),AutocompleteMultiselectPrompt:BP(),ConfirmPrompt:KP()}});var QP=I(JP=>{"use strict";var Ye=JP,u6=XP(),Bl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new u6[e](t),a=n.onAbort||Bl,c=n.onSubmit||Bl,u=n.onExit||Bl;o.on("state",t.onState||Bl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Ye.text=e=>Zt("TextPrompt",e);Ye.password=e=>(e.style="password",Ye.text(e));Ye.invisible=e=>(e.style="invisible",Ye.text(e));Ye.number=e=>Zt("NumberPrompt",e);Ye.date=e=>Zt("DatePrompt",e);Ye.confirm=e=>Zt("ConfirmPrompt",e);Ye.list=e=>{let t=e.separator||",";return Zt("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Ye.toggle=e=>Zt("TogglePrompt",e);Ye.select=e=>Zt("SelectPrompt",e);Ye.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Ye.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Zt("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var l6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||l6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var sN=I((nJ,aN)=>{"use strict";function eN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,i)}return n}function tN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?eN(Object(n),!0).forEach(function(i){d6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):eN(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function d6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=p6(e))||t&&e&&typeof e.length=="number"){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
53
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,c;return{s:function(){n=n.call(e)},n:function(){var l=n.next();return o=l.done,l},e:function(l){a=!0,c=l},f:function(){try{!o&&n.return!=null&&n.return()}finally{if(a)throw c}}}}function p6(e,t){if(e){if(typeof e=="string")return rN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return rN(e,t)}}function rN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n<t;n++)i[n]=e[n];return i}function nN(e,t,n,i,r,o,a){try{var c=e[o](a),u=c.value}catch(l){n(l);return}c.done?t(u):Promise.resolve(u).then(i,r)}function iN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){nN(o,i,r,a,c,"next",u)}function c(u){nN(o,i,r,a,c,"throw",u)}a(void 0)})}}var My=QP(),f6=["suggest","format","onState","validate","onRender","type"],oN=()=>{};function zr(){return jy.apply(this,arguments)}function jy(){return jy=iN(function*(e=[],{onSubmit:t=oN,onCancel:n=oN}={}){let i={},r=zr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=iN(function*(Se,pr,we=!1){if(!(!we&&Se.validate&&Se.validate(pr)!==!0))return Se.format?yield Se.format(pr,i):pr});return function(pr,we){return z.apply(this,arguments)}})();var g=m6(e),v;try{for(g.s();!(v=g.n()).done;){a=v.value;var A=a;if(u=A.name,l=A.type,typeof l=="function"&&(l=yield l(o,tN({},i),a),a.type=l),!!l){for(let z in a){if(f6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,tN({},i),m):Se}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");var Y=a;if(u=Y.name,l=Y.type,My[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=yield p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=zr._injected?g6(zr._injected,a.initial):yield My[l](a),i[u]=o=yield p(a,o,!0),c=yield t(a,o,i)}catch{c=!(yield n(a,i))}if(c)return i}}}catch(z){g.e(z)}finally{g.f()}return i}),jy.apply(this,arguments)}function g6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function h6(e){zr._injected=(zr._injected||[]).concat(e)}function v6(e){zr._override=Object.assign({},e)}aN.exports=Object.assign(zr,{prompt:zr,prompts:My,inject:h6,override:v6})});var uN=I((iJ,cN)=>{"use strict";cN.exports=(e,t)=>{if(!(e.meta&&e.name!=="escape")){if(e.ctrl){if(e.name==="a")return"first";if(e.name==="c"||e.name==="d")return"abort";if(e.name==="e")return"last";if(e.name==="g")return"reset"}if(t){if(e.name==="j")return"down";if(e.name==="k")return"up"}return e.name==="return"||e.name==="enter"?"submit":e.name==="backspace"?"delete":e.name==="delete"?"deleteForward":e.name==="abort"?"abort":e.name==="escape"?"exit":e.name==="tab"?"next":e.name==="pagedown"?"nextPage":e.name==="pageup"?"prevPage":e.name==="home"?"home":e.name==="end"?"end":e.name==="up"?"up":e.name==="down"?"down":e.name==="right"?"right":e.name==="left"?"left":!1}}});var Vl=I((oJ,lN)=>{"use strict";lN.exports=e=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|"),n=new RegExp(t,"g");return typeof e=="string"?e.replace(n,""):e}});var pN=I((aJ,mN)=>{"use strict";var b6=Vl(),{erase:dN,cursor:y6}=ae(),S6=e=>[...b6(e)].length;mN.exports=function(e,t){if(!t)return dN.line+y6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(S6(r)-1,0)/t);return dN.lines(n)}});var zy=I((sJ,fN)=>{"use strict";var Ka={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},_6={arrowUp:Ka.arrowUp,arrowDown:Ka.arrowDown,arrowLeft:Ka.arrowLeft,arrowRight:Ka.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},E6=process.platform==="win32"?_6:Ka;fN.exports=E6});var hN=I((cJ,gN)=>{"use strict";var Yi=oe(),In=zy(),Ly=Object.freeze({password:{scale:1,render:e=>"*".repeat(e.length)},emoji:{scale:2,render:e=>"\u{1F603}".repeat(e.length)},invisible:{scale:0,render:e=>""},default:{scale:1,render:e=>`${e}`}}),x6=e=>Ly[e]||Ly.default,Ya=Object.freeze({aborted:Yi.red(In.cross),done:Yi.green(In.tick),exited:Yi.yellow(In.cross),default:Yi.cyan("?")}),A6=(e,t,n)=>t?Ya.aborted:n?Ya.exited:e?Ya.done:Ya.default,I6=e=>Yi.gray(e?In.ellipsis:In.pointerSmall),$6=(e,t)=>Yi.gray(e?t?In.pointerSmall:"+":In.line);gN.exports={styles:Ly,render:x6,symbols:Ya,symbol:A6,delimiter:I6,item:$6}});var bN=I((uJ,vN)=>{"use strict";var T6=Vl();vN.exports=function(e,t){let n=String(T6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var SN=I((lJ,yN)=>{"use strict";yN.exports=(e,t={})=>{let n=Number.isSafeInteger(parseInt(t.margin))?new Array(parseInt(t.margin)).fill(" ").join(""):t.margin||"",i=t.width;return(e||"").split(/\r?\n/g).map(r=>r.split(/\s+/g).reduce((o,a)=>(a.length+n.length>=i||o[o.length-1].length+a.length+1<i?o[o.length-1]+=` ${a}`:o.push(`${n}${a}`),o),[n]).join(`
54
54
  `)).join(`
55
- `)}});var EN=I((lJ,_N)=>{"use strict";_N.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var It=I((dJ,xN)=>{"use strict";xN.exports={action:uN(),clear:pN(),style:hN(),strip:Vl(),figures:zy(),lines:bN(),wrap:SN(),entriesToDisplay:EN()}});var lr=I((mJ,IN)=>{"use strict";var AN=Qa("readline"),{action:T6}=It(),R6=Qa("events"),{beep:C6,cursor:P6}=ae(),N6=oe(),Uy=class extends R6{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=AN.createInterface({input:this.in,escapeCodeTimeout:50});AN.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=T6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(P6.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(C6)}render(){this.onRender(N6),this.firstRender&&(this.firstRender=!1)}};IN.exports=Uy});var TN=I((pJ,$N)=>{var Zl=oe(),w6=lr(),{erase:k6,cursor:Xa}=ae(),{style:Fy,clear:By,lines:O6,figures:D6}=It(),Vy=class extends w6{constructor(t={}){super(t),this.transform=Fy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=By("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Zl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
55
+ `)}});var EN=I((dJ,_N)=>{"use strict";_N.exports=(e,t,n)=>{n=n||t;let i=Math.min(t-n,e-Math.floor(n/2));i<0&&(i=0);let r=Math.min(i+n,t);return{startIndex:i,endIndex:r}}});var It=I((mJ,xN)=>{"use strict";xN.exports={action:uN(),clear:pN(),style:hN(),strip:Vl(),figures:zy(),lines:bN(),wrap:SN(),entriesToDisplay:EN()}});var lr=I((pJ,IN)=>{"use strict";var AN=Qa("readline"),{action:R6}=It(),C6=Qa("events"),{beep:P6,cursor:N6}=ae(),w6=oe(),Uy=class extends C6{constructor(t={}){super(),this.firstRender=!0,this.in=t.stdin||process.stdin,this.out=t.stdout||process.stdout,this.onRender=(t.onRender||(()=>{})).bind(this);let n=AN.createInterface({input:this.in,escapeCodeTimeout:50});AN.emitKeypressEvents(this.in,n),this.in.isTTY&&this.in.setRawMode(!0);let i=["SelectPrompt","MultiselectPrompt"].indexOf(this.constructor.name)>-1,r=(o,a)=>{let c=R6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(N6.show),this.in.removeListener("keypress",r),this.in.isTTY&&this.in.setRawMode(!1),n.close(),this.emit(this.aborted?"abort":this.exited?"exit":"submit",this.value),this.closed=!0},this.in.on("keypress",r)}fire(){this.emit("state",{value:this.value,aborted:!!this.aborted,exited:!!this.exited})}bell(){this.out.write(P6)}render(){this.onRender(w6),this.firstRender&&(this.firstRender=!1)}};IN.exports=Uy});var TN=I((fJ,$N)=>{var Zl=oe(),k6=lr(),{erase:O6,cursor:Xa}=ae(),{style:Fy,clear:By,lines:D6,figures:M6}=It(),Vy=class extends k6{constructor(t={}){super(t),this.transform=Fy.render(t.style),this.scale=this.transform.scale,this.msg=t.message,this.initial=t.initial||"",this.validator=t.validate||(()=>!0),this.value="",this.errorMsg=t.error||"Please Enter A Valid Value",this.cursor=+!!this.initial,this.cursorOffset=0,this.clear=By("",this.out.columns),this.render()}set value(t){!t&&this.initial?(this.placeholder=!0,this.rendered=Zl.gray(this.transform.render(this.initial))):(this.placeholder=!1,this.rendered=this.transform.render(t)),this._value=t,this.fire()}get value(){return this._value}reset(){this.value="",this.cursor=+!!this.initial,this.cursorOffset=0,this.fire(),this.render()}exit(){this.abort()}abort(){this.value=this.value||this.initial,this.done=this.aborted=!0,this.error=!1,this.red=!1,this.fire(),this.render(),this.out.write(`
56
56
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(this.value=this.value||this.initial,this.cursorOffset=0,this.cursor=this.rendered.length,await this.validate(),this.error){this.red=!0,this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
57
- `),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Xa.down(O6(this.outputError,this.out.columns)-1)+By(this.outputError,this.out.columns)),this.out.write(By(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Fy.symbol(this.done,this.aborted),Zl.bold(this.msg),Fy.delimiter(this.done),this.red?Zl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
57
+ `),this.close()}next(){if(!this.placeholder)return this.bell();this.value=this.initial,this.cursor=this.rendered.length,this.fire(),this.render()}moveCursor(t){this.placeholder||(this.cursor=this.cursor+t,this.cursorOffset+=t)}_(t,n){let i=this.value.slice(0,this.cursor),r=this.value.slice(this.cursor);this.value=`${i}${t}${r}`,this.red=!1,this.cursor=this.placeholder?0:i.length+1,this.render()}delete(){if(this.isCursorAtStart())return this.bell();let t=this.value.slice(0,this.cursor-1),n=this.value.slice(this.cursor);this.value=`${t}${n}`,this.red=!1,this.isCursorAtStart()?this.cursorOffset=0:(this.cursorOffset++,this.moveCursor(-1)),this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();let t=this.value.slice(0,this.cursor),n=this.value.slice(this.cursor+1);this.value=`${t}${n}`,this.red=!1,this.isCursorAtEnd()?this.cursorOffset=0:this.cursorOffset++,this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length,this.render()}left(){if(this.cursor<=0||this.placeholder)return this.bell();this.moveCursor(-1),this.render()}right(){if(this.cursor*this.scale>=this.rendered.length||this.placeholder)return this.bell();this.moveCursor(1),this.render()}isCursorAtStart(){return this.cursor===0||this.placeholder&&this.cursor===1}isCursorAtEnd(){return this.cursor===this.rendered.length||this.placeholder&&this.cursor===this.rendered.length+1}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(Xa.down(D6(this.outputError,this.out.columns)-1)+By(this.outputError,this.out.columns)),this.out.write(By(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Fy.symbol(this.done,this.aborted),Zl.bold(this.msg),Fy.delimiter(this.done),this.red?Zl.red(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
58
58
  `).reduce((t,n,i)=>t+`
59
- ${i?" ":D6.pointerSmall} ${Zl.red().italic(n)}`,"")),this.out.write(k6.line+Xa.to(0)+this.outputText+Xa.save+this.outputError+Xa.restore+Xa.move(this.cursorOffset,0)))}};$N.exports=Vy});var NN=I((fJ,PN)=>{"use strict";var dr=oe(),M6=lr(),{style:RN,clear:CN,figures:Gl,wrap:j6,entriesToDisplay:z6}=It(),{cursor:L6}=ae(),Zy=class extends M6{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=CN("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
59
+ ${i?" ":M6.pointerSmall} ${Zl.red().italic(n)}`,"")),this.out.write(O6.line+Xa.to(0)+this.outputText+Xa.save+this.outputError+Xa.restore+Xa.move(this.cursorOffset,0)))}};$N.exports=Vy});var NN=I((gJ,PN)=>{"use strict";var dr=oe(),j6=lr(),{style:RN,clear:CN,figures:Gl,wrap:z6,entriesToDisplay:L6}=It(),{cursor:U6}=ae(),Zy=class extends j6{constructor(t={}){super(t),this.msg=t.message,this.hint=t.hint||"- Use arrow-keys. Return to submit.",this.warn=t.warn||"- This option is disabled",this.cursor=t.initial||0,this.choices=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),value:n&&(n.value===void 0?i:n.value),description:n&&n.description,selected:n&&n.selected,disabled:n&&n.disabled})),this.optionsPerPage=t.optionsPerPage||10,this.value=(this.choices[this.cursor]||{}).value,this.clear=CN("",this.out.columns),this.render()}moveCursor(t){this.cursor=t,this.value=this.choices[t].value,this.fire()}reset(){this.moveCursor(0),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
60
60
  `),this.close()}submit(){this.selection.disabled?this.bell():(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
61
- `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(L6.hide):this.out.write(CN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=z6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[RN.symbol(this.done,this.aborted),dr.bold(this.msg),RN.delimiter(!1),this.done?this.selection.title:this.selection.disabled?dr.yellow(this.warn):dr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
61
+ `),this.close())}first(){this.moveCursor(0),this.render()}last(){this.moveCursor(this.choices.length-1),this.render()}up(){this.cursor===0?this.moveCursor(this.choices.length-1):this.moveCursor(this.cursor-1),this.render()}down(){this.cursor===this.choices.length-1?this.moveCursor(0):this.moveCursor(this.cursor+1),this.render()}next(){this.moveCursor((this.cursor+1)%this.choices.length),this.render()}_(t,n){if(t===" ")return this.submit()}get selection(){return this.choices[this.cursor]}render(){if(this.closed)return;this.firstRender?this.out.write(U6.hide):this.out.write(CN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=L6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[RN.symbol(this.done,this.aborted),dr.bold(this.msg),RN.delimiter(!1),this.done?this.selection.title:this.selection.disabled?dr.yellow(this.warn):dr.gray(this.hint)].join(" "),!this.done){this.outputText+=`
62
62
  `;for(let i=t;i<n;i++){let r,o,a="",c=this.choices[i];i===t&&t>0?o=Gl.arrowUp:i===n-1&&n<this.choices.length?o=Gl.arrowDown:o=" ",c.disabled?(r=this.cursor===i?dr.gray().underline(c.title):dr.strikethrough().gray(c.title),o=(this.cursor===i?dr.bold().gray(Gl.pointer)+" ":" ")+o):(r=this.cursor===i?dr.cyan().underline(c.title):c.title,o=(this.cursor===i?dr.cyan(Gl.pointer)+" ":" ")+o,c.description&&this.cursor===i&&(a=` - ${c.description}`,(o.length+r.length+a.length>=this.out.columns||c.description.split(/\r?\n/).length>1)&&(a=`
63
- `+j6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${dr.gray(a)}
64
- `}}this.out.write(this.outputText)}};PN.exports=Zy});var DN=I((gJ,ON)=>{var Wl=oe(),U6=lr(),{style:wN,clear:F6}=It(),{cursor:kN,erase:B6}=ae(),Gy=class extends U6{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
63
+ `+z6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${dr.gray(a)}
64
+ `}}this.out.write(this.outputText)}};PN.exports=Zy});var DN=I((hJ,ON)=>{var Wl=oe(),F6=lr(),{style:wN,clear:B6}=It(),{cursor:kN,erase:V6}=ae(),Gy=class extends F6{constructor(t={}){super(t),this.msg=t.message,this.value=!!t.initial,this.active=t.active||"on",this.inactive=t.inactive||"off",this.initialValue=this.value,this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
65
65
  `),this.close()}submit(){this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
66
- `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(kN.hide):this.out.write(F6(this.outputText,this.out.columns)),super.render(),this.outputText=[wN.symbol(this.done,this.aborted),Wl.bold(this.msg),wN.delimiter(this.done),this.value?this.inactive:Wl.cyan().underline(this.inactive),Wl.gray("/"),this.value?Wl.cyan().underline(this.active):this.active].join(" "),this.out.write(B6.line+kN.to(0)+this.outputText))}};ON.exports=Gy});var Gt=I((hJ,MN)=>{"use strict";var Wy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};MN.exports=Wy});var zN=I((vJ,jN)=>{"use strict";var V6=Gt(),Hy=class extends V6{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};jN.exports=Hy});var UN=I((bJ,LN)=>{"use strict";var Z6=Gt(),G6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),qy=class extends Z6{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+G6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};LN.exports=qy});var BN=I((yJ,FN)=>{"use strict";var W6=Gt(),Ky=class extends W6{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};FN.exports=Ky});var ZN=I((SJ,VN)=>{"use strict";var H6=Gt(),Yy=class extends H6{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};VN.exports=Yy});var WN=I((_J,GN)=>{"use strict";var q6=Gt(),Xy=class extends q6{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};GN.exports=Xy});var qN=I((EJ,HN)=>{"use strict";var K6=Gt(),Jy=class extends K6{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};HN.exports=Jy});var YN=I((xJ,KN)=>{"use strict";var Y6=Gt(),Qy=class extends Y6{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};KN.exports=Qy});var JN=I((AJ,XN)=>{"use strict";var X6=Gt(),eS=class extends X6{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};XN.exports=eS});var ew=I((IJ,QN)=>{"use strict";QN.exports={DatePart:Gt(),Meridiem:zN(),Day:UN(),Hours:BN(),Milliseconds:ZN(),Minutes:WN(),Month:qN(),Seconds:YN(),Year:JN()}});var sw=I(($J,aw)=>{"use strict";var tS=oe(),J6=lr(),{style:tw,clear:rw,figures:Q6}=It(),{erase:eF,cursor:nw}=ae(),{DatePart:iw,Meridiem:tF,Day:rF,Hours:nF,Milliseconds:iF,Minutes:oF,Month:aF,Seconds:sF,Year:cF}=ew(),uF=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,ow={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new rF(e),3:e=>new aF(e),4:e=>new cF(e),5:e=>new tF(e),6:e=>new nF(e),7:e=>new oF(e),8:e=>new sF(e),9:e=>new iF(e)},lF={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},rS=class extends J6{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(lF,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=rw("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=uF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in ow?ow[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof iw)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
66
+ `),this.close()}deactivate(){if(this.value===!1)return this.bell();this.value=!1,this.render()}activate(){if(this.value===!0)return this.bell();this.value=!0,this.render()}delete(){this.deactivate()}left(){this.deactivate()}right(){this.activate()}down(){this.deactivate()}up(){this.activate()}next(){this.value=!this.value,this.fire(),this.render()}_(t,n){if(t===" ")this.value=!this.value;else if(t==="1")this.value=!0;else if(t==="0")this.value=!1;else return this.bell();this.render()}render(){this.closed||(this.firstRender?this.out.write(kN.hide):this.out.write(B6(this.outputText,this.out.columns)),super.render(),this.outputText=[wN.symbol(this.done,this.aborted),Wl.bold(this.msg),wN.delimiter(this.done),this.value?this.inactive:Wl.cyan().underline(this.inactive),Wl.gray("/"),this.value?Wl.cyan().underline(this.active):this.active].join(" "),this.out.write(V6.line+kN.to(0)+this.outputText))}};ON.exports=Gy});var Gt=I((vJ,MN)=>{"use strict";var Wy=class e{constructor({token:t,date:n,parts:i,locales:r}){this.token=t,this.date=n||new Date,this.parts=i||[this],this.locales=r||{}}up(){}down(){}next(){let t=this.parts.indexOf(this);return this.parts.find((n,i)=>i>t&&n instanceof e)}setTo(t){}prev(){let t=[].concat(this.parts).reverse(),n=t.indexOf(this);return t.find((i,r)=>r>n&&i instanceof e)}toString(){return String(this.date)}};MN.exports=Wy});var zN=I((bJ,jN)=>{"use strict";var Z6=Gt(),Hy=class extends Z6{constructor(t={}){super(t)}up(){this.date.setHours((this.date.getHours()+12)%24)}down(){this.up()}toString(){let t=this.date.getHours()>12?"pm":"am";return/\A/.test(this.token)?t.toUpperCase():t}};jN.exports=Hy});var UN=I((yJ,LN)=>{"use strict";var G6=Gt(),W6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),qy=class extends G6{constructor(t={}){super(t)}up(){this.date.setDate(this.date.getDate()+1)}down(){this.date.setDate(this.date.getDate()-1)}setTo(t){this.date.setDate(parseInt(t.substr(-2)))}toString(){let t=this.date.getDate(),n=this.date.getDay();return this.token==="DD"?String(t).padStart(2,"0"):this.token==="Do"?t+W6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};LN.exports=qy});var BN=I((SJ,FN)=>{"use strict";var H6=Gt(),Ky=class extends H6{constructor(t={}){super(t)}up(){this.date.setHours(this.date.getHours()+1)}down(){this.date.setHours(this.date.getHours()-1)}setTo(t){this.date.setHours(parseInt(t.substr(-2)))}toString(){let t=this.date.getHours();return/h/.test(this.token)&&(t=t%12||12),this.token.length>1?String(t).padStart(2,"0"):t}};FN.exports=Ky});var ZN=I((_J,VN)=>{"use strict";var q6=Gt(),Yy=class extends q6{constructor(t={}){super(t)}up(){this.date.setMilliseconds(this.date.getMilliseconds()+1)}down(){this.date.setMilliseconds(this.date.getMilliseconds()-1)}setTo(t){this.date.setMilliseconds(parseInt(t.substr(-this.token.length)))}toString(){return String(this.date.getMilliseconds()).padStart(4,"0").substr(0,this.token.length)}};VN.exports=Yy});var WN=I((EJ,GN)=>{"use strict";var K6=Gt(),Xy=class extends K6{constructor(t={}){super(t)}up(){this.date.setMinutes(this.date.getMinutes()+1)}down(){this.date.setMinutes(this.date.getMinutes()-1)}setTo(t){this.date.setMinutes(parseInt(t.substr(-2)))}toString(){let t=this.date.getMinutes();return this.token.length>1?String(t).padStart(2,"0"):t}};GN.exports=Xy});var qN=I((xJ,HN)=>{"use strict";var Y6=Gt(),Jy=class extends Y6{constructor(t={}){super(t)}up(){this.date.setMonth(this.date.getMonth()+1)}down(){this.date.setMonth(this.date.getMonth()-1)}setTo(t){t=parseInt(t.substr(-2))-1,this.date.setMonth(t<0?0:t)}toString(){let t=this.date.getMonth(),n=this.token.length;return n===2?String(t+1).padStart(2,"0"):n===3?this.locales.monthsShort[t]:n===4?this.locales.months[t]:String(t+1)}};HN.exports=Jy});var YN=I((AJ,KN)=>{"use strict";var X6=Gt(),Qy=class extends X6{constructor(t={}){super(t)}up(){this.date.setSeconds(this.date.getSeconds()+1)}down(){this.date.setSeconds(this.date.getSeconds()-1)}setTo(t){this.date.setSeconds(parseInt(t.substr(-2)))}toString(){let t=this.date.getSeconds();return this.token.length>1?String(t).padStart(2,"0"):t}};KN.exports=Qy});var JN=I((IJ,XN)=>{"use strict";var J6=Gt(),eS=class extends J6{constructor(t={}){super(t)}up(){this.date.setFullYear(this.date.getFullYear()+1)}down(){this.date.setFullYear(this.date.getFullYear()-1)}setTo(t){this.date.setFullYear(t.substr(-4))}toString(){let t=String(this.date.getFullYear()).padStart(4,"0");return this.token.length===2?t.substr(-2):t}};XN.exports=eS});var ew=I(($J,QN)=>{"use strict";QN.exports={DatePart:Gt(),Meridiem:zN(),Day:UN(),Hours:BN(),Milliseconds:ZN(),Minutes:WN(),Month:qN(),Seconds:YN(),Year:JN()}});var sw=I((TJ,aw)=>{"use strict";var tS=oe(),Q6=lr(),{style:tw,clear:rw,figures:eF}=It(),{erase:tF,cursor:nw}=ae(),{DatePart:iw,Meridiem:rF,Day:nF,Hours:iF,Milliseconds:oF,Minutes:aF,Month:sF,Seconds:cF,Year:uF}=ew(),lF=/\\(.)|"((?:\\["\\]|[^"])+)"|(D[Do]?|d{3,4}|d)|(M{1,4})|(YY(?:YY)?)|([aA])|([Hh]{1,2})|(m{1,2})|(s{1,2})|(S{1,4})|./g,ow={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new nF(e),3:e=>new sF(e),4:e=>new uF(e),5:e=>new rF(e),6:e=>new iF(e),7:e=>new aF(e),8:e=>new cF(e),9:e=>new oF(e)},dF={months:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthsShort:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),weekdays:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),weekdaysShort:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",")},rS=class extends Q6{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(dF,t.locales),this._date=t.initial||new Date,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.mask=t.mask||"YYYY-MM-DD HH:mm:ss",this.clear=rw("",this.out.columns),this.render()}get value(){return this.date}get date(){return this._date}set date(t){t&&this._date.setTime(t.getTime())}set mask(t){let n;for(this.parts=[];n=lF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in ow?ow[o]({token:n[o]||r,date:this.date,parts:this.parts,locales:this.locales}):n[o]||r)}let i=this.parts.reduce((r,o)=>(typeof o=="string"&&typeof r[r.length-1]=="string"?r[r.length-1]+=o:r.push(o),r),[]);this.parts.splice(0),this.parts.push(...i),this.reset()}moveCursor(t){this.typed="",this.cursor=t,this.fire()}reset(){this.moveCursor(this.parts.findIndex(t=>t instanceof iw)),this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
67
67
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
68
68
  `),this.close()}up(){this.typed="",this.parts[this.cursor].up(),this.render()}down(){this.typed="",this.parts[this.cursor].down(),this.render()}left(){let t=this.parts[this.cursor].prev();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}right(){let t=this.parts[this.cursor].next();if(t==null)return this.bell();this.moveCursor(this.parts.indexOf(t)),this.render()}next(){let t=this.parts[this.cursor].next();this.moveCursor(t?this.parts.indexOf(t):this.parts.findIndex(n=>n instanceof iw)),this.render()}_(t){/\d/.test(t)&&(this.typed+=t,this.parts[this.cursor].setTo(this.typed),this.render())}render(){this.closed||(this.firstRender?this.out.write(nw.hide):this.out.write(rw(this.outputText,this.out.columns)),super.render(),this.outputText=[tw.symbol(this.done,this.aborted),tS.bold(this.msg),tw.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?tS.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
69
69
  `).reduce((t,n,i)=>t+`
70
- ${i?" ":Q6.pointerSmall} ${tS.red().italic(n)}`,"")),this.out.write(eF.line+nw.to(0)+this.outputText))}};aw.exports=rS});var dw=I((TJ,lw)=>{var Hl=oe(),dF=lr(),{cursor:ql,erase:mF}=ae(),{style:nS,figures:pF,clear:cw,lines:fF}=It(),gF=/[0-9]/,iS=e=>e!==void 0,uw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},oS=class extends dF{constructor(t={}){super(t),this.transform=nS.render(t.style),this.msg=t.message,this.initial=iS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=iS(t.min)?t.min:-1/0,this.max=iS(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Hl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${uw(t,this.round)}`),this._value=uw(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||gF.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
70
+ ${i?" ":eF.pointerSmall} ${tS.red().italic(n)}`,"")),this.out.write(tF.line+nw.to(0)+this.outputText))}};aw.exports=rS});var dw=I((RJ,lw)=>{var Hl=oe(),mF=lr(),{cursor:ql,erase:pF}=ae(),{style:nS,figures:fF,clear:cw,lines:gF}=It(),hF=/[0-9]/,iS=e=>e!==void 0,uw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},oS=class extends mF{constructor(t={}){super(t),this.transform=nS.render(t.style),this.msg=t.message,this.initial=iS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=iS(t.min)?t.min:-1/0,this.max=iS(t.max)?t.max:1/0,this.errorMsg=t.error||"Please Enter A Valid Value",this.validator=t.validate||(()=>!0),this.color="cyan",this.value="",this.typed="",this.lastHit=0,this.render()}set value(t){!t&&t!==0?(this.placeholder=!0,this.rendered=Hl.gray(this.transform.render(`${this.initial}`)),this._value=""):(this.placeholder=!1,this.rendered=this.transform.render(`${uw(t,this.round)}`),this._value=uw(t,this.round)),this.fire()}get value(){return this._value}parse(t){return this.float?parseFloat(t):parseInt(t)}valid(t){return t==="-"||t==="."&&this.float||hF.test(t)}reset(){this.typed="",this.value="",this.fire(),this.render()}exit(){this.abort()}abort(){let t=this.value;this.value=t!==""?t:this.initial,this.done=this.aborted=!0,this.error=!1,this.fire(),this.render(),this.out.write(`
71
71
  `),this.close()}async validate(){let t=await this.validator(this.value);typeof t=="string"&&(this.errorMsg=t,t=!1),this.error=!t}async submit(){if(await this.validate(),this.error){this.color="red",this.fire(),this.render();return}let t=this.value;this.value=t!==""?t:this.initial,this.done=!0,this.aborted=!1,this.error=!1,this.fire(),this.render(),this.out.write(`
72
- `),this.close()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(ql.down(fF(this.outputError,this.out.columns)-1)+cw(this.outputError,this.out.columns)),this.out.write(cw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[nS.symbol(this.done,this.aborted),Hl.bold(this.msg),nS.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Hl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
72
+ `),this.close()}up(){if(this.typed="",this.value===""&&(this.value=this.min-this.inc),this.value>=this.max)return this.bell();this.value+=this.inc,this.color="cyan",this.fire(),this.render()}down(){if(this.typed="",this.value===""&&(this.value=this.min+this.inc),this.value<=this.min)return this.bell();this.value-=this.inc,this.color="cyan",this.fire(),this.render()}delete(){let t=this.value.toString();if(t.length===0)return this.bell();this.value=this.parse(t=t.slice(0,-1))||"",this.value!==""&&this.value<this.min&&(this.value=this.min),this.color="cyan",this.fire(),this.render()}next(){this.value=this.initial,this.fire(),this.render()}_(t,n){if(!this.valid(t))return this.bell();let i=Date.now();if(i-this.lastHit>1e3&&(this.typed=""),this.typed+=t,this.lastHit=i,this.color="cyan",t===".")return this.fire();this.value=Math.min(this.parse(this.typed),this.max),this.value>this.max&&(this.value=this.max),this.value<this.min&&(this.value=this.min),this.fire(),this.render()}render(){this.closed||(this.firstRender||(this.outputError&&this.out.write(ql.down(gF(this.outputError,this.out.columns)-1)+cw(this.outputError,this.out.columns)),this.out.write(cw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[nS.symbol(this.done,this.aborted),Hl.bold(this.msg),nS.delimiter(this.done),!this.done||!this.done&&!this.placeholder?Hl[this.color]().underline(this.rendered):this.rendered].join(" "),this.error&&(this.outputError+=this.errorMsg.split(`
73
73
  `).reduce((t,n,i)=>t+`
74
- ${i?" ":pF.pointerSmall} ${Hl.red().italic(n)}`,"")),this.out.write(mF.line+ql.to(0)+this.outputText+ql.save+this.outputError+ql.restore))}};lw.exports=oS});var sS=I((RJ,fw)=>{"use strict";var Wt=oe(),{cursor:hF}=ae(),vF=lr(),{clear:mw,figures:Lr,style:pw,wrap:bF,entriesToDisplay:yF}=It(),aS=class extends vF{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=mw("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
74
+ ${i?" ":fF.pointerSmall} ${Hl.red().italic(n)}`,"")),this.out.write(pF.line+ql.to(0)+this.outputText+ql.save+this.outputError+ql.restore))}};lw.exports=oS});var sS=I((CJ,fw)=>{"use strict";var Wt=oe(),{cursor:vF}=ae(),bF=lr(),{clear:mw,figures:Lr,style:pw,wrap:yF,entriesToDisplay:SF}=It(),aS=class extends bF{constructor(t={}){super(t),this.msg=t.message,this.cursor=t.cursor||0,this.scrollIndex=t.cursor||0,this.hint=t.hint||"",this.warn=t.warn||"- This option is disabled -",this.minSelected=t.min,this.showMinError=!1,this.maxChoices=t.max,this.instructions=t.instructions,this.optionsPerPage=t.optionsPerPage||10,this.value=t.choices.map((n,i)=>(typeof n=="string"&&(n={title:n,value:i}),{title:n&&(n.title||n.value||n),description:n&&n.description,value:n&&(n.value===void 0?i:n.value),selected:n&&n.selected,disabled:n&&n.disabled})),this.clear=mw("",this.out.columns),t.overrideRender||this.render()}reset(){this.value.map(t=>!t.selected),this.cursor=0,this.fire(),this.render()}selected(){return this.value.filter(t=>t.selected)}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
75
75
  `),this.close()}submit(){let t=this.value.filter(n=>n.selected);this.minSelected&&t.length<this.minSelected?(this.showMinError=!0,this.render()):(this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
76
76
  `),this.close())}first(){this.cursor=0,this.render()}last(){this.cursor=this.value.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.value.length,this.render()}up(){this.cursor===0?this.cursor=this.value.length-1:this.cursor--,this.render()}down(){this.cursor===this.value.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.value[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.value[this.cursor].selected=!0,this.render()}handleSpaceToggle(){let t=this.value[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}toggleAll(){if(this.maxChoices!==void 0||this.value[this.cursor].disabled)return this.bell();let t=!this.value[this.cursor].selected;this.value.filter(n=>!n.disabled).forEach(n=>n.selected=t),this.render()}_(t,n){if(t===" ")this.handleSpaceToggle();else if(t==="a")this.toggleAll();else return this.bell()}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
77
77
  Instructions:
@@ -79,15 +79,15 @@ Instructions:
79
79
  ${Lr.arrowLeft}/${Lr.arrowRight}/[space]: Toggle selection
80
80
  `+(this.maxChoices===void 0?` a: Toggle all
81
81
  `:"")+" enter/return: Complete answer":""}renderOption(t,n,i,r){let o=(n.selected?Wt.green(Lr.radioOn):Lr.radioOff)+" "+r+" ",a,c;return n.disabled?a=t===i?Wt.gray().underline(n.title):Wt.strikethrough().gray(n.title):(a=t===i?Wt.cyan().underline(n.title):n.title,t===i&&n.description&&(c=` - ${n.description}`,(o.length+a.length+c.length>=this.out.columns||n.description.split(/\r?\n/).length>1)&&(c=`
82
- `+bF(n.description,{margin:o.length,width:this.out.columns})))),o+a+Wt.gray(c||"")}paginateOptions(t){if(t.length===0)return Wt.red("No matches for this query.");let{startIndex:n,endIndex:i}=yF(this.cursor,t.length,this.optionsPerPage),r,o=[];for(let a=n;a<i;a++)a===n&&n>0?r=Lr.arrowUp:a===i-1&&i<t.length?r=Lr.arrowDown:r=" ",o.push(this.renderOption(this.cursor,t[a],a,r));return`
82
+ `+yF(n.description,{margin:o.length,width:this.out.columns})))),o+a+Wt.gray(c||"")}paginateOptions(t){if(t.length===0)return Wt.red("No matches for this query.");let{startIndex:n,endIndex:i}=SF(this.cursor,t.length,this.optionsPerPage),r,o=[];for(let a=n;a<i;a++)a===n&&n>0?r=Lr.arrowUp:a===i-1&&i<t.length?r=Lr.arrowDown:r=" ",o.push(this.renderOption(this.cursor,t[a],a,r));return`
83
83
  `+o.join(`
84
- `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Wt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Wt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(hF.hide),super.render();let t=[pw.symbol(this.done,this.aborted),Wt.bold(this.msg),pw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Wt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=mw(t,this.out.columns)}};fw.exports=aS});var yw=I((CJ,bw)=>{"use strict";var Ja=oe(),SF=lr(),{erase:_F,cursor:gw}=ae(),{style:cS,clear:hw,figures:uS,wrap:EF,entriesToDisplay:xF}=It(),vw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),AF=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),IF=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},lS=class extends SF{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:IF(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=cS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=hw("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=vw(this.suggestions,t):this.value=this.fallback.value,this.fire()}async complete(t){let n=this.completing=this.suggest(this.input,this.choices),i=await n;if(this.completing!==n)return;this.suggestions=i.map((o,a,c)=>({title:AF(c,a),value:vw(c,a),description:o.description})),this.completing=!1;let r=Math.max(i.length-1,0);this.moveSelect(Math.min(r,this.select)),t&&t()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
84
+ `)}renderOptions(t){return this.done?"":this.paginateOptions(t)}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[Wt.gray(this.hint),this.renderInstructions()];return this.value[this.cursor].disabled&&t.push(Wt.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(vF.hide),super.render();let t=[pw.symbol(this.done,this.aborted),Wt.bold(this.msg),pw.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=Wt.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.value),this.out.write(this.clear+t),this.clear=mw(t,this.out.columns)}};fw.exports=aS});var yw=I((PJ,bw)=>{"use strict";var Ja=oe(),_F=lr(),{erase:EF,cursor:gw}=ae(),{style:cS,clear:hw,figures:uS,wrap:xF,entriesToDisplay:AF}=It(),vw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),IF=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),$F=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},lS=class extends _F{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:$F(t.choices,t.initial),this.select=this.initial||t.cursor||0,this.i18n={noMatches:t.noMatches||"no matches found"},this.fallback=t.fallback||this.initial,this.clearFirst=t.clearFirst||!1,this.suggestions=[],this.input="",this.limit=t.limit||10,this.cursor=0,this.transform=cS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=hw("",this.out.columns),this.complete(this.render),this.render()}set fallback(t){this._fb=Number.isSafeInteger(parseInt(t))?parseInt(t):t}get fallback(){let t;return typeof this._fb=="number"?t=this.choices[this._fb]:typeof this._fb=="string"&&(t={title:this._fb}),t||this._fb||{title:this.i18n.noMatches}}moveSelect(t){this.select=t,this.suggestions.length>0?this.value=vw(this.suggestions,t):this.value=this.fallback.value,this.fire()}async complete(t){let n=this.completing=this.suggest(this.input,this.choices),i=await n;if(this.completing!==n)return;this.suggestions=i.map((o,a,c)=>({title:IF(c,a),value:vw(c,a),description:o.description})),this.completing=!1;let r=Math.max(i.length-1,0);this.moveSelect(Math.min(r,this.select)),t&&t()}reset(){this.input="",this.complete(()=>{this.moveSelect(this.initial!==void 0?this.initial:0),this.render()}),this.render()}exit(){this.clearFirst&&this.input.length>0?this.reset():(this.done=this.exited=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
85
85
  `),this.close())}abort(){this.done=this.aborted=!0,this.exited=!1,this.fire(),this.render(),this.out.write(`
86
86
  `),this.close()}submit(){this.done=!0,this.aborted=this.exited=!1,this.fire(),this.render(),this.out.write(`
87
87
  `),this.close()}_(t,n){let i=this.input.slice(0,this.cursor),r=this.input.slice(this.cursor);this.input=`${i}${t}${r}`,this.cursor=i.length+1,this.complete(this.render),this.render()}delete(){if(this.cursor===0)return this.bell();let t=this.input.slice(0,this.cursor-1),n=this.input.slice(this.cursor);this.input=`${t}${n}`,this.complete(this.render),this.cursor=this.cursor-1,this.render()}deleteForward(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();let t=this.input.slice(0,this.cursor),n=this.input.slice(this.cursor+1);this.input=`${t}${n}`,this.complete(this.render),this.render()}first(){this.moveSelect(0),this.render()}last(){this.moveSelect(this.suggestions.length-1),this.render()}up(){this.select===0?this.moveSelect(this.suggestions.length-1):this.moveSelect(this.select-1),this.render()}down(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}next(){this.select===this.suggestions.length-1?this.moveSelect(0):this.moveSelect(this.select+1),this.render()}nextPage(){this.moveSelect(Math.min(this.select+this.limit,this.suggestions.length-1)),this.render()}prevPage(){this.moveSelect(Math.max(this.select-this.limit,0)),this.render()}left(){if(this.cursor<=0)return this.bell();this.cursor=this.cursor-1,this.render()}right(){if(this.cursor*this.scale>=this.rendered.length)return this.bell();this.cursor=this.cursor+1,this.render()}renderOption(t,n,i,r){let o,a=i?uS.arrowUp:r?uS.arrowDown:" ",c=n?Ja.cyan().underline(t.title):t.title;return a=(n?Ja.cyan(uS.pointer)+" ":" ")+a,t.description&&(o=` - ${t.description}`,(a.length+c.length+o.length>=this.out.columns||t.description.split(/\r?\n/).length>1)&&(o=`
88
- `+EF(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ja.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(gw.hide):this.out.write(hw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=xF(this.select,this.choices.length,this.limit);if(this.outputText=[cS.symbol(this.done,this.aborted,this.exited),Ja.bold(this.msg),cS.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let i=this.suggestions.slice(t,n).map((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===n-1&&n<this.choices.length)).join(`
88
+ `+xF(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Ja.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(gw.hide):this.out.write(hw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=AF(this.select,this.choices.length,this.limit);if(this.outputText=[cS.symbol(this.done,this.aborted,this.exited),Ja.bold(this.msg),cS.delimiter(this.completing),this.done&&this.suggestions[this.select]?this.suggestions[this.select].title:this.rendered=this.transform.render(this.input)].join(" "),!this.done){let i=this.suggestions.slice(t,n).map((r,o)=>this.renderOption(r,this.select===o+t,o===0&&t>0,o+t===n-1&&n<this.choices.length)).join(`
89
89
  `);this.outputText+=`
90
- `+(i||Ja.gray(this.fallback.title))}this.out.write(_F.line+gw.to(0)+this.outputText)}};bw.exports=lS});var xw=I((PJ,Ew)=>{"use strict";var mr=oe(),{cursor:$F}=ae(),TF=sS(),{clear:Sw,style:_w,figures:Xi}=It(),dS=class extends TF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=Sw("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
90
+ `+(i||Ja.gray(this.fallback.title))}this.out.write(EF.line+gw.to(0)+this.outputText)}};bw.exports=lS});var xw=I((NJ,Ew)=>{"use strict";var mr=oe(),{cursor:TF}=ae(),RF=sS(),{clear:Sw,style:_w,figures:Xi}=It(),dS=class extends RF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=Sw("",this.out.columns),this.filteredOptions=this.value,this.render()}last(){this.cursor=this.filteredOptions.length-1,this.render()}next(){this.cursor=(this.cursor+1)%this.filteredOptions.length,this.render()}up(){this.cursor===0?this.cursor=this.filteredOptions.length-1:this.cursor--,this.render()}down(){this.cursor===this.filteredOptions.length-1?this.cursor=0:this.cursor++,this.render()}left(){this.filteredOptions[this.cursor].selected=!1,this.render()}right(){if(this.value.filter(t=>t.selected).length>=this.maxChoices)return this.bell();this.filteredOptions[this.cursor].selected=!0,this.render()}delete(){this.inputValue.length&&(this.inputValue=this.inputValue.substr(0,this.inputValue.length-1),this.updateFilteredOptions())}updateFilteredOptions(){let t=this.filteredOptions[this.cursor];this.filteredOptions=this.value.filter(i=>this.inputValue?!!(typeof i.title=="string"&&i.title.toLowerCase().includes(this.inputValue.toLowerCase())||typeof i.value=="string"&&i.value.toLowerCase().includes(this.inputValue.toLowerCase())):!0);let n=this.filteredOptions.findIndex(i=>i===t);this.cursor=n<0?0:n,this.render()}handleSpaceToggle(){let t=this.filteredOptions[this.cursor];if(t.selected)t.selected=!1,this.render();else{if(t.disabled||this.value.filter(n=>n.selected).length>=this.maxChoices)return this.bell();t.selected=!0,this.render()}}handleInputChange(t){this.inputValue=this.inputValue+t,this.updateFilteredOptions()}_(t,n){t===" "?this.handleSpaceToggle():this.handleInputChange(t)}renderInstructions(){return this.instructions===void 0||this.instructions?typeof this.instructions=="string"?this.instructions:`
91
91
  Instructions:
92
92
  ${Xi.arrowUp}/${Xi.arrowDown}: Highlight option
93
93
  ${Xi.arrowLeft}/${Xi.arrowRight}/[space]: Toggle selection
@@ -95,9 +95,9 @@ Instructions:
95
95
  enter/return: Complete answer
96
96
  `:""}renderCurrentInput(){return`
97
97
  Filtered results for: ${this.inputValue?this.inputValue:mr.gray("Enter something to filter")}
98
- `}renderOption(t,n,i){let r;return n.disabled?r=t===i?mr.gray().underline(n.title):mr.strikethrough().gray(n.title):r=t===i?mr.cyan().underline(n.title):n.title,(n.selected?mr.green(Xi.radioOn):Xi.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[mr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(mr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write($F.hide),super.render();let t=[_w.symbol(this.done,this.aborted),mr.bold(this.msg),_w.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=mr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=Sw(t,this.out.columns)}};Ew.exports=dS});var Rw=I((NJ,Tw)=>{var Aw=oe(),RF=lr(),{style:Iw,clear:CF}=It(),{erase:PF,cursor:$w}=ae(),mS=class extends RF{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
98
+ `}renderOption(t,n,i){let r;return n.disabled?r=t===i?mr.gray().underline(n.title):mr.strikethrough().gray(n.title):r=t===i?mr.cyan().underline(n.title):n.title,(n.selected?mr.green(Xi.radioOn):Xi.radioOff)+" "+r}renderDoneOrInstructions(){if(this.done)return this.value.filter(n=>n.selected).map(n=>n.title).join(", ");let t=[mr.gray(this.hint),this.renderInstructions(),this.renderCurrentInput()];return this.filteredOptions.length&&this.filteredOptions[this.cursor].disabled&&t.push(mr.yellow(this.warn)),t.join(" ")}render(){if(this.closed)return;this.firstRender&&this.out.write(TF.hide),super.render();let t=[_w.symbol(this.done,this.aborted),mr.bold(this.msg),_w.delimiter(!1),this.renderDoneOrInstructions()].join(" ");this.showMinError&&(t+=mr.red(`You must select a minimum of ${this.minSelected} choices.`),this.showMinError=!1),t+=this.renderOptions(this.filteredOptions),this.out.write(this.clear+t),this.clear=Sw(t,this.out.columns)}};Ew.exports=dS});var Rw=I((wJ,Tw)=>{var Aw=oe(),CF=lr(),{style:Iw,clear:PF}=It(),{erase:NF,cursor:$w}=ae(),mS=class extends CF{constructor(t={}){super(t),this.msg=t.message,this.value=t.initial,this.initialValue=!!t.initial,this.yesMsg=t.yes||"yes",this.yesOption=t.yesOption||"(Y/n)",this.noMsg=t.no||"no",this.noOption=t.noOption||"(y/N)",this.render()}reset(){this.value=this.initialValue,this.fire(),this.render()}exit(){this.abort()}abort(){this.done=this.aborted=!0,this.fire(),this.render(),this.out.write(`
99
99
  `),this.close()}submit(){this.value=this.value||!1,this.done=!0,this.aborted=!1,this.fire(),this.render(),this.out.write(`
100
- `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write($w.hide):this.out.write(CF(this.outputText,this.out.columns)),super.render(),this.outputText=[Iw.symbol(this.done,this.aborted),Aw.bold(this.msg),Iw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Aw.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(PF.line+$w.to(0)+this.outputText))}};Tw.exports=mS});var Pw=I((wJ,Cw)=>{"use strict";Cw.exports={TextPrompt:TN(),SelectPrompt:NN(),TogglePrompt:DN(),DatePrompt:sw(),NumberPrompt:dw(),MultiselectPrompt:sS(),AutocompletePrompt:yw(),AutocompleteMultiselectPrompt:xw(),ConfirmPrompt:Rw()}});var ww=I(Nw=>{"use strict";var Xe=Nw,NF=Pw(),Kl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new NF[e](t),a=n.onAbort||Kl,c=n.onSubmit||Kl,u=n.onExit||Kl;o.on("state",t.onState||Kl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Xe.text=e=>Ht("TextPrompt",e);Xe.password=e=>(e.style="password",Xe.text(e));Xe.invisible=e=>(e.style="invisible",Xe.text(e));Xe.number=e=>Ht("NumberPrompt",e);Xe.date=e=>Ht("DatePrompt",e);Xe.confirm=e=>Ht("ConfirmPrompt",e);Xe.list=e=>{let t=e.separator||",";return Ht("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Xe.toggle=e=>Ht("TogglePrompt",e);Xe.select=e=>Ht("SelectPrompt",e);Xe.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Xe.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var wF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||wF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var Dw=I((OJ,Ow)=>{"use strict";var pS=ww(),kF=["suggest","format","onState","validate","onRender","type"],kw=()=>{};async function Ur(e=[],{onSubmit:t=kw,onCancel:n=kw}={}){let i={},r=Ur._override||{};e=[].concat(e);let o,a,c,u,l,m,p=async(g,v,A=!1)=>{if(!(!A&&g.validate&&g.validate(v)!==!0))return g.format?await g.format(v,i):v};for(a of e)if({name:u,type:l}=a,typeof l=="function"&&(l=await l(o,{...i},a),a.type=l),!!l){for(let g in a){if(kF.includes(g))continue;let v=a[g];a[g]=typeof v=="function"?await v(o,{...i},m):v}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");if({name:u,type:l}=a,pS[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=await p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Ur._injected?OF(Ur._injected,a.initial):await pS[l](a),i[u]=o=await p(a,o,!0),c=await t(a,o,i)}catch{c=!await n(a,i)}if(c)return i}return i}function OF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function DF(e){Ur._injected=(Ur._injected||[]).concat(e)}function MF(e){Ur._override=Object.assign({},e)}Ow.exports=Object.assign(Ur,{prompt:Ur,prompts:pS,inject:DF,override:MF})});var fS=I((DJ,Mw)=>{function jF(e){e=(Array.isArray(e)?e:e.split(".")).map(Number);let t=0,n=process.versions.node.split(".").map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}Mw.exports=jF("8.6.0")?sN():Dw()});import*as Hi from"fs";import*as tC from"path";var qw=Object.defineProperty,fr=(e,t)=>qw(e,"name",{value:t,configurable:!0});function $e(e){return e.replace(/[-_](.)/g,(t,n)=>n.toUpperCase()).replace(/^./,t=>t.toUpperCase())}fr($e,"toPascalCase");function Tt(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}fr(Tt,"toKebab");function Tn(e){return Tt(e).replace(/-/g,"_")}fr(Tn,"toValidDatabaseName");function SS(e){return Tt(e).replace(/-/g,"_").toUpperCase()}fr(SS,"toScreamingSnake");function _S(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}fr(_S,"capitalise");function ES(e){return e.split(".").join("")}fr(ES,"getSafeZoneName");function Br(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}fr(Br,"accountConstructKey");function xS(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Br(t)===Br(e)&&Br(e)!==""}fr(xS,"hasAsciiStableConstructKey");var Kw=Object.defineProperty,es=(e,t)=>Kw(e,"name",{value:t,configurable:!0});function ts(e){return`${$e(e.split(".").join(""))}Domain`}es(ts,"getDomainStackName");function AS(e){return`${e}UsEast1Certificates`}es(AS,"getDomainUsEast1CertificatesStackName");function Jl(e){let t=e.replace(/\./g,"-");return{hostedZoneId:`${t}-hosted-zone-id`,certificateArn:`${t}-certificate-arn`,usEast1CertificateArn:`${t}-us-east-1-certificate-arn`,delegationRoleArn:`${t}-delegation-role-arn`,nameservers:`${t}-nameservers`}}es(Jl,"getDomainExportNames");function IS(e){return typeof e.hostedZoneId=="string"}es(IS,"isManagedDomainBinding");var Yw=Object.defineProperty,Xw=(e,t)=>Yw(e,"name",{value:t,configurable:!0});function $S(e){return`${$e(e)}ImageTag`}Xw($S,"imageTagParameterName");var Jw=Object.defineProperty,Qw=(e,t)=>Jw(e,"name",{value:t,configurable:!0});function TS(e){let t=new Map;for(let n of e){let i=Br(n);if(i==="")return{kind:"empty-construct-key",name:n};let r=t.get(i);if(r!==void 0)return{kind:"duplicate-construct-key",name:n,existingName:r,constructKey:i};t.set(i,n)}return null}Qw(TS,"findAccountNameCollision");var ek=Object.defineProperty,Ji=(e,t)=>ek(e,"name",{value:t,configurable:!0}),Rn="us-east-2";var it=Object.freeze([{code:"us-east-2",name:"US East",city:"Ohio",country:"USA",optIn:!1},{code:"us-west-2",name:"US West",city:"Oregon",country:"USA",optIn:!1},{code:"us-east-1",name:"US East",city:"N. Virginia",country:"USA",optIn:!1},{code:"eu-west-1",name:"EU West",city:"Ireland",country:"Ireland",optIn:!1},{code:"eu-central-1",name:"EU Central",city:"Frankfurt",country:"Germany",optIn:!1},{code:"ap-southeast-1",name:"Asia Pacific",city:"Singapore",country:"Singapore",optIn:!1},{code:"ap-northeast-1",name:"Asia Pacific",city:"Tokyo",country:"Japan",optIn:!1},{code:"ap-southeast-2",name:"Asia Pacific",city:"Sydney",country:"Australia",optIn:!1},{code:"us-west-1",name:"US West",city:"N. California",country:"USA",optIn:!1},{code:"ca-central-1",name:"Canada",city:"Central",country:"Canada",optIn:!1},{code:"af-south-1",name:"Africa",city:"Cape Town",country:"South Africa",optIn:!0},{code:"ap-east-1",name:"Asia Pacific",city:"Hong Kong",country:"Hong Kong",optIn:!0},{code:"ap-northeast-2",name:"Asia Pacific",city:"Seoul",country:"South Korea",optIn:!1},{code:"ap-northeast-3",name:"Asia Pacific",city:"Osaka",country:"Japan",optIn:!1},{code:"ap-south-1",name:"Asia Pacific",city:"Mumbai",country:"India",optIn:!1},{code:"ap-south-2",name:"Asia Pacific",city:"Hyderabad",country:"India",optIn:!0},{code:"ap-southeast-3",name:"Asia Pacific",city:"Jakarta",country:"Indonesia",optIn:!0},{code:"ap-southeast-4",name:"Asia Pacific",city:"Melbourne",country:"Australia",optIn:!0},{code:"eu-central-2",name:"EU Central",city:"Zurich",country:"Switzerland",optIn:!0},{code:"eu-north-1",name:"EU North",city:"Stockholm",country:"Sweden",optIn:!1},{code:"eu-south-1",name:"EU South",city:"Milan",country:"Italy",optIn:!0},{code:"eu-south-2",name:"EU South",city:"Spain",country:"Spain",optIn:!0},{code:"eu-west-2",name:"EU West",city:"London",country:"UK",optIn:!1},{code:"eu-west-3",name:"EU West",city:"Paris",country:"France",optIn:!1},{code:"me-central-1",name:"Middle East",city:"UAE",country:"UAE",optIn:!0},{code:"me-south-1",name:"Middle East",city:"Bahrain",country:"Bahrain",optIn:!0},{code:"sa-east-1",name:"South America",city:"S\xE3o Paulo",country:"Brazil",optIn:!1},{code:"ap-southeast-5",name:"Asia Pacific",city:"Kuala Lumpur",country:"Malaysia",optIn:!0},{code:"ap-southeast-6",name:"Asia Pacific",city:"Auckland",country:"New Zealand",optIn:!0},{code:"ap-southeast-7",name:"Asia Pacific",city:"Bangkok",country:"Thailand",optIn:!0},{code:"ap-east-2",name:"Asia Pacific",city:"Taipei",country:"Taiwan",optIn:!0},{code:"ca-west-1",name:"Canada West",city:"Calgary",country:"Canada",optIn:!0},{code:"il-central-1",name:"Israel",city:"Tel Aviv",country:"Israel",optIn:!0},{code:"mx-central-1",name:"Mexico",city:"Central",country:"Mexico",optIn:!0}]),qt=Object.freeze(it.map(e=>e.code)),rs=new Set(it.filter(e=>e.optIn).map(e=>e.code));function ns(e){return`${e} is an opt-in region: it must be enabled in the AWS account (Account settings \u2192 Regions) before deployment will succeed.`}Ji(ns,"optInRegionWarning");function Cn(e){return it.find(t=>t.code===e)}Ji(Cn,"getRegionInfo");function Pn(e){let t=e.split("-");return t.length===3&&t[0]&&t[1]&&t[2]?`${t[0]}${t[1][0]}${t[2]}`:e}Ji(Pn,"abbreviateRegion");var tk=Object.freeze({"Europe/London":"eu-west-2","Europe/Jersey":"eu-west-2","Europe/Guernsey":"eu-west-2","Europe/Isle_of_Man":"eu-west-2","Europe/Dublin":"eu-west-1","Europe/Paris":"eu-west-3","Europe/Berlin":"eu-central-1","Europe/Amsterdam":"eu-central-1","Europe/Brussels":"eu-central-1","Europe/Luxembourg":"eu-central-1","Europe/Vienna":"eu-central-1","Europe/Prague":"eu-central-1","Europe/Warsaw":"eu-central-1","Europe/Budapest":"eu-central-1","Europe/Zurich":"eu-central-2","Europe/Stockholm":"eu-north-1","Europe/Oslo":"eu-north-1","Europe/Copenhagen":"eu-north-1","Europe/Helsinki":"eu-north-1","Europe/Tallinn":"eu-north-1","Europe/Riga":"eu-north-1","Europe/Vilnius":"eu-north-1","Europe/Rome":"eu-south-1","Europe/Malta":"eu-south-1","Europe/Athens":"eu-south-1","Europe/Madrid":"eu-south-2","Europe/Lisbon":"eu-south-2","America/New_York":"us-east-1","America/Detroit":"us-east-1","America/Toronto":"ca-central-1","America/Montreal":"ca-central-1","America/Halifax":"ca-central-1","America/Winnipeg":"ca-central-1","America/Chicago":"us-east-2","America/Indiana/Indianapolis":"us-east-2","America/Mexico_City":"us-east-2","America/Denver":"us-west-2","America/Phoenix":"us-west-2","America/Edmonton":"us-west-2","America/Vancouver":"us-west-2","America/Los_Angeles":"us-west-1","America/Tijuana":"us-west-1","America/Sao_Paulo":"sa-east-1","America/Argentina/Buenos_Aires":"sa-east-1","America/Santiago":"sa-east-1","America/Montevideo":"sa-east-1","America/Lima":"sa-east-1","America/Bogota":"us-east-1","Asia/Tokyo":"ap-northeast-1","Asia/Seoul":"ap-northeast-2","Asia/Hong_Kong":"ap-east-1","Asia/Shanghai":"ap-east-1","Asia/Taipei":"ap-east-1","Asia/Macau":"ap-east-1","Asia/Singapore":"ap-southeast-1","Asia/Kuala_Lumpur":"ap-southeast-1","Asia/Bangkok":"ap-southeast-1","Asia/Ho_Chi_Minh":"ap-southeast-1","Asia/Manila":"ap-southeast-1","Asia/Jakarta":"ap-southeast-3","Asia/Kolkata":"ap-south-1","Asia/Calcutta":"ap-south-1","Asia/Karachi":"ap-south-1","Asia/Dhaka":"ap-south-1","Asia/Colombo":"ap-south-1","Asia/Dubai":"me-central-1","Asia/Muscat":"me-central-1","Asia/Qatar":"me-south-1","Asia/Bahrain":"me-south-1","Asia/Riyadh":"me-south-1","Asia/Kuwait":"me-south-1","Asia/Jerusalem":"me-south-1","Australia/Sydney":"ap-southeast-2","Australia/Brisbane":"ap-southeast-2","Australia/Canberra":"ap-southeast-2","Australia/Melbourne":"ap-southeast-4","Australia/Hobart":"ap-southeast-4","Australia/Adelaide":"ap-southeast-4","Pacific/Auckland":"ap-southeast-2","Pacific/Honolulu":"us-west-1","Africa/Johannesburg":"af-south-1","Africa/Casablanca":"eu-south-2","Africa/Cairo":"me-south-1","Indian/Maldives":"ap-south-1"}),rk=Object.freeze({Europe:"eu-central-1",America:"us-east-1",Asia:"ap-southeast-1",Australia:"ap-southeast-2",Pacific:"ap-southeast-2",Africa:"af-south-1",Atlantic:"eu-west-1",Indian:"ap-south-1"}),nk=Object.freeze({"af-south-1":"eu-west-1","ap-east-1":"ap-southeast-1","ap-southeast-3":"ap-southeast-1","ap-southeast-4":"ap-southeast-2","eu-central-2":"eu-central-1","eu-south-1":"eu-central-1","eu-south-2":"eu-west-3","me-central-1":"ap-south-1","me-south-1":"ap-south-1"});function Ql(e){return rs.has(e)?nk[e]??Rn:e}Ji(Ql,"toDeployableRegion");function is(e){if(!e)return;let t=tk[e];if(t!==void 0)return Ql(t);let n=e.split("/")[0];if(n===void 0)return;let i=rk[n];return i===void 0?void 0:Ql(i)}Ji(is,"suggestRegionForTimezone");var ik=Object.defineProperty,Qi=(e,t)=>ik(e,"name",{value:t,configurable:!0});function os(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}Qi(os,"slugifyAccountName");function RS(e,t){let n=os(e),i=os(t);return n===""?i:i===""?n:`${n}-${i}`}Qi(RS,"defaultConnectedAccountName");function CS(e,t){let n=os(t);return n===""?e:`${e}-${n}`}Qi(CS,"suffixedAccountName");var PS=new Set(it.map(e=>Pn(e.code)));function NS(e){let t=e.toLowerCase().split(/[-\s_]+/).filter(i=>i.length>0),n=t[t.length-1];if(n!==void 0&&PS.has(n))return n}Qi(NS,"findTrailingRegionShortCode");function wS(e){return`Account name must not end with a region code ("-${e}") \u2014 the region is added automatically when deploying. Remove the "-${e}" suffix.`}Qi(wS,"regionSuffixRejectionMessage");var ok=Object.defineProperty,Nn=(e,t)=>ok(e,"name",{value:t,configurable:!0});function ht(e){return e instanceof Error?e:new Error(String(e))}Nn(ht,"normaliseError");function Rt(e){return e instanceof Error?e.message:typeof e=="string"?e:e&&typeof e=="object"&&"message"in e?String(e.message):"An unknown error occurred"}Nn(Rt,"getErrorMessage");function as(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}Nn(as,"hasErrorCode");function eo(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}Nn(eo,"getErrorCode");function ss(e){return e instanceof Error?e.stack:void 0}Nn(ss,"getErrorStack");function cs(e){let t=Rt(e),n=eo(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}Nn(cs,"formatErrorString");var ak=Object.defineProperty,sk=(e,t)=>ak(e,"name",{value:t,configurable:!0});function kS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}sk(kS,"singleton");var ck=Object.defineProperty,ed=(e,t)=>ck(e,"name",{value:t,configurable:!0}),OS=new Set(["NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","NODE_DEBUG","NODE_PRESERVE_SYMLINKS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","LD_BIND_NOW","DYLD_INSERT_LIBRARIES","DYLD_LIBRARY_PATH","DYLD_FRAMEWORK_PATH","PYTHONPATH","PYTHONSTARTUP","PERL5LIB","PERL5OPT","RUBYLIB","RUBYOPT","HOME","XDG_CONFIG_HOME","AWS_SHARED_CREDENTIALS_FILE","AWS_CONFIG_FILE","SHELL","BASH_ENV","ENV","ZDOTDIR"]);function DS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!OS.has(t.toUpperCase())))}ed(DS,"filterDangerousEnvVars");var uk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function wn(e){return e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[^"\\]|\\[\\nrt"])*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/(\w+:\/\/[^:]+:)[^@]+(@)/gi,"$1***$2").replace(/(?<![a-zA-Z])(password|passwd|secret|api[_-]?key|token|auth|credential)([=:])["']?[^\s"']+/gi,"$1$2***").replace(/\b(ghu_|ghs_|ghp_|gho_|github_pat_)[A-Za-z0-9_]+/g,"$1***").replace(/\b(sk|rk)_(live|test)_[A-Za-z0-9]{8,}/g,"$1_$2_***").replace(/\bwhsec_[A-Za-z0-9]{8,}/g,"whsec_***").replace(/(?<=Authorization:\s*Bearer\s+)[A-Za-z0-9._~+/=-]+/gi,"***").replace(/\b(AKIA|ASIA)[A-Z0-9]{12,}\b/g,"$1***").replace(/(?<=aws_secret_access_key\s*=\s*["']?|SecretAccessKey[=:]\s*|"(aws)?secretAccessKey":\s*"|"aws_secret_access_key":\s*")[A-Za-z0-9/+=]{40,}/gi,"***").replace(/(?<="(aws)?sessionToken":\s*"|"aws_session_token":\s*")[^"]+/gi,"***").replace(/(?<=aws_session_token\s*[=:]\s*["']?|SessionToken[=:]\s*["']?)[^\s"']+/gi,"***").replace(/(?<="(internal[Aa]piKey|fjallCallbackToken)":\s*")[^"]+/g,"***").replace(uk,"$1***")}ed(wn,"maskSensitiveOutput");function MS(e){let t=[],n="",i=!1,r=!1,o=!1,a=!1;for(let c of e){if(o){n+=c,o=!1;continue}if(c==="\\"&&!i){o=!0;continue}if(c==="'"&&!r){i=!i,a=!0;continue}if(c==='"'&&!i){r=!r,a=!0;continue}if(c===" "&&!i&&!r){(n||a)&&(t.push(n),n="",a=!1);continue}n+=c}if(i||r)throw new Error(`Unbalanced ${i?"single":"double"} quote in command: ${e.slice(0,80)}`);if(o)throw new Error(`Trailing backslash in command: ${e.slice(0,80)}`);return(n||a)&&t.push(n),t}ed(MS,"parseShellArgs");var lk=Object.defineProperty,dk=(e,t)=>lk(e,"name",{value:t,configurable:!0}),mk=dk(e=>new Promise(t=>setTimeout(t,e)),"sleep");var pk=Object.defineProperty,jS=(e,t)=>pk(e,"name",{value:t,configurable:!0});async function zS(e,t,n){let i=new Array(e.length);if(e.length===0)return i;let r=Math.max(1,Math.min(t,e.length)),o=0,a=jS(async()=>{for(;o<e.length;){let c=o++;try{let u=await n(e[c],c);i[c]={status:"fulfilled",value:u}}catch(u){i[c]={status:"rejected",reason:u}}}},"worker");return await Promise.all(Array.from({length:r},()=>a())),i}jS(zS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>rd,$input:()=>xp,$output:()=>Ep,NEVER:()=>td,TimePrecision:()=>Tp,ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Dc,ZodBase64URL:()=>Mc,ZodBigInt:()=>ui,ZodBigIntFormat:()=>Lc,ZodBoolean:()=>ci,ZodCIDRv4:()=>kc,ZodCIDRv6:()=>Oc,ZodCUID:()=>$c,ZodCUID2:()=>Tc,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>ai,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>jc,ZodEmail:()=>xc,ZodEmoji:()=>Ac,ZodEnum:()=>ii,ZodError:()=>ZD,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFirstPartyTypeKind:()=>rh,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Nc,ZodIPv6:()=>wc,ZodISODate:()=>vc,ZodISODateTime:()=>hc,ZodISODuration:()=>yc,ZodISOTime:()=>bc,ZodIntersection:()=>Ag,ZodIssueCode:()=>WD,ZodJWT:()=>zc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Cg,ZodNaN:()=>Gg,ZodNanoID:()=>Ic,ZodNever:()=>yg,ZodNonOptional:()=>Gc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>si,ZodNumberFormat:()=>Xr,ZodObject:()=>Po,ZodOptional:()=>Zc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRealError:()=>Ze,ZodRecord:()=>ni,ZodSet:()=>Pg,ZodString:()=>oi,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Rc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Cc,ZodXor:()=>Eg,_ZodString:()=>Ec,_default:()=>zg,_function:()=>$x,any:()=>nx,array:()=>Co,base64:()=>UE,base64url:()=>FE,bigint:()=>JE,boolean:()=>mg,catch:()=>Zg,check:()=>Tx,cidrv4:()=>zE,cidrv6:()=>LE,clone:()=>ke,codec:()=>Ex,coerce:()=>nh,config:()=>se,core:()=>Xt,cuid:()=>PE,cuid2:()=>NE,custom:()=>Rx,date:()=>ox,decode:()=>ng,decodeAsync:()=>og,describe:()=>Cx,discriminatedUnion:()=>dx,e164:()=>BE,email:()=>SE,emoji:()=>RE,encode:()=>rg,encodeAsync:()=>ig,endsWith:()=>Hn,enum:()=>Bc,exactOptional:()=>Dg,file:()=>bx,flattenError:()=>co,float32:()=>qE,float64:()=>KE,formatError:()=>uo,fromJSONSchema:()=>Mx,function:()=>$x,getErrorMap:()=>qD,globalRegistry:()=>_e,gt:()=>Pt,gte:()=>De,guid:()=>_E,hash:()=>HE,hex:()=>WE,hostname:()=>GE,httpUrl:()=>TE,includes:()=>Gn,instanceof:()=>Nx,int:()=>Sc,int32:()=>YE,int64:()=>QE,intersection:()=>Ig,invertCodec:()=>xx,ipv4:()=>DE,ipv6:()=>jE,iso:()=>ri,json:()=>kx,jwt:()=>VE,keyof:()=>ax,ksuid:()=>OE,lazy:()=>Xg,length:()=>Kr,literal:()=>vx,locales:()=>bo,looseObject:()=>ux,looseRecord:()=>px,lowercase:()=>Vn,lt:()=>Ct,lte:()=>Qe,mac:()=>ME,map:()=>fx,maxLength:()=>qr,maxSize:()=>_r,meta:()=>Px,mime:()=>qn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,nan:()=>_x,nanoid:()=>CE,nativeEnum:()=>hx,negative:()=>ac,never:()=>Uc,nonnegative:()=>cc,nonoptional:()=>Fg,nonpositive:()=>sc,normalize:()=>Kn,null:()=>hg,nullable:()=>Io,nullish:()=>yx,number:()=>dg,object:()=>sx,optional:()=>Ao,overwrite:()=>bt,parse:()=>Jf,parseAsync:()=>Qf,partialRecord:()=>mx,pipe:()=>_c,positive:()=>oc,prefault:()=>Ug,preprocess:()=>Ox,prettifyError:()=>gd,promise:()=>Ix,property:()=>uc,readonly:()=>qg,record:()=>Rg,refine:()=>eh,regex:()=>Bn,regexes:()=>Je,registry:()=>zs,safeDecode:()=>sg,safeDecodeAsync:()=>ug,safeEncode:()=>ag,safeEncodeAsync:()=>cg,safeParse:()=>eg,safeParseAsync:()=>tg,set:()=>gx,setErrorMap:()=>HD,size:()=>Hr,slugify:()=>Qn,startsWith:()=>Wn,strictObject:()=>cx,string:()=>Eo,stringFormat:()=>ZE,stringbool:()=>wx,success:()=>Sx,superRefine:()=>th,symbol:()=>tx,templateLiteral:()=>Ax,toJSONSchema:()=>pc,toLowerCase:()=>Xn,toUpperCase:()=>Jn,transform:()=>Vc,treeifyError:()=>fd,trim:()=>Yn,tuple:()=>Tg,uint32:()=>XE,uint64:()=>ex,ulid:()=>wE,undefined:()=>rx,union:()=>Fc,unknown:()=>Yr,uppercase:()=>Zn,url:()=>$E,util:()=>_,uuid:()=>EE,uuidv4:()=>xE,uuidv6:()=>AE,uuidv7:()=>IE,void:()=>ix,xid:()=>kE,xor:()=>lx});var Xt={};$t(Xt,{$ZodAny:()=>Zm,$ZodArray:()=>Km,$ZodAsyncError:()=>vt,$ZodBase64:()=>Om,$ZodBase64URL:()=>Dm,$ZodBigInt:()=>Ps,$ZodBigIntFormat:()=>Um,$ZodBoolean:()=>fo,$ZodCIDRv4:()=>Nm,$ZodCIDRv6:()=>wm,$ZodCUID:()=>ym,$ZodCUID2:()=>Sm,$ZodCatch:()=>pp,$ZodCheck:()=>X,$ZodCheckBigIntFormat:()=>Kd,$ZodCheckEndsWith:()=>sm,$ZodCheckGreaterThan:()=>As,$ZodCheckIncludes:()=>om,$ZodCheckLengthEquals:()=>tm,$ZodCheckLessThan:()=>xs,$ZodCheckLowerCase:()=>nm,$ZodCheckMaxLength:()=>Qd,$ZodCheckMaxSize:()=>Yd,$ZodCheckMimeType:()=>um,$ZodCheckMinLength:()=>em,$ZodCheckMinSize:()=>Xd,$ZodCheckMultipleOf:()=>Hd,$ZodCheckNumberFormat:()=>qd,$ZodCheckOverwrite:()=>lm,$ZodCheckProperty:()=>cm,$ZodCheckRegex:()=>rm,$ZodCheckSizeEquals:()=>Jd,$ZodCheckStartsWith:()=>am,$ZodCheckStringFormat:()=>Un,$ZodCheckUpperCase:()=>im,$ZodCodec:()=>ho,$ZodCustom:()=>_p,$ZodCustomStringFormat:()=>zm,$ZodDate:()=>qm,$ZodDefault:()=>up,$ZodDiscriminatedUnion:()=>Jm,$ZodE164:()=>Mm,$ZodEmail:()=>gm,$ZodEmoji:()=>vm,$ZodEncodeError:()=>gr,$ZodEnum:()=>np,$ZodError:()=>so,$ZodExactOptional:()=>sp,$ZodFile:()=>op,$ZodFunction:()=>bp,$ZodGUID:()=>pm,$ZodIPv4:()=>Rm,$ZodIPv6:()=>Cm,$ZodISODate:()=>Im,$ZodISODateTime:()=>Am,$ZodISODuration:()=>Tm,$ZodISOTime:()=>$m,$ZodIntersection:()=>Qm,$ZodJWT:()=>jm,$ZodKSUID:()=>xm,$ZodLazy:()=>Sp,$ZodLiteral:()=>ip,$ZodMAC:()=>Pm,$ZodMap:()=>tp,$ZodNaN:()=>fp,$ZodNanoID:()=>bm,$ZodNever:()=>Wm,$ZodNonOptional:()=>dp,$ZodNull:()=>Vm,$ZodNullable:()=>cp,$ZodNumber:()=>Cs,$ZodNumberFormat:()=>Lm,$ZodObject:()=>g_,$ZodObjectJIT:()=>Ym,$ZodOptional:()=>ws,$ZodPipe:()=>ks,$ZodPrefault:()=>lp,$ZodPreprocess:()=>gp,$ZodPromise:()=>yp,$ZodReadonly:()=>hp,$ZodRealError:()=>Ve,$ZodRecord:()=>ep,$ZodRegistry:()=>js,$ZodSet:()=>rp,$ZodString:()=>Wr,$ZodStringFormat:()=>q,$ZodSuccess:()=>mp,$ZodSymbol:()=>Fm,$ZodTemplateLiteral:()=>vp,$ZodTransform:()=>ap,$ZodTuple:()=>Ns,$ZodType:()=>N,$ZodULID:()=>_m,$ZodURL:()=>hm,$ZodUUID:()=>fm,$ZodUndefined:()=>Bm,$ZodUnion:()=>go,$ZodUnknown:()=>Gm,$ZodVoid:()=>Hm,$ZodXID:()=>Em,$ZodXor:()=>Xm,$brand:()=>rd,$constructor:()=>f,$input:()=>xp,$output:()=>Ep,Doc:()=>po,JSONSchema:()=>vE,JSONSchemaGenerator:()=>fc,NEVER:()=>td,TimePrecision:()=>Tp,_any:()=>qp,_array:()=>tf,_base64:()=>tc,_base64url:()=>rc,_bigint:()=>Fp,_boolean:()=>Lp,_catch:()=>MD,_check:()=>hE,_cidrv4:()=>Qs,_cidrv6:()=>ec,_coercedBigint:()=>Bp,_coercedBoolean:()=>Up,_coercedDate:()=>Qp,_coercedNumber:()=>kp,_coercedString:()=>Ip,_cuid:()=>Ws,_cuid2:()=>Hs,_custom:()=>nf,_date:()=>Jp,_decode:()=>fs,_decodeAsync:()=>hs,_default:()=>kD,_discriminatedUnion:()=>_D,_e164:()=>nc,_email:()=>Ls,_emoji:()=>Zs,_encode:()=>ps,_encodeAsync:()=>gs,_endsWith:()=>Hn,_enum:()=>TD,_file:()=>rf,_float32:()=>Dp,_float64:()=>Mp,_gt:()=>Pt,_gte:()=>De,_guid:()=>yo,_includes:()=>Gn,_int:()=>Op,_int32:()=>jp,_int64:()=>Vp,_intersection:()=>ED,_ipv4:()=>Xs,_ipv6:()=>Js,_isoDate:()=>Cp,_isoDateTime:()=>Rp,_isoDuration:()=>Np,_isoTime:()=>Pp,_jwt:()=>ic,_ksuid:()=>Ys,_lazy:()=>UD,_length:()=>Kr,_literal:()=>CD,_lowercase:()=>Vn,_lt:()=>Ct,_lte:()=>Qe,_mac:()=>$p,_map:()=>ID,_max:()=>Qe,_maxLength:()=>qr,_maxSize:()=>_r,_mime:()=>qn,_min:()=>De,_minLength:()=>Yt,_minSize:()=>Nt,_multipleOf:()=>Sr,_nan:()=>ef,_nanoid:()=>Gs,_nativeEnum:()=>RD,_negative:()=>ac,_never:()=>Yp,_nonnegative:()=>cc,_nonoptional:()=>OD,_nonpositive:()=>sc,_normalize:()=>Kn,_null:()=>Hp,_nullable:()=>wD,_number:()=>wp,_optional:()=>ND,_overwrite:()=>bt,_parse:()=>Mn,_parseAsync:()=>jn,_pipe:()=>jD,_positive:()=>oc,_promise:()=>FD,_property:()=>uc,_readonly:()=>zD,_record:()=>AD,_refine:()=>of,_regex:()=>Bn,_safeDecode:()=>bs,_safeDecodeAsync:()=>Ss,_safeEncode:()=>vs,_safeEncodeAsync:()=>ys,_safeParse:()=>zn,_safeParseAsync:()=>Ln,_set:()=>$D,_size:()=>Hr,_slugify:()=>Qn,_startsWith:()=>Wn,_string:()=>Ap,_stringFormat:()=>ei,_stringbool:()=>uf,_success:()=>DD,_superRefine:()=>af,_symbol:()=>Gp,_templateLiteral:()=>LD,_toLowerCase:()=>Xn,_toUpperCase:()=>Jn,_transform:()=>PD,_trim:()=>Yn,_tuple:()=>xD,_uint32:()=>zp,_uint64:()=>Zp,_ulid:()=>qs,_undefined:()=>Wp,_union:()=>yD,_unknown:()=>Kp,_uppercase:()=>Zn,_url:()=>So,_uuid:()=>Us,_uuidv4:()=>Fs,_uuidv6:()=>Bs,_uuidv7:()=>Vs,_void:()=>Xp,_xid:()=>Ks,_xor:()=>SD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ti,createToJSONSchemaMethod:()=>lf,decode:()=>Fk,decodeAsync:()=>Vk,describe:()=>sf,encode:()=>Uk,encodeAsync:()=>Bk,extractDefs:()=>xr,finalize:()=>Ar,flattenError:()=>co,formatError:()=>uo,globalConfig:()=>Vr,globalRegistry:()=>_e,initializeContext:()=>Er,isValidBase64:()=>km,isValidBase64URL:()=>d_,isValidJWT:()=>m_,locales:()=>bo,meta:()=>cf,parse:()=>ds,parseAsync:()=>ms,prettifyError:()=>gd,process:()=>Z,regexes:()=>Je,registry:()=>zs,safeDecode:()=>Gk,safeDecodeAsync:()=>Hk,safeEncode:()=>Zk,safeEncodeAsync:()=>Wk,safeParse:()=>hd,safeParseAsync:()=>vd,toDotPath:()=>ZS,toJSONSchema:()=>pc,treeifyError:()=>fd,util:()=>_,version:()=>dm});var LS,td=Object.freeze({status:"aborted"});function f(e,t,n){function i(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let l=a.prototype,m=Object.keys(l);for(let p=0;p<m.length;p++){let g=m[p];g in c||(c[g]=l[g].bind(c))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function a(c){var u;let l=n?.Parent?new o:this;i(l,c),(u=l._zod).deferred??(u.deferred=[]);for(let m of l._zod.deferred)m();return l}return Object.defineProperty(a,"init",{value:i}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var rd=Symbol("zod_brand"),vt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},gr=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(LS=globalThis).__zod_globalConfig??(LS.__zod_globalConfig={});var Vr=globalThis.__zod_globalConfig;function se(e){return e&&Object.assign(Vr,e),Vr}var _={};$t(_,{BIGINT_FORMAT_RANGES:()=>md,Class:()=>id,NUMBER_FORMAT_RANGES:()=>dd,aborted:()=>yr,allowsEval:()=>sd,assert:()=>bk,assertEqual:()=>fk,assertIs:()=>hk,assertNever:()=>vk,assertNotEqual:()=>gk,assignProp:()=>vr,base64ToUint8Array:()=>FS,base64urlToUint8Array:()=>Dk,cached:()=>On,captureStackTrace:()=>ls,cleanEnum:()=>Ok,cleanRegex:()=>no,clone:()=>ke,cloneDef:()=>Sk,createTransparentProxy:()=>$k,defineLazy:()=>M,esc:()=>us,escapeRegex:()=>ot,explicitlyAborted:()=>pd,extend:()=>Ck,finalizeIssue:()=>Oe,floatSafeRemainder:()=>od,getElementAtPath:()=>_k,getEnumValues:()=>ro,getLengthableOrigin:()=>ao,getParsedType:()=>Ik,getSizableOrigin:()=>oo,hexToUint8Array:()=>jk,isObject:()=>Zr,isPlainObject:()=>br,issue:()=>Dn,joinValues:()=>h,jsonStringifyReplacer:()=>kn,merge:()=>Nk,mergeDefs:()=>Kt,normalizeParams:()=>E,nullish:()=>hr,numKeys:()=>Ak,objectClone:()=>yk,omit:()=>Rk,optionalKeys:()=>ld,parsedType:()=>S,partial:()=>wk,pick:()=>Tk,prefixIssues:()=>Be,primitiveTypes:()=>ud,promiseAllObject:()=>Ek,propertyKeyTypes:()=>io,randomString:()=>xk,required:()=>kk,safeExtend:()=>Pk,shallowClone:()=>cd,slugify:()=>ad,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>BS,uint8ArrayToBase64url:()=>Mk,uint8ArrayToHex:()=>zk,unwrapMessage:()=>to});function fk(e){return e}function gk(e){return e}function hk(e){}function vk(e){throw new Error("Unexpected value in exhaustive check")}function bk(e){}function ro(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function h(e,t="|"){return e.map(n=>y(n)).join(t)}function kn(e,t){return typeof t=="bigint"?t.toString():t}function On(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function hr(e){return e==null}function no(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function od(e,t){let n=e/t,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-i)<r?0:n-i}var US=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==US)return i===void 0&&(i=US,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function yk(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function vr(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Kt(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function Sk(e){return Kt(e._zod.def)}function _k(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Ek(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function xk(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function us(e){return JSON.stringify(e)}function ad(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ls="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Zr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sd=On(()=>{if(Vr.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function br(e){if(Zr(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Zr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function cd(e){return br(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function Ak(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var Ik=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},io=new Set(["string","number","symbol"]),ud=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function E(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $k(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function y(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function ld(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var dd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},md={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Tk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Kt(e._zod.def,{get shape(){let a={};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(a[c]=n.shape[c])}return vr(this,"shape",a),a},checks:[]});return ke(e,o)}function Rk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Kt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete a[c]}return vr(this,"shape",a),a},checks:[]});return ke(e,o)}function Ck(e,t){if(!br(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Kt(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return vr(this,"shape",o),o}});return ke(e,r)}function Pk(e,t){if(!br(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Kt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return vr(this,"shape",i),i}});return ke(e,n)}function Nk(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=Kt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return vr(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ke(e,n)}function wk(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Kt(t._zod.def,{get shape(){let c=t._zod.def.shape,u={...c};if(n)for(let l in n){if(!(l in c))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(u[l]=e?new e({type:"optional",innerType:c[l]}):c[l])}else for(let l in c)u[l]=e?new e({type:"optional",innerType:c[l]}):c[l];return vr(this,"shape",u),u},checks:[]});return ke(t,a)}function kk(e,t,n){let i=Kt(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(o[a]=new e({type:"nonoptional",innerType:r[a]}))}else for(let a in r)o[a]=new e({type:"nonoptional",innerType:r[a]});return vr(this,"shape",o),o}});return ke(t,i)}function yr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pd(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Be(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function to(e){return typeof e=="string"?e:e?.message}function Oe(e,t,n){let i=e.message?e.message:to(e.inst?._zod.def?.error?.(e))??to(t?.error?.(e))??to(n.customError?.(e))??to(n.localeError?.(e))??"Invalid input",{inst:r,continue:o,input:a,...c}=e;return c.path??(c.path=[]),c.message=i,t?.reportInput&&(c.input=a),c}function oo(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function ao(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function S(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Dn(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function Ok(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function FS(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function BS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Dk(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return FS(t+n)}function Mk(e){return BS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function jk(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function zk(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var id=class{constructor(...t){}};var VS=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,kn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},so=f("$ZodError",VS),Ve=f("$ZodError",VS,{Parent:Error});function co(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function uo(e,t=n=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let a of r.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>i({issues:c},[...o,...a.path]));else if(a.code==="invalid_key")i({issues:a.issues},[...o,...a.path]);else if(a.code==="invalid_element")i({issues:a.issues},[...o,...a.path]);else{let c=[...o,...a.path];if(c.length===0)n._errors.push(t(a));else{let u=n,l=0;for(;l<c.length;){let m=c[l];l===c.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(t(a))):u[m]=u[m]||{_errors:[]},u=u[m],l++}}}};return i(e),n}function fd(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var a,c;for(let u of r.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(l=>i({issues:l},[...o,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...o,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...o,...u.path]);else{let l=[...o,...u.path];if(l.length===0){n.errors.push(t(u));continue}let m=n,p=0;for(;p<l.length;){let g=l[p],v=p===l.length-1;typeof g=="string"?(m.properties??(m.properties={}),(a=m.properties)[g]??(a[g]={errors:[]}),m=m.properties[g]):(m.items??(m.items=[]),(c=m.items)[g]??(c[g]={errors:[]}),m=m.items[g]),v&&m.errors.push(t(u)),p++}}};return i(e),n}function ZS(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function gd(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${ZS(i.path)}`);return t.join(`
100
+ `),this.close()}_(t,n){return t.toLowerCase()==="y"?(this.value=!0,this.submit()):t.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write($w.hide):this.out.write(PF(this.outputText,this.out.columns)),super.render(),this.outputText=[Iw.symbol(this.done,this.aborted),Aw.bold(this.msg),Iw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Aw.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(NF.line+$w.to(0)+this.outputText))}};Tw.exports=mS});var Pw=I((kJ,Cw)=>{"use strict";Cw.exports={TextPrompt:TN(),SelectPrompt:NN(),TogglePrompt:DN(),DatePrompt:sw(),NumberPrompt:dw(),MultiselectPrompt:sS(),AutocompletePrompt:yw(),AutocompleteMultiselectPrompt:xw(),ConfirmPrompt:Rw()}});var ww=I(Nw=>{"use strict";var Xe=Nw,wF=Pw(),Kl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new wF[e](t),a=n.onAbort||Kl,c=n.onSubmit||Kl,u=n.onExit||Kl;o.on("state",t.onState||Kl),o.on("submit",l=>i(c(l))),o.on("exit",l=>i(u(l))),o.on("abort",l=>r(a(l)))})}Xe.text=e=>Ht("TextPrompt",e);Xe.password=e=>(e.style="password",Xe.text(e));Xe.invisible=e=>(e.style="invisible",Xe.text(e));Xe.number=e=>Ht("NumberPrompt",e);Xe.date=e=>Ht("DatePrompt",e);Xe.confirm=e=>Ht("ConfirmPrompt",e);Xe.list=e=>{let t=e.separator||",";return Ht("TextPrompt",e,{onSubmit:n=>n.split(t).map(i=>i.trim())})};Xe.toggle=e=>Ht("TogglePrompt",e);Xe.select=e=>Ht("SelectPrompt",e);Xe.multiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("MultiselectPrompt",e,{onAbort:t,onSubmit:t})};Xe.autocompleteMultiselect=e=>{e.choices=[].concat(e.choices||[]);let t=n=>n.filter(i=>i.selected).map(i=>i.value);return Ht("AutocompleteMultiselectPrompt",e,{onAbort:t,onSubmit:t})};var kF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||kF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var Dw=I((DJ,Ow)=>{"use strict";var pS=ww(),OF=["suggest","format","onState","validate","onRender","type"],kw=()=>{};async function Ur(e=[],{onSubmit:t=kw,onCancel:n=kw}={}){let i={},r=Ur._override||{};e=[].concat(e);let o,a,c,u,l,m,p=async(g,v,A=!1)=>{if(!(!A&&g.validate&&g.validate(v)!==!0))return g.format?await g.format(v,i):v};for(a of e)if({name:u,type:l}=a,typeof l=="function"&&(l=await l(o,{...i},a),a.type=l),!!l){for(let g in a){if(OF.includes(g))continue;let v=a[g];a[g]=typeof v=="function"?await v(o,{...i},m):v}if(m=a,typeof a.message!="string")throw new Error("prompt message is required");if({name:u,type:l}=a,pS[l]===void 0)throw new Error(`prompt type (${l}) is not defined`);if(r[a.name]!==void 0&&(o=await p(a,r[a.name]),o!==void 0)){i[u]=o;continue}try{o=Ur._injected?DF(Ur._injected,a.initial):await pS[l](a),i[u]=o=await p(a,o,!0),c=await t(a,o,i)}catch{c=!await n(a,i)}if(c)return i}return i}function DF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function MF(e){Ur._injected=(Ur._injected||[]).concat(e)}function jF(e){Ur._override=Object.assign({},e)}Ow.exports=Object.assign(Ur,{prompt:Ur,prompts:pS,inject:MF,override:jF})});var fS=I((MJ,Mw)=>{function zF(e){e=(Array.isArray(e)?e:e.split(".")).map(Number);let t=0,n=process.versions.node.split(".").map(Number);for(;t<e.length;t++){if(n[t]>e[t])return!1;if(e[t]>n[t])return!0}return!1}Mw.exports=zF("8.6.0")?sN():Dw()});import*as Hi from"fs";import*as tC from"path";var qw=Object.defineProperty,fr=(e,t)=>qw(e,"name",{value:t,configurable:!0});function $e(e){return e.replace(/[-_](.)/g,(t,n)=>n.toUpperCase()).replace(/^./,t=>t.toUpperCase())}fr($e,"toPascalCase");function Tt(e){return e.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}fr(Tt,"toKebab");function Tn(e){return Tt(e).replace(/-/g,"_")}fr(Tn,"toValidDatabaseName");function SS(e){return Tt(e).replace(/-/g,"_").toUpperCase()}fr(SS,"toScreamingSnake");function _S(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}fr(_S,"capitalise");function ES(e){return e.split(".").join("")}fr(ES,"getSafeZoneName");function Br(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}fr(Br,"accountConstructKey");function xS(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Br(t)===Br(e)&&Br(e)!==""}fr(xS,"hasAsciiStableConstructKey");var Kw=Object.defineProperty,es=(e,t)=>Kw(e,"name",{value:t,configurable:!0});function ts(e){return`${$e(e.split(".").join(""))}Domain`}es(ts,"getDomainStackName");function AS(e){return`${e}UsEast1Certificates`}es(AS,"getDomainUsEast1CertificatesStackName");function Jl(e){let t=e.replace(/\./g,"-");return{hostedZoneId:`${t}-hosted-zone-id`,certificateArn:`${t}-certificate-arn`,usEast1CertificateArn:`${t}-us-east-1-certificate-arn`,delegationRoleArn:`${t}-delegation-role-arn`,nameservers:`${t}-nameservers`}}es(Jl,"getDomainExportNames");function IS(e){return typeof e.hostedZoneId=="string"}es(IS,"isManagedDomainBinding");var Yw=Object.defineProperty,Xw=(e,t)=>Yw(e,"name",{value:t,configurable:!0});function $S(e){return`${$e(e)}ImageTag`}Xw($S,"imageTagParameterName");var Jw=Object.defineProperty,Qw=(e,t)=>Jw(e,"name",{value:t,configurable:!0});function TS(e){let t=new Map;for(let n of e){let i=Br(n);if(i==="")return{kind:"empty-construct-key",name:n};let r=t.get(i);if(r!==void 0)return{kind:"duplicate-construct-key",name:n,existingName:r,constructKey:i};t.set(i,n)}return null}Qw(TS,"findAccountNameCollision");var ek=Object.defineProperty,Ji=(e,t)=>ek(e,"name",{value:t,configurable:!0}),Rn="us-east-2";var it=Object.freeze([{code:"us-east-2",name:"US East",city:"Ohio",country:"USA",optIn:!1},{code:"us-west-2",name:"US West",city:"Oregon",country:"USA",optIn:!1},{code:"us-east-1",name:"US East",city:"N. Virginia",country:"USA",optIn:!1},{code:"eu-west-1",name:"EU West",city:"Ireland",country:"Ireland",optIn:!1},{code:"eu-central-1",name:"EU Central",city:"Frankfurt",country:"Germany",optIn:!1},{code:"ap-southeast-1",name:"Asia Pacific",city:"Singapore",country:"Singapore",optIn:!1},{code:"ap-northeast-1",name:"Asia Pacific",city:"Tokyo",country:"Japan",optIn:!1},{code:"ap-southeast-2",name:"Asia Pacific",city:"Sydney",country:"Australia",optIn:!1},{code:"us-west-1",name:"US West",city:"N. California",country:"USA",optIn:!1},{code:"ca-central-1",name:"Canada",city:"Central",country:"Canada",optIn:!1},{code:"af-south-1",name:"Africa",city:"Cape Town",country:"South Africa",optIn:!0},{code:"ap-east-1",name:"Asia Pacific",city:"Hong Kong",country:"Hong Kong",optIn:!0},{code:"ap-northeast-2",name:"Asia Pacific",city:"Seoul",country:"South Korea",optIn:!1},{code:"ap-northeast-3",name:"Asia Pacific",city:"Osaka",country:"Japan",optIn:!1},{code:"ap-south-1",name:"Asia Pacific",city:"Mumbai",country:"India",optIn:!1},{code:"ap-south-2",name:"Asia Pacific",city:"Hyderabad",country:"India",optIn:!0},{code:"ap-southeast-3",name:"Asia Pacific",city:"Jakarta",country:"Indonesia",optIn:!0},{code:"ap-southeast-4",name:"Asia Pacific",city:"Melbourne",country:"Australia",optIn:!0},{code:"eu-central-2",name:"EU Central",city:"Zurich",country:"Switzerland",optIn:!0},{code:"eu-north-1",name:"EU North",city:"Stockholm",country:"Sweden",optIn:!1},{code:"eu-south-1",name:"EU South",city:"Milan",country:"Italy",optIn:!0},{code:"eu-south-2",name:"EU South",city:"Spain",country:"Spain",optIn:!0},{code:"eu-west-2",name:"EU West",city:"London",country:"UK",optIn:!1},{code:"eu-west-3",name:"EU West",city:"Paris",country:"France",optIn:!1},{code:"me-central-1",name:"Middle East",city:"UAE",country:"UAE",optIn:!0},{code:"me-south-1",name:"Middle East",city:"Bahrain",country:"Bahrain",optIn:!0},{code:"sa-east-1",name:"South America",city:"S\xE3o Paulo",country:"Brazil",optIn:!1},{code:"ap-southeast-5",name:"Asia Pacific",city:"Kuala Lumpur",country:"Malaysia",optIn:!0},{code:"ap-southeast-6",name:"Asia Pacific",city:"Auckland",country:"New Zealand",optIn:!0},{code:"ap-southeast-7",name:"Asia Pacific",city:"Bangkok",country:"Thailand",optIn:!0},{code:"ap-east-2",name:"Asia Pacific",city:"Taipei",country:"Taiwan",optIn:!0},{code:"ca-west-1",name:"Canada West",city:"Calgary",country:"Canada",optIn:!0},{code:"il-central-1",name:"Israel",city:"Tel Aviv",country:"Israel",optIn:!0},{code:"mx-central-1",name:"Mexico",city:"Central",country:"Mexico",optIn:!0}]),qt=Object.freeze(it.map(e=>e.code)),rs=new Set(it.filter(e=>e.optIn).map(e=>e.code));function ns(e){return`${e} is an opt-in region: it must be enabled in the AWS account (Account settings \u2192 Regions) before deployment will succeed.`}Ji(ns,"optInRegionWarning");function Cn(e){return it.find(t=>t.code===e)}Ji(Cn,"getRegionInfo");function Pn(e){let t=e.split("-");return t.length===3&&t[0]&&t[1]&&t[2]?`${t[0]}${t[1][0]}${t[2]}`:e}Ji(Pn,"abbreviateRegion");var tk=Object.freeze({"Europe/London":"eu-west-2","Europe/Jersey":"eu-west-2","Europe/Guernsey":"eu-west-2","Europe/Isle_of_Man":"eu-west-2","Europe/Dublin":"eu-west-1","Europe/Paris":"eu-west-3","Europe/Berlin":"eu-central-1","Europe/Amsterdam":"eu-central-1","Europe/Brussels":"eu-central-1","Europe/Luxembourg":"eu-central-1","Europe/Vienna":"eu-central-1","Europe/Prague":"eu-central-1","Europe/Warsaw":"eu-central-1","Europe/Budapest":"eu-central-1","Europe/Zurich":"eu-central-2","Europe/Stockholm":"eu-north-1","Europe/Oslo":"eu-north-1","Europe/Copenhagen":"eu-north-1","Europe/Helsinki":"eu-north-1","Europe/Tallinn":"eu-north-1","Europe/Riga":"eu-north-1","Europe/Vilnius":"eu-north-1","Europe/Rome":"eu-south-1","Europe/Malta":"eu-south-1","Europe/Athens":"eu-south-1","Europe/Madrid":"eu-south-2","Europe/Lisbon":"eu-south-2","America/New_York":"us-east-1","America/Detroit":"us-east-1","America/Toronto":"ca-central-1","America/Montreal":"ca-central-1","America/Halifax":"ca-central-1","America/Winnipeg":"ca-central-1","America/Chicago":"us-east-2","America/Indiana/Indianapolis":"us-east-2","America/Mexico_City":"us-east-2","America/Denver":"us-west-2","America/Phoenix":"us-west-2","America/Edmonton":"us-west-2","America/Vancouver":"us-west-2","America/Los_Angeles":"us-west-1","America/Tijuana":"us-west-1","America/Sao_Paulo":"sa-east-1","America/Argentina/Buenos_Aires":"sa-east-1","America/Santiago":"sa-east-1","America/Montevideo":"sa-east-1","America/Lima":"sa-east-1","America/Bogota":"us-east-1","Asia/Tokyo":"ap-northeast-1","Asia/Seoul":"ap-northeast-2","Asia/Hong_Kong":"ap-east-1","Asia/Shanghai":"ap-east-1","Asia/Taipei":"ap-east-1","Asia/Macau":"ap-east-1","Asia/Singapore":"ap-southeast-1","Asia/Kuala_Lumpur":"ap-southeast-1","Asia/Bangkok":"ap-southeast-1","Asia/Ho_Chi_Minh":"ap-southeast-1","Asia/Manila":"ap-southeast-1","Asia/Jakarta":"ap-southeast-3","Asia/Kolkata":"ap-south-1","Asia/Calcutta":"ap-south-1","Asia/Karachi":"ap-south-1","Asia/Dhaka":"ap-south-1","Asia/Colombo":"ap-south-1","Asia/Dubai":"me-central-1","Asia/Muscat":"me-central-1","Asia/Qatar":"me-south-1","Asia/Bahrain":"me-south-1","Asia/Riyadh":"me-south-1","Asia/Kuwait":"me-south-1","Asia/Jerusalem":"me-south-1","Australia/Sydney":"ap-southeast-2","Australia/Brisbane":"ap-southeast-2","Australia/Canberra":"ap-southeast-2","Australia/Melbourne":"ap-southeast-4","Australia/Hobart":"ap-southeast-4","Australia/Adelaide":"ap-southeast-4","Pacific/Auckland":"ap-southeast-2","Pacific/Honolulu":"us-west-1","Africa/Johannesburg":"af-south-1","Africa/Casablanca":"eu-south-2","Africa/Cairo":"me-south-1","Indian/Maldives":"ap-south-1"}),rk=Object.freeze({Europe:"eu-central-1",America:"us-east-1",Asia:"ap-southeast-1",Australia:"ap-southeast-2",Pacific:"ap-southeast-2",Africa:"af-south-1",Atlantic:"eu-west-1",Indian:"ap-south-1"}),nk=Object.freeze({"af-south-1":"eu-west-1","ap-east-1":"ap-southeast-1","ap-southeast-3":"ap-southeast-1","ap-southeast-4":"ap-southeast-2","eu-central-2":"eu-central-1","eu-south-1":"eu-central-1","eu-south-2":"eu-west-3","me-central-1":"ap-south-1","me-south-1":"ap-south-1"});function Ql(e){return rs.has(e)?nk[e]??Rn:e}Ji(Ql,"toDeployableRegion");function is(e){if(!e)return;let t=tk[e];if(t!==void 0)return Ql(t);let n=e.split("/")[0];if(n===void 0)return;let i=rk[n];return i===void 0?void 0:Ql(i)}Ji(is,"suggestRegionForTimezone");var ik=Object.defineProperty,Qi=(e,t)=>ik(e,"name",{value:t,configurable:!0});function os(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}Qi(os,"slugifyAccountName");function RS(e,t){let n=os(e),i=os(t);return n===""?i:i===""?n:`${n}-${i}`}Qi(RS,"defaultConnectedAccountName");function CS(e,t){let n=os(t);return n===""?e:`${e}-${n}`}Qi(CS,"suffixedAccountName");var PS=new Set(it.map(e=>Pn(e.code)));function NS(e){let t=e.toLowerCase().split(/[-\s_]+/).filter(i=>i.length>0),n=t[t.length-1];if(n!==void 0&&PS.has(n))return n}Qi(NS,"findTrailingRegionShortCode");function wS(e){return`Account name must not end with a region code ("-${e}") \u2014 the region is added automatically when deploying. Remove the "-${e}" suffix.`}Qi(wS,"regionSuffixRejectionMessage");var ok=Object.defineProperty,Nn=(e,t)=>ok(e,"name",{value:t,configurable:!0});function ht(e){return e instanceof Error?e:new Error(String(e))}Nn(ht,"normaliseError");function Rt(e){return e instanceof Error?e.message:typeof e=="string"?e:e&&typeof e=="object"&&"message"in e?String(e.message):"An unknown error occurred"}Nn(Rt,"getErrorMessage");function as(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}Nn(as,"hasErrorCode");function eo(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}Nn(eo,"getErrorCode");function ss(e){return e instanceof Error?e.stack:void 0}Nn(ss,"getErrorStack");function cs(e){let t=Rt(e),n=eo(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}Nn(cs,"formatErrorString");var ak=Object.defineProperty,sk=(e,t)=>ak(e,"name",{value:t,configurable:!0});function kS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}sk(kS,"singleton");var ck=Object.defineProperty,ed=(e,t)=>ck(e,"name",{value:t,configurable:!0}),OS=new Set(["NODE_OPTIONS","NODE_PATH","NODE_EXTRA_CA_CERTS","NODE_DEBUG","NODE_PRESERVE_SYMLINKS","LD_PRELOAD","LD_LIBRARY_PATH","LD_AUDIT","LD_BIND_NOW","DYLD_INSERT_LIBRARIES","DYLD_LIBRARY_PATH","DYLD_FRAMEWORK_PATH","PYTHONPATH","PYTHONSTARTUP","PERL5LIB","PERL5OPT","RUBYLIB","RUBYOPT","HOME","XDG_CONFIG_HOME","AWS_SHARED_CREDENTIALS_FILE","AWS_CONFIG_FILE","SHELL","BASH_ENV","ENV","ZDOTDIR"]);function DS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!OS.has(t.toUpperCase())))}ed(DS,"filterDangerousEnvVars");var uk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function wn(e){return e.replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[^"\\]|\\[\\nrt"])*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/-----BEGIN [A-Z ]*PRIVATE KEY-----[\s\S]*?-----END [A-Z ]*PRIVATE KEY-----/g,"-----BEGIN [REDACTED] PRIVATE KEY-----...-----END [REDACTED] PRIVATE KEY-----").replace(/(\w+:\/\/[^:]+:)[^@]+(@)/gi,"$1***$2").replace(/(?<![a-zA-Z])(password|passwd|secret|api[_-]?key|token|auth|credential)([=:])["']?[^\s"']+/gi,"$1$2***").replace(/\b(ghu_|ghs_|ghp_|gho_|github_pat_)[A-Za-z0-9_]+/g,"$1***").replace(/\b(sk|rk)_(live|test)_[A-Za-z0-9]{8,}/g,"$1_$2_***").replace(/\bwhsec_[A-Za-z0-9]{8,}/g,"whsec_***").replace(/(?<=Authorization:\s*Bearer\s+)[A-Za-z0-9._~+/=-]+/gi,"***").replace(/\b(AKIA|ASIA)[A-Z0-9]{12,}\b/g,"$1***").replace(/(?<=aws_secret_access_key\s*=\s*["']?|SecretAccessKey[=:]\s*|"(aws)?secretAccessKey":\s*"|"aws_secret_access_key":\s*")[A-Za-z0-9/+=]{40,}/gi,"***").replace(/(?<="(aws)?sessionToken":\s*"|"aws_session_token":\s*")[^"]+/gi,"***").replace(/(?<=aws_session_token\s*[=:]\s*["']?|SessionToken[=:]\s*["']?)[^\s"']+/gi,"***").replace(/(?<="(internal[Aa]piKey|fjallCallbackToken)":\s*")[^"]+/g,"***").replace(uk,"$1***")}ed(wn,"maskSensitiveOutput");function MS(e){let t=[],n="",i=!1,r=!1,o=!1,a=!1;for(let c of e){if(o){n+=c,o=!1;continue}if(c==="\\"&&!i){o=!0;continue}if(c==="'"&&!r){i=!i,a=!0;continue}if(c==='"'&&!i){r=!r,a=!0;continue}if(c===" "&&!i&&!r){(n||a)&&(t.push(n),n="",a=!1);continue}n+=c}if(i||r)throw new Error(`Unbalanced ${i?"single":"double"} quote in command: ${e.slice(0,80)}`);if(o)throw new Error(`Trailing backslash in command: ${e.slice(0,80)}`);return(n||a)&&t.push(n),t}ed(MS,"parseShellArgs");var lk=Object.defineProperty,dk=(e,t)=>lk(e,"name",{value:t,configurable:!0}),mk=dk(e=>new Promise(t=>setTimeout(t,e)),"sleep");var pk=Object.defineProperty,jS=(e,t)=>pk(e,"name",{value:t,configurable:!0});async function zS(e,t,n){let i=new Array(e.length);if(e.length===0)return i;let r=Math.max(1,Math.min(t,e.length)),o=0,a=jS(async()=>{for(;o<e.length;){let c=o++;try{let u=await n(e[c],c);i[c]={status:"fulfilled",value:u}}catch(u){i[c]={status:"rejected",reason:u}}}},"worker");return await Promise.all(Array.from({length:r},()=>a())),i}jS(zS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>rd,$input:()=>xp,$output:()=>Ep,NEVER:()=>td,TimePrecision:()=>Tp,ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Dc,ZodBase64URL:()=>Mc,ZodBigInt:()=>ui,ZodBigIntFormat:()=>Lc,ZodBoolean:()=>ci,ZodCIDRv4:()=>kc,ZodCIDRv6:()=>Oc,ZodCUID:()=>$c,ZodCUID2:()=>Tc,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>ai,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>jc,ZodEmail:()=>xc,ZodEmoji:()=>Ac,ZodEnum:()=>ii,ZodError:()=>ZD,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFirstPartyTypeKind:()=>rh,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Nc,ZodIPv6:()=>wc,ZodISODate:()=>vc,ZodISODateTime:()=>hc,ZodISODuration:()=>yc,ZodISOTime:()=>bc,ZodIntersection:()=>Ag,ZodIssueCode:()=>WD,ZodJWT:()=>zc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Cg,ZodNaN:()=>Gg,ZodNanoID:()=>Ic,ZodNever:()=>yg,ZodNonOptional:()=>Gc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>si,ZodNumberFormat:()=>Xr,ZodObject:()=>Po,ZodOptional:()=>Zc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRealError:()=>Ze,ZodRecord:()=>ni,ZodSet:()=>Pg,ZodString:()=>oi,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Rc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Cc,ZodXor:()=>Eg,_ZodString:()=>Ec,_default:()=>zg,_function:()=>$x,any:()=>nx,array:()=>Co,base64:()=>UE,base64url:()=>FE,bigint:()=>JE,boolean:()=>mg,catch:()=>Zg,check:()=>Tx,cidrv4:()=>zE,cidrv6:()=>LE,clone:()=>ke,codec:()=>Ex,coerce:()=>nh,config:()=>se,core:()=>Xt,cuid:()=>PE,cuid2:()=>NE,custom:()=>Rx,date:()=>ox,decode:()=>ng,decodeAsync:()=>og,describe:()=>Cx,discriminatedUnion:()=>dx,e164:()=>BE,email:()=>SE,emoji:()=>RE,encode:()=>rg,encodeAsync:()=>ig,endsWith:()=>Hn,enum:()=>Bc,exactOptional:()=>Dg,file:()=>bx,flattenError:()=>co,float32:()=>qE,float64:()=>KE,formatError:()=>uo,fromJSONSchema:()=>Mx,function:()=>$x,getErrorMap:()=>qD,globalRegistry:()=>_e,gt:()=>Pt,gte:()=>De,guid:()=>_E,hash:()=>HE,hex:()=>WE,hostname:()=>GE,httpUrl:()=>TE,includes:()=>Gn,instanceof:()=>Nx,int:()=>Sc,int32:()=>YE,int64:()=>QE,intersection:()=>Ig,invertCodec:()=>xx,ipv4:()=>DE,ipv6:()=>jE,iso:()=>ri,json:()=>kx,jwt:()=>VE,keyof:()=>ax,ksuid:()=>OE,lazy:()=>Xg,length:()=>Kr,literal:()=>vx,locales:()=>bo,looseObject:()=>ux,looseRecord:()=>px,lowercase:()=>Vn,lt:()=>Ct,lte:()=>Qe,mac:()=>ME,map:()=>fx,maxLength:()=>qr,maxSize:()=>_r,meta:()=>Px,mime:()=>qn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,nan:()=>_x,nanoid:()=>CE,nativeEnum:()=>hx,negative:()=>ac,never:()=>Uc,nonnegative:()=>cc,nonoptional:()=>Fg,nonpositive:()=>sc,normalize:()=>Kn,null:()=>hg,nullable:()=>Io,nullish:()=>yx,number:()=>dg,object:()=>sx,optional:()=>Ao,overwrite:()=>bt,parse:()=>Jf,parseAsync:()=>Qf,partialRecord:()=>mx,pipe:()=>_c,positive:()=>oc,prefault:()=>Ug,preprocess:()=>Ox,prettifyError:()=>gd,promise:()=>Ix,property:()=>uc,readonly:()=>qg,record:()=>Rg,refine:()=>eh,regex:()=>Bn,regexes:()=>Je,registry:()=>zs,safeDecode:()=>sg,safeDecodeAsync:()=>ug,safeEncode:()=>ag,safeEncodeAsync:()=>cg,safeParse:()=>eg,safeParseAsync:()=>tg,set:()=>gx,setErrorMap:()=>HD,size:()=>Hr,slugify:()=>Qn,startsWith:()=>Wn,strictObject:()=>cx,string:()=>Eo,stringFormat:()=>ZE,stringbool:()=>wx,success:()=>Sx,superRefine:()=>th,symbol:()=>tx,templateLiteral:()=>Ax,toJSONSchema:()=>pc,toLowerCase:()=>Xn,toUpperCase:()=>Jn,transform:()=>Vc,treeifyError:()=>fd,trim:()=>Yn,tuple:()=>Tg,uint32:()=>XE,uint64:()=>ex,ulid:()=>wE,undefined:()=>rx,union:()=>Fc,unknown:()=>Yr,uppercase:()=>Zn,url:()=>$E,util:()=>_,uuid:()=>EE,uuidv4:()=>xE,uuidv6:()=>AE,uuidv7:()=>IE,void:()=>ix,xid:()=>kE,xor:()=>lx});var Xt={};$t(Xt,{$ZodAny:()=>Zm,$ZodArray:()=>Km,$ZodAsyncError:()=>vt,$ZodBase64:()=>Om,$ZodBase64URL:()=>Dm,$ZodBigInt:()=>Ps,$ZodBigIntFormat:()=>Um,$ZodBoolean:()=>fo,$ZodCIDRv4:()=>Nm,$ZodCIDRv6:()=>wm,$ZodCUID:()=>ym,$ZodCUID2:()=>Sm,$ZodCatch:()=>pp,$ZodCheck:()=>X,$ZodCheckBigIntFormat:()=>Kd,$ZodCheckEndsWith:()=>sm,$ZodCheckGreaterThan:()=>As,$ZodCheckIncludes:()=>om,$ZodCheckLengthEquals:()=>tm,$ZodCheckLessThan:()=>xs,$ZodCheckLowerCase:()=>nm,$ZodCheckMaxLength:()=>Qd,$ZodCheckMaxSize:()=>Yd,$ZodCheckMimeType:()=>um,$ZodCheckMinLength:()=>em,$ZodCheckMinSize:()=>Xd,$ZodCheckMultipleOf:()=>Hd,$ZodCheckNumberFormat:()=>qd,$ZodCheckOverwrite:()=>lm,$ZodCheckProperty:()=>cm,$ZodCheckRegex:()=>rm,$ZodCheckSizeEquals:()=>Jd,$ZodCheckStartsWith:()=>am,$ZodCheckStringFormat:()=>Un,$ZodCheckUpperCase:()=>im,$ZodCodec:()=>ho,$ZodCustom:()=>_p,$ZodCustomStringFormat:()=>zm,$ZodDate:()=>qm,$ZodDefault:()=>up,$ZodDiscriminatedUnion:()=>Jm,$ZodE164:()=>Mm,$ZodEmail:()=>gm,$ZodEmoji:()=>vm,$ZodEncodeError:()=>gr,$ZodEnum:()=>np,$ZodError:()=>so,$ZodExactOptional:()=>sp,$ZodFile:()=>op,$ZodFunction:()=>bp,$ZodGUID:()=>pm,$ZodIPv4:()=>Rm,$ZodIPv6:()=>Cm,$ZodISODate:()=>Im,$ZodISODateTime:()=>Am,$ZodISODuration:()=>Tm,$ZodISOTime:()=>$m,$ZodIntersection:()=>Qm,$ZodJWT:()=>jm,$ZodKSUID:()=>xm,$ZodLazy:()=>Sp,$ZodLiteral:()=>ip,$ZodMAC:()=>Pm,$ZodMap:()=>tp,$ZodNaN:()=>fp,$ZodNanoID:()=>bm,$ZodNever:()=>Wm,$ZodNonOptional:()=>dp,$ZodNull:()=>Vm,$ZodNullable:()=>cp,$ZodNumber:()=>Cs,$ZodNumberFormat:()=>Lm,$ZodObject:()=>g_,$ZodObjectJIT:()=>Ym,$ZodOptional:()=>ws,$ZodPipe:()=>ks,$ZodPrefault:()=>lp,$ZodPreprocess:()=>gp,$ZodPromise:()=>yp,$ZodReadonly:()=>hp,$ZodRealError:()=>Ve,$ZodRecord:()=>ep,$ZodRegistry:()=>js,$ZodSet:()=>rp,$ZodString:()=>Wr,$ZodStringFormat:()=>q,$ZodSuccess:()=>mp,$ZodSymbol:()=>Fm,$ZodTemplateLiteral:()=>vp,$ZodTransform:()=>ap,$ZodTuple:()=>Ns,$ZodType:()=>N,$ZodULID:()=>_m,$ZodURL:()=>hm,$ZodUUID:()=>fm,$ZodUndefined:()=>Bm,$ZodUnion:()=>go,$ZodUnknown:()=>Gm,$ZodVoid:()=>Hm,$ZodXID:()=>Em,$ZodXor:()=>Xm,$brand:()=>rd,$constructor:()=>f,$input:()=>xp,$output:()=>Ep,Doc:()=>po,JSONSchema:()=>vE,JSONSchemaGenerator:()=>fc,NEVER:()=>td,TimePrecision:()=>Tp,_any:()=>qp,_array:()=>tf,_base64:()=>tc,_base64url:()=>rc,_bigint:()=>Fp,_boolean:()=>Lp,_catch:()=>MD,_check:()=>hE,_cidrv4:()=>Qs,_cidrv6:()=>ec,_coercedBigint:()=>Bp,_coercedBoolean:()=>Up,_coercedDate:()=>Qp,_coercedNumber:()=>kp,_coercedString:()=>Ip,_cuid:()=>Ws,_cuid2:()=>Hs,_custom:()=>nf,_date:()=>Jp,_decode:()=>fs,_decodeAsync:()=>hs,_default:()=>kD,_discriminatedUnion:()=>_D,_e164:()=>nc,_email:()=>Ls,_emoji:()=>Zs,_encode:()=>ps,_encodeAsync:()=>gs,_endsWith:()=>Hn,_enum:()=>TD,_file:()=>rf,_float32:()=>Dp,_float64:()=>Mp,_gt:()=>Pt,_gte:()=>De,_guid:()=>yo,_includes:()=>Gn,_int:()=>Op,_int32:()=>jp,_int64:()=>Vp,_intersection:()=>ED,_ipv4:()=>Xs,_ipv6:()=>Js,_isoDate:()=>Cp,_isoDateTime:()=>Rp,_isoDuration:()=>Np,_isoTime:()=>Pp,_jwt:()=>ic,_ksuid:()=>Ys,_lazy:()=>UD,_length:()=>Kr,_literal:()=>CD,_lowercase:()=>Vn,_lt:()=>Ct,_lte:()=>Qe,_mac:()=>$p,_map:()=>ID,_max:()=>Qe,_maxLength:()=>qr,_maxSize:()=>_r,_mime:()=>qn,_min:()=>De,_minLength:()=>Yt,_minSize:()=>Nt,_multipleOf:()=>Sr,_nan:()=>ef,_nanoid:()=>Gs,_nativeEnum:()=>RD,_negative:()=>ac,_never:()=>Yp,_nonnegative:()=>cc,_nonoptional:()=>OD,_nonpositive:()=>sc,_normalize:()=>Kn,_null:()=>Hp,_nullable:()=>wD,_number:()=>wp,_optional:()=>ND,_overwrite:()=>bt,_parse:()=>Mn,_parseAsync:()=>jn,_pipe:()=>jD,_positive:()=>oc,_promise:()=>FD,_property:()=>uc,_readonly:()=>zD,_record:()=>AD,_refine:()=>of,_regex:()=>Bn,_safeDecode:()=>bs,_safeDecodeAsync:()=>Ss,_safeEncode:()=>vs,_safeEncodeAsync:()=>ys,_safeParse:()=>zn,_safeParseAsync:()=>Ln,_set:()=>$D,_size:()=>Hr,_slugify:()=>Qn,_startsWith:()=>Wn,_string:()=>Ap,_stringFormat:()=>ei,_stringbool:()=>uf,_success:()=>DD,_superRefine:()=>af,_symbol:()=>Gp,_templateLiteral:()=>LD,_toLowerCase:()=>Xn,_toUpperCase:()=>Jn,_transform:()=>PD,_trim:()=>Yn,_tuple:()=>xD,_uint32:()=>zp,_uint64:()=>Zp,_ulid:()=>qs,_undefined:()=>Wp,_union:()=>yD,_unknown:()=>Kp,_uppercase:()=>Zn,_url:()=>So,_uuid:()=>Us,_uuidv4:()=>Fs,_uuidv6:()=>Bs,_uuidv7:()=>Vs,_void:()=>Xp,_xid:()=>Ks,_xor:()=>SD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ti,createToJSONSchemaMethod:()=>lf,decode:()=>Fk,decodeAsync:()=>Vk,describe:()=>sf,encode:()=>Uk,encodeAsync:()=>Bk,extractDefs:()=>xr,finalize:()=>Ar,flattenError:()=>co,formatError:()=>uo,globalConfig:()=>Vr,globalRegistry:()=>_e,initializeContext:()=>Er,isValidBase64:()=>km,isValidBase64URL:()=>d_,isValidJWT:()=>m_,locales:()=>bo,meta:()=>cf,parse:()=>ds,parseAsync:()=>ms,prettifyError:()=>gd,process:()=>Z,regexes:()=>Je,registry:()=>zs,safeDecode:()=>Gk,safeDecodeAsync:()=>Hk,safeEncode:()=>Zk,safeEncodeAsync:()=>Wk,safeParse:()=>hd,safeParseAsync:()=>vd,toDotPath:()=>ZS,toJSONSchema:()=>pc,treeifyError:()=>fd,util:()=>_,version:()=>dm});var LS,td=Object.freeze({status:"aborted"});function f(e,t,n){function i(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:a,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let l=a.prototype,m=Object.keys(l);for(let p=0;p<m.length;p++){let g=m[p];g in c||(c[g]=l[g].bind(c))}}let r=n?.Parent??Object;class o extends r{}Object.defineProperty(o,"name",{value:e});function a(c){var u;let l=n?.Parent?new o:this;i(l,c),(u=l._zod).deferred??(u.deferred=[]);for(let m of l._zod.deferred)m();return l}return Object.defineProperty(a,"init",{value:i}),Object.defineProperty(a,Symbol.hasInstance,{value:c=>n?.Parent&&c instanceof n.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(a,"name",{value:e}),a}var rd=Symbol("zod_brand"),vt=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},gr=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(LS=globalThis).__zod_globalConfig??(LS.__zod_globalConfig={});var Vr=globalThis.__zod_globalConfig;function se(e){return e&&Object.assign(Vr,e),Vr}var _={};$t(_,{BIGINT_FORMAT_RANGES:()=>md,Class:()=>id,NUMBER_FORMAT_RANGES:()=>dd,aborted:()=>yr,allowsEval:()=>sd,assert:()=>bk,assertEqual:()=>fk,assertIs:()=>hk,assertNever:()=>vk,assertNotEqual:()=>gk,assignProp:()=>vr,base64ToUint8Array:()=>FS,base64urlToUint8Array:()=>Dk,cached:()=>On,captureStackTrace:()=>ls,cleanEnum:()=>Ok,cleanRegex:()=>no,clone:()=>ke,cloneDef:()=>Sk,createTransparentProxy:()=>$k,defineLazy:()=>M,esc:()=>us,escapeRegex:()=>ot,explicitlyAborted:()=>pd,extend:()=>Ck,finalizeIssue:()=>Oe,floatSafeRemainder:()=>od,getElementAtPath:()=>_k,getEnumValues:()=>ro,getLengthableOrigin:()=>ao,getParsedType:()=>Ik,getSizableOrigin:()=>oo,hexToUint8Array:()=>jk,isObject:()=>Zr,isPlainObject:()=>br,issue:()=>Dn,joinValues:()=>h,jsonStringifyReplacer:()=>kn,merge:()=>Nk,mergeDefs:()=>Kt,normalizeParams:()=>E,nullish:()=>hr,numKeys:()=>Ak,objectClone:()=>yk,omit:()=>Rk,optionalKeys:()=>ld,parsedType:()=>S,partial:()=>wk,pick:()=>Tk,prefixIssues:()=>Be,primitiveTypes:()=>ud,promiseAllObject:()=>Ek,propertyKeyTypes:()=>io,randomString:()=>xk,required:()=>kk,safeExtend:()=>Pk,shallowClone:()=>cd,slugify:()=>ad,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>BS,uint8ArrayToBase64url:()=>Mk,uint8ArrayToHex:()=>zk,unwrapMessage:()=>to});function fk(e){return e}function gk(e){return e}function hk(e){}function vk(e){throw new Error("Unexpected value in exhaustive check")}function bk(e){}function ro(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,r])=>t.indexOf(+i)===-1).map(([i,r])=>r)}function h(e,t="|"){return e.map(n=>y(n)).join(t)}function kn(e,t){return typeof t=="bigint"?t.toString():t}function On(e){return{get value(){{let n=e();return Object.defineProperty(this,"value",{value:n}),n}throw new Error("cached value already set")}}}function hr(e){return e==null}function no(e){let t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function od(e,t){let n=e/t,i=Math.round(n),r=Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-i)<r?0:n-i}var US=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==US)return i===void 0&&(i=US,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function yk(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function vr(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Kt(...e){let t={};for(let n of e){let i=Object.getOwnPropertyDescriptors(n);Object.assign(t,i)}return Object.defineProperties({},t)}function Sk(e){return Kt(e._zod.def)}function _k(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Ek(e){let t=Object.keys(e),n=t.map(i=>e[i]);return Promise.all(n).then(i=>{let r={};for(let o=0;o<t.length;o++)r[t[o]]=i[o];return r})}function xk(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function us(e){return JSON.stringify(e)}function ad(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var ls="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Zr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sd=On(()=>{if(Vr.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});function br(e){if(Zr(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let n=t.prototype;return!(Zr(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function cd(e){return br(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function Ak(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var Ik=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},io=new Set(["string","number","symbol"]),ud=new Set(["string","number","bigint","boolean","symbol","undefined"]);function ot(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ke(e,t,n){let i=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(i._zod.parent=e),i}function E(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function $k(e){let t;return new Proxy({},{get(n,i,r){return t??(t=e()),Reflect.get(t,i,r)},set(n,i,r,o){return t??(t=e()),Reflect.set(t,i,r,o)},has(n,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(n,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(n){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(n,i,r){return t??(t=e()),Reflect.defineProperty(t,i,r)}})}function y(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function ld(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var dd={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},md={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Tk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Kt(e._zod.def,{get shape(){let a={};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&(a[c]=n.shape[c])}return vr(this,"shape",a),a},checks:[]});return ke(e,o)}function Rk(e,t){let n=e._zod.def,i=n.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Kt(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let c in t){if(!(c in n.shape))throw new Error(`Unrecognized key: "${c}"`);t[c]&&delete a[c]}return vr(this,"shape",a),a},checks:[]});return ke(e,o)}function Ck(e,t){if(!br(t))throw new Error("Invalid input to extend: expected a plain object");let n=e._zod.def.checks;if(n&&n.length>0){let o=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let r=Kt(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return vr(this,"shape",o),o}});return ke(e,r)}function Pk(e,t){if(!br(t))throw new Error("Invalid input to safeExtend: expected a plain object");let n=Kt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t};return vr(this,"shape",i),i}});return ke(e,n)}function Nk(e,t){if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let n=Kt(e._zod.def,{get shape(){let i={...e._zod.def.shape,...t._zod.def.shape};return vr(this,"shape",i),i},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return ke(e,n)}function wk(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let a=Kt(t._zod.def,{get shape(){let c=t._zod.def.shape,u={...c};if(n)for(let l in n){if(!(l in c))throw new Error(`Unrecognized key: "${l}"`);n[l]&&(u[l]=e?new e({type:"optional",innerType:c[l]}):c[l])}else for(let l in c)u[l]=e?new e({type:"optional",innerType:c[l]}):c[l];return vr(this,"shape",u),u},checks:[]});return ke(t,a)}function kk(e,t,n){let i=Kt(t._zod.def,{get shape(){let r=t._zod.def.shape,o={...r};if(n)for(let a in n){if(!(a in o))throw new Error(`Unrecognized key: "${a}"`);n[a]&&(o[a]=new e({type:"nonoptional",innerType:r[a]}))}else for(let a in r)o[a]=new e({type:"nonoptional",innerType:r[a]});return vr(this,"shape",o),o}});return ke(t,i)}function yr(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function pd(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Be(e,t){return t.map(n=>{var i;return(i=n).path??(i.path=[]),n.path.unshift(e),n})}function to(e){return typeof e=="string"?e:e?.message}function Oe(e,t,n){let i=e.message?e.message:to(e.inst?._zod.def?.error?.(e))??to(t?.error?.(e))??to(n.customError?.(e))??to(n.localeError?.(e))??"Invalid input",{inst:r,continue:o,input:a,...c}=e;return c.path??(c.path=[]),c.message=i,t?.reportInput&&(c.input=a),c}function oo(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function ao(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function S(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Dn(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function Ok(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function FS(e){let t=atob(e),n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=t.charCodeAt(i);return n}function BS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Dk(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return FS(t+n)}function Mk(e){return BS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function jk(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let n=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)n[i/2]=Number.parseInt(t.slice(i,i+2),16);return n}function zk(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var id=class{constructor(...t){}};var VS=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,kn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},so=f("$ZodError",VS),Ve=f("$ZodError",VS,{Parent:Error});function co(e,t=n=>n.message){let n={},i=[];for(let r of e.issues)r.path.length>0?(n[r.path[0]]=n[r.path[0]]||[],n[r.path[0]].push(t(r))):i.push(t(r));return{formErrors:i,fieldErrors:n}}function uo(e,t=n=>n.message){let n={_errors:[]},i=(r,o=[])=>{for(let a of r.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(c=>i({issues:c},[...o,...a.path]));else if(a.code==="invalid_key")i({issues:a.issues},[...o,...a.path]);else if(a.code==="invalid_element")i({issues:a.issues},[...o,...a.path]);else{let c=[...o,...a.path];if(c.length===0)n._errors.push(t(a));else{let u=n,l=0;for(;l<c.length;){let m=c[l];l===c.length-1?(u[m]=u[m]||{_errors:[]},u[m]._errors.push(t(a))):u[m]=u[m]||{_errors:[]},u=u[m],l++}}}};return i(e),n}function fd(e,t=n=>n.message){let n={errors:[]},i=(r,o=[])=>{var a,c;for(let u of r.issues)if(u.code==="invalid_union"&&u.errors.length)u.errors.map(l=>i({issues:l},[...o,...u.path]));else if(u.code==="invalid_key")i({issues:u.issues},[...o,...u.path]);else if(u.code==="invalid_element")i({issues:u.issues},[...o,...u.path]);else{let l=[...o,...u.path];if(l.length===0){n.errors.push(t(u));continue}let m=n,p=0;for(;p<l.length;){let g=l[p],v=p===l.length-1;typeof g=="string"?(m.properties??(m.properties={}),(a=m.properties)[g]??(a[g]={errors:[]}),m=m.properties[g]):(m.items??(m.items=[]),(c=m.items)[g]??(c[g]={errors:[]}),m=m.items[g]),v&&m.errors.push(t(u)),p++}}};return i(e),n}function ZS(e){let t=[],n=e.map(i=>typeof i=="object"?i.key:i);for(let i of n)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function gd(e){let t=[],n=[...e.issues].sort((i,r)=>(i.path??[]).length-(r.path??[]).length);for(let i of n)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${ZS(i.path)}`);return t.join(`
101
101
  `)}var Mn=e=>(t,n,i,r)=>{let o=i?{...i,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise)throw new vt;if(a.issues.length){let c=new(r?.Err??e)(a.issues.map(u=>Oe(u,o,se())));throw ls(c,r?.callee),c}return a.value},ds=Mn(Ve),jn=e=>async(t,n,i,r)=>{let o=i?{...i,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},o);if(a instanceof Promise&&(a=await a),a.issues.length){let c=new(r?.Err??e)(a.issues.map(u=>Oe(u,o,se())));throw ls(c,r?.callee),c}return a.value},ms=jn(Ve),zn=e=>(t,n,i)=>{let r=i?{...i,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},r);if(o instanceof Promise)throw new vt;return o.issues.length?{success:!1,error:new(e??so)(o.issues.map(a=>Oe(a,r,se())))}:{success:!0,data:o.value}},hd=zn(Ve),Ln=e=>async(t,n,i)=>{let r=i?{...i,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},r);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(a=>Oe(a,r,se())))}:{success:!0,data:o.value}},vd=Ln(Ve),ps=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Mn(e)(t,n,r)},Uk=ps(Ve),fs=e=>(t,n,i)=>Mn(e)(t,n,i),Fk=fs(Ve),gs=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return jn(e)(t,n,r)},Bk=gs(Ve),hs=e=>async(t,n,i)=>jn(e)(t,n,i),Vk=hs(Ve),vs=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return zn(e)(t,n,r)},Zk=vs(Ve),bs=e=>(t,n,i)=>zn(e)(t,n,i),Gk=bs(Ve),ys=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Ln(e)(t,n,r)},Wk=ys(Ve),Ss=e=>async(t,n,i)=>Ln(e)(t,n,i),Hk=Ss(Ve);var Je={};$t(Je,{base64:()=>kd,base64url:()=>_s,bigint:()=>Ud,boolean:()=>Bd,browserEmail:()=>tO,cidrv4:()=>Nd,cidrv6:()=>wd,cuid:()=>bd,cuid2:()=>yd,date:()=>Md,datetime:()=>zd,domain:()=>iO,duration:()=>Ad,e164:()=>Dd,email:()=>$d,emoji:()=>Td,extendedDuration:()=>qk,guid:()=>Id,hex:()=>oO,hostname:()=>nO,html5Email:()=>Jk,httpProtocol:()=>Od,idnEmail:()=>eO,integer:()=>Fd,ipv4:()=>Rd,ipv6:()=>Cd,ksuid:()=>Ed,lowercase:()=>Gd,mac:()=>Pd,md5_base64:()=>sO,md5_base64url:()=>cO,md5_hex:()=>aO,nanoid:()=>xd,null:()=>Vd,number:()=>Es,rfc5322Email:()=>Qk,sha1_base64:()=>lO,sha1_base64url:()=>dO,sha1_hex:()=>uO,sha256_base64:()=>pO,sha256_base64url:()=>fO,sha256_hex:()=>mO,sha384_base64:()=>hO,sha384_base64url:()=>vO,sha384_hex:()=>gO,sha512_base64:()=>yO,sha512_base64url:()=>SO,sha512_hex:()=>bO,string:()=>Ld,time:()=>jd,ulid:()=>Sd,undefined:()=>Zd,unicodeEmail:()=>GS,uppercase:()=>Wd,uuid:()=>Gr,uuid4:()=>Kk,uuid6:()=>Yk,uuid7:()=>Xk,xid:()=>_d});var bd=/^[cC][0-9a-z]{6,}$/,yd=/^[0-9a-z]+$/,Sd=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_d=/^[0-9a-vA-V]{20}$/,Ed=/^[A-Za-z0-9]{27}$/,xd=/^[a-zA-Z0-9_-]{21}$/,Ad=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,qk=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Id=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Gr=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,Kk=Gr(4),Yk=Gr(6),Xk=Gr(7),$d=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Jk=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Qk=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,GS=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,eO=GS,tO=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,rO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Td(){return new RegExp(rO,"u")}var Rd=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Cd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Pd=e=>{let t=ot(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Nd=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,wd=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,kd=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,_s=/^[A-Za-z0-9_-]*$/,nO=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,iO=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Od=/^https?$/,Dd=/^\+[1-9]\d{6,14}$/,WS="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Md=new RegExp(`^${WS}$`);function HS(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function jd(e){return new RegExp(`^${HS(e)}$`)}function zd(e){let t=HS({precision:e.precision}),n=["Z"];e.local&&n.push(""),e.offset&&n.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let i=`${t}(?:${n.join("|")})`;return new RegExp(`^${WS}T(?:${i})$`)}var Ld=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Ud=/^-?\d+n?$/,Fd=/^-?\d+$/,Es=/^-?\d+(?:\.\d+)?$/,Bd=/^(?:true|false)$/i,Vd=/^null$/i;var Zd=/^undefined$/i;var Gd=/^[^A-Z]*$/,Wd=/^[^a-z]*$/,oO=/^[0-9a-fA-F]*$/;function lo(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function mo(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var aO=/^[0-9a-fA-F]{32}$/,sO=lo(22,"=="),cO=mo(22),uO=/^[0-9a-fA-F]{40}$/,lO=lo(27,"="),dO=mo(27),mO=/^[0-9a-fA-F]{64}$/,pO=lo(43,"="),fO=mo(43),gO=/^[0-9a-fA-F]{96}$/,hO=lo(64,""),vO=mo(64),bO=/^[0-9a-fA-F]{128}$/,yO=lo(86,"=="),SO=mo(86);var X=f("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),KS={number:"number",bigint:"bigint",object:"date"},xs=f("$ZodCheckLessThan",(e,t)=>{X.init(e,t);let n=KS[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.maximum:r.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<o&&(t.inclusive?r.maximum=t.value:r.exclusiveMaximum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),As=f("$ZodCheckGreaterThan",(e,t)=>{X.init(e,t);let n=KS[typeof t.value];e._zod.onattach.push(i=>{let r=i._zod.bag,o=(t.inclusive?r.minimum:r.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>o&&(t.inclusive?r.minimum=t.value:r.exclusiveMinimum=t.value)}),e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Hd=f("$ZodCheckMultipleOf",(e,t)=>{X.init(e,t),e._zod.onattach.push(n=>{var i;(i=n._zod.bag).multipleOf??(i.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?n.value%t.value===BigInt(0):od(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),qd=f("$ZodCheckNumberFormat",(e,t)=>{X.init(e,t),t.format=t.format||"float64";let n=t.format?.includes("int"),i=n?"int":"number",[r,o]=dd[t.format];e._zod.onattach.push(a=>{let c=a._zod.bag;c.format=t.format,c.minimum=r,c.maximum=o,n&&(c.pattern=Fd)}),e._zod.check=a=>{let c=a.value;if(n){if(!Number.isInteger(c)){a.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?a.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort}):a.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}c<r&&a.issues.push({origin:"number",input:c,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),c>o&&a.issues.push({origin:"number",input:c,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),Kd=f("$ZodCheckBigIntFormat",(e,t)=>{X.init(e,t);let[n,i]=md[t.format];e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,o.minimum=n,o.maximum=i}),e._zod.check=r=>{let o=r.value;o<n&&r.issues.push({origin:"bigint",input:o,code:"too_small",minimum:n,inclusive:!0,inst:e,continue:!t.abort}),o>i&&r.issues.push({origin:"bigint",input:o,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),Yd=f("$ZodCheckMaxSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;r.size<=t.maximum||i.issues.push({origin:oo(r),code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Xd=f("$ZodCheckMinSize",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;r.size>=t.minimum||i.issues.push({origin:oo(r),code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Jd=f("$ZodCheckSizeEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.size!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.size,r.maximum=t.size,r.size=t.size}),e._zod.check=i=>{let r=i.value,o=r.size;if(o===t.size)return;let a=o>t.size;i.issues.push({origin:oo(r),...a?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),Qd=f("$ZodCheckMaxLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<r&&(i._zod.bag.maximum=t.maximum)}),e._zod.check=i=>{let r=i.value;if(r.length<=t.maximum)return;let a=ao(r);i.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),em=f("$ZodCheckMinLength",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>r&&(i._zod.bag.minimum=t.minimum)}),e._zod.check=i=>{let r=i.value;if(r.length>=t.minimum)return;let a=ao(r);i.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),tm=f("$ZodCheckLengthEquals",(e,t)=>{var n;X.init(e,t),(n=e._zod.def).when??(n.when=i=>{let r=i.value;return!hr(r)&&r.length!==void 0}),e._zod.onattach.push(i=>{let r=i._zod.bag;r.minimum=t.length,r.maximum=t.length,r.length=t.length}),e._zod.check=i=>{let r=i.value,o=r.length;if(o===t.length)return;let a=ao(r),c=o>t.length;i.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),Un=f("$ZodCheckStringFormat",(e,t)=>{var n,i;X.init(e,t),e._zod.onattach.push(r=>{let o=r._zod.bag;o.format=t.format,t.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:t.format,input:r.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),rm=f("$ZodCheckRegex",(e,t)=>{Un.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),nm=f("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Gd),Un.init(e,t)}),im=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wd),Un.init(e,t)}),om=f("$ZodCheckIncludes",(e,t)=>{X.init(e,t);let n=ot(t.includes),i=new RegExp(typeof t.position=="number"?`^.{${t.position}}${n}`:n);t.pattern=i,e._zod.onattach.push(r=>{let o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(i)}),e._zod.check=r=>{r.value.includes(t.includes,t.position)||r.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:r.value,inst:e,continue:!t.abort})}}),am=f("$ZodCheckStartsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`^${ot(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.startsWith(t.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),sm=f("$ZodCheckEndsWith",(e,t)=>{X.init(e,t);let n=new RegExp(`.*${ot(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(i=>{let r=i._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=i=>{i.value.endsWith(t.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});function qS(e,t,n){e.issues.length&&t.issues.push(...Be(n,e.issues))}var cm=f("$ZodCheckProperty",(e,t)=>{X.init(e,t),e._zod.check=n=>{let i=t.schema._zod.run({value:n.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then(r=>qS(r,n,t.property));qS(i,n,t.property)}}),um=f("$ZodCheckMimeType",(e,t)=>{X.init(e,t);let n=new Set(t.mime);e._zod.onattach.push(i=>{i._zod.bag.mime=t.mime}),e._zod.check=i=>{n.has(i.value.type)||i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),lm=f("$ZodCheckOverwrite",(e,t)=>{X.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});var po=class{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
102
102
  `).filter(a=>a),r=Math.min(...i.map(a=>a.length-a.trimStart().length)),o=i.map(a=>a.slice(r)).map(a=>" ".repeat(this.indent*2)+a);for(let a of o)this.content.push(a)}compile(){let t=Function,n=this?.args,r=[...(this?.content??[""]).map(o=>` ${o}`)];return new t(...n,r.join(`
103
103
  `))}};var dm={major:4,minor:4,patch:3};var N=f("$ZodType",(e,t)=>{var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=dm;let i=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&i.unshift(e);for(let r of i)for(let o of r._zod.onattach)o(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let r=(a,c,u)=>{let l=yr(a),m;for(let p of c){if(p._zod.def.when){if(pd(a)||!p._zod.def.when(a))continue}else if(l)continue;let g=a.issues.length,v=p._zod.check(a);if(v instanceof Promise&&u?.async===!1)throw new vt;if(m||v instanceof Promise)m=(m??Promise.resolve()).then(async()=>{await v,a.issues.length!==g&&(l||(l=yr(a,g)))});else{if(a.issues.length===g)continue;l||(l=yr(a,g))}}return m?m.then(()=>a):a},o=(a,c,u)=>{if(yr(a))return a.aborted=!0,a;let l=r(c,i,u);if(l instanceof Promise){if(u.async===!1)throw new vt;return l.then(m=>e._zod.parse(m,u))}return e._zod.parse(l,u)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let l=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});return l instanceof Promise?l.then(m=>o(m,a,c)):o(l,a,c)}let u=e._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new vt;return u.then(l=>r(l,i,c))}return r(u,i,c)}}M(e,"~standard",()=>({validate:r=>{try{let o=hd(e,r);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return vd(e,r).then(a=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Wr=f("$ZodString",(e,t)=>{N.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Ld(e._zod.bag),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value=="string"||n.issues.push({expected:"string",code:"invalid_type",input:n.value,inst:e}),n}}),q=f("$ZodStringFormat",(e,t)=>{Un.init(e,t),Wr.init(e,t)}),pm=f("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Id),q.init(e,t)}),fm=f("$ZodUUID",(e,t)=>{if(t.version){let i={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(i===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Gr(i))}else t.pattern??(t.pattern=Gr());q.init(e,t)}),gm=f("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=$d),q.init(e,t)}),hm=f("$ZodURL",(e,t)=>{q.init(e,t),e._zod.check=n=>{try{let i=n.value.trim();if(!t.normalize&&t.protocol?.source===Od.source&&!/^https?:\/\//i.test(i)){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}let r=new URL(i);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(r.hostname)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(r.protocol.endsWith(":")?r.protocol.slice(0,-1):r.protocol)||n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=r.href:n.value=i;return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),vm=f("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Td()),q.init(e,t)}),bm=f("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=xd),q.init(e,t)}),ym=f("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=bd),q.init(e,t)}),Sm=f("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=yd),q.init(e,t)}),_m=f("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Sd),q.init(e,t)}),Em=f("$ZodXID",(e,t)=>{t.pattern??(t.pattern=_d),q.init(e,t)}),xm=f("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Ed),q.init(e,t)}),Am=f("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=zd(t)),q.init(e,t)}),Im=f("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Md),q.init(e,t)}),$m=f("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=jd(t)),q.init(e,t)}),Tm=f("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Ad),q.init(e,t)}),Rm=f("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Rd),q.init(e,t),e._zod.bag.format="ipv4"}),Cm=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Cd),q.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}}),Pm=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Pd(t.delimiter)),q.init(e,t),e._zod.bag.format="mac"}),Nm=f("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Nd),q.init(e,t)}),wm=f("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wd),q.init(e,t),e._zod.check=n=>{let i=n.value.split("/");try{if(i.length!==2)throw new Error;let[r,o]=i;if(!o)throw new Error;let a=Number(o);if(`${a}`!==o)throw new Error;if(a<0||a>128)throw new Error;new URL(`http://[${r}]`)}catch{n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}}});function km(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var Om=f("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=kd),q.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{km(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function d_(e){if(!_s.test(e))return!1;let t=e.replace(/[-_]/g,i=>i==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return km(n)}var Dm=f("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=_s),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{d_(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),Mm=f("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Dd),q.init(e,t)});function m_(e,t=null){try{let n=e.split(".");if(n.length!==3)return!1;let[i]=n;if(!i)return!1;let r=JSON.parse(atob(i));return!("typ"in r&&r?.typ!=="JWT"||!r.alg||t&&(!("alg"in r)||r.alg!==t))}catch{return!1}}var jm=f("$ZodJWT",(e,t)=>{q.init(e,t),e._zod.check=n=>{m_(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),zm=f("$ZodCustomStringFormat",(e,t)=>{q.init(e,t),e._zod.check=n=>{t.fn(n.value)||n.issues.push({code:"invalid_format",format:t.format,input:n.value,inst:e,continue:!t.abort})}}),Cs=f("$ZodNumber",(e,t)=>{N.init(e,t),e._zod.pattern=e._zod.bag.pattern??Es,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let r=n.value;if(typeof r=="number"&&!Number.isNaN(r)&&Number.isFinite(r))return n;let o=typeof r=="number"?Number.isNaN(r)?"NaN":Number.isFinite(r)?void 0:"Infinity":void 0;return n.issues.push({expected:"number",code:"invalid_type",input:r,inst:e,...o?{received:o}:{}}),n}}),Lm=f("$ZodNumberFormat",(e,t)=>{qd.init(e,t),Cs.init(e,t)}),fo=f("$ZodBoolean",(e,t)=>{N.init(e,t),e._zod.pattern=Bd,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=!!n.value}catch{}let r=n.value;return typeof r=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:r,inst:e}),n}}),Ps=f("$ZodBigInt",(e,t)=>{N.init(e,t),e._zod.pattern=Ud,e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value=="bigint"||n.issues.push({expected:"bigint",code:"invalid_type",input:n.value,inst:e}),n}}),Um=f("$ZodBigIntFormat",(e,t)=>{Kd.init(e,t),Ps.init(e,t)}),Fm=f("$ZodSymbol",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r=="symbol"||n.issues.push({expected:"symbol",code:"invalid_type",input:r,inst:e}),n}}),Bm=f("$ZodUndefined",(e,t)=>{N.init(e,t),e._zod.pattern=Zd,e._zod.values=new Set([void 0]),e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"undefined",code:"invalid_type",input:r,inst:e}),n}}),Vm=f("$ZodNull",(e,t)=>{N.init(e,t),e._zod.pattern=Vd,e._zod.values=new Set([null]),e._zod.parse=(n,i)=>{let r=n.value;return r===null||n.issues.push({expected:"null",code:"invalid_type",input:r,inst:e}),n}}),Zm=f("$ZodAny",(e,t)=>{N.init(e,t),e._zod.parse=n=>n}),Gm=f("$ZodUnknown",(e,t)=>{N.init(e,t),e._zod.parse=n=>n}),Wm=f("$ZodNever",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)}),Hm=f("$ZodVoid",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;return typeof r>"u"||n.issues.push({expected:"void",code:"invalid_type",input:r,inst:e}),n}}),qm=f("$ZodDate",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let r=n.value,o=r instanceof Date;return o&&!Number.isNaN(r.getTime())||n.issues.push({expected:"date",code:"invalid_type",input:r,...o?{received:"Invalid Date"}:{},inst:e}),n}});function XS(e,t,n){e.issues.length&&t.issues.push(...Be(n,e.issues)),t.value[n]=e.value}var Km=f("$ZodArray",(e,t)=>{N.init(e,t),e._zod.parse=(n,i)=>{let r=n.value;if(!Array.isArray(r))return n.issues.push({expected:"array",code:"invalid_type",input:r,inst:e}),n;n.value=Array(r.length);let o=[];for(let a=0;a<r.length;a++){let c=r[a],u=t.element._zod.run({value:c,issues:[]},i);u instanceof Promise?o.push(u.then(l=>XS(l,n,a))):XS(u,n,a)}return o.length?Promise.all(o).then(()=>n):n}});function Rs(e,t,n,i,r,o){let a=n in i;if(e.issues.length){if(r&&o&&!a)return;t.issues.push(...Be(n,e.issues))}if(!a&&!r){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?a&&(t.value[n]=void 0):t.value[n]=e.value}function p_(e){let t=Object.keys(e.shape);for(let i of t)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${i}": expected a Zod schema`);let n=ld(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function f_(e,t,n,i,r,o){let a=[],c=r.keySet,u=r.catchall._zod,l=u.def.type,m=u.optin==="optional",p=u.optout==="optional";for(let g in t){if(g==="__proto__"||c.has(g))continue;if(l==="never"){a.push(g);continue}let v=u.run({value:t[g],issues:[]},i);v instanceof Promise?e.push(v.then(A=>Rs(A,n,g,t,m,p))):Rs(v,n,g,t,m,p)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:o}),e.length?Promise.all(e).then(()=>n):n}var g_=f("$ZodObject",(e,t)=>{if(N.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let u={...c};return Object.defineProperty(t,"shape",{value:u}),u}})}let i=On(()=>p_(t));M(e._zod,"propValues",()=>{let c=t.shape,u={};for(let l in c){let m=c[l]._zod;if(m.values){u[l]??(u[l]=new Set);for(let p of m.values)u[l].add(p)}}return u});let r=Zr,o=t.catchall,a;e._zod.parse=(c,u)=>{a??(a=i.value);let l=c.value;if(!r(l))return c.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),c;c.value={};let m=[],p=a.shape;for(let g of a.keys){let v=p[g],A=v._zod.optin==="optional",Y=v._zod.optout==="optional",z=v._zod.run({value:l[g],issues:[]},u);z instanceof Promise?m.push(z.then(Se=>Rs(Se,c,g,l,A,Y))):Rs(z,c,g,l,A,Y)}return o?f_(m,l,c,u,i.value,e):m.length?Promise.all(m).then(()=>c):c}}),Ym=f("$ZodObjectJIT",(e,t)=>{g_.init(e,t);let n=e._zod.parse,i=On(()=>p_(t)),r=g=>{let v=new po(["shape","payload","ctx"]),A=i.value,Y=we=>{let te=us(we);return`shape[${te}]._zod.run({ value: input[${te}], issues: [] }, ctx)`};v.write("const input = payload.value;");let z=Object.create(null),Se=0;for(let we of A.keys)z[we]=`key_${Se++}`;v.write("const newResult = {};");for(let we of A.keys){let te=z[we],pe=us(we),$n=g[we],bS=$n?._zod?.optin==="optional",Fw=$n?._zod?.optout==="optional";v.write(`const ${te} = ${Y(we)};`),bS&&Fw?v.write(`
@@ -163,12 +163,12 @@ Filtered results for: ${this.inputValue?this.inputValue:mr.gray("Enter something
163
163
 
164
164
  Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let c=a[1];if(t===a[0]){o(a);continue}if(e.external){let l=e.external.registry.get(a[0])?.id;if(t!==a[0]&&l){o(a);continue}}if(e.metadataRegistry.get(a[0])?.id){o(a);continue}if(c.cycle){o(a);continue}if(c.count>1&&e.reused==="ref"){o(a);continue}}}function Ar(e,t){let n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");let i=c=>{let u=e.seen.get(c);if(u.ref===null)return;let l=u.def??u.schema,m={...l},p=u.ref;if(u.ref=null,p){i(p);let v=e.seen.get(p),A=v.schema;if(A.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(l.allOf=l.allOf??[],l.allOf.push(A)):Object.assign(l,A),Object.assign(l,m),c._zod.parent===p)for(let z in l)z==="$ref"||z==="allOf"||z in m||delete l[z];if(A.$ref&&v.def)for(let z in l)z==="$ref"||z==="allOf"||z in v.def&&JSON.stringify(l[z])===JSON.stringify(v.def[z])&&delete l[z]}let g=c._zod.parent;if(g&&g!==p){i(g);let v=e.seen.get(g);if(v?.schema.$ref&&(l.$ref=v.schema.$ref,v.def))for(let A in l)A==="$ref"||A==="allOf"||A in v.def&&JSON.stringify(l[A])===JSON.stringify(v.def[A])&&delete l[A]}e.override({zodSchema:c,jsonSchema:l,path:u.path??[]})};for(let c of[...e.seen.entries()].reverse())i(c[0]);let r={};if(e.target==="draft-2020-12"?r.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?r.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?r.$schema="http://json-schema.org/draft-04/schema#":e.target,e.external?.uri){let c=e.external.registry.get(t)?.id;if(!c)throw new Error("Schema is missing an `id` property");r.$id=e.external.uri(c)}Object.assign(r,n.def??n.schema);let o=e.metadataRegistry.get(t)?.id;o!==void 0&&r.id===o&&delete r.id;let a=e.external?.defs??{};for(let c of e.seen.entries()){let u=c[1];u.def&&u.defId&&(u.def.id===u.defId&&delete u.def.id,a[u.defId]=u.def)}e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?r.$defs=a:r.definitions=a);try{let c=JSON.parse(JSON.stringify(r));return Object.defineProperty(c,"~standard",{value:{...t["~standard"],jsonSchema:{input:ti(t,"input",e.processors),output:ti(t,"output",e.processors)}},enumerable:!1,writable:!1}),c}catch{throw new Error("Error converting schema to JSON.")}}function Me(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let i=e._zod.def;if(i.type==="transform")return!0;if(i.type==="array")return Me(i.element,n);if(i.type==="set")return Me(i.valueType,n);if(i.type==="lazy")return Me(i.getter(),n);if(i.type==="promise"||i.type==="optional"||i.type==="nonoptional"||i.type==="nullable"||i.type==="readonly"||i.type==="default"||i.type==="prefault")return Me(i.innerType,n);if(i.type==="intersection")return Me(i.left,n)||Me(i.right,n);if(i.type==="record"||i.type==="map")return Me(i.keyType,n)||Me(i.valueType,n);if(i.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:Me(i.in,n)||Me(i.out,n);if(i.type==="object"){for(let r in i.shape)if(Me(i.shape[r],n))return!0;return!1}if(i.type==="union"){for(let r of i.options)if(Me(r,n))return!0;return!1}if(i.type==="tuple"){for(let r of i.items)if(Me(r,n))return!0;return!!(i.rest&&Me(i.rest,n))}return!1}var lf=(e,t={})=>n=>{let i=Er({...n,processors:t});return Z(e,i),xr(i,e),Ar(i,e)},ti=(e,t,n={})=>i=>{let{libraryOptions:r,target:o}=i??{},a=Er({...r??{},target:o,io:t,processors:n});return Z(e,a),xr(a,e),Ar(a,e)};var BD={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},df=(e,t,n,i)=>{let r=n;r.type="string";let{minimum:o,maximum:a,format:c,patterns:u,contentEncoding:l}=e._zod.bag;if(typeof o=="number"&&(r.minLength=o),typeof a=="number"&&(r.maxLength=a),c&&(r.format=BD[c]??c,r.format===""&&delete r.format,c==="time"&&delete r.format),l&&(r.contentEncoding=l),u&&u.size>0){let m=[...u];m.length===1?r.pattern=m[0].source:m.length>1&&(r.allOf=[...m.map(p=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:p.source}))])}},mf=(e,t,n,i)=>{let r=n,{minimum:o,maximum:a,format:c,multipleOf:u,exclusiveMaximum:l,exclusiveMinimum:m}=e._zod.bag;typeof c=="string"&&c.includes("int")?r.type="integer":r.type="number";let p=typeof m=="number"&&m>=(o??Number.NEGATIVE_INFINITY),g=typeof l=="number"&&l<=(a??Number.POSITIVE_INFINITY),v=t.target==="draft-04"||t.target==="openapi-3.0";p?v?(r.minimum=m,r.exclusiveMinimum=!0):r.exclusiveMinimum=m:typeof o=="number"&&(r.minimum=o),g?v?(r.maximum=l,r.exclusiveMaximum=!0):r.exclusiveMaximum=l:typeof a=="number"&&(r.maximum=a),typeof u=="number"&&(r.multipleOf=u)},pf=(e,t,n,i)=>{n.type="boolean"},ff=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema")},gf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema")},hf=(e,t,n,i)=>{t.target==="openapi-3.0"?(n.type="string",n.nullable=!0,n.enum=[null]):n.type="null"},vf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema")},bf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema")},yf=(e,t,n,i)=>{n.not={}},Sf=(e,t,n,i)=>{},_f=(e,t,n,i)=>{},Ef=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema")},xf=(e,t,n,i)=>{let r=e._zod.def,o=ro(r.entries);o.every(a=>typeof a=="number")&&(n.type="number"),o.every(a=>typeof a=="string")&&(n.type="string"),n.enum=o},Af=(e,t,n,i)=>{let r=e._zod.def,o=[];for(let a of r.values)if(a===void 0){if(t.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a=="bigint"){if(t.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");o.push(Number(a))}else o.push(a);if(o.length!==0)if(o.length===1){let a=o[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a}else o.every(a=>typeof a=="number")&&(n.type="number"),o.every(a=>typeof a=="string")&&(n.type="string"),o.every(a=>typeof a=="boolean")&&(n.type="boolean"),o.every(a=>a===null)&&(n.type="null"),n.enum=o},If=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema")},$f=(e,t,n,i)=>{let r=n,o=e._zod.pattern;if(!o)throw new Error("Pattern not found in template literal");r.type="string",r.pattern=o.source},Tf=(e,t,n,i)=>{let r=n,o={type:"string",format:"binary",contentEncoding:"binary"},{minimum:a,maximum:c,mime:u}=e._zod.bag;a!==void 0&&(o.minLength=a),c!==void 0&&(o.maxLength=c),u?u.length===1?(o.contentMediaType=u[0],Object.assign(r,o)):(Object.assign(r,o),r.anyOf=u.map(l=>({contentMediaType:l}))):Object.assign(r,o)},Rf=(e,t,n,i)=>{n.type="boolean"},Cf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Pf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema")},Nf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema")},wf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema")},kf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema")},Of=(e,t,n,i)=>{let r=n,o=e._zod.def,{minimum:a,maximum:c}=e._zod.bag;typeof a=="number"&&(r.minItems=a),typeof c=="number"&&(r.maxItems=c),r.type="array",r.items=Z(o.element,t,{...i,path:[...i.path,"items"]})},Df=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object",r.properties={};let a=o.shape;for(let l in a)r.properties[l]=Z(a[l],t,{...i,path:[...i.path,"properties",l]});let c=new Set(Object.keys(a)),u=new Set([...c].filter(l=>{let m=o.shape[l]._zod;return t.io==="input"?m.optin===void 0:m.optout===void 0}));u.size>0&&(r.required=Array.from(u)),o.catchall?._zod.def.type==="never"?r.additionalProperties=!1:o.catchall?o.catchall&&(r.additionalProperties=Z(o.catchall,t,{...i,path:[...i.path,"additionalProperties"]})):t.io==="output"&&(r.additionalProperties=!1)},dc=(e,t,n,i)=>{let r=e._zod.def,o=r.inclusive===!1,a=r.options.map((c,u)=>Z(c,t,{...i,path:[...i.path,o?"oneOf":"anyOf",u]}));o?n.oneOf=a:n.anyOf=a},Mf=(e,t,n,i)=>{let r=e._zod.def,o=Z(r.left,t,{...i,path:[...i.path,"allOf",0]}),a=Z(r.right,t,{...i,path:[...i.path,"allOf",1]}),c=l=>"allOf"in l&&Object.keys(l).length===1,u=[...c(o)?o.allOf:[o],...c(a)?a.allOf:[a]];n.allOf=u},jf=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="array";let a=t.target==="draft-2020-12"?"prefixItems":"items",c=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",u=o.items.map((g,v)=>Z(g,t,{...i,path:[...i.path,a,v]})),l=o.rest?Z(o.rest,t,{...i,path:[...i.path,c,...t.target==="openapi-3.0"?[o.items.length]:[]]}):null;t.target==="draft-2020-12"?(r.prefixItems=u,l&&(r.items=l)):t.target==="openapi-3.0"?(r.items={anyOf:u},l&&r.items.anyOf.push(l),r.minItems=u.length,l||(r.maxItems=u.length)):(r.items=u,l&&(r.additionalItems=l));let{minimum:m,maximum:p}=e._zod.bag;typeof m=="number"&&(r.minItems=m),typeof p=="number"&&(r.maxItems=p)},zf=(e,t,n,i)=>{let r=n,o=e._zod.def;r.type="object";let a=o.keyType,u=a._zod.bag?.patterns;if(o.mode==="loose"&&u&&u.size>0){let m=Z(o.valueType,t,{...i,path:[...i.path,"patternProperties","*"]});r.patternProperties={};for(let p of u)r.patternProperties[p.source]=m}else(t.target==="draft-07"||t.target==="draft-2020-12")&&(r.propertyNames=Z(o.keyType,t,{...i,path:[...i.path,"propertyNames"]})),r.additionalProperties=Z(o.valueType,t,{...i,path:[...i.path,"additionalProperties"]});let l=a._zod.values;if(l){let m=[...l].filter(p=>typeof p=="string"||typeof p=="number");m.length>0&&(r.required=m)}},Lf=(e,t,n,i)=>{let r=e._zod.def,o=Z(r.innerType,t,i),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=r.innerType,n.nullable=!0):n.anyOf=[o,{type:"null"}]},Uf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},Ff=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.default=JSON.parse(JSON.stringify(r.defaultValue))},Bf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,t.io==="input"&&(n._prefault=JSON.parse(JSON.stringify(r.defaultValue)))},Vf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType;let a;try{a=r.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}n.default=a},Zf=(e,t,n,i)=>{let r=e._zod.def,o=r.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?o?r.out:r.in:r.out;Z(a,t,i);let c=t.seen.get(e);c.ref=a},Gf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType,n.readOnly=!0},Wf=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},mc=(e,t,n,i)=>{let r=e._zod.def;Z(r.innerType,t,i);let o=t.seen.get(e);o.ref=r.innerType},Hf=(e,t,n,i)=>{let r=e._zod.innerType;Z(r,t,i);let o=t.seen.get(e);o.ref=r},lc={string:df,number:mf,boolean:pf,bigint:ff,symbol:gf,null:hf,undefined:vf,void:bf,never:yf,any:Sf,unknown:_f,date:Ef,enum:xf,literal:Af,nan:If,template_literal:$f,file:Tf,success:Rf,custom:Cf,function:Pf,transform:Nf,map:wf,set:kf,array:Of,object:Df,union:dc,intersection:Mf,tuple:jf,record:zf,nullable:Lf,nonoptional:Uf,default:Ff,prefault:Bf,catch:Vf,pipe:Zf,readonly:Gf,promise:Wf,optional:mc,lazy:Hf};function pc(e,t){if("_idmap"in e){let i=e,r=Er({...t,processors:lc}),o={};for(let u of i._idmap.entries()){let[l,m]=u;Z(m,r)}let a={},c={registry:i,uri:t?.uri,defs:o};r.external=c;for(let u of i._idmap.entries()){let[l,m]=u;xr(r,m),a[l]=Ar(r,m)}if(Object.keys(o).length>0){let u=r.target==="draft-2020-12"?"$defs":"definitions";a.__shared={[u]:o}}return{schemas:a}}let n=Er({...t,processors:lc});return Z(e,n),xr(n,e),Ar(n,e)}var fc=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(t){this.ctx.counter=t}get seen(){return this.ctx.seen}constructor(t){let n=t?.target??"draft-2020-12";n==="draft-4"&&(n="draft-04"),n==="draft-7"&&(n="draft-07"),this.ctx=Er({processors:lc,target:n,...t?.metadata&&{metadata:t.metadata},...t?.unrepresentable&&{unrepresentable:t.unrepresentable},...t?.override&&{override:t.override},...t?.io&&{io:t.io}})}process(t,n={path:[],schemaPath:[]}){return Z(t,this.ctx,n)}emit(t,n){n&&(n.cycles&&(this.ctx.cycles=n.cycles),n.reused&&(this.ctx.reused=n.reused),n.external&&(this.ctx.external=n.external)),xr(this.ctx,t);let i=Ar(this.ctx,t),{"~standard":r,...o}=i;return o}};var vE={};var _o={};$t(_o,{ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Dc,ZodBase64URL:()=>Mc,ZodBigInt:()=>ui,ZodBigIntFormat:()=>Lc,ZodBoolean:()=>ci,ZodCIDRv4:()=>kc,ZodCIDRv6:()=>Oc,ZodCUID:()=>$c,ZodCUID2:()=>Tc,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>ai,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>jc,ZodEmail:()=>xc,ZodEmoji:()=>Ac,ZodEnum:()=>ii,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Nc,ZodIPv6:()=>wc,ZodIntersection:()=>Ag,ZodJWT:()=>zc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Cg,ZodNaN:()=>Gg,ZodNanoID:()=>Ic,ZodNever:()=>yg,ZodNonOptional:()=>Gc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>si,ZodNumberFormat:()=>Xr,ZodObject:()=>Po,ZodOptional:()=>Zc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRecord:()=>ni,ZodSet:()=>Pg,ZodString:()=>oi,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Rc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Cc,ZodXor:()=>Eg,_ZodString:()=>Ec,_default:()=>zg,_function:()=>$x,any:()=>nx,array:()=>Co,base64:()=>UE,base64url:()=>FE,bigint:()=>JE,boolean:()=>mg,catch:()=>Zg,check:()=>Tx,cidrv4:()=>zE,cidrv6:()=>LE,codec:()=>Ex,cuid:()=>PE,cuid2:()=>NE,custom:()=>Rx,date:()=>ox,describe:()=>Cx,discriminatedUnion:()=>dx,e164:()=>BE,email:()=>SE,emoji:()=>RE,enum:()=>Bc,exactOptional:()=>Dg,file:()=>bx,float32:()=>qE,float64:()=>KE,function:()=>$x,guid:()=>_E,hash:()=>HE,hex:()=>WE,hostname:()=>GE,httpUrl:()=>TE,instanceof:()=>Nx,int:()=>Sc,int32:()=>YE,int64:()=>QE,intersection:()=>Ig,invertCodec:()=>xx,ipv4:()=>DE,ipv6:()=>jE,json:()=>kx,jwt:()=>VE,keyof:()=>ax,ksuid:()=>OE,lazy:()=>Xg,literal:()=>vx,looseObject:()=>ux,looseRecord:()=>px,mac:()=>ME,map:()=>fx,meta:()=>Px,nan:()=>_x,nanoid:()=>CE,nativeEnum:()=>hx,never:()=>Uc,nonoptional:()=>Fg,null:()=>hg,nullable:()=>Io,nullish:()=>yx,number:()=>dg,object:()=>sx,optional:()=>Ao,partialRecord:()=>mx,pipe:()=>_c,prefault:()=>Ug,preprocess:()=>Ox,promise:()=>Ix,readonly:()=>qg,record:()=>Rg,refine:()=>eh,set:()=>gx,strictObject:()=>cx,string:()=>Eo,stringFormat:()=>ZE,stringbool:()=>wx,success:()=>Sx,superRefine:()=>th,symbol:()=>tx,templateLiteral:()=>Ax,transform:()=>Vc,tuple:()=>Tg,uint32:()=>XE,uint64:()=>ex,ulid:()=>wE,undefined:()=>rx,union:()=>Fc,unknown:()=>Yr,url:()=>$E,uuid:()=>EE,uuidv4:()=>xE,uuidv6:()=>AE,uuidv7:()=>IE,void:()=>ix,xid:()=>kE,xor:()=>lx});var gc={};$t(gc,{endsWith:()=>Hn,gt:()=>Pt,gte:()=>De,includes:()=>Gn,length:()=>Kr,lowercase:()=>Vn,lt:()=>Ct,lte:()=>Qe,maxLength:()=>qr,maxSize:()=>_r,mime:()=>qn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,negative:()=>ac,nonnegative:()=>cc,nonpositive:()=>sc,normalize:()=>Kn,overwrite:()=>bt,positive:()=>oc,property:()=>uc,regex:()=>Bn,size:()=>Hr,slugify:()=>Qn,startsWith:()=>Wn,toLowerCase:()=>Xn,toUpperCase:()=>Jn,trim:()=>Yn,uppercase:()=>Zn});var ri={};$t(ri,{ZodISODate:()=>vc,ZodISODateTime:()=>hc,ZodISODuration:()=>yc,ZodISOTime:()=>bc,date:()=>Kf,datetime:()=>qf,duration:()=>Xf,time:()=>Yf});var hc=f("ZodISODateTime",(e,t)=>{Am.init(e,t),K.init(e,t)});function qf(e){return Rp(hc,e)}var vc=f("ZodISODate",(e,t)=>{Im.init(e,t),K.init(e,t)});function Kf(e){return Cp(vc,e)}var bc=f("ZodISOTime",(e,t)=>{$m.init(e,t),K.init(e,t)});function Yf(e){return Pp(bc,e)}var yc=f("ZodISODuration",(e,t)=>{Tm.init(e,t),K.init(e,t)});function Xf(e){return Np(yc,e)}var bE=(e,t)=>{so.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:n=>uo(e,n)},flatten:{value:n=>co(e,n)},addIssue:{value:n=>{e.issues.push(n),e.message=JSON.stringify(e.issues,kn,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,kn,2)}},isEmpty:{get(){return e.issues.length===0}}})},ZD=f("ZodError",bE),Ze=f("ZodError",bE,{Parent:Error});var Jf=Mn(Ze),Qf=jn(Ze),eg=zn(Ze),tg=Ln(Ze),rg=ps(Ze),ng=fs(Ze),ig=gs(Ze),og=hs(Ze),ag=vs(Ze),sg=bs(Ze),cg=ys(Ze),ug=Ss(Ze);var yE=new WeakMap;function $o(e,t,n){let i=Object.getPrototypeOf(e),r=yE.get(i);if(r||(r=new Set,yE.set(i,r)),!r.has(t)){r.add(t);for(let o in n){let a=n[o];Object.defineProperty(i,o,{configurable:!0,enumerable:!1,get(){let c=a.bind(this);return Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c}),c},set(c){Object.defineProperty(this,o,{configurable:!0,writable:!0,enumerable:!0,value:c})}})}}}var w=f("ZodType",(e,t)=>(N.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:ti(e,"input"),output:ti(e,"output")}}),e.toJSONSchema=lf(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(n,i)=>Jf(e,n,i,{callee:e.parse}),e.safeParse=(n,i)=>eg(e,n,i),e.parseAsync=async(n,i)=>Qf(e,n,i,{callee:e.parseAsync}),e.safeParseAsync=async(n,i)=>tg(e,n,i),e.spa=e.safeParseAsync,e.encode=(n,i)=>rg(e,n,i),e.decode=(n,i)=>ng(e,n,i),e.encodeAsync=async(n,i)=>ig(e,n,i),e.decodeAsync=async(n,i)=>og(e,n,i),e.safeEncode=(n,i)=>ag(e,n,i),e.safeDecode=(n,i)=>sg(e,n,i),e.safeEncodeAsync=async(n,i)=>cg(e,n,i),e.safeDecodeAsync=async(n,i)=>ug(e,n,i),$o(e,"ZodType",{check(...n){let i=this.def;return this.clone(_.mergeDefs(i,{checks:[...i.checks??[],...n.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...n){return this.check(...n)},clone(n,i){return ke(this,n,i)},brand(){return this},register(n,i){return n.add(this,i),this},refine(n,i){return this.check(eh(n,i))},superRefine(n,i){return this.check(th(n,i))},overwrite(n){return this.check(bt(n))},optional(){return Ao(this)},exactOptional(){return Dg(this)},nullable(){return Io(this)},nullish(){return Ao(Io(this))},nonoptional(n){return Fg(this,n)},array(){return Co(this)},or(n){return Fc([this,n])},and(n){return Ig(this,n)},transform(n){return _c(this,Vc(n))},default(n){return zg(this,n)},prefault(n){return Ug(this,n)},catch(n){return Zg(this,n)},pipe(n){return _c(this,n)},readonly(){return qg(this)},describe(n){let i=this.clone();return _e.add(i,{description:n}),i},meta(...n){if(n.length===0)return _e.get(this);let i=this.clone();return _e.add(i,n[0]),i},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(n){return n(this)}}),Object.defineProperty(e,"description",{get(){return _e.get(e)?.description},configurable:!0}),e)),Ec=f("_ZodString",(e,t)=>{Wr.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>df(e,i,r,o);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,$o(e,"_ZodString",{regex(...i){return this.check(Bn(...i))},includes(...i){return this.check(Gn(...i))},startsWith(...i){return this.check(Wn(...i))},endsWith(...i){return this.check(Hn(...i))},min(...i){return this.check(Yt(...i))},max(...i){return this.check(qr(...i))},length(...i){return this.check(Kr(...i))},nonempty(...i){return this.check(Yt(1,...i))},lowercase(i){return this.check(Vn(i))},uppercase(i){return this.check(Zn(i))},trim(){return this.check(Yn())},normalize(...i){return this.check(Kn(...i))},toLowerCase(){return this.check(Xn())},toUpperCase(){return this.check(Jn())},slugify(){return this.check(Qn())}})}),oi=f("ZodString",(e,t)=>{Wr.init(e,t),Ec.init(e,t),e.email=n=>e.check(Ls(xc,n)),e.url=n=>e.check(So(To,n)),e.jwt=n=>e.check(ic(zc,n)),e.emoji=n=>e.check(Zs(Ac,n)),e.guid=n=>e.check(yo(xo,n)),e.uuid=n=>e.check(Us(wt,n)),e.uuidv4=n=>e.check(Fs(wt,n)),e.uuidv6=n=>e.check(Bs(wt,n)),e.uuidv7=n=>e.check(Vs(wt,n)),e.nanoid=n=>e.check(Gs(Ic,n)),e.guid=n=>e.check(yo(xo,n)),e.cuid=n=>e.check(Ws($c,n)),e.cuid2=n=>e.check(Hs(Tc,n)),e.ulid=n=>e.check(qs(Rc,n)),e.base64=n=>e.check(tc(Dc,n)),e.base64url=n=>e.check(rc(Mc,n)),e.xid=n=>e.check(Ks(Cc,n)),e.ksuid=n=>e.check(Ys(Pc,n)),e.ipv4=n=>e.check(Xs(Nc,n)),e.ipv6=n=>e.check(Js(wc,n)),e.cidrv4=n=>e.check(Qs(kc,n)),e.cidrv6=n=>e.check(ec(Oc,n)),e.e164=n=>e.check(nc(jc,n)),e.datetime=n=>e.check(qf(n)),e.date=n=>e.check(Kf(n)),e.time=n=>e.check(Yf(n)),e.duration=n=>e.check(Xf(n))});function Eo(e){return Ap(oi,e)}var K=f("ZodStringFormat",(e,t)=>{q.init(e,t),Ec.init(e,t)}),xc=f("ZodEmail",(e,t)=>{gm.init(e,t),K.init(e,t)});function SE(e){return Ls(xc,e)}var xo=f("ZodGUID",(e,t)=>{pm.init(e,t),K.init(e,t)});function _E(e){return yo(xo,e)}var wt=f("ZodUUID",(e,t)=>{fm.init(e,t),K.init(e,t)});function EE(e){return Us(wt,e)}function xE(e){return Fs(wt,e)}function AE(e){return Bs(wt,e)}function IE(e){return Vs(wt,e)}var To=f("ZodURL",(e,t)=>{hm.init(e,t),K.init(e,t)});function $E(e){return So(To,e)}function TE(e){return So(To,{protocol:Je.httpProtocol,hostname:Je.domain,..._.normalizeParams(e)})}var Ac=f("ZodEmoji",(e,t)=>{vm.init(e,t),K.init(e,t)});function RE(e){return Zs(Ac,e)}var Ic=f("ZodNanoID",(e,t)=>{bm.init(e,t),K.init(e,t)});function CE(e){return Gs(Ic,e)}var $c=f("ZodCUID",(e,t)=>{ym.init(e,t),K.init(e,t)});function PE(e){return Ws($c,e)}var Tc=f("ZodCUID2",(e,t)=>{Sm.init(e,t),K.init(e,t)});function NE(e){return Hs(Tc,e)}var Rc=f("ZodULID",(e,t)=>{_m.init(e,t),K.init(e,t)});function wE(e){return qs(Rc,e)}var Cc=f("ZodXID",(e,t)=>{Em.init(e,t),K.init(e,t)});function kE(e){return Ks(Cc,e)}var Pc=f("ZodKSUID",(e,t)=>{xm.init(e,t),K.init(e,t)});function OE(e){return Ys(Pc,e)}var Nc=f("ZodIPv4",(e,t)=>{Rm.init(e,t),K.init(e,t)});function DE(e){return Xs(Nc,e)}var lg=f("ZodMAC",(e,t)=>{Pm.init(e,t),K.init(e,t)});function ME(e){return $p(lg,e)}var wc=f("ZodIPv6",(e,t)=>{Cm.init(e,t),K.init(e,t)});function jE(e){return Js(wc,e)}var kc=f("ZodCIDRv4",(e,t)=>{Nm.init(e,t),K.init(e,t)});function zE(e){return Qs(kc,e)}var Oc=f("ZodCIDRv6",(e,t)=>{wm.init(e,t),K.init(e,t)});function LE(e){return ec(Oc,e)}var Dc=f("ZodBase64",(e,t)=>{Om.init(e,t),K.init(e,t)});function UE(e){return tc(Dc,e)}var Mc=f("ZodBase64URL",(e,t)=>{Dm.init(e,t),K.init(e,t)});function FE(e){return rc(Mc,e)}var jc=f("ZodE164",(e,t)=>{Mm.init(e,t),K.init(e,t)});function BE(e){return nc(jc,e)}var zc=f("ZodJWT",(e,t)=>{jm.init(e,t),K.init(e,t)});function VE(e){return ic(zc,e)}var ai=f("ZodCustomStringFormat",(e,t)=>{zm.init(e,t),K.init(e,t)});function ZE(e,t,n={}){return ei(ai,e,t,n)}function GE(e){return ei(ai,"hostname",Je.hostname,e)}function WE(e){return ei(ai,"hex",Je.hex,e)}function HE(e,t){let n=t?.enc??"hex",i=`${e}_${n}`,r=Je[i];if(!r)throw new Error(`Unrecognized hash format: ${i}`);return ei(ai,i,r,t)}var si=f("ZodNumber",(e,t)=>{Cs.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>mf(e,i,r,o),$o(e,"ZodNumber",{gt(i,r){return this.check(Pt(i,r))},gte(i,r){return this.check(De(i,r))},min(i,r){return this.check(De(i,r))},lt(i,r){return this.check(Ct(i,r))},lte(i,r){return this.check(Qe(i,r))},max(i,r){return this.check(Qe(i,r))},int(i){return this.check(Sc(i))},safe(i){return this.check(Sc(i))},positive(i){return this.check(Pt(0,i))},nonnegative(i){return this.check(De(0,i))},negative(i){return this.check(Ct(0,i))},nonpositive(i){return this.check(Qe(0,i))},multipleOf(i,r){return this.check(Sr(i,r))},step(i,r){return this.check(Sr(i,r))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function dg(e){return wp(si,e)}var Xr=f("ZodNumberFormat",(e,t)=>{Lm.init(e,t),si.init(e,t)});function Sc(e){return Op(Xr,e)}function qE(e){return Dp(Xr,e)}function KE(e){return Mp(Xr,e)}function YE(e){return jp(Xr,e)}function XE(e){return zp(Xr,e)}var ci=f("ZodBoolean",(e,t)=>{fo.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>pf(e,n,i,r)});function mg(e){return Lp(ci,e)}var ui=f("ZodBigInt",(e,t)=>{Ps.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>ff(e,i,r,o),e.gte=(i,r)=>e.check(De(i,r)),e.min=(i,r)=>e.check(De(i,r)),e.gt=(i,r)=>e.check(Pt(i,r)),e.gte=(i,r)=>e.check(De(i,r)),e.min=(i,r)=>e.check(De(i,r)),e.lt=(i,r)=>e.check(Ct(i,r)),e.lte=(i,r)=>e.check(Qe(i,r)),e.max=(i,r)=>e.check(Qe(i,r)),e.positive=i=>e.check(Pt(BigInt(0),i)),e.negative=i=>e.check(Ct(BigInt(0),i)),e.nonpositive=i=>e.check(Qe(BigInt(0),i)),e.nonnegative=i=>e.check(De(BigInt(0),i)),e.multipleOf=(i,r)=>e.check(Sr(i,r));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null});function JE(e){return Fp(ui,e)}var Lc=f("ZodBigIntFormat",(e,t)=>{Um.init(e,t),ui.init(e,t)});function QE(e){return Vp(Lc,e)}function ex(e){return Zp(Lc,e)}var pg=f("ZodSymbol",(e,t)=>{Fm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>gf(e,n,i,r)});function tx(e){return Gp(pg,e)}var fg=f("ZodUndefined",(e,t)=>{Bm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>vf(e,n,i,r)});function rx(e){return Wp(fg,e)}var gg=f("ZodNull",(e,t)=>{Vm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>hf(e,n,i,r)});function hg(e){return Hp(gg,e)}var vg=f("ZodAny",(e,t)=>{Zm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Sf(e,n,i,r)});function nx(){return qp(vg)}var bg=f("ZodUnknown",(e,t)=>{Gm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>_f(e,n,i,r)});function Yr(){return Kp(bg)}var yg=f("ZodNever",(e,t)=>{Wm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>yf(e,n,i,r)});function Uc(e){return Yp(yg,e)}var Sg=f("ZodVoid",(e,t)=>{Hm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>bf(e,n,i,r)});function ix(e){return Xp(Sg,e)}var Ro=f("ZodDate",(e,t)=>{qm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>Ef(e,i,r,o),e.min=(i,r)=>e.check(De(i,r)),e.max=(i,r)=>e.check(Qe(i,r));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null});function ox(e){return Jp(Ro,e)}var _g=f("ZodArray",(e,t)=>{Km.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Of(e,n,i,r),e.element=t.element,$o(e,"ZodArray",{min(n,i){return this.check(Yt(n,i))},nonempty(n){return this.check(Yt(1,n))},max(n,i){return this.check(qr(n,i))},length(n,i){return this.check(Kr(n,i))},unwrap(){return this.element}})});function Co(e,t){return tf(_g,e,t)}function ax(e){let t=e._zod.def.shape;return Bc(Object.keys(t))}var Po=f("ZodObject",(e,t)=>{Ym.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Df(e,n,i,r),_.defineLazy(e,"shape",()=>t.shape),$o(e,"ZodObject",{keyof(){return Bc(Object.keys(this._zod.def.shape))},catchall(n){return this.clone({...this._zod.def,catchall:n})},passthrough(){return this.clone({...this._zod.def,catchall:Yr()})},loose(){return this.clone({...this._zod.def,catchall:Yr()})},strict(){return this.clone({...this._zod.def,catchall:Uc()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(n){return _.extend(this,n)},safeExtend(n){return _.safeExtend(this,n)},merge(n){return _.merge(this,n)},pick(n){return _.pick(this,n)},omit(n){return _.omit(this,n)},partial(...n){return _.partial(Zc,this,n[0])},required(...n){return _.required(Gc,this,n[0])}})});function sx(e,t){let n={type:"object",shape:e??{},..._.normalizeParams(t)};return new Po(n)}function cx(e,t){return new Po({type:"object",shape:e,catchall:Uc(),..._.normalizeParams(t)})}function ux(e,t){return new Po({type:"object",shape:e,catchall:Yr(),..._.normalizeParams(t)})}var No=f("ZodUnion",(e,t)=>{go.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>dc(e,n,i,r),e.options=t.options});function Fc(e,t){return new No({type:"union",options:e,..._.normalizeParams(t)})}var Eg=f("ZodXor",(e,t)=>{No.init(e,t),Xm.init(e,t),e._zod.processJSONSchema=(n,i,r)=>dc(e,n,i,r),e.options=t.options});function lx(e,t){return new Eg({type:"union",options:e,inclusive:!1,..._.normalizeParams(t)})}var xg=f("ZodDiscriminatedUnion",(e,t)=>{No.init(e,t),Jm.init(e,t)});function dx(e,t,n){return new xg({type:"union",options:t,discriminator:e,..._.normalizeParams(n)})}var Ag=f("ZodIntersection",(e,t)=>{Qm.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Mf(e,n,i,r)});function Ig(e,t){return new Ag({type:"intersection",left:e,right:t})}var $g=f("ZodTuple",(e,t)=>{Ns.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>jf(e,n,i,r),e.rest=n=>e.clone({...e._zod.def,rest:n})});function Tg(e,t,n){let i=t instanceof N,r=i?n:t,o=i?t:null;return new $g({type:"tuple",items:e,rest:o,..._.normalizeParams(r)})}var ni=f("ZodRecord",(e,t)=>{ep.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>zf(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType});function Rg(e,t,n){return!t||!t._zod?new ni({type:"record",keyType:Eo(),valueType:e,..._.normalizeParams(t)}):new ni({type:"record",keyType:e,valueType:t,..._.normalizeParams(n)})}function mx(e,t,n){let i=ke(e);return i._zod.values=void 0,new ni({type:"record",keyType:i,valueType:t,..._.normalizeParams(n)})}function px(e,t,n){return new ni({type:"record",keyType:e,valueType:t,mode:"loose",..._.normalizeParams(n)})}var Cg=f("ZodMap",(e,t)=>{tp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>wf(e,n,i,r),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...n)=>e.check(Nt(...n)),e.nonempty=n=>e.check(Nt(1,n)),e.max=(...n)=>e.check(_r(...n)),e.size=(...n)=>e.check(Hr(...n))});function fx(e,t,n){return new Cg({type:"map",keyType:e,valueType:t,..._.normalizeParams(n)})}var Pg=f("ZodSet",(e,t)=>{rp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>kf(e,n,i,r),e.min=(...n)=>e.check(Nt(...n)),e.nonempty=n=>e.check(Nt(1,n)),e.max=(...n)=>e.check(_r(...n)),e.size=(...n)=>e.check(Hr(...n))});function gx(e,t){return new Pg({type:"set",valueType:e,..._.normalizeParams(t)})}var ii=f("ZodEnum",(e,t)=>{np.init(e,t),w.init(e,t),e._zod.processJSONSchema=(i,r,o)=>xf(e,i,r,o),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(i,r)=>{let o={};for(let a of i)if(n.has(a))o[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new ii({...t,checks:[],..._.normalizeParams(r),entries:o})},e.exclude=(i,r)=>{let o={...t.entries};for(let a of i)if(n.has(a))delete o[a];else throw new Error(`Key ${a} not found in enum`);return new ii({...t,checks:[],..._.normalizeParams(r),entries:o})}});function Bc(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new ii({type:"enum",entries:n,..._.normalizeParams(t)})}function hx(e,t){return new ii({type:"enum",entries:e,..._.normalizeParams(t)})}var Ng=f("ZodLiteral",(e,t)=>{ip.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Af(e,n,i,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function vx(e,t){return new Ng({type:"literal",values:Array.isArray(e)?e:[e],..._.normalizeParams(t)})}var wg=f("ZodFile",(e,t)=>{op.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Tf(e,n,i,r),e.min=(n,i)=>e.check(Nt(n,i)),e.max=(n,i)=>e.check(_r(n,i)),e.mime=(n,i)=>e.check(qn(Array.isArray(n)?n:[n],i))});function bx(e){return rf(wg,e)}var kg=f("ZodTransform",(e,t)=>{ap.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Nf(e,n,i,r),e._zod.parse=(n,i)=>{if(i.direction==="backward")throw new gr(e.constructor.name);n.addIssue=o=>{if(typeof o=="string")n.issues.push(_.issue(o,n.value,t));else{let a=o;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),a.input??(a.input=n.value),a.inst??(a.inst=e),n.issues.push(_.issue(a))}};let r=t.transform(n.value,n);return r instanceof Promise?r.then(o=>(n.value=o,n.fallback=!0,n)):(n.value=r,n.fallback=!0,n)}});function Vc(e){return new kg({type:"transform",transform:e})}var Zc=f("ZodOptional",(e,t)=>{ws.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>mc(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Ao(e){return new Zc({type:"optional",innerType:e})}var Og=f("ZodExactOptional",(e,t)=>{sp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>mc(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Dg(e){return new Og({type:"optional",innerType:e})}var Mg=f("ZodNullable",(e,t)=>{cp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Lf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Io(e){return new Mg({type:"nullable",innerType:e})}function yx(e){return Ao(Io(e))}var jg=f("ZodDefault",(e,t)=>{up.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Ff(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function zg(e,t){return new jg({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():_.shallowClone(t)}})}var Lg=f("ZodPrefault",(e,t)=>{lp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Bf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Ug(e,t){return new Lg({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():_.shallowClone(t)}})}var Gc=f("ZodNonOptional",(e,t)=>{dp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Uf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Fg(e,t){return new Gc({type:"nonoptional",innerType:e,..._.normalizeParams(t)})}var Bg=f("ZodSuccess",(e,t)=>{mp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Rf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Sx(e){return new Bg({type:"success",innerType:e})}var Vg=f("ZodCatch",(e,t)=>{pp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Vf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Zg(e,t){return new Vg({type:"catch",innerType:e,catchValue:typeof t=="function"?t:()=>t})}var Gg=f("ZodNaN",(e,t)=>{fp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>If(e,n,i,r)});function _x(e){return ef(Gg,e)}var wo=f("ZodPipe",(e,t)=>{ks.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Zf(e,n,i,r),e.in=t.in,e.out=t.out});function _c(e,t){return new wo({type:"pipe",in:e,out:t})}var ko=f("ZodCodec",(e,t)=>{wo.init(e,t),ho.init(e,t)});function Ex(e,t,n){return new ko({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function xx(e){let t=e._zod.def;return new ko({type:"pipe",in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}var Wg=f("ZodPreprocess",(e,t)=>{wo.init(e,t),gp.init(e,t)}),Hg=f("ZodReadonly",(e,t)=>{hp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Gf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function qg(e){return new Hg({type:"readonly",innerType:e})}var Kg=f("ZodTemplateLiteral",(e,t)=>{vp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>$f(e,n,i,r)});function Ax(e,t){return new Kg({type:"template_literal",parts:e,..._.normalizeParams(t)})}var Yg=f("ZodLazy",(e,t)=>{Sp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Hf(e,n,i,r),e.unwrap=()=>e._zod.def.getter()});function Xg(e){return new Yg({type:"lazy",getter:e})}var Jg=f("ZodPromise",(e,t)=>{yp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Wf(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Ix(e){return new Jg({type:"promise",innerType:e})}var Qg=f("ZodFunction",(e,t)=>{bp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Pf(e,n,i,r)});function $x(e){return new Qg({type:"function",input:Array.isArray(e?.input)?Tg(e?.input):e?.input??Co(Yr()),output:e?.output??Yr()})}var Oo=f("ZodCustom",(e,t)=>{_p.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>Cf(e,n,i,r)});function Tx(e){let t=new X({check:"custom"});return t._zod.check=e,t}function Rx(e,t){return nf(Oo,e??(()=>!0),t)}function eh(e,t={}){return of(Oo,e,t)}function th(e,t){return af(e,t)}var Cx=sf,Px=cf;function Nx(e,t={}){let n=new Oo({type:"custom",check:"custom",fn:i=>i instanceof e,abort:!0,..._.normalizeParams(t)});return n._zod.bag.Class=e,n._zod.check=i=>{i.value instanceof e||i.issues.push({code:"invalid_type",expected:e.name,input:i.value,inst:n,path:[...n._zod.def.path??[]]})},n}var wx=(...e)=>uf({Codec:ko,Boolean:ci,String:oi},...e);function kx(e){let t=Xg(()=>Fc([Eo(e),dg(),mg(),hg(),Co(t),Rg(Eo(),t)]));return t}function Ox(e,t){return new Wg({type:"pipe",in:Vc(e),out:t})}var WD={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function HD(e){se({customError:e})}function qD(){return se().customError}var rh;rh||(rh={});var x={..._o,...gc,iso:ri},KD=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"]);function YD(e,t){let n=e.$schema;return n==="https://json-schema.org/draft/2020-12/schema"?"draft-2020-12":n==="http://json-schema.org/draft-07/schema#"?"draft-7":n==="http://json-schema.org/draft-04/schema#"?"draft-4":t??"draft-2020-12"}function XD(e,t){if(!e.startsWith("#"))throw new Error("External $ref is not supported, only local refs (#/...) are allowed");let n=e.slice(1).split("/").filter(Boolean);if(n.length===0)return t.rootSchema;let i=t.version==="draft-2020-12"?"$defs":"definitions";if(n[0]===i){let r=n[1];if(!r||!t.defs[r])throw new Error(`Reference not found: ${e}`);return t.defs[r]}throw new Error(`Reference not found: ${e}`)}function Dx(e,t){if(e.not!==void 0){if(typeof e.not=="object"&&Object.keys(e.not).length===0)return x.never();throw new Error("not is not supported in Zod (except { not: {} } for never)")}if(e.unevaluatedItems!==void 0)throw new Error("unevaluatedItems is not supported");if(e.unevaluatedProperties!==void 0)throw new Error("unevaluatedProperties is not supported");if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw new Error("Conditional schemas (if/then/else) are not supported");if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw new Error("dependentSchemas and dependentRequired are not supported");if(e.$ref){let r=e.$ref;if(t.refs.has(r))return t.refs.get(r);if(t.processing.has(r))return x.lazy(()=>{if(!t.refs.has(r))throw new Error(`Circular reference not resolved: ${r}`);return t.refs.get(r)});t.processing.add(r);let o=XD(r,t),a=Te(o,t);return t.refs.set(r,a),t.processing.delete(r),a}if(e.enum!==void 0){let r=e.enum;if(t.version==="openapi-3.0"&&e.nullable===!0&&r.length===1&&r[0]===null)return x.null();if(r.length===0)return x.never();if(r.length===1)return x.literal(r[0]);if(r.every(a=>typeof a=="string"))return x.enum(r);let o=r.map(a=>x.literal(a));return o.length<2?o[0]:x.union([o[0],o[1],...o.slice(2)])}if(e.const!==void 0)return x.literal(e.const);let n=e.type;if(Array.isArray(n)){let r=n.map(o=>{let a={...e,type:o};return Dx(a,t)});return r.length===0?x.never():r.length===1?r[0]:x.union(r)}if(!n)return x.any();let i;switch(n){case"string":{let r=x.string();if(e.format){let o=e.format;o==="email"?r=r.check(x.email()):o==="uri"||o==="uri-reference"?r=r.check(x.url()):o==="uuid"||o==="guid"?r=r.check(x.uuid()):o==="date-time"?r=r.check(x.iso.datetime()):o==="date"?r=r.check(x.iso.date()):o==="time"?r=r.check(x.iso.time()):o==="duration"?r=r.check(x.iso.duration()):o==="ipv4"?r=r.check(x.ipv4()):o==="ipv6"?r=r.check(x.ipv6()):o==="mac"?r=r.check(x.mac()):o==="cidr"?r=r.check(x.cidrv4()):o==="cidr-v6"?r=r.check(x.cidrv6()):o==="base64"?r=r.check(x.base64()):o==="base64url"?r=r.check(x.base64url()):o==="e164"?r=r.check(x.e164()):o==="jwt"?r=r.check(x.jwt()):o==="emoji"?r=r.check(x.emoji()):o==="nanoid"?r=r.check(x.nanoid()):o==="cuid"?r=r.check(x.cuid()):o==="cuid2"?r=r.check(x.cuid2()):o==="ulid"?r=r.check(x.ulid()):o==="xid"?r=r.check(x.xid()):o==="ksuid"&&(r=r.check(x.ksuid()))}typeof e.minLength=="number"&&(r=r.min(e.minLength)),typeof e.maxLength=="number"&&(r=r.max(e.maxLength)),e.pattern&&(r=r.regex(new RegExp(e.pattern))),i=r;break}case"number":case"integer":{let r=n==="integer"?x.number().int():x.number();typeof e.minimum=="number"&&(r=r.min(e.minimum)),typeof e.maximum=="number"&&(r=r.max(e.maximum)),typeof e.exclusiveMinimum=="number"?r=r.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum=="number"&&(r=r.gt(e.minimum)),typeof e.exclusiveMaximum=="number"?r=r.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum=="number"&&(r=r.lt(e.maximum)),typeof e.multipleOf=="number"&&(r=r.multipleOf(e.multipleOf)),i=r;break}case"boolean":{i=x.boolean();break}case"null":{i=x.null();break}case"object":{let r={},o=e.properties||{},a=new Set(e.required||[]);for(let[u,l]of Object.entries(o)){let m=Te(l,t);r[u]=a.has(u)?m:m.optional()}if(e.propertyNames){let u=Te(e.propertyNames,t),l=e.additionalProperties&&typeof e.additionalProperties=="object"?Te(e.additionalProperties,t):x.any();if(Object.keys(r).length===0){i=x.record(u,l);break}let m=x.object(r).passthrough(),p=x.looseRecord(u,l);i=x.intersection(m,p);break}if(e.patternProperties){let u=e.patternProperties,l=Object.keys(u),m=[];for(let g of l){let v=Te(u[g],t),A=x.string().regex(new RegExp(g));m.push(x.looseRecord(A,v))}let p=[];if(Object.keys(r).length>0&&p.push(x.object(r).passthrough()),p.push(...m),p.length===0)i=x.object({}).passthrough();else if(p.length===1)i=p[0];else{let g=x.intersection(p[0],p[1]);for(let v=2;v<p.length;v++)g=x.intersection(g,p[v]);i=g}break}let c=x.object(r);e.additionalProperties===!1?i=c.strict():typeof e.additionalProperties=="object"?i=c.catchall(Te(e.additionalProperties,t)):i=c.passthrough();break}case"array":{let r=e.prefixItems,o=e.items;if(r&&Array.isArray(r)){let a=r.map(u=>Te(u,t)),c=o&&typeof o=="object"&&!Array.isArray(o)?Te(o,t):void 0;c?i=x.tuple(a).rest(c):i=x.tuple(a),typeof e.minItems=="number"&&(i=i.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(i=i.check(x.maxLength(e.maxItems)))}else if(Array.isArray(o)){let a=o.map(u=>Te(u,t)),c=e.additionalItems&&typeof e.additionalItems=="object"?Te(e.additionalItems,t):void 0;c?i=x.tuple(a).rest(c):i=x.tuple(a),typeof e.minItems=="number"&&(i=i.check(x.minLength(e.minItems))),typeof e.maxItems=="number"&&(i=i.check(x.maxLength(e.maxItems)))}else if(o!==void 0){let a=Te(o,t),c=x.array(a);typeof e.minItems=="number"&&(c=c.min(e.minItems)),typeof e.maxItems=="number"&&(c=c.max(e.maxItems)),i=c}else i=x.array(x.any());break}default:throw new Error(`Unsupported type: ${n}`)}return i}function Te(e,t){if(typeof e=="boolean")return e?x.any():x.never();let n=Dx(e,t),i=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let c=e.anyOf.map(l=>Te(l,t)),u=x.union(c);n=i?x.intersection(n,u):u}if(e.oneOf&&Array.isArray(e.oneOf)){let c=e.oneOf.map(l=>Te(l,t)),u=x.xor(c);n=i?x.intersection(n,u):u}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=i?n:x.any();else{let c=i?n:Te(e.allOf[0],t),u=i?0:1;for(let l=u;l<e.allOf.length;l++)c=x.intersection(c,Te(e.allOf[l],t));n=c}e.nullable===!0&&t.version==="openapi-3.0"&&(n=x.nullable(n)),e.readOnly===!0&&(n=x.readonly(n)),e.default!==void 0&&(n=n.default(e.default));let r={},o=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let c of o)c in e&&(r[c]=e[c]);let a=["contentEncoding","contentMediaType","contentSchema"];for(let c of a)c in e&&(r[c]=e[c]);for(let c of Object.keys(e))KD.has(c)||(r[c]=e[c]);return Object.keys(r).length>0&&t.registry.add(n,r),e.description&&(n=n.describe(e.description)),n}function Mx(e,t){if(typeof e=="boolean")return e?x.any():x.never();let n;try{n=JSON.parse(JSON.stringify(e))}catch{throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let i=YD(n,t?.defaultTarget),r=n.$defs||n.definitions||{},o={version:i,defs:r,refs:new Map,processing:new Set,rootSchema:n,registry:t?.registry??_e};return Te(n,o)}var nh={};$t(nh,{bigint:()=>t1,boolean:()=>e1,date:()=>r1,number:()=>QD,string:()=>JD});function JD(e){return Ip(oi,e)}function QD(e){return kp(si,e)}function e1(e){return Up(ci,e)}function t1(e){return Bp(ui,e)}function r1(e){return Qp(Ro,e)}se(Os());var n1=Object.defineProperty,Jr=(e,t)=>n1(e,"name",{value:t,configurable:!0}),ih=["production","staging","development","platform","compliance"],jx={production:"Production",staging:"Staging",development:"Development",platform:"Platform",compliance:"Compliance"},i1=new Set(ih);function Wc(e){return i1.has(e)}Jr(Wc,"isAccountStage");var Mo={ROOT:"root",PLATFORM:"platform"},o1=[...ih,Mo.ROOT];function zx(e){return Wc(e)?jx[e]:e.charAt(0).toUpperCase()+e.slice(1)}Jr(zx,"getEnvironmentLabel");var oh=["organisation","platform","account"],a1=s.enum(oh),Do={ORGANISATION:"organisation",PLATFORM:"platform",ACCOUNT:"account"},s1={[Do.ORGANISATION]:!0,[Do.PLATFORM]:!0,[Do.ACCOUNT]:!0},c1=new Set(Object.keys(s1));function Lx(e){return c1.has(e)}Jr(Lx,"isAccountTier");var Ux=oh.filter(e=>e!==Do.ACCOUNT),u1=new Set(Ux);function Fx(e){return u1.has(e)}Jr(Fx,"isGovernanceTier");function ah(e){return e===Mo.ROOT?"organisation":e===Mo.PLATFORM?"platform":"account"}Jr(ah,"environmentToTier");function Bx(e){return e==null||e===""||e===Mo.ROOT?null:Wc(e)?e:null}Jr(Bx,"stageFromWireEnvironment");function jo(e){return e.tier??ah(e.environment)}Jr(jo,"accountTier");var l1=Object.defineProperty,zo=(e,t)=>l1(e,"name",{value:t,configurable:!0});var Vx=Object.freeze({"AWS::IAM::Role":"security","AWS::IAM::Policy":"security","AWS::IAM::OIDCProvider":"security","AWS::EC2::SecurityGroup":"security","AWS::KMS::Key":"security","AWS::KMS::Alias":"security","AWS::EC2::VPC":"network","AWS::EC2::Subnet":"network","AWS::EC2::InternetGateway":"network","AWS::EC2::NatGateway":"network","AWS::EC2::RouteTable":"network","AWS::EC2::Route":"network","AWS::EC2::VPCGatewayAttachment":"network","AWS::EC2::SubnetRouteTableAssociation":"network","AWS::EC2::EIP":"network","AWS::ECS::Cluster":"compute","AWS::ECS::Service":"compute","AWS::ECS::TaskDefinition":"compute","AWS::Lambda::Function":"compute","AWS::ElasticLoadBalancingV2::LoadBalancer":"compute","AWS::ElasticLoadBalancingV2::TargetGroup":"compute","AWS::ElasticLoadBalancingV2::Listener":"compute","AWS::ElasticLoadBalancingV2::ListenerRule":"compute","AWS::RDS::DBInstance":"database","AWS::RDS::DBCluster":"database","AWS::SecretsManager::Secret":"database","AWS::S3::Bucket":"storage","AWS::S3::BucketPolicy":"storage","AWS::CloudTrail::Trail":"monitoring","AWS::CloudWatch::Alarm":"monitoring","AWS::Logs::LogGroup":"monitoring","AWS::Events::EventBus":"events","AWS::Events::Rule":"events","AWS::ECR::Repository":"registry","AWS::CodeBuild::Project":"registry","AWS::Route53::RecordSet":"dns","AWS::CertificateManager::Certificate":"dns","AWS::CloudFront::Distribution":"dns","AWS::Backup::BackupVault":"backup","AWS::Backup::BackupPlan":"backup","AWS::Backup::BackupSelection":"backup","AWS::SSO::PermissionSet":"identity","AWS::SSO::Assignment":"identity","AWS::Organizations::Account":"identity","AWS::CDK::Metadata":"compute","AWS::CloudFormation::CustomResource":"compute","AWS::CloudFormation::WaitCondition":"compute","AWS::CloudFormation::WaitConditionHandle":"compute"}),sh=new Set;function Zx(e){if(!e)return"compute";if(e.startsWith("Custom::"))return Vx[e]??"compute";let t=Vx[e];return t||sh.add(e),t??"compute"}zo(Zx,"categoriseResource");function d1(){return new Set(sh)}zo(d1,"getUnmappedResourceTypes");function m1(){sh.clear()}zo(m1,"clearUnmappedResourceTypes");var p1=Object.freeze({"AWS::EC2::NatGateway":120,"AWS::RDS::DBInstance":300,"AWS::RDS::DBCluster":300,"AWS::CloudFront::Distribution":300,"AWS::ECS::Service":180,"AWS::ElasticLoadBalancingV2::LoadBalancer":60,"AWS::EC2::SecurityGroup":10,"AWS::IAM::Role":15,"AWS::IAM::Policy":15,"AWS::IAM::OIDCProvider":10,"AWS::S3::Bucket":10,"AWS::S3::BucketPolicy":5,"AWS::Lambda::Function":30,"AWS::EC2::VPC":15,"AWS::EC2::Subnet":15,"AWS::EC2::InternetGateway":10,"AWS::EC2::RouteTable":5,"AWS::EC2::Route":5,"AWS::EC2::VPCGatewayAttachment":10,"AWS::EC2::SubnetRouteTableAssociation":5,"AWS::EC2::EIP":10,"AWS::ECS::Cluster":15,"AWS::ECS::TaskDefinition":10,"AWS::ElasticLoadBalancingV2::TargetGroup":10,"AWS::ElasticLoadBalancingV2::Listener":10,"AWS::ElasticLoadBalancingV2::ListenerRule":5,"AWS::SecretsManager::Secret":10,"AWS::Logs::LogGroup":5,"AWS::CloudWatch::Alarm":10,"AWS::CloudTrail::Trail":15,"AWS::Events::EventBus":5,"AWS::Events::Rule":5,"AWS::ECR::Repository":10,"AWS::Route53::RecordSet":30,"AWS::CertificateManager::Certificate":60,"AWS::KMS::Key":15,"AWS::KMS::Alias":5,"AWS::Backup::BackupVault":10,"AWS::Backup::BackupPlan":10,"AWS::Backup::BackupSelection":10,"AWS::SSO::PermissionSet":15,"AWS::SSO::Assignment":10,"AWS::Organizations::Account":60}),f1=30;function Gx(e){return p1[e]??f1}zo(Gx,"getExpectedDuration");var g1=Object.freeze({"AWS::Lambda::Function":"Lambda Function","AWS::IAM::Role":"IAM Role","AWS::IAM::Policy":"IAM Policy","AWS::S3::Bucket":"S3 Bucket","AWS::DynamoDB::Table":"DynamoDB Table","AWS::EC2::Instance":"EC2 Instance","AWS::EC2::SecurityGroup":"Security Group","AWS::EC2::VPC":"VPC","AWS::EC2::Subnet":"Subnet","AWS::EC2::InternetGateway":"Internet Gateway","AWS::EC2::RouteTable":"Route Table","AWS::EC2::Route":"Route","AWS::ECS::Cluster":"ECS Cluster","AWS::ECS::Service":"ECS Service","AWS::ECS::TaskDefinition":"Task Definition","AWS::ElasticLoadBalancingV2::LoadBalancer":"Load Balancer","AWS::ElasticLoadBalancingV2::TargetGroup":"Target Group","AWS::ElasticLoadBalancingV2::Listener":"Listener","AWS::CloudFormation::Stack":"CloudFormation Stack","AWS::CDK::Metadata":"CDK Metadata","Custom::CDKBucketDeployment":"Bucket Deployment","AWS::SSM::Parameter":"SSM Parameter","AWS::CloudWatch::Alarm":"CloudWatch Alarm","AWS::Logs::LogGroup":"Log Group","AWS::ApiGateway::RestApi":"API Gateway","AWS::ApiGateway::Deployment":"API Deployment","AWS::ApiGateway::Stage":"API Stage","AWS::ApiGateway::Method":"API Method","AWS::ApiGateway::Resource":"API Resource","AWS::CloudFront::Distribution":"CloudFront Distribution","AWS::Route53::RecordSet":"Route53 Record","AWS::RDS::DBInstance":"RDS Instance","AWS::RDS::DBCluster":"RDS Cluster","AWS::SQS::Queue":"SQS Queue","AWS::SNS::Topic":"SNS Topic","AWS::Events::Rule":"EventBridge Rule","AWS::StepFunctions::StateMachine":"Step Function","AWS::EC2::NatGateway":"NAT Gateway","AWS::EC2::EIP":"Elastic IP","AWS::EC2::VPCGatewayAttachment":"Gateway Attachment","AWS::EC2::SubnetRouteTableAssociation":"Route Association","AWS::CloudTrail::Trail":"CloudTrail","AWS::IAM::OIDCProvider":"OIDC Provider","AWS::Events::EventBus":"Event Bus","AWS::Backup::BackupVault":"Backup Vault","AWS::Backup::BackupPlan":"Backup Plan","AWS::Backup::BackupSelection":"Backup Selection","AWS::SecretsManager::Secret":"Secret","AWS::KMS::Key":"KMS Key","AWS::KMS::Alias":"KMS Alias","AWS::ECR::Repository":"ECR Repository","AWS::CertificateManager::Certificate":"Certificate","AWS::ElasticLoadBalancingV2::ListenerRule":"Listener Rule","AWS::EC2::IPAM":"IPAM","AWS::EC2::IPAMPool":"IPAM Pool","AWS::EC2::IPAMPoolCidr":"IPAM Pool CIDR","Custom::ram":"RAM","Custom::ipamDelegateAdmin":"IPAM Delegate Admin","Custom::CostAllocationTags":"Cost Allocation Tags","Custom::ActivateOrganisationsAccess":"Activate Organisations Access","Custom::Organizations_TagResource":"Organisations Tag Resource","AWS::CloudFormation::CustomResource":"Custom Resource","AWS::CloudFormation::WaitCondition":"Wait Condition","AWS::CloudFormation::WaitConditionHandle":"Wait Condition Handle","AWS::SSO::PermissionSet":"SSO Permission Set","AWS::SSO::Assignment":"SSO Assignment","AWS::Organizations::Account":"Organisations Account","AWS::S3::BucketPolicy":"S3 Bucket Policy","AWS::CodeBuild::Project":"CodeBuild Project"});function Wx(e){return g1[e]||e.split("::").pop()||e}zo(Wx,"getFriendlyResourceType");var h1=Object.defineProperty,v1=(e,t)=>h1(e,"name",{value:t,configurable:!0}),b1={"github.com":"github","gitlab.com":"gitlab","bitbucket.org":"bitbucket"},y1=/^https?:\/\/([^/]+)\/(.+?)\/([^/.]+?)(?:\.git)?$/,S1=/^git@([^:]+):(.+?)\/([^/.]+?)(?:\.git)?$/,_1=/^ssh:\/\/[^@]+@([^:/]+)(?::\d+)?\/(.+?)\/([^/.]+?)(?:\.git)?$/;function Hx(e){if(!e)return null;let t=e.replace(/^(https?:\/\/)[^@]+@/,"$1"),n=t.match(y1)??t.match(S1)??e.match(_1);if(!n)return null;let[,i,r,o]=n;return!i||!r||!o?null:{provider:b1[i]??"other",owner:r,repo:o,host:i}}v1(Hx,"parseGitRemoteUrl");var ch=["read","write","deploy","secrets:read","secrets:write","destroy","admin","applications:read","applications:deploy","deploy:oidc:mint","deploy:governance"],qx={read:"user",write:"user",deploy:"user","secrets:read":"user","secrets:write":"user",destroy:"user",admin:"admin","applications:read":"user","applications:deploy":"user","deploy:oidc:mint":"machine","deploy:governance":"machine"},E1=ch.filter(e=>qx[e]==="machine");var x1=ch.filter(e=>qx[e]==="user");var A1=Object.defineProperty,li=(e,t)=>A1(e,"name",{value:t,configurable:!0}),qc=/^[a-zA-Z_][a-zA-Z0-9._-]*$/,uh="Secret name must start with a letter or underscore and contain only letters, numbers, underscores, hyphens, or periods",Lo=/^[a-zA-Z][a-zA-Z0-9._-]*$/,Kc="Must start with a letter and contain only letters, numbers, periods, hyphens, or underscores";var Hc=s.string().regex(Lo,Kc),Kx=s.object({app:Hc.describe("Application name"),cluster:Hc.optional().describe("Cluster name"),service:Hc.optional().describe("Service name"),lambda:Hc.optional().describe("Lambda function name")}).strict().refine(e=>!(e.service&&!e.cluster),{message:"Cluster is required when service is specified"}).refine(e=>!(e.lambda&&(e.cluster||e.service)),{message:"Lambda is mutually exclusive with cluster and service"}).refine(e=>e.cluster!=="lambda",{message:'The cluster name "lambda" is reserved for lambda-scoped parameter paths'});function lh(e){let t=[e.app];return e.lambda?t.push("lambda",e.lambda):(e.cluster&&t.push(e.cluster),e.service&&e.cluster&&t.push(e.service)),t}li(lh,"buildNamespaceParts");function dh(e,t){let n=lh(e);return t&&n.push(t),"/"+n.join("/")}li(dh,"buildParameterPath");function mh(e){let t=e.split("/").filter(Boolean);if(t.length<2)return null;let n=t[t.length-1]??"",i={app:t[0]??""};return t.length>=4&&t[1]==="lambda"?i.lambda=t[2]:t.length>=3&&(i.cluster=t[1],t.length>=4&&(i.service=t[2])),{namespace:i,name:n}}li(mh,"parseParameterPath");function Yx(e){let t=mh(e);return t?Kx.safeParse(t.namespace).success&&dh(t.namespace,t.name)===e:!1}li(Yx,"isManageablePath");function Xx(e){let t={};for(let n of e.split(`
165
165
  `)){let i=n.trim();if(!i||i.startsWith("#"))continue;let r=i.replace(/^export\s+/,""),o=r.indexOf("=");if(o===-1)continue;let a=r.slice(0,o).trim();if(!qc.test(a))continue;let c=r.slice(o+1);c.length>=2&&c.startsWith('"')&&c.endsWith('"')?t[a]=c.slice(1,-1).replace(/\\([\\"$`nr])/g,(u,l)=>l==="n"?`
166
- `:l==="r"?"\r":l):c.length>=2&&c.startsWith("'")&&c.endsWith("'")?t[a]=c.slice(1,-1):t[a]=c}return t}li(Xx,"parseDotEnv");function Jx(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}li(Jx,"escapeDotEnvValue");var Qx=s.object({awsAccountId:s.string(),accountName:s.string().nullable(),status:s.string(),role:s.string(),roleArn:s.string(),environment:s.string().optional(),connectedAt:s.string()}),I1=s.object({accounts:s.array(Qx)});var $1=Object.defineProperty,Qr=(e,t)=>$1(e,"name",{value:t,configurable:!0});function ph(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}Qr(ph,"deriveRegionsFromOrgConfig");function fh(e){return e.environment??jo(e)}Qr(fh,"environmentOrTier");function gh(e,t){return`${e.toLowerCase()}-${Pn(t)}`}Qr(gh,"generateTargetName");function hh(e,t){let n=[];for(let i of e){if(jo(i)==="organisation")continue;let r=fh(i);for(let o of t)n.push({name:gh(i.name,o),accountName:i.name,accountId:i.id,environment:r,region:o})}return n.sort((i,r)=>{let o=i.environment.localeCompare(r.environment);if(o!==0)return o;let a=i.accountName.localeCompare(r.accountName);return a!==0?a:i.region.localeCompare(r.region)})}Qr(hh,"deriveTargets");function eA(e){return hh(e.providerAccounts,ph(e))}Qr(eA,"deriveAllTargets");function T1(e,t){if(t.length===0)return e;let n=new Set([e.primaryRegion,e.disasterRecoveryRegion].filter(Boolean)),i=t.filter(r=>!n.has(r));return{...e,secondaryRegions:i.length>0?i:void 0}}Qr(T1,"mergeSecondaryRegions");function tA(e,t){return e.find(n=>n.name===t)}Qr(tA,"findTarget");var R1=Object.defineProperty,C1=(e,t)=>R1(e,"name",{value:t,configurable:!0});function rA(e,t){if(t!==void 0){if(t.trim()==="")throw new Error("buildAppConfigPath: container must be a non-empty string");return`${t}/fjall/${e}`}return`fjall/${e}`}C1(rA,"buildAppConfigPath");var P1=Object.defineProperty,di=(e,t)=>P1(e,"name",{value:t,configurable:!0}),vh="infrastructure.ts",bh="fjall";function nA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!yh(o.path)||n&&oA(o.path,n)||i&&aA(o.path,i))continue;let a=Sh(o.path);a!==null&&r.push({configPath:iA(o.path),boundaryPath:a})}return r}di(nA,"findInfrastructurePaths");function yh(e){return e===vh||e.endsWith(`/${vh}`)}di(yh,"isInfrastructureFile");function Sh(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===bh)return t.slice(0,n+1).join("/");return null}di(Sh,"findBoundaryPath");function iA(e){return e.slice(0,-`/${vh}`.length)}di(iA,"toConfigDir");function oA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}di(oA,"hasExcludedPrefix");function aA(e,t){let n=e.split("/");for(let i=0;i<n.length-1;i++)if(t.has(n[i]))return!0;return!1}di(aA,"hasExcludedSegment");var N1=Object.defineProperty,_h=(e,t)=>N1(e,"name",{value:t,configurable:!0});function sA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=cA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=uA(t);return n.length===0?null:n.join("/")}_h(sA,"inferContainerFromCandidates");function cA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==bh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}_h(cA,"extractContainer");function uA(e){if(e.length===0)return[];let[t,...n]=e,i=[];for(let r=0;r<t.length;r+=1){let o=t[r];for(let a of n)if(a[r]!==o)return i;i.push(o)}return i}_h(uA,"longestCommonPrefix");var w1=Object.defineProperty,lA=(e,t)=>w1(e,"name",{value:t,configurable:!0}),dA=["fjall","organisation","platform","account","domain"];function mA(e){return dA.includes(e.toLowerCase())}lA(mA,"isReservedAppName");var pA="-cache";function fA(e){return Tt(e).endsWith(pA)}lA(fA,"hasReservedAppNameSuffix");var k1=Object.defineProperty,Eh=(e,t)=>k1(e,"name",{value:t,configurable:!0});function hA(e){return{success:!0,data:e}}Eh(hA,"success");function Uo(e){return{success:!1,error:e}}Eh(Uo,"failure");var gA="sha256:",Yc=12,O1=new RegExp(`-sha-[0-9a-f]{${Yc}}$`);function vA(e,t,n){if(!e.startsWith(gA))return Uo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(gA.length);if(i.length<Yc)return Uo(new Error(`digest hex payload too short (need >=${Yc} chars, got ${i.length})`));let r=t.trim();if(r==="")return Uo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Uo(new Error("target, when supplied, must be a non-empty string; omit the argument instead"));o=u.toLowerCase()}let a=i.slice(0,Yc).toLowerCase(),c=o!==void 0?`${r.toLowerCase()}-${o}`:r.toLowerCase();return hA(`${c}-sha-${a}`)}Eh(vA,"deriveContentHashTag");var D1=Object.defineProperty,M1=(e,t)=>D1(e,"name",{value:t,configurable:!0}),bA=["full","code-only","rollback","restart"],j1=s.enum(bA),yA=/^[a-zA-Z0-9._-]+$/,SA=s.string().min(1).max(128).regex(yA),_A=s.object({serviceName:s.string().min(1),imageTag:SA,imageDigest:s.string().min(1).optional(),imageUri:s.string().min(1),ecrRepositoryArn:s.string().min(1).optional(),taskDefinitionArn:s.string().min(1).optional(),previousTaskDefinitionArn:s.string().min(1).optional(),functionArn:s.string().min(1).optional(),publishedVersion:s.string().min(1).optional()}).strict(),z1=s.array(_A);function EA(e,t){return`${e}${t}`}M1(EA,"artefactOutputKey");var L1=Object.defineProperty,xA=(e,t)=>L1(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],xh=new Set(kt);function Ah(e){return typeof e=="string"&&xh.has(e)}xA(Ah,"isPatternType");var mi={payload:{label:"Payload CMS",constructIdSuffix:"Payload",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!0},nextjs:{label:"Next.js",constructIdSuffix:"Nextjs",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!1},staticsite:{label:"Static site",constructIdSuffix:"StaticSite",artefact:"static-assets",stackPlacement:"cdn",deployable:!0}},AA=kt.filter(e=>mi[e].deployable),Ih=kt.filter(e=>mi[e].artefact==="opennext-lambda"),U1=new Set(Ih);function $h(e){return e!=null&&U1.has(e)}xA($h,"isOpenNextPatternType");var Fo=["multipage","spa"];var F1=Object.defineProperty,Th=(e,t)=>F1(e,"name",{value:t,configurable:!0}),IA="noreply";function $A(e){return`${IA}@${e}`}Th($A,"defaultFormsFromAddress");function TA(e){return`https://${e}`}Th(TA,"defaultFormsCorsOrigin");function Xc(e,t){let n=e.split("@");if(n.length!==2)return!1;let[i,r]=n;return i===void 0||i===""||r===void 0?!1:r.toLowerCase()===t.toLowerCase()}Th(Xc,"isAddressAtDomain");var RA=2;var B1=s.object({devDomain:s.string().min(1),hostedZoneId:s.string().min(1).optional(),parentDomain:s.string().min(1).optional(),parentDelegationRoleArn:s.string().min(1).optional()}).strict().superRefine((e,t)=>{if(e.hostedZoneId!==void 0){e.parentDomain!==void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDomain \u2014 the adopted zone was already delegated; omit parentDomain"}),e.parentDelegationRoleArn!==void 0&&t.addIssue({code:"custom",path:["parentDelegationRoleArn"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDelegationRoleArn \u2014 the adopted zone was already delegated; omit parentDelegationRoleArn"});return}e.parentDelegationRoleArn!==void 0&&e.parentDomain===void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDelegationRoleArn requires parentDomain \u2014 set parentDomain to the parent zone the DelegationRole belongs to"}),e.parentDomain!==void 0&&!e.devDomain.endsWith(`.${e.parentDomain}`)&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDomain must be a proper DNS suffix of devDomain \u2014 devDomain must end with `.<parentDomain>`"})}),CA={appId:s.string().min(1),appKebab:s.string().min(1),engineVersion:s.string().min(1).optional(),adoptSlotEcr:s.boolean().optional(),phase:s.enum(["zone","full"]).optional(),domain:B1.optional()},V1=s.object(CA).strict(),Z1=s.object({...CA,version:s.literal(RA),appName:s.string().min(1)}).strict().refine(e=>e.appName===`fjall-dev-${e.appKebab}`,{message:"appName must equal `fjall-dev-${appKebab}` (single-source identity)",path:["appName"]});import{existsSync as _I,mkdirSync as Nj,statSync as wj,appendFileSync as kj}from"fs";import{join as EI}from"path";import{join as iv}from"path";var W1=Object.defineProperty,PA=(e,t)=>W1(e,"name",{value:t,configurable:!0});function NA(e){return e.mode==="cli"}PA(NA,"isCLIMode");function wA(e){return e.mode==="ink"}PA(wA,"isInkMode");var kA=(e=0)=>t=>`\x1B[${t+e}m`,OA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,DA=(e=0)=>(t,n,i)=>`\x1B[${38+e};2;${t};${n};${i}m`,re={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},w3=Object.keys(re.modifier),H1=Object.keys(re.color),q1=Object.keys(re.bgColor),k3=[...H1,...q1];function K1(){let e=new Map;for(let[t,n]of Object.entries(re)){for(let[i,r]of Object.entries(n))re[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=re[i],e.set(r[0],r[1]);Object.defineProperty(re,t,{value:n,enumerable:!1})}return Object.defineProperty(re,"codes",{value:e,enumerable:!1}),re.color.close="\x1B[39m",re.bgColor.close="\x1B[49m",re.color.ansi=kA(),re.color.ansi256=OA(),re.color.ansi16m=DA(),re.bgColor.ansi=kA(10),re.bgColor.ansi256=OA(10),re.bgColor.ansi16m=DA(10),Object.defineProperties(re,{rgbToAnsi256:{value(t,n,i){return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(o=>o+o).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>re.rgbToAnsi256(...re.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,i,r;if(t>=232)n=((t-232)*10+8)/255,i=n,r=n;else{t-=16;let c=t%36;n=Math.floor(t/36)/5,i=Math.floor(c/6)/5,r=c%6/5}let o=Math.max(n,i,r)*2;if(o===0)return 30;let a=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,i)=>re.ansi256ToAnsi(re.rgbToAnsi256(t,n,i)),enumerable:!1},hexToAnsi:{value:t=>re.ansi256ToAnsi(re.hexToAnsi256(t)),enumerable:!1}}),re}var Y1=K1(),yt=Y1;import Rh from"node:process";import X1 from"node:os";import MA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:Rh.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:ne}=Rh,Jc;at("no-color")||at("no-colors")||at("color=false")||at("color=never")?Jc=0:(at("color")||at("colors")||at("color=true")||at("color=always"))&&(Jc=1);function J1(){if("FORCE_COLOR"in ne)return ne.FORCE_COLOR==="true"?1:ne.FORCE_COLOR==="false"?0:ne.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ne.FORCE_COLOR,10),3)}function Q1(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function eM(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=J1();i!==void 0&&(Jc=i);let r=n?Jc:i;if(r===0)return 0;if(n){if(at("color=16m")||at("color=full")||at("color=truecolor"))return 3;if(at("color=256"))return 2}if("TF_BUILD"in ne&&"AGENT_NAME"in ne)return 1;if(e&&!t&&r===void 0)return 0;let o=r||0;if(ne.TERM==="dumb")return o;if(Rh.platform==="win32"){let a=X1.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in ne)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in ne)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in ne)||ne.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ne.TEAMCITY_VERSION)?1:0;if(ne.COLORTERM==="truecolor"||ne.TERM==="xterm-kitty"||ne.TERM==="xterm-ghostty"||ne.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ne){let a=Number.parseInt((ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ne.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ne.TERM)||"COLORTERM"in ne?1:o}function jA(e,t={}){let n=eM(e,{streamIsTTY:e&&e.isTTY,...t});return Q1(n)}var tM={stdout:jA({isTTY:MA.isatty(1)}),stderr:jA({isTTY:MA.isatty(2)})},zA=tM;function LA(e,t,n){let i=e.indexOf(t);if(i===-1)return e;let r=t.length,o=0,a="";do a+=e.slice(o,i)+t+n,o=i+r,i=e.indexOf(t,o);while(i!==-1);return a+=e.slice(o),a}function UA(e,t,n,i){let r=0,o="";do{let a=e[i-1]==="\r";o+=e.slice(r,a?i-1:i)+t+(a?`\r
166
+ `:l==="r"?"\r":l):c.length>=2&&c.startsWith("'")&&c.endsWith("'")?t[a]=c.slice(1,-1):t[a]=c}return t}li(Xx,"parseDotEnv");function Jx(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}li(Jx,"escapeDotEnvValue");var Qx=s.object({awsAccountId:s.string(),accountName:s.string().nullable(),status:s.string(),role:s.string(),roleArn:s.string(),environment:s.string().optional(),connectedAt:s.string()}),I1=s.object({accounts:s.array(Qx)});var $1=Object.defineProperty,Qr=(e,t)=>$1(e,"name",{value:t,configurable:!0});function ph(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}Qr(ph,"deriveRegionsFromOrgConfig");function fh(e){return e.environment??jo(e)}Qr(fh,"environmentOrTier");function gh(e,t){return`${e.toLowerCase()}-${Pn(t)}`}Qr(gh,"generateTargetName");function hh(e,t){let n=[];for(let i of e){if(jo(i)==="organisation")continue;let r=fh(i);for(let o of t)n.push({name:gh(i.name,o),accountName:i.name,accountId:i.id,environment:r,region:o})}return n.sort((i,r)=>{let o=i.environment.localeCompare(r.environment);if(o!==0)return o;let a=i.accountName.localeCompare(r.accountName);return a!==0?a:i.region.localeCompare(r.region)})}Qr(hh,"deriveTargets");function eA(e){return hh(e.providerAccounts,ph(e))}Qr(eA,"deriveAllTargets");function T1(e,t){if(t.length===0)return e;let n=new Set([e.primaryRegion,e.disasterRecoveryRegion].filter(Boolean)),i=t.filter(r=>!n.has(r));return{...e,secondaryRegions:i.length>0?i:void 0}}Qr(T1,"mergeSecondaryRegions");function tA(e,t){return e.find(n=>n.name===t)}Qr(tA,"findTarget");var R1=Object.defineProperty,C1=(e,t)=>R1(e,"name",{value:t,configurable:!0});function rA(e,t){if(t!==void 0){if(t.trim()==="")throw new Error("buildAppConfigPath: container must be a non-empty string");return`${t}/fjall/${e}`}return`fjall/${e}`}C1(rA,"buildAppConfigPath");var P1=Object.defineProperty,di=(e,t)=>P1(e,"name",{value:t,configurable:!0}),vh="infrastructure.ts",bh="fjall";function nA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!yh(o.path)||n&&oA(o.path,n)||i&&aA(o.path,i))continue;let a=Sh(o.path);a!==null&&r.push({configPath:iA(o.path),boundaryPath:a})}return r}di(nA,"findInfrastructurePaths");function yh(e){return e===vh||e.endsWith(`/${vh}`)}di(yh,"isInfrastructureFile");function Sh(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===bh)return t.slice(0,n+1).join("/");return null}di(Sh,"findBoundaryPath");function iA(e){return e.slice(0,-`/${vh}`.length)}di(iA,"toConfigDir");function oA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}di(oA,"hasExcludedPrefix");function aA(e,t){let n=e.split("/");for(let i=0;i<n.length-1;i++)if(t.has(n[i]))return!0;return!1}di(aA,"hasExcludedSegment");var N1=Object.defineProperty,_h=(e,t)=>N1(e,"name",{value:t,configurable:!0});function sA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=cA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=uA(t);return n.length===0?null:n.join("/")}_h(sA,"inferContainerFromCandidates");function cA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==bh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}_h(cA,"extractContainer");function uA(e){if(e.length===0)return[];let[t,...n]=e,i=[];for(let r=0;r<t.length;r+=1){let o=t[r];for(let a of n)if(a[r]!==o)return i;i.push(o)}return i}_h(uA,"longestCommonPrefix");var w1=Object.defineProperty,lA=(e,t)=>w1(e,"name",{value:t,configurable:!0}),dA=["fjall","organisation","platform","account","domain"];function mA(e){return dA.includes(e.toLowerCase())}lA(mA,"isReservedAppName");var pA="-cache";function fA(e){return Tt(e).endsWith(pA)}lA(fA,"hasReservedAppNameSuffix");var k1=Object.defineProperty,Eh=(e,t)=>k1(e,"name",{value:t,configurable:!0});function hA(e){return{success:!0,data:e}}Eh(hA,"success");function Uo(e){return{success:!1,error:e}}Eh(Uo,"failure");var gA="sha256:",Yc=12,O1=new RegExp(`-sha-[0-9a-f]{${Yc}}$`);function vA(e,t,n){if(!e.startsWith(gA))return Uo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(gA.length);if(i.length<Yc)return Uo(new Error(`digest hex payload too short (need >=${Yc} chars, got ${i.length})`));let r=t.trim();if(r==="")return Uo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Uo(new Error("target, when supplied, must be a non-empty string; omit the argument instead"));o=u.toLowerCase()}let a=i.slice(0,Yc).toLowerCase(),c=o!==void 0?`${r.toLowerCase()}-${o}`:r.toLowerCase();return hA(`${c}-sha-${a}`)}Eh(vA,"deriveContentHashTag");var D1=Object.defineProperty,M1=(e,t)=>D1(e,"name",{value:t,configurable:!0}),bA=["full","code-only","rollback","restart"],j1=s.enum(bA),yA=/^[a-zA-Z0-9._-]+$/,SA=s.string().min(1).max(128).regex(yA),_A=s.object({serviceName:s.string().min(1),imageTag:SA,imageDigest:s.string().min(1).optional(),imageUri:s.string().min(1),ecrRepositoryArn:s.string().min(1).optional(),taskDefinitionArn:s.string().min(1).optional(),previousTaskDefinitionArn:s.string().min(1).optional(),functionArn:s.string().min(1).optional(),publishedVersion:s.string().min(1).optional()}).strict(),z1=s.array(_A);function EA(e,t){return`${e}${t}`}M1(EA,"artefactOutputKey");var L1=Object.defineProperty,xA=(e,t)=>L1(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],xh=new Set(kt);function Ah(e){return typeof e=="string"&&xh.has(e)}xA(Ah,"isPatternType");var mi={payload:{label:"Payload CMS",constructIdSuffix:"Payload",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!0},nextjs:{label:"Next.js",constructIdSuffix:"Nextjs",artefact:"opennext-lambda",stackPlacement:"compute",deployable:!1},staticsite:{label:"Static site",constructIdSuffix:"StaticSite",artefact:"static-assets",stackPlacement:"cdn",deployable:!0}},AA=kt.filter(e=>mi[e].deployable),Ih=kt.filter(e=>mi[e].artefact==="opennext-lambda"),U1=new Set(Ih);function $h(e){return e!=null&&U1.has(e)}xA($h,"isOpenNextPatternType");var Fo=["multipage","spa"];var F1=Object.defineProperty,Th=(e,t)=>F1(e,"name",{value:t,configurable:!0}),IA="noreply";function $A(e){return`${IA}@${e}`}Th($A,"defaultFormsFromAddress");function TA(e){return`https://${e}`}Th(TA,"defaultFormsCorsOrigin");function Xc(e,t){let n=e.split("@");if(n.length!==2)return!1;let[i,r]=n;return i===void 0||i===""||r===void 0?!1:r.toLowerCase()===t.toLowerCase()}Th(Xc,"isAddressAtDomain");var RA=2;var B1=s.object({devDomain:s.string().min(1),hostedZoneId:s.string().min(1).optional(),parentDomain:s.string().min(1).optional(),parentDelegationRoleArn:s.string().min(1).optional()}).strict().superRefine((e,t)=>{if(e.hostedZoneId!==void 0){e.parentDomain!==void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDomain \u2014 the adopted zone was already delegated; omit parentDomain"}),e.parentDelegationRoleArn!==void 0&&t.addIssue({code:"custom",path:["parentDelegationRoleArn"],message:"hostedZoneId (adopt mode) is mutually exclusive with parentDelegationRoleArn \u2014 the adopted zone was already delegated; omit parentDelegationRoleArn"});return}e.parentDelegationRoleArn!==void 0&&e.parentDomain===void 0&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDelegationRoleArn requires parentDomain \u2014 set parentDomain to the parent zone the DelegationRole belongs to"}),e.parentDomain!==void 0&&!e.devDomain.endsWith(`.${e.parentDomain}`)&&t.addIssue({code:"custom",path:["parentDomain"],message:"parentDomain must be a proper DNS suffix of devDomain \u2014 devDomain must end with `.<parentDomain>`"})}),CA={appId:s.string().min(1),appKebab:s.string().min(1),engineVersion:s.string().min(1).optional(),adoptSlotEcr:s.boolean().optional(),adoptCacheEcr:s.boolean().optional(),phase:s.enum(["zone","full"]).optional(),domain:B1.optional()},V1=s.object(CA).strict(),Z1=s.object({...CA,version:s.literal(RA),appName:s.string().min(1)}).strict().refine(e=>e.appName===`fjall-dev-${e.appKebab}`,{message:"appName must equal `fjall-dev-${appKebab}` (single-source identity)",path:["appName"]});import{existsSync as _I,mkdirSync as Nj,statSync as wj,appendFileSync as kj}from"fs";import{join as EI}from"path";import{join as iv}from"path";var W1=Object.defineProperty,PA=(e,t)=>W1(e,"name",{value:t,configurable:!0});function NA(e){return e.mode==="cli"}PA(NA,"isCLIMode");function wA(e){return e.mode==="ink"}PA(wA,"isInkMode");var kA=(e=0)=>t=>`\x1B[${t+e}m`,OA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,DA=(e=0)=>(t,n,i)=>`\x1B[${38+e};2;${t};${n};${i}m`,re={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},k3=Object.keys(re.modifier),H1=Object.keys(re.color),q1=Object.keys(re.bgColor),O3=[...H1,...q1];function K1(){let e=new Map;for(let[t,n]of Object.entries(re)){for(let[i,r]of Object.entries(n))re[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=re[i],e.set(r[0],r[1]);Object.defineProperty(re,t,{value:n,enumerable:!1})}return Object.defineProperty(re,"codes",{value:e,enumerable:!1}),re.color.close="\x1B[39m",re.bgColor.close="\x1B[49m",re.color.ansi=kA(),re.color.ansi256=OA(),re.color.ansi16m=DA(),re.bgColor.ansi=kA(10),re.bgColor.ansi256=OA(10),re.bgColor.ansi16m=DA(10),Object.defineProperties(re,{rgbToAnsi256:{value(t,n,i){return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(o=>o+o).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>re.rgbToAnsi256(...re.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,i,r;if(t>=232)n=((t-232)*10+8)/255,i=n,r=n;else{t-=16;let c=t%36;n=Math.floor(t/36)/5,i=Math.floor(c/6)/5,r=c%6/5}let o=Math.max(n,i,r)*2;if(o===0)return 30;let a=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,n,i)=>re.ansi256ToAnsi(re.rgbToAnsi256(t,n,i)),enumerable:!1},hexToAnsi:{value:t=>re.ansi256ToAnsi(re.hexToAnsi256(t)),enumerable:!1}}),re}var Y1=K1(),yt=Y1;import Rh from"node:process";import X1 from"node:os";import MA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:Rh.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:ne}=Rh,Jc;at("no-color")||at("no-colors")||at("color=false")||at("color=never")?Jc=0:(at("color")||at("colors")||at("color=true")||at("color=always"))&&(Jc=1);function J1(){if("FORCE_COLOR"in ne)return ne.FORCE_COLOR==="true"?1:ne.FORCE_COLOR==="false"?0:ne.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(ne.FORCE_COLOR,10),3)}function Q1(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function eM(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=J1();i!==void 0&&(Jc=i);let r=n?Jc:i;if(r===0)return 0;if(n){if(at("color=16m")||at("color=full")||at("color=truecolor"))return 3;if(at("color=256"))return 2}if("TF_BUILD"in ne&&"AGENT_NAME"in ne)return 1;if(e&&!t&&r===void 0)return 0;let o=r||0;if(ne.TERM==="dumb")return o;if(Rh.platform==="win32"){let a=X1.release().split(".");return Number(a[0])>=10&&Number(a[2])>=10586?Number(a[2])>=14931?3:2:1}if("CI"in ne)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(a=>a in ne)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(a=>a in ne)||ne.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in ne)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ne.TEAMCITY_VERSION)?1:0;if(ne.COLORTERM==="truecolor"||ne.TERM==="xterm-kitty"||ne.TERM==="xterm-ghostty"||ne.TERM==="wezterm")return 3;if("TERM_PROGRAM"in ne){let a=Number.parseInt((ne.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ne.TERM_PROGRAM){case"iTerm.app":return a>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ne.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ne.TERM)||"COLORTERM"in ne?1:o}function jA(e,t={}){let n=eM(e,{streamIsTTY:e&&e.isTTY,...t});return Q1(n)}var tM={stdout:jA({isTTY:MA.isatty(1)}),stderr:jA({isTTY:MA.isatty(2)})},zA=tM;function LA(e,t,n){let i=e.indexOf(t);if(i===-1)return e;let r=t.length,o=0,a="";do a+=e.slice(o,i)+t+n,o=i+r,i=e.indexOf(t,o);while(i!==-1);return a+=e.slice(o),a}function UA(e,t,n,i){let r=0,o="";do{let a=e[i-1]==="\r";o+=e.slice(r,a?i-1:i)+t+(a?`\r
167
167
  `:`
168
168
  `)+n,r=i+1,i=e.indexOf(`
169
169
  `,r)}while(i!==-1);return o+=e.slice(r),o}var{stdout:FA,stderr:BA}=zA,Ch=Symbol("GENERATOR"),pi=Symbol("STYLER"),Bo=Symbol("IS_EMPTY"),VA=["ansi","ansi","ansi256","ansi16m"],fi=Object.create(null),rM=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=FA?FA.level:0;e.level=t.level===void 0?n:t.level};var nM=e=>{let t=(...n)=>n.join(" ");return rM(t,e),Object.setPrototypeOf(t,Vo.prototype),t};function Vo(e){return nM(e)}Object.setPrototypeOf(Vo.prototype,Function.prototype);for(let[e,t]of Object.entries(yt))fi[e]={get(){let n=Qc(this,Nh(t.open,t.close,this[pi]),this[Bo]);return Object.defineProperty(this,e,{value:n}),n}};fi.visible={get(){let e=Qc(this,this[pi],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Ph=(e,t,n,...i)=>e==="rgb"?t==="ansi16m"?yt[n].ansi16m(...i):t==="ansi256"?yt[n].ansi256(yt.rgbToAnsi256(...i)):yt[n].ansi(yt.rgbToAnsi(...i)):e==="hex"?Ph("rgb",t,n,...yt.hexToRgb(...i)):yt[n][e](...i),iM=["rgb","hex","ansi256"];for(let e of iM){fi[e]={get(){let{level:n}=this;return function(...i){let r=Nh(Ph(e,VA[n],"color",...i),yt.color.close,this[pi]);return Qc(this,r,this[Bo])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);fi[t]={get(){let{level:n}=this;return function(...i){let r=Nh(Ph(e,VA[n],"bgColor",...i),yt.bgColor.close,this[pi]);return Qc(this,r,this[Bo])}}}}var oM=Object.defineProperties(()=>{},{...fi,level:{enumerable:!0,get(){return this[Ch].level},set(e){this[Ch].level=e}}}),Nh=(e,t,n)=>{let i,r;return n===void 0?(i=e,r=t):(i=n.openAll+e,r=t+n.closeAll),{open:e,close:t,openAll:i,closeAll:r,parent:n}},Qc=(e,t,n)=>{let i=(...r)=>aM(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,oM),i[Ch]=e,i[pi]=t,i[Bo]=n,i},aM=(e,t)=>{if(e.level<=0||!t)return e[Bo]?"":t;let n=e[pi];if(n===void 0)return t;let{openAll:i,closeAll:r}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=LA(t,n.close,n.open),n=n.parent;let o=t.indexOf(`
170
- `);return o!==-1&&(t=UA(t,r,i,o)),i+t+r};Object.defineProperties(Vo.prototype,fi);var sM=Vo(),V3=Vo({level:BA?BA.level:0});var Ee=sM;import qo from"node:process";import{stripVTControlCharacters as KM}from"node:util";import KA from"node:process";import nu from"node:process";var cM=(e,t,n,i)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let r=Object.getOwnPropertyDescriptor(e,n),o=Object.getOwnPropertyDescriptor(t,n);!uM(r,o)&&i||Object.defineProperty(e,n,o)},uM=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},lM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},dM=(e,t)=>`/* Wrapped ${e}*/
171
- ${t}`,mM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),pM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),fM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=dM.bind(null,i,t.toString());Object.defineProperty(r,"name",pM);let{writable:o,enumerable:a,configurable:c}=mM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function wh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))cM(e,t,r,n);return lM(e,t),fM(e,t,i),e}var eu=new WeakMap,ZA=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,i=0,r=e.displayName||e.name||"<anonymous>",o=function(...a){if(eu.set(o,++i),i===1)n=e.apply(this,a),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return n};return wh(o,e),eu.set(o,i),o};ZA.callCount=e=>{if(!eu.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return eu.get(e)};var GA=ZA;var en=[];en.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&en.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&en.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var tu=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",kh=Symbol.for("signal-exit emitter"),Oh=globalThis,gM=Object.defineProperty.bind(Object),Dh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Oh[kh])return Oh[kh];gM(Oh,kh,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let i=this.listeners[t],r=i.indexOf(n);r!==-1&&(r===0&&i.length===1?i.length=0:i.splice(r,1))}emit(t,n,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(n,i)===!0||r;return t==="exit"&&(r=this.emit("afterExit",n,i)||r),r}},ru=class{},hM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Mh=class extends ru{onExit(){return()=>{}}load(){}unload(){}},jh=class extends ru{#o=zh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Dh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of en)this.#t[n]=()=>{let i=this.#r.listeners(n),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),i.length===r){this.unload();let a=this.#n.emit("exit",null,n),c=n==="SIGHUP"?this.#o:n;a||t.kill(t.pid,c)}};this.#i=t.reallyExit,this.#e=t.emit}onExit(t,n){if(!tu(this.#r))return()=>{};this.#a===!1&&this.load();let i=n?.alwaysLast?"afterExit":"exit";return this.#n.on(i,t),()=>{this.#n.removeListener(i,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#a){this.#a=!0,this.#n.count+=1;for(let t of en)try{let n=this.#t[t];n&&this.#r.on(t,n)}catch{}this.#r.emit=(t,...n)=>this.#d(t,...n),this.#r.reallyExit=t=>this.#c(t)}}unload(){this.#a&&(this.#a=!1,en.forEach(t=>{let n=this.#t[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#r.removeListener(t,n)}catch{}}),this.#r.emit=this.#e,this.#r.reallyExit=this.#i,this.#n.count-=1)}#c(t){return tu(this.#r)?(this.#r.exitCode=t||0,this.#n.emit("exit",this.#r.exitCode,null),this.#i.call(this.#r,this.#r.exitCode)):0}#d(t,...n){let i=this.#e;if(t==="exit"&&tu(this.#r)){typeof n[0]=="number"&&(this.#r.exitCode=n[0]);let r=i.call(this.#r,t,...n);return this.#n.emit("exit",this.#r.exitCode,null),r}else return i.call(this.#r,t,...n)}},zh=globalThis.process,{onExit:WA,load:Y3,unload:X3}=hM(tu(zh)?new jh(zh):new Mh);var HA=nu.stderr.isTTY?nu.stderr:nu.stdout.isTTY?nu.stdout:void 0,vM=HA?GA(()=>{WA(()=>{HA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},qA=vM;var iu=!1,gi={};gi.show=(e=KA.stderr)=>{e.isTTY&&(iu=!1,e.write("\x1B[?25h"))};gi.hide=(e=KA.stderr)=>{e.isTTY&&(qA(),iu=!0,e.write("\x1B[?25l"))};gi.toggle=(e,t)=>{e!==void 0&&(iu=e),iu?gi.show(t):gi.hide(t)};var Lh=gi;var Uh={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u{1F497} "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]},fish:{interval:80,frames:["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xBA> ~~~~~~~~~~~~~~~~~","(\xBA> ~~~~~~~~~~~~~~~~","((\xBA> ~~~~~~~~~~~~~~~","<((\xBA> ~~~~~~~~~~~~~~","><((\xBA> ~~~~~~~~~~~~~"," ><((\xBA> ~~~~~~~~~~~~","~ ><((\xBA> ~~~~~~~~~~~","~~ <>((\xBA> ~~~~~~~~~~","~~~ ><((\xBA> ~~~~~~~~~","~~~~ <>((\xBA> ~~~~~~~~","~~~~~ ><((\xBA> ~~~~~~~","~~~~~~ <>((\xBA> ~~~~~~","~~~~~~~ ><((\xBA> ~~~~~","~~~~~~~~ <>((\xBA> ~~~~","~~~~~~~~~ ><((\xBA> ~~~","~~~~~~~~~~ <>((\xBA> ~~","~~~~~~~~~~~ ><((\xBA> ~","~~~~~~~~~~~~ <>((\xBA> ","~~~~~~~~~~~~~ ><((\xBA>","~~~~~~~~~~~~~~ <>((\xBA","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}};var Zo=Uh,c9=Object.keys(Uh);var tn={};$t(tn,{error:()=>AM,info:()=>_M,success:()=>EM,warning:()=>xM});import yM from"node:tty";var SM=yM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!SM)return r=>r;let n=`\x1B[${e}m`,i=`\x1B[${t}m`;return r=>{let o=r+"",a=o.indexOf(i);if(a===-1)return n+o+i;let c=n,u=0,m=(t===22?i:"")+n;for(;a!==-1;)c+=o.slice(u,a)+m,u=a+i.length,a=o.indexOf(i,u);return c+=o.slice(u)+i,c}},d9=k(0,0),m9=k(1,22),p9=k(2,22),f9=k(3,23),g9=k(4,24),h9=k(53,55),v9=k(7,27),b9=k(8,28),y9=k(9,29),S9=k(30,39),YA=k(31,39),XA=k(32,39),JA=k(33,39),QA=k(34,39),_9=k(35,39),E9=k(36,39),x9=k(37,39),A9=k(90,39),I9=k(40,49),$9=k(41,49),T9=k(42,49),R9=k(43,49),C9=k(44,49),P9=k(45,49),N9=k(46,49),w9=k(47,49),k9=k(100,49),O9=k(91,39),D9=k(92,39),M9=k(93,39),j9=k(94,39),z9=k(95,39),L9=k(96,39),U9=k(97,39),F9=k(101,49),B9=k(102,49),V9=k(103,49),Z9=k(104,49),G9=k(105,49),W9=k(106,49),H9=k(107,49);import eI from"node:process";function Go(){let{env:e}=eI,{TERM:t,TERM_PROGRAM:n}=e;return eI.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var ou=Go(),_M=QA(ou?"\u2139":"i"),EM=XA(ou?"\u2714":"\u221A"),xM=JA(ou?"\u26A0":"\u203C"),AM=YA(ou?"\u2716":"\xD7");function Fh({onlyFirst:e=!1}={}){let r="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(r,e?void 0:"g")}var IM=Fh();function Bh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(IM,"")}var au=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],su=[12288,12288,65281,65376,65504,65510],Vh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Zh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Wo=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var cu=(e,t)=>{let n=0,i=Math.floor(e.length/2)-1;for(;n<=i;){let r=Math.floor((n+i)/2),o=r*2;if(t<e[o])i=r-1;else if(t>e[o+1])n=r+1;else return!0}return!1};var $M=au[0],TM=au.at(-1),RM=su[0],CM=su.at(-1),sW=Vh[0],cW=Vh.at(-1),uW=Zh[0],lW=Zh.at(-1),PM=Wo[0],NM=Wo.at(-1),tI=19968,[wM,kM]=OM(Wo);function OM(e){let t=e[0],n=e[1];for(let i=0;i<e.length;i+=2){let r=e[i],o=e[i+1];if(tI>=r&&tI<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var rI=e=>e<$M||e>TM?!1:cu(au,e),nI=e=>e<RM||e>CM?!1:cu(su,e);var iI=e=>e>=wM&&e<=kM?!0:e<PM||e>NM?!1:cu(Wo,e);function DM(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ho(e,{ambiguousAsWide:t=!1}={}){return DM(e),nI(e)||iI(e)||t&&rI(e)?2:1}var MM=new Intl.Segmenter,oI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),jM=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),zM=new RegExp("^\\p{RGI_Emoji}$","v"),LM=/^[\d#*]\u20E3$/,UM=new RegExp("\\p{Extended_Pictographic}","gu");function FM(e){if(e.length>50)return!1;if(LM.test(e))return!0;if(e.includes("\u200D")){let t=e.match(UM);return t!==null&&t.length>=2}return!1}function BM(e){return e.replace(jM,"")}function VM(e){return oI.test(e)}function aI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function sI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function cI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function ZM(e){return aI(e)||sI(e)||cI(e)}function GM(e,t){let n=[];for(let r of e)oI.test(r)||n.push(r.codePointAt(0));if(n.length===0)return;let i=0;for(let r=0;r<n.length;r++){let o=n[r];if(!ZM(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Ho(n[a],t);return i}if(aI(o)&&sI(n[r+1])){i+=2,r+=cI(n[r+2])?2:1;continue}i+=Ho(o,t)}return i}function WM(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Ho(r.codePointAt(0),t))}return n}function Gh(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=t,r=e;if(!i&&(r.includes("\x1B")||r.includes("\x9B"))&&(r=Bh(r)),r.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(r))return r.length;let o=0,a={ambiguousAsWide:!n};for(let{segment:c}of MM.segment(r)){if(VM(c))continue;if(zM.test(c)||FM(c)){o+=2;continue}let u=BM(c),l=GM(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Ho(m,a),o+=WM(u,a)}return o}function Wh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import uu from"node:process";var HM=3,Hh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===HM&&uu.kill(uu.pid,"SIGINT")};start(){this.#o++,this.#o===1&&this.#t()}stop(){this.#o!==0&&--this.#o===0&&this.#a()}#t(){let{stdin:t}=uu;if(uu.platform==="win32"||!t?.isTTY||typeof t.setRawMode!="function"){this.#n=void 0;return}this.#n=t,this.#r=t.isPaused(),this.#e=!!t.isRaw,t.setRawMode(!0),t.prependListener("data",this.#i),this.#r&&t.resume()}#a(){if(!this.#n)return;let t=this.#n;t.off("data",this.#i),t.isTTY&&t.setRawMode?.(this.#e),this.#r&&t.pause(),this.#n=void 0,this.#r=!1,this.#e=!1}},qM=new Hh,qh=Object.freeze(qM);var YM=200,XM="\x1B[?2026h",JM="\x1B[?2026l",lu=new Map,QM=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),Kh=class{#o=0;#n=-1;#r=0;#e;#i;#t;#a;#c=new Map;#d=!1;#u;#s;#p=!1;#m;#l(t){this.#d=!0;try{return t()}finally{this.#d=!1}}#g(){this.isSpinning&&this.render()}#_(t,n){if(t==null)return"";if(typeof t=="string")return t;if(Buffer.isBuffer(t)||ArrayBuffer.isView(t)){let i=typeof n=="string"&&n&&n!=="buffer"?n:"utf8";return Buffer.from(t).toString(i)}return String(t)}#E(t){if(!t)return!1;let n=t.at(-1);return n===`
170
+ `);return o!==-1&&(t=UA(t,r,i,o)),i+t+r};Object.defineProperties(Vo.prototype,fi);var sM=Vo(),Z3=Vo({level:BA?BA.level:0});var Ee=sM;import qo from"node:process";import{stripVTControlCharacters as KM}from"node:util";import KA from"node:process";import nu from"node:process";var cM=(e,t,n,i)=>{if(n==="length"||n==="prototype"||n==="arguments"||n==="caller")return;let r=Object.getOwnPropertyDescriptor(e,n),o=Object.getOwnPropertyDescriptor(t,n);!uM(r,o)&&i||Object.defineProperty(e,n,o)},uM=function(e,t){return e===void 0||e.configurable||e.writable===t.writable&&e.enumerable===t.enumerable&&e.configurable===t.configurable&&(e.writable||e.value===t.value)},lM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},dM=(e,t)=>`/* Wrapped ${e}*/
171
+ ${t}`,mM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),pM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),fM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=dM.bind(null,i,t.toString());Object.defineProperty(r,"name",pM);let{writable:o,enumerable:a,configurable:c}=mM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function wh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))cM(e,t,r,n);return lM(e,t),fM(e,t,i),e}var eu=new WeakMap,ZA=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let n,i=0,r=e.displayName||e.name||"<anonymous>",o=function(...a){if(eu.set(o,++i),i===1)n=e.apply(this,a),e=void 0;else if(t.throw===!0)throw new Error(`Function \`${r}\` can only be called once`);return n};return wh(o,e),eu.set(o,i),o};ZA.callCount=e=>{if(!eu.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return eu.get(e)};var GA=ZA;var en=[];en.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&en.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&en.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var tu=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",kh=Symbol.for("signal-exit emitter"),Oh=globalThis,gM=Object.defineProperty.bind(Object),Dh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Oh[kh])return Oh[kh];gM(Oh,kh,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(t,n){this.listeners[t].push(n)}removeListener(t,n){let i=this.listeners[t],r=i.indexOf(n);r!==-1&&(r===0&&i.length===1?i.length=0:i.splice(r,1))}emit(t,n,i){if(this.emitted[t])return!1;this.emitted[t]=!0;let r=!1;for(let o of this.listeners[t])r=o(n,i)===!0||r;return t==="exit"&&(r=this.emit("afterExit",n,i)||r),r}},ru=class{},hM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Mh=class extends ru{onExit(){return()=>{}}load(){}unload(){}},jh=class extends ru{#o=zh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Dh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of en)this.#t[n]=()=>{let i=this.#r.listeners(n),{count:r}=this.#n,o=t;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(r+=o.__signal_exit_emitter__.count),i.length===r){this.unload();let a=this.#n.emit("exit",null,n),c=n==="SIGHUP"?this.#o:n;a||t.kill(t.pid,c)}};this.#i=t.reallyExit,this.#e=t.emit}onExit(t,n){if(!tu(this.#r))return()=>{};this.#a===!1&&this.load();let i=n?.alwaysLast?"afterExit":"exit";return this.#n.on(i,t),()=>{this.#n.removeListener(i,t),this.#n.listeners.exit.length===0&&this.#n.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#a){this.#a=!0,this.#n.count+=1;for(let t of en)try{let n=this.#t[t];n&&this.#r.on(t,n)}catch{}this.#r.emit=(t,...n)=>this.#d(t,...n),this.#r.reallyExit=t=>this.#c(t)}}unload(){this.#a&&(this.#a=!1,en.forEach(t=>{let n=this.#t[t];if(!n)throw new Error("Listener not defined for signal: "+t);try{this.#r.removeListener(t,n)}catch{}}),this.#r.emit=this.#e,this.#r.reallyExit=this.#i,this.#n.count-=1)}#c(t){return tu(this.#r)?(this.#r.exitCode=t||0,this.#n.emit("exit",this.#r.exitCode,null),this.#i.call(this.#r,this.#r.exitCode)):0}#d(t,...n){let i=this.#e;if(t==="exit"&&tu(this.#r)){typeof n[0]=="number"&&(this.#r.exitCode=n[0]);let r=i.call(this.#r,t,...n);return this.#n.emit("exit",this.#r.exitCode,null),r}else return i.call(this.#r,t,...n)}},zh=globalThis.process,{onExit:WA,load:X3,unload:J3}=hM(tu(zh)?new jh(zh):new Mh);var HA=nu.stderr.isTTY?nu.stderr:nu.stdout.isTTY?nu.stdout:void 0,vM=HA?GA(()=>{WA(()=>{HA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},qA=vM;var iu=!1,gi={};gi.show=(e=KA.stderr)=>{e.isTTY&&(iu=!1,e.write("\x1B[?25h"))};gi.hide=(e=KA.stderr)=>{e.isTTY&&(qA(),iu=!0,e.write("\x1B[?25l"))};gi.toggle=(e,t)=>{e!==void 0&&(iu=e),iu?gi.show(t):gi.hide(t)};var Lh=gi;var Uh={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots14:{interval:80,frames:["\u2809\u2809","\u2808\u2819","\u2800\u2839","\u2800\u28B8","\u2800\u28F0","\u2880\u28E0","\u28C0\u28C0","\u28C4\u2840","\u28C6\u2800","\u2847\u2800","\u280F\u2800","\u280B\u2801"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},dotsCircle:{interval:80,frames:["\u288E ","\u280E\u2801","\u280A\u2811","\u2808\u2831"," \u2871","\u2880\u2870","\u2884\u2860","\u2886\u2840"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},rollingLine:{interval:80,frames:["/ "," - "," \\ "," |"," |"," \\ "," - ","/ "]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u{1F497} "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]},fish:{interval:80,frames:["~~~~~~~~~~~~~~~~~~~~","> ~~~~~~~~~~~~~~~~~~","\xBA> ~~~~~~~~~~~~~~~~~","(\xBA> ~~~~~~~~~~~~~~~~","((\xBA> ~~~~~~~~~~~~~~~","<((\xBA> ~~~~~~~~~~~~~~","><((\xBA> ~~~~~~~~~~~~~"," ><((\xBA> ~~~~~~~~~~~~","~ ><((\xBA> ~~~~~~~~~~~","~~ <>((\xBA> ~~~~~~~~~~","~~~ ><((\xBA> ~~~~~~~~~","~~~~ <>((\xBA> ~~~~~~~~","~~~~~ ><((\xBA> ~~~~~~~","~~~~~~ <>((\xBA> ~~~~~~","~~~~~~~ ><((\xBA> ~~~~~","~~~~~~~~ <>((\xBA> ~~~~","~~~~~~~~~ ><((\xBA> ~~~","~~~~~~~~~~ <>((\xBA> ~~","~~~~~~~~~~~ ><((\xBA> ~","~~~~~~~~~~~~ <>((\xBA> ","~~~~~~~~~~~~~ ><((\xBA>","~~~~~~~~~~~~~~ <>((\xBA","~~~~~~~~~~~~~~~ ><((","~~~~~~~~~~~~~~~~ <>(","~~~~~~~~~~~~~~~~~ ><","~~~~~~~~~~~~~~~~~~ <","~~~~~~~~~~~~~~~~~~~~"]}};var Zo=Uh,u9=Object.keys(Uh);var tn={};$t(tn,{error:()=>AM,info:()=>_M,success:()=>EM,warning:()=>xM});import yM from"node:tty";var SM=yM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!SM)return r=>r;let n=`\x1B[${e}m`,i=`\x1B[${t}m`;return r=>{let o=r+"",a=o.indexOf(i);if(a===-1)return n+o+i;let c=n,u=0,m=(t===22?i:"")+n;for(;a!==-1;)c+=o.slice(u,a)+m,u=a+i.length,a=o.indexOf(i,u);return c+=o.slice(u)+i,c}},m9=k(0,0),p9=k(1,22),f9=k(2,22),g9=k(3,23),h9=k(4,24),v9=k(53,55),b9=k(7,27),y9=k(8,28),S9=k(9,29),_9=k(30,39),YA=k(31,39),XA=k(32,39),JA=k(33,39),QA=k(34,39),E9=k(35,39),x9=k(36,39),A9=k(37,39),I9=k(90,39),$9=k(40,49),T9=k(41,49),R9=k(42,49),C9=k(43,49),P9=k(44,49),N9=k(45,49),w9=k(46,49),k9=k(47,49),O9=k(100,49),D9=k(91,39),M9=k(92,39),j9=k(93,39),z9=k(94,39),L9=k(95,39),U9=k(96,39),F9=k(97,39),B9=k(101,49),V9=k(102,49),Z9=k(103,49),G9=k(104,49),W9=k(105,49),H9=k(106,49),q9=k(107,49);import eI from"node:process";function Go(){let{env:e}=eI,{TERM:t,TERM_PROGRAM:n}=e;return eI.platform!=="win32"?t!=="linux":!!e.WT_SESSION||!!e.TERMINUS_SUBLIME||e.ConEmuTask==="{cmd::Cmder}"||n==="Terminus-Sublime"||n==="vscode"||t==="xterm-256color"||t==="alacritty"||t==="rxvt-unicode"||t==="rxvt-unicode-256color"||e.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var ou=Go(),_M=QA(ou?"\u2139":"i"),EM=XA(ou?"\u2714":"\u221A"),xM=JA(ou?"\u26A0":"\u203C"),AM=YA(ou?"\u2716":"\xD7");function Fh({onlyFirst:e=!1}={}){let r="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(r,e?void 0:"g")}var IM=Fh();function Bh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(IM,"")}var au=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],su=[12288,12288,65281,65376,65504,65510],Vh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Zh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Wo=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var cu=(e,t)=>{let n=0,i=Math.floor(e.length/2)-1;for(;n<=i;){let r=Math.floor((n+i)/2),o=r*2;if(t<e[o])i=r-1;else if(t>e[o+1])n=r+1;else return!0}return!1};var $M=au[0],TM=au.at(-1),RM=su[0],CM=su.at(-1),cW=Vh[0],uW=Vh.at(-1),lW=Zh[0],dW=Zh.at(-1),PM=Wo[0],NM=Wo.at(-1),tI=19968,[wM,kM]=OM(Wo);function OM(e){let t=e[0],n=e[1];for(let i=0;i<e.length;i+=2){let r=e[i],o=e[i+1];if(tI>=r&&tI<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var rI=e=>e<$M||e>TM?!1:cu(au,e),nI=e=>e<RM||e>CM?!1:cu(su,e);var iI=e=>e>=wM&&e<=kM?!0:e<PM||e>NM?!1:cu(Wo,e);function DM(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ho(e,{ambiguousAsWide:t=!1}={}){return DM(e),nI(e)||iI(e)||t&&rI(e)?2:1}var MM=new Intl.Segmenter,oI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),jM=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),zM=new RegExp("^\\p{RGI_Emoji}$","v"),LM=/^[\d#*]\u20E3$/,UM=new RegExp("\\p{Extended_Pictographic}","gu");function FM(e){if(e.length>50)return!1;if(LM.test(e))return!0;if(e.includes("\u200D")){let t=e.match(UM);return t!==null&&t.length>=2}return!1}function BM(e){return e.replace(jM,"")}function VM(e){return oI.test(e)}function aI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function sI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function cI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function ZM(e){return aI(e)||sI(e)||cI(e)}function GM(e,t){let n=[];for(let r of e)oI.test(r)||n.push(r.codePointAt(0));if(n.length===0)return;let i=0;for(let r=0;r<n.length;r++){let o=n[r];if(!ZM(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Ho(n[a],t);return i}if(aI(o)&&sI(n[r+1])){i+=2,r+=cI(n[r+2])?2:1;continue}i+=Ho(o,t)}return i}function WM(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Ho(r.codePointAt(0),t))}return n}function Gh(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=t,r=e;if(!i&&(r.includes("\x1B")||r.includes("\x9B"))&&(r=Bh(r)),r.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(r))return r.length;let o=0,a={ambiguousAsWide:!n};for(let{segment:c}of MM.segment(r)){if(VM(c))continue;if(zM.test(c)||FM(c)){o+=2;continue}let u=BM(c),l=GM(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Ho(m,a),o+=WM(u,a)}return o}function Wh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import uu from"node:process";var HM=3,Hh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===HM&&uu.kill(uu.pid,"SIGINT")};start(){this.#o++,this.#o===1&&this.#t()}stop(){this.#o!==0&&--this.#o===0&&this.#a()}#t(){let{stdin:t}=uu;if(uu.platform==="win32"||!t?.isTTY||typeof t.setRawMode!="function"){this.#n=void 0;return}this.#n=t,this.#r=t.isPaused(),this.#e=!!t.isRaw,t.setRawMode(!0),t.prependListener("data",this.#i),this.#r&&t.resume()}#a(){if(!this.#n)return;let t=this.#n;t.off("data",this.#i),t.isTTY&&t.setRawMode?.(this.#e),this.#r&&t.pause(),this.#n=void 0,this.#r=!1,this.#e=!1}},qM=new Hh,qh=Object.freeze(qM);var YM=200,XM="\x1B[?2026h",JM="\x1B[?2026l",lu=new Map,QM=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),Kh=class{#o=0;#n=-1;#r=0;#e;#i;#t;#a;#c=new Map;#d=!1;#u;#s;#p=!1;#m;#l(t){this.#d=!0;try{return t()}finally{this.#d=!1}}#g(){this.isSpinning&&this.render()}#_(t,n){if(t==null)return"";if(typeof t=="string")return t;if(Buffer.isBuffer(t)||ArrayBuffer.isView(t)){let i=typeof n=="string"&&n&&n!=="buffer"?n:"utf8";return Buffer.from(t).toString(i)}return String(t)}#E(t){if(!t)return!1;let n=t.at(-1);return n===`
172
172
  `||n==="\r"}#x(){this.#s||(this.#s=setTimeout(()=>{this.#s=void 0,this.isSpinning&&this.#g()},YM),typeof this.#s?.unref=="function"&&this.#s.unref())}#h(){this.#s&&(clearTimeout(this.#s),this.#s=void 0)}#v(t,n,i,r){let o=this.#y(i," "),c=typeof n=="string"?(t?" ":"")+n:"",u=this.#S(r," ");return o+t+c+u}constructor(t){if(typeof t=="string"&&(t={text:t}),this.#e={color:"cyan",stream:qo.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.#t=this.#e.stream,typeof this.#e.isEnabled!="boolean"&&(this.#e.isEnabled=Wh({stream:this.#t})),typeof this.#e.isSilent!="boolean"&&(this.#e.isSilent=!1),this.#e.interval!==void 0&&!(Number.isInteger(this.#e.interval)&&this.#e.interval>0))throw new Error("The `interval` option must be a positive integer");let n=this.#e.interval;this.spinner=this.#e.spinner,this.#e.interval=n,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,qo.env.NODE_ENV==="test"&&(this._stream=this.#t,this._isEnabled=this.#e.isEnabled,Object.defineProperty(this,"_linesToClear",{get(){return this.#o},set(i){this.#o=i}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#n}}),Object.defineProperty(this,"_lineCount",{get(){let i=this.#t.columns??80,r=typeof this.#e.prefixText=="function"?"":this.#e.prefixText,o=typeof this.#e.suffixText=="function"?"":this.#e.suffixText,a=typeof r=="string"&&r!==""?r+" ":"",c=typeof o=="string"&&o!==""?" "+o:"",l=" ".repeat(this.#e.indent)+a+"-"+(typeof this.#e.text=="string"?" "+this.#e.text:"")+c;return this.#f(l,i)}}))}get indent(){return this.#e.indent}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#e.indent=t}get interval(){return this.#e.interval??this.#i.interval??100}get spinner(){return this.#i}set spinner(t){if(this.#n=-1,this.#e.interval=void 0,typeof t=="object"){if(!Array.isArray(t.frames)||t.frames.length===0||t.frames.some(n=>typeof n!="string"))throw new Error("The given spinner must have a non-empty `frames` array of strings");if(t.interval!==void 0&&!(Number.isInteger(t.interval)&&t.interval>0))throw new Error("`spinner.interval` must be a positive integer if provided");this.#i=t}else if(!Go())this.#i=Zo.line;else if(t===void 0)this.#i=Zo.dots;else if(t!=="default"&&Zo[t])this.#i=Zo[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#e.text}set text(t=""){this.#e.text=t}get prefixText(){return this.#e.prefixText}set prefixText(t=""){this.#e.prefixText=t}get suffixText(){return this.#e.suffixText}set suffixText(t=""){this.#e.suffixText=t}get isSpinning(){return this.#a!==void 0}#b(t,n,i=!1){let r=typeof t=="function"?t():t;return typeof r=="string"&&r!==""?i?n+r:r+n:""}#y(t=this.#e.prefixText,n=" "){return this.#b(t,n,!1)}#S(t=this.#e.suffixText,n=" "){return this.#b(t,n,!0)}#f(t,n){let i=0;for(let r of KM(t).split(`
173
173
  `))i+=Math.max(1,Math.ceil(Gh(r)/n));return i}get color(){return this.#m}set color(t){if(t!==void 0&&t!==!1&&!QM.has(t))throw new Error("The `color` option must be a valid color or `false` to disable");this.#m=t}get isEnabled(){return this.#e.isEnabled&&!this.#e.isSilent}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#e.isEnabled=t}get isSilent(){return this.#e.isSilent}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#e.isSilent=t}frame(){let t=Date.now();(this.#n===-1||t-this.#r>=this.interval)&&(this.#n=(this.#n+1)%this.#i.frames.length,this.#r=t);let{frames:n}=this.#i,i=n[this.#n];this.#m&&(i=Ee[this.#m](i));let r=this.#y(this.#e.prefixText," "),o=typeof this.text=="string"?" "+this.text:"",a=this.#S(this.#e.suffixText," ");return r+i+o+a}clear(){return!this.isEnabled||!this.#t.isTTY?this:(this.#l(()=>{this.#t.cursorTo(0);for(let t=0;t<this.#o;t++)t>0&&this.#t.moveCursor(0,-1),this.#t.clearLine(1);this.#e.indent&&this.#t.cursorTo(this.#e.indent)}),this.#o=0,this)}#A(t){if(!t||this.#c.has(t)||!t.isTTY||typeof t.write!="function")return;lu.has(t)&&console.warn("[ora] Multiple concurrent spinners detected. This may cause visual corruption. Use one spinner at a time.");let n=t.write;this.#c.set(t,n),lu.set(t,this),t.write=(i,r,o)=>this.#T(t,n,i,r,o)}#I(){if(!this.isEnabled||this.#c.size>0)return;let t=new Set([this.#t,qo.stdout,qo.stderr]);for(let n of t)this.#A(n)}#$(){for(let[t,n]of this.#c)t.write=n,lu.get(t)===this&&lu.delete(t);this.#c.clear()}#T(t,n,i,r,o){if(typeof r=="function"&&(o=r,r=void 0),this.#d)return n.call(t,i,r,o);this.clear();let a=this.#_(i,r),c=this.#E(a),u=n.call(t,i,r,o);return c?this.#h():a.length>0&&this.#x(),this.isSpinning&&!this.#s&&this.render(),u}render(){if(!this.isEnabled||this.#u||this.#s)return this;let t=this.#t.isTTY,n=!1;try{t&&(this.#l(()=>this.#t.write(XM)),n=!0),this.clear();let i=this.frame(),r=this.#t.columns??80,o=this.#f(i,r),a=this.#t.rows;if(a&&a>1&&o>a){let u=i.split(`
174
174
  `),l=a-1;i=[...u.slice(0,l),"... (content truncated to fit terminal)"].join(`
@@ -184,16 +184,16 @@ ${Ee.hex("#D9622E").bold(`--- ${e} ---`)}`),F&&F.start())}Ge(ij,"step");function
184
184
  `);return{buffer:[],stream:r}}flush(){let t=this.flushBuffer(this.buffer,this.mainLogStream,this.mainLogPath);this.buffer=t.buffer,this.mainLogStream=t.stream;let n=this.flushBuffer(this.debugBuffer,this.debugLogStream,this.debugLogPath);this.debugBuffer=n.buffer,this.debugLogStream=n.stream}close(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.mainLogStream&&(this.mainLogStream.end(),this.mainLogStream=null),this.debugLogStream&&(this.debugLogStream.end(),this.debugLogStream=null),this.buffer=[],this.debugBuffer=[],this.initialised=!1,this.isClosing=!1}async closeAndFlush(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null);let t=[];this.mainLogStream&&(t.push(this.mainLogStream),this.mainLogStream=null),this.debugLogStream&&(t.push(this.debugLogStream),this.debugLogStream=null),this.buffer=[],this.debugBuffer=[],this.initialised=!1,await Promise.all(t.map(n=>new Promise(i=>{n.end(()=>i())}))),this.isClosing=!1}};import{createWriteStream as Aj,existsSync as Ij,mkdirSync as $j}from"fs";import{join as SI}from"path";var nn={trace:0,debug:1,info:2,warn:3,error:4},We={MAX_FILE_SIZE:10*1024*1024,MAX_FILES:5,MAX_BUFFER_SIZE:100,FLUSH_INTERVAL_MS:500,LOG_FILENAME:"fjall.jsonl",DEBUG_LOG_FILENAME:"fjall-debug.jsonl"};import{join as Sj}from"path";import{homedir as _j}from"os";var bj=Object.defineProperty,yj=(e,t)=>bj(e,"name",{value:t,configurable:!0});function Ir(){let e=process.env.FJALL_LOG_DIR;return e!==void 0&&e!==""?e:Sj(_j(),".fjall","logs")}yj(Ir,"getDefaultLogDir");var Ej=Object.defineProperty,xj=(e,t)=>Ej(e,"name",{value:t,configurable:!0}),Jo=class{static{xj(this,"DeploymentLoggerImpl")}mainLogger;appName;operationType;logStream=null;logPath;deploymentId;buffer=[];flushInterval=null;isClosing=!1;maxBufferSize=We.MAX_BUFFER_SIZE;constructor(t,n,i){this.mainLogger=t,this.appName=n,this.operationType=i,this.deploymentId=`${i}-${Date.now()}`;let r=Ir(),o=SI(r,"deployments",n);Ij(o)||$j(o,{recursive:!0});let a=new Date().toISOString().replace(/[:.]/g,"-"),c=`${i}-${a}.jsonl`;this.logPath=SI(o,c);try{this.logStream=Aj(this.logPath,{flags:"a"}),this.flushInterval=setInterval(()=>this.flush(),We.FLUSH_INTERVAL_MS),this.info("DeploymentLogger","Deployment logging initialised",{appName:n,operationType:i,deploymentId:this.deploymentId,logPath:this.logPath})}catch{}}log(t,n,i,r,o,a){if(this.isClosing)return;let c={timestamp:new Date().toISOString(),level:t,component:n,message:i,correlationId:this.deploymentId,...r&&Object.keys(r).length>0&&{data:r},...o&&{stackName:o},...a&&{phase:a}};this.buffer.push(c),this.mainLogger.logWithCorrelation(t,n,i,this.deploymentId,r,o,a),this.buffer.length>=this.maxBufferSize&&this.flush()}flush(){if(!(this.buffer.length===0||!this.logStream)){for(let t of this.buffer)this.logStream.write(JSON.stringify(t)+`
185
185
  `);this.buffer=[]}}info(t,n,i){this.log("info",t,n,i)}warn(t,n,i){this.log("warn",t,n,i)}error(t,n,i){this.log("error",t,n,i)}debug(t,n,i){this.log("debug",t,n,i)}stackEvent(t,n,i,r){this.log("info","StackDeployment",i,r,t,n)}dockerEvent(t,n){this.log("info","DockerOperation",t,{percentage:n})}ecsEvent(t,n,i){this.log("info","ECSDeployment",t,{percentage:n,taskCount:i})}close(){this.isClosing=!0,this.flush(),this.flushInterval&&(clearInterval(this.flushInterval),this.flushInterval=null),this.logStream&&(this.logStream.end(),this.logStream=null),this.buffer=[],this.isClosing=!1}getLogPath(){return this.logPath}getDeploymentId(){return this.deploymentId}};var Tj=Object.defineProperty,Rj=(e,t)=>Tj(e,"name",{value:t,configurable:!0}),vu=class e{static{Rj(this,"Logger")}static instance=null;config;debugEnabled;traceEnabled;minLevel;fileWriter;mainLogPath;debugLogPath;constructor(){let t=Ir(),n=iv(t,"debug"),i=this.parseEnvInt("FJALL_LOG_MAX_SIZE",We.MAX_FILE_SIZE),r=this.parseEnvInt("FJALL_LOG_MAX_FILES",We.MAX_FILES);this.config={logDir:t,debugLogDir:n,maxFileSize:i,maxFiles:r,maxBufferSize:We.MAX_BUFFER_SIZE,flushIntervalMs:We.FLUSH_INTERVAL_MS},this.mainLogPath=iv(t,We.LOG_FILENAME),this.debugLogPath=iv(n,We.DEBUG_LOG_FILENAME),this.debugEnabled=process.env.FJALL_DEBUG==="true"||process.env.FJALL_TRACE==="true"||process.argv.includes("--verbose")||process.argv.includes("-v"),this.traceEnabled=process.env.FJALL_TRACE==="true";let o=process.env.FJALL_LOG_LEVEL?.toLowerCase();o&&o in nn?this.minLevel=o:this.traceEnabled?this.minLevel="trace":this.debugEnabled?this.minLevel="debug":this.minLevel="info",this.fileWriter=new hu(this.config,this.mainLogPath,this.debugLogPath,this.debugEnabled)}parseEnvInt(t,n){let i=process.env[t];if(i){let r=parseInt(i,10);if(!isNaN(r)&&r>0)return r}return n}static getInstance(){return e.instance||(e.instance=new e),e.instance}shouldLog(t){return nn[t]>=nn[this.minLevel]}createEntry(t,n,i,r,o,a,c){return{timestamp:new Date().toISOString(),level:t,component:n,message:i,...o&&{correlationId:o},...r&&Object.keys(r).length>0&&{data:r},...a&&{stackName:a},...c&&{phase:c}}}log(t,n,i,r,o,a,c){if(!this.shouldLog(t))return;let u=this.createEntry(t,n,i,r,o,a,c),l=t==="debug"||t==="trace";this.fileWriter.write(u,l),this.writeConsole(u)}writeConsole(t){if(he.shouldSuppressOutput||he.isNonInteractive){this.debugEnabled&&this.writeDebugMirror(t);return}let n=this.getConsolePrefix(t.level),i=`[${t.component}]`,r=`${n} ${i} ${t.message}`;t.level==="error"?console.error(r):t.level==="warn"?console.warn(r):console.log(r)}writeDebugMirror(t){let n=this.getConsolePrefix(t.level),i=`[${t.component}]`,r="";if(t.data&&Object.keys(t.data).length>0)try{r=` ${JSON.stringify(t.data)}`}catch{r=" [unserialisable data]"}let o=`${n} ${i} ${t.message}${r}`;process.stderr.write(`${wn(o)}
186
186
  `)}getConsolePrefix(t){switch(t){case"error":return"[ERROR]";case"warn":return"[WARN]";case"info":return"[INFO]";case"debug":return"[DEBUG]";case"trace":return"[TRACE]"}}error(t,n,i){this.log("error",t,n,i)}warn(t,n,i){this.log("warn",t,n,i)}info(t,n,i){this.log("info",t,n,i)}debug(t,n,i){this.log("debug",t,n,i)}trace(t,n,i){this.log("trace",t,n,i)}isDebugEnabled(){return this.debugEnabled}isTraceEnabled(){return this.traceEnabled}enableDebug(){this.debugEnabled=!0,nn[this.minLevel]>nn.debug&&(this.minLevel="debug"),this.fileWriter.setDebugEnabled(!0),this.fileWriter.isInitialised&&this.fileWriter.initialiseDebugStream()}withCorrelation(t){return new hi(this,t)}forDeployment(t,n="deploy"){return new Jo(this,t,n)}close(){this.fileWriter.close()}async flushAndClose(){await this.fileWriter.closeAndFlush()}getLogPath(){return this.mainLogPath}getDebugLogPath(){return this.debugLogPath}getLogDir(){return this.config.logDir}logWithCorrelation(t,n,i,r,o,a,c){this.log(t,n,i,o,r,a,c)}static reset(){e.instance&&(e.instance.close(),e.instance=null)}};var Cj=Object.defineProperty,Pj=(e,t)=>Cj(e,"name",{value:t,configurable:!0}),gu=vu.getInstance();function Oj(e){let t=Ir(),n=EI(t,"debug"),i=EI(n,We.DEBUG_LOG_FILENAME);try{_I(n)||Nj(n,{recursive:!0}),_I(i)&&wj(i).size>We.MAX_FILE_SIZE&&new vi({maxFiles:We.MAX_FILES}).rotate(i);let r={timestamp:new Date().toISOString(),level:"debug",component:"Emergency",message:e};kj(i,JSON.stringify(r)+`
187
- `)}catch{}}Pj(Oj,"writeDebugSync");var Dj=Object.defineProperty,bi=(e,t)=>Dj(e,"name",{value:t,configurable:!0});function ov(e){return e.success===!0}bi(ov,"isSuccess");function av(e){return e.success===!1}bi(av,"isFailure");function P(e){return{success:!0,data:e}}bi(P,"success");function $(e){return{success:!1,error:e}}bi($,"failure");async function sv(e){try{let t=await e();return P(t)}catch(t){return $(ht(t))}}bi(sv,"tryAsync");function cv(e){try{let t=e();return P(t)}catch(t){return $(ht(t))}}bi(cv,"trySync");var Mj=Object.defineProperty,jj=(e,t)=>Mj(e,"name",{value:t,configurable:!0}),xI=/^[a-zA-Z][a-zA-Z0-9-]*$/,zj=Lo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:xI,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:xI,BUCKET_NAME:/^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z][a-z0-9]*$/,DATABASE_NAME:/^[a-zA-Z][a-zA-Z0-9_]*$/,RESOURCE_TYPE:/^[a-z]+(:[a-z]+)?$/,SSM_PATH:new RegExp(`^(?:/${zj})+$`),SECRET_NAME:qc,SSM_COMPONENT:Lo,EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,DOCKER_IMAGE:/^[a-z0-9][a-z0-9._-]*[a-z0-9](:[a-z0-9._-]+)?$/,DOMAIN:/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/i,HTTP_ORIGIN:/^https?:\/\/[a-z0-9.-]+(:\d+)?$/i,PASCAL_CASE:/^[A-Z][A-Za-z0-9]*$/,AWS_ACCOUNT_ID:/^\d{12}$/,VPC_ID:/^vpc-[a-z0-9]+$/,ROLE_ARN:/^arn:aws[a-zA-Z-]*:iam::\d{12}:role\/.+$/,CIDR:/^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\/(3[0-2]|[12]?\d)$/,SCHEDULE_EXPRESSION:/^(rate\(1 (?:minute|hour|day)\)|rate\((?:[2-9]|[1-9]\d+) (?:minutes|hours|days)\)|cron\([^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+\))$/,LAMBDA_RUNTIME_IDENTIFIER:/^[A-Za-z0-9._-]+$/,ENV_VAR_NAME:/^[A-Za-z_][A-Za-z0-9_]*$/});function uv(e){let t=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(e);if(!t)return;let n=t[1],i=t[2];if(n===void 0||i===void 0)return;let r=parseInt(n,10);if(!Number.isFinite(r)||r<1)return;let o=i==="minute"||i==="hour"||i==="day";if(!(o&&r!==1)&&!(!o&&r===1))return i==="minute"||i==="minutes"?{everyMs:r*6e4}:i==="hour"||i==="hours"?{everyMs:r*60*6e4}:{everyMs:r*24*60*6e4}}jj(uv,"parseRateExpression");var d=Object.freeze({IDENTIFIER:"Must start with a letter, contain only letters, numbers, and hyphens",NEW_APP_NAME:"Must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",IDENTIFIER_MIN_LENGTH:"Must be at least 2 characters",IDENTIFIER_NO_TRAILING_HYPHEN:"Must not end with a hyphen",IDENTIFIER_NO_CONSECUTIVE_HYPHENS:"Must not contain consecutive hyphens",RESOURCE_NAME:"Must start with a letter and contain only letters and numbers (PascalCase recommended)",ECS_SERVICE_NAME:"Service name must start with a letter and contain only letters, numbers, and hyphens",BUCKET_NAME:"Bucket name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",DATABASE_NAME:"Database name must start with a letter and contain only letters, numbers, and underscores",RESOURCE_TYPE:"Resource type must be in format 'category' or 'category:type'",SSM_PATH:"SSM path must start with / and contain valid namespace segments (e.g., /myapp/ApiCluster/service)",SECRET_NAME:uh,SSM_COMPONENT:Kc,EMAIL:"Please enter a valid email address",DOMAIN:"Please enter a valid domain (e.g., cms.example.com)",DOCKER_IMAGE:"Invalid Docker image name format",REQUIRED:{APP_NAME:"Application name is required",RESOURCE_NAME:"Resource name is required",BUCKET_NAME:"Bucket name is required",SERVICE_NAME:"Service name is required",NETWORK_NAME:"Network name is required",DATABASE_NAME:"Database name is required",ORGANISATION_NAME:"Organisation name is required",EMAIL:"Email is required",NAME:"Name is required",USERNAME:"Username is required",CONTAINER_NAME:"Container name is required",GROUP:"Group is required",PATTERN_NAME:"Pattern name is required",SOURCE:"Source directory is required",BUILD_COMMAND:"Build command is required",OUTPUT_DIR:"Output directory is required",FORMS_TO:"Forms recipient address is required",ROUTING_PATH:"Routing path is required",RESOURCE_REFERENCE:"Resource reference is required",RESOURCE_TYPE:"Resource type is required",VARIANT:"Variant is required",SUBTYPE:"Subtype is required",DEPLOY_TARGET:"Deploy target is required",DESTROY_TARGET:"Destroy target is required"},MAX_LENGTH:{APP_NAME:"Application name must be 50 characters or less",RESOURCE_NAME:"Resource name must be 63 characters or less",BUCKET_NAME:"Bucket name must be 63 characters or less",SERVICE_NAME:"Service name must be 255 characters or less",NETWORK_NAME:"Network name must be 50 characters or less",DATABASE_NAME:"Database name must be 63 characters or less",ORGANISATION_NAME:"Organisation name must be 50 characters or less"},PORT:{INTEGER:"Port must be an integer",MIN:"Port must be at least 1",MAX:"Port cannot exceed 65535"},USERNAME:{MAX_LENGTH:"Username cannot exceed 63 characters"},LAMBDA:{MEMORY:{INTEGER:"Lambda memory must be an integer",MIN:"Memory must be at least 128 MB",MAX:"Memory cannot exceed 10240 MB",MULTIPLE:"Memory must be 128 MB or a multiple of 64 MB"},TIMEOUT:{INTEGER:"Timeout must be an integer",MIN:"Timeout must be at least 1 second",MAX:"Timeout cannot exceed 900 seconds"},RUNTIME:"Lambda runtime must contain only letters, digits, dots, underscores, or dashes (e.g. 'NODEJS_20_X' or 'nodejs20.x')"},ENV_VAR_NAME:"Environment variable names must start with a letter or underscore and contain only letters, digits, and underscores",PRIORITY:{INTEGER:"Priority must be an integer",MIN:"Priority must be at least 1",MAX:"Priority cannot exceed 50000"},CAPACITY:{MIN:{INTEGER:"Minimum capacity must be an integer",MIN_0:"Minimum capacity must be at least 0",MIN_1:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 100"},MAX:{INTEGER:"Maximum capacity must be an integer",MIN_0:"Maximum capacity must be at least 0",MIN_1:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 100"},DESIRED:{INTEGER:"Desired count must be an integer",MIN:"Desired count must be at least 0",MAX:"Desired count cannot exceed 100"},WARM_POOL_REQUIRED:"minCapacity 0 requires a warmPool \u2014 without it, new tasks wait 60-90s for a cold instance launch",WARM_POOL:{MIN_SIZE:{INTEGER:"Warm pool minSize must be an integer",MIN:"Warm pool minSize must be at least 0",MAX:"Warm pool minSize cannot exceed 100"},MIN_SIZE_EXCEEDS_MAX_CAPACITY:"warmPool.minSize cannot exceed maxCapacity \u2014 the warm pool cannot hold more instances than the ASG allows"}},MEMORY_LIMIT:{INTEGER:"Memory limit must be an integer",MIN_512:"Memory limit must be at least 512 MiB",MIN_128:"Memory limit must be at least 128 MiB",MAX:"Memory limit cannot exceed 30720 MiB"},DATABASE:{PORT:{INTEGER:"Database port must be an integer",MIN:"Database port must be at least 1024",MAX:"Database port cannot exceed 65535"},NAME:{REQUIRED:"Database name is required",MAX_LENGTH:"Database name must be 63 characters or less"}},BACKUP_RETENTION:{INTEGER:"Backup retention must be an integer",MIN:"Backup retention must be at least 1 day",MAX:"Backup retention cannot exceed 35 days"},SQS:{VISIBILITY_TIMEOUT:{INTEGER:"Visibility timeout must be an integer",MIN:"Visibility timeout must be at least 0 seconds",MAX:"Visibility timeout cannot exceed 43200 seconds (12 hours)"},RETENTION_PERIOD:{INTEGER:"Retention period must be an integer",MIN:"Retention period must be at least 60 seconds",MAX:"Retention period cannot exceed 1209600 seconds (14 days)"}},READER:{COUNT:{INTEGER:"Reader count must be an integer",MIN:"Reader count must be at least 0",MAX:"Reader count cannot exceed 15"}},IDENTIFIER_SUFFIX:{REQUIRED:"Identifier suffix is required when specified",MAX_LENGTH:"Identifier suffix cannot exceed 50 characters"},ROTATION:{INTEGER:"Rotation days must be an integer",MIN:"Rotation interval must be at least 1 day",MAX:"Rotation interval cannot exceed 365 days"},MAX_CONNECTIONS:{INTEGER:"Max connections must be an integer",MIN:"Max connections must be at least 1",MAX:"Max connections cannot exceed 100"},MONITORING_INTERVAL:{INTEGER:"Monitoring interval must be an integer",MIN:"Monitoring interval must be at least 0",MAX:"Monitoring interval cannot exceed 60 seconds",VALUES:"Monitoring interval must be 0, 1, 5, 10, 15, 30, or 60 seconds"},RETENTION_DAYS:{INTEGER:"Retention days must be an integer",MIN:"Retention days must be at least 1",MAX:"Retention days cannot exceed 365"},BATCH_SIZE:{INTEGER:"Batch size must be an integer",MIN:"Batch size must be at least 1",MAX:"Batch size cannot exceed 10000"},SERVICE:{UNIQUE_WITHIN_CLUSTER:"Service names must be unique within a cluster",MIN_REQUIRED:"At least one service is required",ROUTING_REQUIRED:"Multiple services with ports require routing config (path or host)"},PROXY_CONFIG:{MAX_IDLE_CONNECTIONS:{INTEGER:"Max idle connections must be an integer",MIN:"Max idle connections must be at least 0",MAX:"Max idle connections cannot exceed 100"},BORROW_TIMEOUT:{INTEGER:"Connection borrow timeout must be an integer",MIN:"Connection borrow timeout must be at least 1 second",MAX:"Connection borrow timeout cannot exceed 3600 seconds"}},MAX_AZS:{INTEGER:"Max AZs must be an integer",MIN:"Max AZs must be at least 1",MAX:"Max AZs cannot exceed 3"},BATCHING_WINDOW:{INTEGER:"Max batching window must be an integer",MIN:"Max batching window must be at least 0",MAX:"Max batching window cannot exceed 300 seconds"},HEALTH_CHECK:{INTERVAL:{INTEGER:"Health check interval must be an integer",MIN:"Health check interval must be at least 5 seconds",MAX:"Health check interval cannot exceed 300 seconds"},TIMEOUT:{INTEGER:"Health check timeout must be an integer",MIN:"Health check timeout must be at least 2 seconds",MAX:"Health check timeout cannot exceed 60 seconds"},RETRIES:{INTEGER:"Health check retries must be an integer",MIN:"Health check retries must be at least 1",MAX:"Health check retries cannot exceed 10"},START_PERIOD:{INTEGER:"Health check start period must be an integer",MIN:"Health check start period must be at least 0 seconds",MAX:"Health check start period cannot exceed 300 seconds"}},EPHEMERAL_STORAGE:{INTEGER:"Ephemeral storage size must be an integer",MIN:"Ephemeral storage size must be at least 512 MB",MAX:"Ephemeral storage size cannot exceed 10240 MB"},MAX_MESSAGE_SIZE:{INTEGER:"Max message size must be an integer",MIN:"Max message size must be at least 1024 bytes",MAX:"Max message size cannot exceed 262144 bytes (256 KB)"},CAPACITY_CONSTRAINT:{MIN_LTE_MAX:"minCapacity must be less than or equal to maxCapacity"},DIRECT_ACCESS:{NO_DOMAIN:"directAccess cannot be used with domain (no ALB for HTTPS)",NO_LOAD_BALANCER:"directAccess cannot be used with loadBalancer (mutually exclusive)"},GLOBAL_AURORA:{PRIMARY_REGION_REQUIRED:"primaryRegion is required for GlobalAurora databases"},NAT_GATEWAY:{INTEGER:"NAT gateway count must be an integer",MIN:"NAT gateway count must be at least 0",MAX:"NAT gateway count cannot exceed 3"},CIDR_MASK:{INTEGER:"CIDR mask must be an integer",MIN:"CIDR mask must be at least 16",MAX:"CIDR mask cannot exceed 28"},CPU:{INTEGER:"CPU must be an integer",MIN:"CPU must be at least 256 units",MAX:"CPU cannot exceed 4096 units"},KMS:{KEY_REQUIRED:"KMS key ARN is required when using KMS encryption"},READER_INSTANCES:{MAX:"Cannot have more than 15 reader instances",COUNT_OR_INSTANCES:"Cannot specify both 'count' and 'instances' - use one or the other"},GENERATOR_CAPACITY:{MIN:{MIN:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 1000"},MAX:{MIN:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 1000"}},INSTANCE_TYPE:"Unknown instance type. Common types include: t4g.micro, t4g.small, m5.large",ARCHITECTURE_MISMATCH:"Architecture mismatch between instance type and AMI",ALLOCATED_STORAGE:{INTEGER:"Allocated storage must be an integer",MIN:"Allocated storage must be at least 20 GB",MAX:"Allocated storage cannot exceed 65536 GB"},DLQ:{MAX_RECEIVE_COUNT:{INTEGER:"Max receive count must be an integer",MIN:"Max receive count must be at least 1",MAX:"Max receive count cannot exceed 1000"}},ALARM:{PERCENTAGE:{MIN:"Threshold must be at least 1%",MAX:"Threshold must be at most 100%"},FREE_STORAGE_GIB:{MIN:"Free storage threshold must be at least 1 GiB"}},REGION:"Invalid AWS region",PASCAL_CASE:"Resource name must start with an uppercase letter and contain only alphanumerics (PascalCase).",IMAGE_DOCKER_MUTEX:"image and docker are mutually exclusive",AWS_ACCOUNT_ID:"AWS account id must be exactly 12 digits (no hyphens)",VPC_ID:"VPC id must look like vpc-abc12345",ROLE_ARN:"Role ARN must have the form arn:aws:iam::<account-id>:role/<name>",CIDR:"CIDR must be in dotted-quad/prefix-length form (e.g. 10.0.0.0/16)",VPC_PEER:{MIN_REQUESTER_ACCOUNTS:"At least one requester account id is required",REGION_REQUIRED:"Peer region is required when specified",ROUTE_TABLE_ID_REQUIRED:"Route table id must not be empty"},SCHEDULE_EXPRESSION:"Schedule expression must be 'rate(N minute|minutes|hour|hours|day|days)' with N>=1, or 'cron(<6-field AWS expression>)'"});var Lj=Object.defineProperty,st=(e,t)=>Lj(e,"name",{value:t,configurable:!0}),Uj=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],Fj=Object.freeze(Uj.flatMap(e=>{let t=Cn(e);return t?[t]:[]})),lv=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);function bu(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}st(bu,"parseRegionList");function dv(e){return qt.includes(e)}st(dv,"isValidRegion");function mv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(mv,"isValidRegionFormat");function pv(e){if(!e)return lv.slice(0,3);let t=e.toLowerCase().split("-"),n=t[0],i=t.length>1?t[1]:"",r=[];return n&&i&&(r=qt.filter(o=>o.startsWith(`${n}-${i}`))),r.length===0&&n&&(r=qt.filter(o=>o.startsWith(`${n}-`))),r.length>0?r.slice(0,3):lv.slice(0,3)}st(pv,"getSuggestions");function fv(e){if(dv(e))return!0;let t=pv(e);return mv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(fv,"validateRegion");function AI(e){if(!e||e.trim()==="")return!0;let t=bu(e);for(let n of t){let i=fv(n);if(i!==!0)return i}return!0}st(AI,"validateRegionList");function gv(e,t){return e.filter(n=>n!==t)}st(gv,"filterDuplicateRegions");function hv(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(hv,"toRegionOption");function II(){return it.map(hv)}st(II,"getRegionOptions");function $I(e){return it.filter(t=>t.code!==e).map(hv)}st($I,"getRegionOptionsExcluding");function TI(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(TI,"getRegionName");function RI(e){return t=>{let n=bu(t);return gv(n,e)}}st(RI,"createRegionFormatter");var yu="4.0.0";var Su=["Aurora","Instance","GlobalAurora","ClickHouse"],yi=["FARGATE","FARGATE_SPOT","EC2"],St=["standard","resilient","enterprise"],_u=["tinkerer","lightweight","standard","resilient","enterprise"],vv="custom",Qo=[..._u,vv];var Bj=Object.defineProperty,Vj=(e,t)=>Bj(e,"name",{value:t,configurable:!0}),q8=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),ea=["ecs","lambda","ec2"],Si=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),Eu=["code","container"],ta=Object.freeze({CODE:"code",CONTAINER:"container"}),xu=["ARM_64","X86_64"],CI="ARM_64",ra=["NONE","AWS_IAM"],Au=["public","internal"],Iu=["CPU","MEMORY"],$u=["ARM","STANDARD"],bv=["Instance","Aurora"],_i=["postgresql","mysql"],PI=["foundation","compliance","hardened"];var Tu=["t3.nano","t3.micro","t3.small","t3.medium","t3.large","t3.xlarge","t3.2xlarge","t3a.nano","t3a.micro","t3a.small","t3a.medium","t3a.large","t3a.xlarge","t3a.2xlarge","t4g.nano","t4g.micro","t4g.small","t4g.medium","t4g.large","t4g.xlarge","t4g.2xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5a.large","c5a.xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c6g.medium","c6g.large","c6g.xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.12xlarge","c6g.16xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5a.large","r5a.xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r6g.medium","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","r6g.16xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","p3.2xlarge","p3.8xlarge","p3.16xlarge","g4dn.xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.12xlarge","g4dn.16xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5a.large","m5a.xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge"],NI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}Vj(ct,"constIncludes");var wI=1,kI=65535,Q8=Object.freeze({postgresql:5432,mysql:3306}),OI=128,DI=10240,Ru=1,Cu=900,yv=1,Sv=1e3,Ei=100,MI=100;var jI=3e3;var zI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],LI=["standard","assets","upload","website"],xi=["AES256","KMS"];var Zj=Object.defineProperty,na=(e,t)=>Zj(e,"name",{value:t,configurable:!0}),He=na(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),on={check:na(e=>e.minCapacity!==void 0&&e.maxCapacity!==void 0?e.minCapacity<=e.maxCapacity:!0,"check"),params:{message:d.CAPACITY_CONSTRAINT.MIN_LTE_MAX,path:["maxCapacity"]}},ia=na(e=>s.number().int(d.MEMORY_LIMIT.INTEGER).min(e,e===128?d.MEMORY_LIMIT.MIN_128:d.MEMORY_LIMIT.MIN_512).max(30720,d.MEMORY_LIMIT.MAX),"memoryLimitMiBSchema"),V=s.string().min(1,d.REQUIRED.RESOURCE_NAME).max(63,d.MAX_LENGTH.RESOURCE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),FI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),BI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Pu(e,t=L.IDENTIFIER,n=d.IDENTIFIER){return s.string().min(2,d.IDENTIFIER_MIN_LENGTH).max(50,e).regex(t,n).refine(i=>!i.endsWith("-"),{message:d.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(i=>!i.includes("--"),{message:d.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}na(Pu,"identifierSchema");var ve=Pu(d.MAX_LENGTH.APP_NAME),a5=Pu(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),an=s.number().int(d.PORT.INTEGER).min(wI,d.PORT.MIN).max(kI,d.PORT.MAX),Re=s.object({key:s.string(),sourceText:s.string()}).strict(),Gj=s.object({__identifier:s.string()}).strict(),Wj=s.object({__expression:s.string()}).strict(),Hj=s.object({__call:s.string()}).strict(),qj=s.union([Gj,Wj,Hj]),Kj=s.union([s.string(),s.number(),s.boolean(),qj]),Ai=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),Kj),Yj=s.object({id:s.string(),name:s.string().optional(),arn:s.string().optional(),field:s.string().optional()}).strict().refine(e=>e.name!==void 0!=(e.arn!==void 0),{message:"secretsImport requires exactly one of `name` or `arn`."}),VI=s.record(s.string(),Yj),s5=s.record(s.string(),s.unknown()),_v=s.enum(Qo).describe(`Application type must be one of: ${Qo.join(", ")}`),Ev=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),Xj=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Jj=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),ZI=s.object({sourceText:s.string(),position:Xj,afterManagedResource:s.object({type:Jj,name:s.string().optional()}).strict().optional(),originalLine:s.number().int().optional(),leadingComments:s.array(s.string()).optional(),orphaned:s.boolean().optional(),orphanedComment:s.string().optional()}).strict(),GI=s.union([s.object({tier:s.enum(St)}).strict(),s.literal(!1)]),WI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),Qj=Pu(d.MAX_LENGTH.ORGANISATION_NAME),ez=s.string().regex(L.EMAIL,d.EMAIL),UI=s.string().refine(e=>qt.includes(e),{message:d.REGION}),c5=s.object({name:Qj,email:ez,accountName:s.string().optional(),primaryRegion:UI.optional().default(Rn),secondaryRegions:s.array(UI).optional(),security:s.enum(PI).optional(),force:s.boolean().optional()}).strict();function oa(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
- `)}na(oa,"getZodErrorMessage");var Ii=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),tz=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),HI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),memoryThreshold:Ii.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ii.optional()}).strict()]),qI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),freeStorageThresholdGiB:tz.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),KI=s.union([s.literal(!1),s.object({errorRateThreshold:Ii.optional(),durationThresholdPercent:Ii.optional()}).strict()]);var Jt=s.number().int(d.BACKUP_RETENTION.INTEGER).min(1,d.BACKUP_RETENTION.MIN).max(35,d.BACKUP_RETENTION.MAX),aa=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(NI,e),{message:d.MONITORING_INTERVAL.VALUES}),wu=s.number().int(d.DATABASE.PORT.INTEGER).min(1024,d.DATABASE.PORT.MIN).max(65535,d.DATABASE.PORT.MAX),rz=s.enum(Su).describe(`Database type must be one of: ${Su.join(", ")}`),nz=s.object({maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional()}).strict().describe("RDS Proxy configuration"),iz=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),oz=s.object({automaticallyAfterDays:s.number().int(d.ROTATION.INTEGER).min(1,d.ROTATION.MIN).max(365,d.ROTATION.MAX).optional()}).strict().describe("Secret rotation configuration"),ku=s.object({username:s.string().min(1,d.REQUIRED.USERNAME).max(63,d.USERNAME.MAX_LENGTH).optional(),secretRotation:oz.optional()}).strict().describe("Database credentials configuration"),Ou=He(nz),Du=He(iz),az=s.object({scaleWithWriter:s.boolean().optional(),enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for a single Aurora reader instance"),sa=s.object({enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for Aurora writer instance"),sz=s.object({count:s.number().int(d.READER.COUNT.INTEGER).min(0,d.READER.COUNT.MIN).max(15,d.READER.COUNT.MAX).optional(),instances:s.array(az).max(15,d.READER_INSTANCES.MAX).optional(),defaultEnableDatabaseInsights:s.boolean().optional()}).strict().refine(e=>!(e.count!==void 0&&e.instances!==void 0),{message:d.READER_INSTANCES.COUNT_OR_INSTANCES,path:["count"]}).describe("Aurora readers configuration"),ca=He(sz),cz=s.object({awsManaged:s.literal(!0)}).strict(),uz=s.object({useCMK:s.literal(!0)}).strict(),YI=s.union([cz,uz]),lz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:YI.optional()}).strict().describe("Database Insights configuration"),Mu=He(lz),ju=s.object({storageKey:YI.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),XI=s.object({name:V,type:rz,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),instanceType:s.string().optional(),allocatedStorage:s.number().optional(),multiAz:s.boolean().optional(),publiclyAccessible:s.boolean().optional(),databaseInsights:Mu.optional(),port:wu.optional(),deletionProtection:s.boolean().optional(),proxy:Ou.optional(),credentials:ku.optional(),readReplica:Du.optional(),encryption:ju.optional(),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),primaryRegion:s.string().optional(),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional(),databaseEngine:s.enum(_i).optional(),engineExpression:s.string().optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional(),alarms:qI.optional()}).strict(),zu=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional(),databaseInsights:Mu.optional(),port:wu.optional(),proxy:Ou.optional(),credentials:ku.optional(),encryption:ju.optional(),deletionProtection:s.boolean().optional()}).strict(),JI={databaseType:s.literal("Instance"),instanceType:s.string().optional(),multiAz:s.boolean().optional(),readReplica:Du.optional(),publiclyAccessible:s.boolean().optional(),backupRetention:Jt.optional(),allocatedStorage:s.number().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},QI={databaseType:s.literal("Aurora"),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},e$={databaseType:s.literal("GlobalAurora"),primaryRegion:s.string().min(1,d.GLOBAL_AURORA.PRIMARY_REGION_REQUIRED),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},t$=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict(),r$={databaseType:s.literal("ClickHouse"),instanceType:s.string().optional(),coldTier:s.union([s.object({mode:s.literal("s3")}).strict(),s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Jt.optional()},dz=zu.extend(JI).strict(),mz=zu.extend(QI).strict(),pz=zu.extend(e$).strict(),fz=t$.extend(r$).strict(),b5=s.discriminatedUnion("databaseType",[dz,mz,pz,fz]),xv=zu.extend({resourceName:V}).strict(),gz=xv.extend(JI).strict(),hz=xv.extend(QI).strict(),vz=xv.extend(e$).strict(),bz=t$.extend({resourceName:V}).strict(),yz=bz.extend(r$).strict(),y5=s.discriminatedUnion("databaseType",[gz,hz,vz,yz]),S5=s.object({appName:ve,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional(),nameProvidedByFlag:s.boolean().optional()}).strict(),Sz=["S","N","B"],Nu=s.object({name:s.string(),type:s.enum(Sz)}).strict(),n$=s.object({name:V,partitionKey:Nu,sortKey:Nu.optional(),globalSecondaryIndexes:s.array(s.object({indexName:s.string(),partitionKey:Nu,sortKey:Nu.optional()}).strict()).optional(),ttlAttribute:s.string().optional(),stream:s.boolean().optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict(),_z=s.object({mode:s.literal("s3")}).strict(),i$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:BI,instanceType:s.string().optional(),coldTier:s.union([_z,s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Jt.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var Ez=s.object({count:s.number().int(d.NAT_GATEWAY.INTEGER).min(0,d.NAT_GATEWAY.MIN).max(3,d.NAT_GATEWAY.MAX).optional()}).strict().describe("NAT gateway configuration"),o$=He(Ez),Av=s.enum(["cloudwatch","s3"]),xz=s.object({destination:Av.optional(),retentionDays:s.number().int(d.RETENTION_DAYS.INTEGER).min(1,d.RETENTION_DAYS.MIN).max(365,d.RETENTION_DAYS.MAX).optional(),trafficType:s.enum(["ALL","ACCEPT","REJECT"]).optional()}).strict().describe("VPC flow log configuration"),a$=He(xz),Az=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Iz=He(Az),$z=s.object({ecr:s.boolean().optional(),secretsManager:s.boolean().optional(),kms:s.boolean().optional(),cloudwatchLogs:s.boolean().optional(),ssm:s.boolean().optional(),sts:s.boolean().optional()}).strict().describe("Interface VPC endpoints (cost per hour)"),Tz=He($z),Rz=s.object({gateway:Iz.optional(),interface:Tz.optional()}).strict().describe("VPC endpoints configuration"),s$=He(Rz),Lu=s.object({maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:o$.optional(),flowLogs:a$.optional(),vpcEndpoints:s$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),c$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),u$=Lu.extend({name:c$}).strict(),l$=He(Lu),I5=s.object({appName:ve,networkName:c$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:o$.optional(),flowLogs:a$.optional(),vpcEndpoints:s$.optional()}).strict(),Cz=L.CIDR,Iv=s.string().regex(Cz,d.CIDR),Pz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Iv),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Nz=s.object({kind:s.literal("ecsService"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),serviceName:s.string().min(1,d.REQUIRED.SERVICE_NAME),name:V,allowedFromCidrs:s.array(Iv),port:an.optional()}).strict(),wz=s.discriminatedUnion("kind",[Pz,Nz]),$5=s.object({name:V,peerAppName:s.string().min(1,d.REQUIRED.APP_NAME),peerAccountId:s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID),peerRegion:s.string().min(1,d.VPC_PEER.REGION_REQUIRED).optional(),peerVpcId:s.string().regex(L.VPC_ID,d.VPC_ID).optional(),peerVpcCidr:Iv.optional(),peerRoleArn:s.string().regex(L.ROLE_ARN,d.ROLE_ARN).optional(),peerRouteTableIds:s.array(s.string().min(1,d.VPC_PEER.ROUTE_TABLE_ID_REQUIRED)).optional(),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),enableDnsResolution:s.boolean().optional()}).strict(),T5=s.object({name:V,requesterAccountIds:s.array(s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID)).min(1,d.VPC_PEER.MIN_REQUESTER_ACCOUNTS),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),publishToSsm:s.boolean().optional(),exposedResources:s.array(wz).optional()}).strict();var Uu=["storage","cdn","compute"],kz=s.object({sid:s.string().optional(),effect:s.enum(["Allow","Deny"]),principals:s.array(s.string()),actions:s.array(s.string()),resources:s.array(s.string()).optional(),conditions:s.record(s.string(),s.record(s.string(),s.union([s.string(),s.array(s.string())]))).optional()}).strict(),d$=s.object({name:V,bucketName:s.string().optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(St).optional(),versioned:s.boolean().optional(),encryption:s.enum(xi).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),deployment:s.object({source:s.string(),prune:s.boolean().optional(),cacheControl:s.object({maxAge:s.number().optional(),immutable:s.boolean().optional()}).strict().optional()}).strict().optional(),retain:s.boolean().optional(),resourcePolicyStatements:s.array(kz).optional(),stackPlacement:s.enum(Uu).optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED}),k5=s.object({appName:ve,bucketName:FI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(LI).optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(St).optional(),versioned:s.boolean().optional(),encryption:s.enum(xi).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED,path:["kmsKeyArn"]});var $v=s.enum(["DESTROY","RETAIN"]),m$=s.object({name:V,queueType:s.enum(["standard","fifo"]).default("standard"),visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),retentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),contentBasedDeduplication:s.boolean().optional(),removalPolicy:$v.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var p$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),f$=s.object({name:V,defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),p$]).optional(),extraProperties:s.array(Re).optional()}).strict(),g$=s.object({appName:s.string(),name:V.optional(),defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),p$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var Oz=Object.defineProperty,Tv=(e,t)=>Oz(e,"name",{value:t,configurable:!0}),Dz=new Set(["t4g","c6g","c6gd","c6gn","c7g","c7gd","c7gn","r6g","r6gd","r7g","r7gd","m6g","m6gd","m7g","m7gd","a1","x2gd","im4gn","is4gen","i4g","hpc7g"]);function $i(e){let t=e.split(".")[0]??"";return Dz.has(t)?"ARM":"STANDARD"}Tv($i,"getArchitectureForInstanceType");function Fu(e,t){let n=$i(e);return n!==t?{valid:!1,message:`Instance type '${e}' requires ${n} architecture, but '${t}' AMI was specified. Use a ${n==="ARM"?"Graviton instance (t4g, c6g, r6g, m6g, etc.)":"Intel/AMD instance (t3, c5, r5, m5, etc.)"} instead.`}:{valid:!0}}Tv(Fu,"validateArchitectureMatch");function h$(e,t){return $i(e)===t}Tv(h$,"isArchitectureCompatible");var Mz=Object.defineProperty,Bu=(e,t)=>Mz(e,"name",{value:t,configurable:!0});var jz=1,zz=/^[A-Za-z0-9_.-]+$/,Lz=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(zz,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),Uz=s.union([s.string(),s.object({ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:s.boolean().optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),Ot=s.object({path:s.string(),context:s.string().min(1,"context cannot be empty").optional(),target:s.string().min(1,"target cannot be empty").optional(),buildArgs:s.record(s.string(),Uz).optional(),buildSecrets:s.array(Lz).optional()}).strict(),G5=Ot.partial();function Fz(e,t){if(t===void 0)return e;let n=t.context??e.context,i=t.target??e.target,r=t.buildArgs??e.buildArgs,o=t.buildSecrets??e.buildSecrets;return{path:t.path??e.path,...n!==void 0&&{context:n},...i!==void 0&&{target:i},...r!==void 0&&{buildArgs:r},...o!==void 0&&{buildSecrets:o}}}Bu(Fz,"mergeDockerBuild");function Rv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Bu(Rv,"isRecord");function v$(e){if(!Rv(e)||typeof e.path!="string"||e.path.length===0)return;let t=typeof e.context=="string"&&e.context.length>0?e.context:void 0,n=typeof e.target=="string"&&e.target.length>0?e.target:void 0,i=Rv(e.buildArgs)&&Object.keys(e.buildArgs).length>0?e.buildArgs:void 0,r=Array.isArray(e.buildSecrets)&&e.buildSecrets.length>0?e.buildSecrets:void 0,o={path:e.path,...t!==void 0&&{context:t},...n!==void 0&&{target:n},...i!==void 0&&{buildArgs:i},...r!==void 0&&{buildSecrets:r}},a=Ot.safeParse(o);return a.success?a.data:void 0}Bu(v$,"normaliseDockerBuild");function Bz(e){if(e===void 0)return;let t=v$(e);return t===void 0?void 0:JSON.stringify(t)}Bu(Bz,"dockerBuildFingerprint");var Vz=s.object({name:s.string(),clusterName:s.string().optional(),docker:Ot.optional(),containerPort:s.number().optional(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional()}).strict(),Zz=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),Gz=s.object({repositoryName:s.string()}).strict(),Wz=["x86_64","arm64"],Hz=s.object({name:s.string(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional(),docker:Ot.optional(),imageKey:s.string().optional(),architecture:s.enum(Wz).optional()}).strict(),qz=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),Kz=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),W5=s.object({version:s.literal(jz),generatedAt:s.string(),appName:s.string(),services:s.array(Vz),lambdas:s.array(Hz),pattern:Zz.optional(),ecr:Gz.optional(),stacks:s.record(s.string(),qz),resourceMap:s.record(s.string(),Kz).optional()}).strict();var Yz=Object.defineProperty,Xz=(e,t)=>Yz(e,"name",{value:t,configurable:!0});function y$(e){return!(e.image!==void 0&&e.docker!==void 0)}Xz(y$,"imageDockerMutexCheck");var S$=s.number().int(d.CAPACITY.MIN.INTEGER).min(yv,d.GENERATOR_CAPACITY.MIN.MIN).max(Sv,d.GENERATOR_CAPACITY.MIN.MAX),_$=s.number().int(d.CAPACITY.MAX.INTEGER).min(yv,d.GENERATOR_CAPACITY.MAX.MIN).max(Sv,d.GENERATOR_CAPACITY.MAX.MAX),Ti=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(OI,d.LAMBDA.MEMORY.MIN).max(DI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),E$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Cv=s.number().int(d.CPU.INTEGER).min(256,d.CPU.MIN).max(4096,d.CPU.MAX),Zu=s.number().int(d.CAPACITY.DESIRED.INTEGER).min(0,d.CAPACITY.DESIRED.MIN).max(Ei,d.CAPACITY.DESIRED.MAX),ua=s.object({connectToDatabase:s.array(s.string()).optional()}).strict(),Jz=s.object({minSize:s.number().int(d.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,d.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(MI,d.CAPACITY.WARM_POOL.MIN_SIZE.MAX).optional(),reuseOnScaleIn:s.boolean().optional()}).strict(),Pv=s.object({instanceType:s.string().optional(),amiHardwareType:s.enum($u).optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ei,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ei,d.CAPACITY.MAX.MAX).optional(),memoryLimitMiB:ia(128).optional(),warmPool:Jz.optional(),extraProperties:s.array(Re).optional()}).strict().superRefine((e,t)=>{if(!e.instanceType||!e.amiHardwareType)return;let n=Fu(e.instanceType,e.amiHardwareType);n.valid||t.addIssue({code:"custom",message:n.message??d.ARCHITECTURE_MISMATCH,path:["instanceType"]})}).superRefine((e,t)=>{e.minCapacity===0&&!e.warmPool&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL_REQUIRED,path:["minCapacity"]}),e.warmPool?.minSize!==void 0&&e.maxCapacity!==void 0&&e.warmPool.minSize>e.maxCapacity&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL.MIN_SIZE_EXCEEDS_MAX_CAPACITY,path:["warmPool","minSize"]})}),Qz=s.enum(ea).describe(`Compute type must be one of: ${ea.join(", ")}`),Nv=s.enum(yi).describe(`ECS capacity provider must be one of: ${yi.join(", ")}`),wv=s.string().refine(e=>ct(Tu,e),{message:d.INSTANCE_TYPE}),x$=s.object({sourceType:s.enum(["sqs","dynamodb","eventbridge"]),sourceRef:s.string().describe("Name of the source resource"),batchSize:s.number().int(d.BATCH_SIZE.INTEGER).min(1,d.BATCH_SIZE.MIN).max(1e4,d.BATCH_SIZE.MAX).optional(),startingPosition:s.enum(["TRIM_HORIZON","LATEST"]).optional(),maxBatchingWindow:s.number().int(d.BATCHING_WINDOW.INTEGER).min(0,d.BATCHING_WINDOW.MIN).max(300,d.BATCHING_WINDOW.MAX).optional(),reportBatchItemFailures:s.boolean().optional()}).strict(),eL=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:an.optional(),environment:Ai.optional(),secretsImport:VI.optional(),command:s.array(s.string()).optional(),entryPoint:s.array(s.string()).optional(),essential:s.boolean().optional(),healthCheck:s.object({command:s.array(s.string()),interval:s.number().int(d.HEALTH_CHECK.INTERVAL.INTEGER).min(5,d.HEALTH_CHECK.INTERVAL.MIN).max(300,d.HEALTH_CHECK.INTERVAL.MAX).optional(),timeout:s.number().int(d.HEALTH_CHECK.TIMEOUT.INTEGER).min(2,d.HEALTH_CHECK.TIMEOUT.MIN).max(60,d.HEALTH_CHECK.TIMEOUT.MAX).optional(),retries:s.number().int(d.HEALTH_CHECK.RETRIES.INTEGER).min(1,d.HEALTH_CHECK.RETRIES.MIN).max(10,d.HEALTH_CHECK.RETRIES.MAX).optional(),startPeriod:s.number().int(d.HEALTH_CHECK.START_PERIOD.INTEGER).min(0,d.HEALTH_CHECK.START_PERIOD.MIN).max(300,d.HEALTH_CHECK.START_PERIOD.MAX).optional()}).strict().optional(),ssmSecrets:s.array(s.string().regex(L.SECRET_NAME,d.SECRET_NAME)).optional(),extraProperties:s.array(Re).optional()}).strict(),A$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),I$=s.object({domain:s.string().optional(),loadBalancer:s.union([s.literal(!1),s.enum(Au)]).optional(),directAccess:s.boolean().optional(),extraProperties:s.array(Re).optional()}).strict().refine(e=>!(e.directAccess&&e.domain),{message:d.DIRECT_ACCESS.NO_DOMAIN,path:["directAccess"]}).refine(e=>!(e.directAccess&&typeof e.loadBalancer=="string"),{message:d.DIRECT_ACCESS.NO_LOAD_BALANCER}).describe("Cluster-level configuration"),Vu=s.object({path:s.string().optional(),host:s.string().optional(),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional(),healthCheckPath:s.string().optional()}).strict().describe("Path/host-based routing configuration"),tL=s.object({desiredCount:Zu.optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ei,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ei,d.CAPACITY.MAX.MAX).optional(),scalingType:s.enum(Iu).optional()}).strict().refine(on.check,on.params).describe("ECS service scaling configuration"),$$=s.object({name:A$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(eL).optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),desiredCount:Zu.optional(),scaling:He(tL).optional(),capacityProvider:Nv,ec2Config:Pv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Re).optional(),alarms:HI.optional()}).strict().superRefine((e,t)=>{y$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),T$=s.object({name:V,type:Qz,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:I$.optional(),services:s.array($$).optional(),docker:Ot.partial().optional(),deployment:s.enum(Eu).optional(),codePath:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:E$.optional(),environment:Ai.optional(),secrets:Ai.optional(),eventSources:s.array(x$).optional(),functionUrl:s.object({authType:s.enum(ra)}).strict().optional(),description:s.string().optional(),scheduleExpression:s.string().optional(),architecture:s.enum(xu).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional(),functionName:s.string().optional(),ssmSecrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),alarms:KI.optional(),instanceType:wv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict().superRefine((e,t)=>{if(e.type==="ecs"&&e.services)for(let n=0;n<e.services.length;n++){let i=e.services[n];i?.ec2Config?.instanceType&&!i.ec2Config.amiHardwareType&&$i(i.ec2Config.instanceType)!=="ARM"&&t.addIssue({code:"custom",message:`Service '${i.name??n}' uses instance type '${i.ec2Config.instanceType}' (x86), which requires Docker images built for linux/amd64. The default build targets linux/arm64 (Graviton). Use a Graviton instance type (t4g, c6g, r6g, m6g, etc.) or set amiHardwareType: "STANDARD" to acknowledge x86.`,path:["services",n,"ec2Config","instanceType"]})}e.type==="lambda"&&e.deployment==="container"&&e.architecture==="X86_64"&&t.addIssue({code:"custom",message:"Lambda architecture 'X86_64' requires Docker images built for linux/amd64, but the default build targets linux/arm64. Use 'ARM_64' for Graviton Lambdas (recommended) or ensure your build pipeline targets linux/amd64.",path:["architecture"]})}),tH=s.object({appName:ve,clusterName:V,containerPort:an,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Nv.optional(),useAppEcr:s.boolean().optional(),desiredCount:Zu.optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),minCapacity:S$.optional(),maxCapacity:_$.optional(),ec2Config:Pv.optional(),connectionConfig:ua.optional()}).strict().refine(on.check,on.params),rH=s.object({appName:ve,functionName:V,nameProvidedByFlag:s.boolean().optional(),lambdaType:s.enum(["basic","web","custom"]).optional(),ecrRepository:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),enableFunctionUrl:s.boolean().optional(),description:s.string().optional(),enableCors:s.boolean().optional(),corsOrigins:s.string().optional(),corsHeaders:s.string().optional(),corsMethods:s.array(s.enum(zI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),nH=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:wv.optional(),enableSSH:s.boolean().optional(),minCapacity:S$.optional(),maxCapacity:_$.optional(),connectionConfig:ua.optional()}).strict().refine(on.check,on.params),iH=s.object({appName:ve,clusterName:V,serviceName:A$,capacityProvider:Nv,containerPort:an.optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),desiredCount:Zu.optional(),ec2Config:Pv.optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),docker:Ot.partial().optional(),nameProvidedByFlag:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),kv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),rL=kv.extend({type:s.literal("ecs"),cluster:I$.optional(),services:s.array($$).min(1,d.SERVICE.MIN_REQUIRED),docker:Ot.partial().optional()}).strict().refine(e=>{let t=e.services.filter(n=>n.containers?.some(i=>i.port));return t.length>1?t.every(n=>(Array.isArray(n.routing)?n.routing:n.routing?[n.routing]:[]).some(i=>i.path||i.host)):!0},{message:d.SERVICE.ROUTING_REQUIRED}).refine(e=>{let t=e.services.map(n=>n.name);return new Set(t).size===t.length},{message:d.SERVICE.UNIQUE_WITHIN_CLUSTER}),nL=kv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:E$.optional(),environment:Ai.optional(),secrets:Ai.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(ra).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(x$).optional()}).strict(),iL=kv.extend({type:s.literal("ec2"),instanceType:wv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),oH=s.discriminatedUnion("type",[rL,nL,iL]),b$=s.object({path:s.string().min(1,d.REQUIRED.ROUTING_PATH),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional()}).strict(),R$=s.object({name:s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),serviceType:s.enum(["web","worker"]).optional(),docker:Ot.partial().optional(),containerPort:an.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([b$,s.array(b$).min(1)]).optional()}).strict().superRefine((e,t)=>{e.serviceType==="worker"&&(e.containerPort!==void 0&&t.addIssue({code:"custom",path:["containerPort"],message:"Worker services are not reachable inbound; remove containerPort."}),e.routing!==void 0&&t.addIssue({code:"custom",path:["routing"],message:"Worker services have no ALB route; remove routing."}))}),aH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var Ov=s.object({memorySize:Ti.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional()}).strict(),C$=s.object({type:s.enum(bv).optional(),databaseName:s.string().optional(),databaseEngine:s.enum(_i).optional(),deletionProtection:s.boolean().optional(),backupRetention:Jt.optional(),port:wu.optional(),publiclyAccessible:s.boolean().optional(),allowedIpCidr:s.string().optional(),instanceType:s.string().optional(),allocatedStorage:s.number().int(d.ALLOCATED_STORAGE.INTEGER).min(20,d.ALLOCATED_STORAGE.MIN).max(65536,d.ALLOCATED_STORAGE.MAX).optional(),multiAz:s.boolean().optional(),readReplica:Du.optional(),writer:sa.optional(),readers:ca.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:aa.optional(),preferredMaintenanceWindow:s.string().optional(),databaseInsights:Mu.optional(),proxy:Ou.optional(),credentials:ku.optional(),encryption:ju.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict(),P$=s.object({server:Ov.optional(),imageOptimisation:Ov.optional(),revalidation:Ov.optional()}).strict(),Dv=s.object({versioned:s.boolean().optional()}).strict(),N$=s.object({assets:Dv.optional(),cache:Dv.optional(),media:Dv.optional()}).strict(),oL=s.object({visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),messageRetentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),maxMessageSize:s.number().int(d.MAX_MESSAGE_SIZE.INTEGER).min(1024,d.MAX_MESSAGE_SIZE.MIN).max(262144,d.MAX_MESSAGE_SIZE.MAX).optional(),deadLetterQueue:s.union([s.literal(!1),s.object({enabled:s.boolean().optional(),maxReceiveCount:s.number().int(d.DLQ.MAX_RECEIVE_COUNT.INTEGER).min(1,d.DLQ.MAX_RECEIVE_COUNT.MIN).max(1e3,d.DLQ.MAX_RECEIVE_COUNT.MAX).optional()}).strict()]).optional()}).strict(),w$=s.object({revalidationQueue:oL.optional()}).strict(),k$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),O$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),aL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:C$.optional(),compute:P$.optional(),storage:N$.optional(),messaging:w$.optional(),cdn:k$.optional(),environment:O$}).strict(),sL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:C$.optional(),compute:P$.optional(),storage:N$.optional(),messaging:w$.optional(),cdn:k$.optional(),environment:O$}).strict(),Mv=s.enum(Fo),cL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),uL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),lL=s.object({to:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL),from:s.string().regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),maxConcurrency:s.number().int().min(1).max(100).optional()}).strict(),dL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),jv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:cL,routing:Mv.optional(),security:uL.optional(),domain:s.string().optional(),forms:lL.optional(),cdn:dL.optional()}).strict().superRefine((e,t)=>{if(e.forms===void 0)return;let n=e.domain;if(n===void 0||n===""){t.addIssue({code:"custom",path:["domain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"});return}let i=e.forms.from;i!==void 0&&!Xc(i,n)&&t.addIssue({code:"custom",path:["forms","from"],message:`forms.from must be an address at ${n} (the verified SES identity) \u2014 for example noreply@${n}. Use forms.to for the recipient.`})}),la=s.discriminatedUnion("type",[aL,sL,jv]),D$=s.enum(["lightweight","standard","resilient","custom"]),M$=s.object({type:s.enum(bv),instanceType:s.string().optional(),backupRetention:Jt.optional(),deletionProtection:s.boolean().optional(),encryption:s.union([s.object({useCMK:s.literal(!0)}).strict(),s.literal(!1)]).optional()}).strict(),j$=s.object({memorySize:Ti.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional()}).strict();var z$=s.object({appName:ve,type:_v,pattern:Ev.optional(),patternConfig:la.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Lu.optional(),backup:GI.optional(),tunnel:WI.optional(),additionalNetworks:s.array(u$).optional(),database:s.array(XI),s3:s.array(d$),compute:s.array(T$),dynamodb:s.array(n$).optional(),clickhouse:s.array(i$).optional(),sqs:s.array(m$).optional(),cdn:f$.optional(),customCodeBlocks:s.array(ZI).optional(),additionalManagedImports:s.array(s.object({moduleSpecifier:s.string(),namedImports:s.array(s.string()),defaultImport:s.string().optional()}).strict()).optional()}).strict(),$H=s.object({name:ve,type:_v,pattern:Ev.optional(),patternTier:D$.optional(),patternDomain:s.string().optional(),source:s.string().min(1,d.REQUIRED.SOURCE).optional(),buildCommand:s.string().min(1,d.REQUIRED.BUILD_COMMAND).optional(),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR).optional(),routing:Mv.optional(),formsTo:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),customDatabase:M$.optional(),customCompute:j$.optional(),region:s.string().optional(),owner:s.string().optional(),includeDatabase:s.boolean().optional(),databaseName:s.string().min(1,d.DATABASE.NAME.REQUIRED).max(63,d.DATABASE.NAME.MAX_LENGTH).optional(),vpcId:s.string().optional(),network:l$.optional(),services:s.array(R$).optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict().superRefine((e,t)=>{e.formsTo!==void 0&&(e.patternDomain!==void 0&&e.patternDomain!==""||t.addIssue({code:"custom",path:["patternDomain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"}))}),TH=s.object({name:V,localResource:s.string().min(1),remoteApp:s.string().min(1),remoteResource:s.string().min(1),permission:s.enum(["read","write","read-write"]),remoteArn:s.string().optional()}).strict();var mL=["fjall-managed","external","external-manual"],wH=s.enum(mL);var L$=s.object({givenName:s.string().min(1),familyName:s.string().min(1),displayName:s.string().min(1).optional(),expires:s.string().min(1).optional()}).strict(),U$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),pL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:U$}).strict()]),fL=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(U$).optional(),permissionsBoundary:pL.optional(),sessionDuration:s.string().min(1).optional(),description:s.string().optional(),accounts:s.union([s.array(s.string().min(1)),s.literal("all")]).optional(),includeManagementAccount:s.boolean().optional(),groups:s.array(s.string().min(1)).optional()}).strict(),gL=s.object({description:s.string().optional()}).strict(),Gu=s.string().regex(L.EMAIL,d.EMAIL),zv={groups:s.record(s.string(),gL).optional(),permissionSets:s.record(s.string(),fL).optional(),memberships:s.record(s.string(),s.array(Gu)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},hL=s.discriminatedUnion("source",[s.object({...zv,source:s.literal("fjall-managed"),users:s.record(Gu,L$)}).strict(),s.object({...zv,source:s.literal("external")}).strict(),s.object({...zv,source:s.literal("external-manual"),users:s.record(Gu,L$).optional()}).strict()]),kH=s.object({name:V,type:s.literal("organisation").optional(),organisationName:s.string().min(1).optional(),orgEmail:Gu.optional(),accounts:s.unknown().optional(),accountIds:s.record(s.string(),s.string()).optional(),identityCentre:s.union([hL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var vL=Object.defineProperty,bL=(e,t)=>vL(e,"name",{value:t,configurable:!0}),yL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],SL=s.object({buildkiteQueue:s.string().min(1,"buildkiteQueue cannot be empty").max(100).regex(/^[a-zA-Z0-9-_]+$/,"buildkiteQueue must be alphanumeric with hyphens/underscores"),buildkiteOrgSlug:s.string().min(1,"buildkiteOrgSlug cannot be empty").max(100).regex(/^[a-z0-9-]+$/,"buildkiteOrgSlug must be a lowercase Buildkite organisation slug"),agentTokenSsmParameterName:s.string().min(2).regex(/^\//,"agentTokenSsmParameterName must be a full path (leading /)").optional(),agentTokenKmsKeyArn:s.string().min(1).optional(),fjallApiKeySsmParameterName:s.string().min(2).regex(/^\//,"fjallApiKeySsmParameterName must be a full path (leading /)").optional(),instanceType:s.string().min(1).default("c8g.xlarge"),agentVolumeSizeGib:s.number().int().min(20).max(1e3).default(250),agentMinInstances:s.number().int().min(0).default(0),agentMaxInstances:s.number().int().min(1).default(2),agentsPerInstance:s.number().int().min(1).default(1),spotCapacityPercentage:s.number().int().min(0).max(100).default(0),scaleInIdlePeriodSeconds:s.number().int().min(60).default(600),disconnectAfterUptimeSeconds:s.number().int().min(3600).default(86400),maxInstanceLifetimeDays:s.number().int().min(1).max(365).default(7),terminateInstanceAfterJob:s.boolean().default(!1),purgeBuildsOnDiskFull:s.boolean().default(!0),terminateInstanceOnDiskFull:s.boolean().default(!1),logRetentionDays:s.number().int().min(1).default(30),agentLogRetentionDays:s.literal(yL).default(7),buildkiteAgentRelease:s.enum(["stable","beta","edge"]).default("stable"),buildkiteAgentTags:s.string().default(""),buildkiteAgentTimestampLines:s.boolean().default(!1),buildkiteAgentExperiments:s.string().default(""),buildkiteAgentTracingBackend:s.enum(["","datadog","opentelemetry"]).default(""),buildkiteAgentCancelGracePeriodSeconds:s.number().int().min(10).default(60),enableSecretsPlugin:s.boolean().default(!0),enableEcrPlugin:s.boolean().default(!1),enableDockerLoginPlugin:s.boolean().default(!1),enableDockerUserNamespaceRemap:s.boolean().default(!0),enableDockerExperimental:s.boolean().default(!1),dockerNetworkingProtocol:s.enum(["ipv4","dualstack"]).default("ipv4"),enableInstanceStorage:s.boolean().default(!1),mountTmpfsAtTmp:s.boolean().default(!0),buildkiteAgentEnableGitMirrors:s.boolean().default(!1),bootstrapScriptUrl:s.string().default(""),agentEnvFileUrl:s.string().default(""),scalerEventSchedulePeriod:s.string().min(1).default("1 minute"),scalerMinPollInterval:s.string().min(1).default("10s"),scaleOutFactor:s.string().min(1).default("1.0"),scaleOutWaitingForJobs:s.boolean().default(!1),rolePermissionsBoundaryArn:s.string().min(1).optional(),alarmSnsTopicArn:s.string().min(1).optional(),applicationId:s.string().min(1).optional(),costAllocationEnvironment:s.string().min(1).optional(),costAllocationOwner:s.string().min(1).optional()}).strict(),_L=SL.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function EL(e){let t=_L.safeParse(e);if(!t.success){let n=t.error.issues.map(i=>` - ${i.path.join(".")||"(root)"}: ${i.message}`).join(`
187
+ `)}catch{}}Pj(Oj,"writeDebugSync");var Dj=Object.defineProperty,bi=(e,t)=>Dj(e,"name",{value:t,configurable:!0});function ov(e){return e.success===!0}bi(ov,"isSuccess");function av(e){return e.success===!1}bi(av,"isFailure");function P(e){return{success:!0,data:e}}bi(P,"success");function $(e){return{success:!1,error:e}}bi($,"failure");async function sv(e){try{let t=await e();return P(t)}catch(t){return $(ht(t))}}bi(sv,"tryAsync");function cv(e){try{let t=e();return P(t)}catch(t){return $(ht(t))}}bi(cv,"trySync");var Mj=Object.defineProperty,jj=(e,t)=>Mj(e,"name",{value:t,configurable:!0}),xI=/^[a-zA-Z][a-zA-Z0-9-]*$/,zj=Lo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:xI,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:xI,BUCKET_NAME:/^[a-z][a-z0-9-]*[a-z0-9]$|^[a-z][a-z0-9]*$/,DATABASE_NAME:/^[a-zA-Z][a-zA-Z0-9_]*$/,RESOURCE_TYPE:/^[a-z]+(:[a-z]+)?$/,SSM_PATH:new RegExp(`^(?:/${zj})+$`),SECRET_NAME:qc,SSM_COMPONENT:Lo,EMAIL:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,DOCKER_IMAGE:/^[a-z0-9][a-z0-9._-]*[a-z0-9](:[a-z0-9._-]+)?$/,DOMAIN:/^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$/i,HTTP_ORIGIN:/^https?:\/\/[a-z0-9.-]+(:\d+)?$/i,PASCAL_CASE:/^[A-Z][A-Za-z0-9]*$/,AWS_ACCOUNT_ID:/^\d{12}$/,VPC_ID:/^vpc-[a-z0-9]+$/,ROLE_ARN:/^arn:aws[a-zA-Z-]*:iam::\d{12}:role\/.+$/,CIDR:/^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\/(3[0-2]|[12]?\d)$/,SCHEDULE_EXPRESSION:/^(rate\(1 (?:minute|hour|day)\)|rate\((?:[2-9]|[1-9]\d+) (?:minutes|hours|days)\)|cron\([^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+ [^\s()]+\))$/,LAMBDA_RUNTIME_IDENTIFIER:/^[A-Za-z0-9._-]+$/,ENV_VAR_NAME:/^[A-Za-z_][A-Za-z0-9_]*$/});function uv(e){let t=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(e);if(!t)return;let n=t[1],i=t[2];if(n===void 0||i===void 0)return;let r=parseInt(n,10);if(!Number.isFinite(r)||r<1)return;let o=i==="minute"||i==="hour"||i==="day";if(!(o&&r!==1)&&!(!o&&r===1))return i==="minute"||i==="minutes"?{everyMs:r*6e4}:i==="hour"||i==="hours"?{everyMs:r*60*6e4}:{everyMs:r*24*60*6e4}}jj(uv,"parseRateExpression");var d=Object.freeze({IDENTIFIER:"Must start with a letter, contain only letters, numbers, and hyphens",NEW_APP_NAME:"Must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",IDENTIFIER_MIN_LENGTH:"Must be at least 2 characters",IDENTIFIER_NO_TRAILING_HYPHEN:"Must not end with a hyphen",IDENTIFIER_NO_CONSECUTIVE_HYPHENS:"Must not contain consecutive hyphens",RESOURCE_NAME:"Must start with a letter and contain only letters and numbers (PascalCase recommended)",ECS_SERVICE_NAME:"Service name must start with a letter and contain only letters, numbers, and hyphens",BUCKET_NAME:"Bucket name must start with a lowercase letter and contain only lowercase letters, numbers, and hyphens",DATABASE_NAME:"Database name must start with a letter and contain only letters, numbers, and underscores",RESOURCE_TYPE:"Resource type must be in format 'category' or 'category:type'",SSM_PATH:"SSM path must start with / and contain valid namespace segments (e.g., /myapp/ApiCluster/service)",SECRET_NAME:uh,SSM_COMPONENT:Kc,EMAIL:"Please enter a valid email address",DOMAIN:"Please enter a valid domain (e.g., cms.example.com)",DOCKER_IMAGE:"Invalid Docker image name format",REQUIRED:{APP_NAME:"Application name is required",RESOURCE_NAME:"Resource name is required",BUCKET_NAME:"Bucket name is required",SERVICE_NAME:"Service name is required",NETWORK_NAME:"Network name is required",DATABASE_NAME:"Database name is required",ORGANISATION_NAME:"Organisation name is required",EMAIL:"Email is required",NAME:"Name is required",USERNAME:"Username is required",CONTAINER_NAME:"Container name is required",GROUP:"Group is required",PATTERN_NAME:"Pattern name is required",SOURCE:"Source directory is required",BUILD_COMMAND:"Build command is required",OUTPUT_DIR:"Output directory is required",FORMS_TO:"Forms recipient address is required",ROUTING_PATH:"Routing path is required",RESOURCE_REFERENCE:"Resource reference is required",RESOURCE_TYPE:"Resource type is required",VARIANT:"Variant is required",SUBTYPE:"Subtype is required",DEPLOY_TARGET:"Deploy target is required",DESTROY_TARGET:"Destroy target is required"},MAX_LENGTH:{APP_NAME:"Application name must be 50 characters or less",RESOURCE_NAME:"Resource name must be 63 characters or less",BUCKET_NAME:"Bucket name must be 63 characters or less",SERVICE_NAME:"Service name must be 255 characters or less",NETWORK_NAME:"Network name must be 50 characters or less",DATABASE_NAME:"Database name must be 63 characters or less",ORGANISATION_NAME:"Organisation name must be 50 characters or less"},PORT:{INTEGER:"Port must be an integer",MIN:"Port must be at least 1",MAX:"Port cannot exceed 65535"},USERNAME:{MAX_LENGTH:"Username cannot exceed 63 characters"},LAMBDA:{MEMORY:{INTEGER:"Lambda memory must be an integer",MIN:"Memory must be at least 128 MB",MAX:"Memory cannot exceed 10240 MB",MULTIPLE:"Memory must be 128 MB or a multiple of 64 MB"},TIMEOUT:{INTEGER:"Timeout must be an integer",MIN:"Timeout must be at least 1 second",MAX:"Timeout cannot exceed 900 seconds"},RUNTIME:"Lambda runtime must contain only letters, digits, dots, underscores, or dashes (e.g. 'NODEJS_20_X' or 'nodejs20.x')"},ENV_VAR_NAME:"Environment variable names must start with a letter or underscore and contain only letters, digits, and underscores",PRIORITY:{INTEGER:"Priority must be an integer",MIN:"Priority must be at least 1",MAX:"Priority cannot exceed 50000"},CAPACITY:{MIN:{INTEGER:"Minimum capacity must be an integer",MIN_0:"Minimum capacity must be at least 0",MIN_1:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 100"},MAX:{INTEGER:"Maximum capacity must be an integer",MIN_0:"Maximum capacity must be at least 0",MIN_1:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 100"},DESIRED:{INTEGER:"Desired count must be an integer",MIN:"Desired count must be at least 0",MAX:"Desired count cannot exceed 100"},WARM_POOL_REQUIRED:"minCapacity 0 requires a warmPool \u2014 without it, new tasks wait 60-90s for a cold instance launch",WARM_POOL:{MIN_SIZE:{INTEGER:"Warm pool minSize must be an integer",MIN:"Warm pool minSize must be at least 0",MAX:"Warm pool minSize cannot exceed 100"},MIN_SIZE_EXCEEDS_MAX_CAPACITY:"warmPool.minSize cannot exceed maxCapacity \u2014 the warm pool cannot hold more instances than the ASG allows"}},MEMORY_LIMIT:{INTEGER:"Memory limit must be an integer",MIN_512:"Memory limit must be at least 512 MiB",MIN_128:"Memory limit must be at least 128 MiB",MAX:"Memory limit cannot exceed 30720 MiB"},DATABASE:{PORT:{INTEGER:"Database port must be an integer",MIN:"Database port must be at least 1024",MAX:"Database port cannot exceed 65535"},NAME:{REQUIRED:"Database name is required",MAX_LENGTH:"Database name must be 63 characters or less"}},BACKUP_RETENTION:{INTEGER:"Backup retention must be an integer",MIN:"Backup retention must be at least 1 day",MAX:"Backup retention cannot exceed 35 days"},SQS:{VISIBILITY_TIMEOUT:{INTEGER:"Visibility timeout must be an integer",MIN:"Visibility timeout must be at least 0 seconds",MAX:"Visibility timeout cannot exceed 43200 seconds (12 hours)"},RETENTION_PERIOD:{INTEGER:"Retention period must be an integer",MIN:"Retention period must be at least 60 seconds",MAX:"Retention period cannot exceed 1209600 seconds (14 days)"}},READER:{COUNT:{INTEGER:"Reader count must be an integer",MIN:"Reader count must be at least 0",MAX:"Reader count cannot exceed 15"}},IDENTIFIER_SUFFIX:{REQUIRED:"Identifier suffix is required when specified",MAX_LENGTH:"Identifier suffix cannot exceed 50 characters"},ROTATION:{INTEGER:"Rotation days must be an integer",MIN:"Rotation interval must be at least 1 day",MAX:"Rotation interval cannot exceed 365 days"},MAX_CONNECTIONS:{INTEGER:"Max connections must be an integer",MIN:"Max connections must be at least 1",MAX:"Max connections cannot exceed 100"},MONITORING_INTERVAL:{INTEGER:"Monitoring interval must be an integer",MIN:"Monitoring interval must be at least 0",MAX:"Monitoring interval cannot exceed 60 seconds",VALUES:"Monitoring interval must be 0, 1, 5, 10, 15, 30, or 60 seconds"},RETENTION_DAYS:{INTEGER:"Retention days must be an integer",MIN:"Retention days must be at least 1",MAX:"Retention days cannot exceed 365"},BATCH_SIZE:{INTEGER:"Batch size must be an integer",MIN:"Batch size must be at least 1",MAX:"Batch size cannot exceed 10000"},SERVICE:{UNIQUE_WITHIN_CLUSTER:"Service names must be unique within a cluster",MIN_REQUIRED:"At least one service is required",ROUTING_REQUIRED:"Multiple services with ports require routing config (path or host)"},PROXY_CONFIG:{MAX_IDLE_CONNECTIONS:{INTEGER:"Max idle connections must be an integer",MIN:"Max idle connections must be at least 0",MAX:"Max idle connections cannot exceed 100"},BORROW_TIMEOUT:{INTEGER:"Connection borrow timeout must be an integer",MIN:"Connection borrow timeout must be at least 1 second",MAX:"Connection borrow timeout cannot exceed 3600 seconds"}},MAX_AZS:{INTEGER:"Max AZs must be an integer",MIN:"Max AZs must be at least 1",MAX:"Max AZs cannot exceed 3"},BATCHING_WINDOW:{INTEGER:"Max batching window must be an integer",MIN:"Max batching window must be at least 0",MAX:"Max batching window cannot exceed 300 seconds"},HEALTH_CHECK:{INTERVAL:{INTEGER:"Health check interval must be an integer",MIN:"Health check interval must be at least 5 seconds",MAX:"Health check interval cannot exceed 300 seconds"},TIMEOUT:{INTEGER:"Health check timeout must be an integer",MIN:"Health check timeout must be at least 2 seconds",MAX:"Health check timeout cannot exceed 60 seconds"},RETRIES:{INTEGER:"Health check retries must be an integer",MIN:"Health check retries must be at least 1",MAX:"Health check retries cannot exceed 10"},START_PERIOD:{INTEGER:"Health check start period must be an integer",MIN:"Health check start period must be at least 0 seconds",MAX:"Health check start period cannot exceed 300 seconds"}},EPHEMERAL_STORAGE:{INTEGER:"Ephemeral storage size must be an integer",MIN:"Ephemeral storage size must be at least 512 MB",MAX:"Ephemeral storage size cannot exceed 10240 MB"},MAX_MESSAGE_SIZE:{INTEGER:"Max message size must be an integer",MIN:"Max message size must be at least 1024 bytes",MAX:"Max message size cannot exceed 262144 bytes (256 KB)"},CAPACITY_CONSTRAINT:{MIN_LTE_MAX:"minCapacity must be less than or equal to maxCapacity"},DIRECT_ACCESS:{NO_DOMAIN:"directAccess cannot be used with domain (no ALB for HTTPS)",NO_LOAD_BALANCER:"directAccess cannot be used with loadBalancer (mutually exclusive)"},GLOBAL_AURORA:{PRIMARY_REGION_REQUIRED:"primaryRegion is required for GlobalAurora databases"},NAT_GATEWAY:{INTEGER:"NAT gateway count must be an integer",MIN:"NAT gateway count must be at least 0",MAX:"NAT gateway count cannot exceed 3"},CIDR_MASK:{INTEGER:"CIDR mask must be an integer",MIN:"CIDR mask must be at least 16",MAX:"CIDR mask cannot exceed 28"},CPU:{INTEGER:"CPU must be an integer",MIN:"CPU must be at least 256 units",MAX:"CPU cannot exceed 4096 units"},KMS:{KEY_REQUIRED:"KMS key ARN is required when using KMS encryption"},READER_INSTANCES:{MAX:"Cannot have more than 15 reader instances",COUNT_OR_INSTANCES:"Cannot specify both 'count' and 'instances' - use one or the other"},GENERATOR_CAPACITY:{MIN:{MIN:"Minimum capacity must be at least 1",MAX:"Minimum capacity cannot exceed 1000"},MAX:{MIN:"Maximum capacity must be at least 1",MAX:"Maximum capacity cannot exceed 1000"}},INSTANCE_TYPE:"Unknown instance type. Common types include: t4g.micro, t4g.small, m5.large",ARCHITECTURE_MISMATCH:"Architecture mismatch between instance type and AMI",ALLOCATED_STORAGE:{INTEGER:"Allocated storage must be an integer",MIN:"Allocated storage must be at least 20 GB",MAX:"Allocated storage cannot exceed 65536 GB"},DLQ:{MAX_RECEIVE_COUNT:{INTEGER:"Max receive count must be an integer",MIN:"Max receive count must be at least 1",MAX:"Max receive count cannot exceed 1000"}},ALARM:{PERCENTAGE:{MIN:"Threshold must be at least 1%",MAX:"Threshold must be at most 100%"},FREE_STORAGE_GIB:{MIN:"Free storage threshold must be at least 1 GiB"}},REGION:"Invalid AWS region",PASCAL_CASE:"Resource name must start with an uppercase letter and contain only alphanumerics (PascalCase).",IMAGE_DOCKER_MUTEX:"image and docker are mutually exclusive",AWS_ACCOUNT_ID:"AWS account id must be exactly 12 digits (no hyphens)",VPC_ID:"VPC id must look like vpc-abc12345",ROLE_ARN:"Role ARN must have the form arn:aws:iam::<account-id>:role/<name>",CIDR:"CIDR must be in dotted-quad/prefix-length form (e.g. 10.0.0.0/16)",VPC_PEER:{MIN_REQUESTER_ACCOUNTS:"At least one requester account id is required",REGION_REQUIRED:"Peer region is required when specified",ROUTE_TABLE_ID_REQUIRED:"Route table id must not be empty"},SCHEDULE_EXPRESSION:"Schedule expression must be 'rate(N minute|minutes|hour|hours|day|days)' with N>=1, or 'cron(<6-field AWS expression>)'"});var Lj=Object.defineProperty,st=(e,t)=>Lj(e,"name",{value:t,configurable:!0}),Uj=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],Fj=Object.freeze(Uj.flatMap(e=>{let t=Cn(e);return t?[t]:[]})),lv=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);function bu(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}st(bu,"parseRegionList");function dv(e){return qt.includes(e)}st(dv,"isValidRegion");function mv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(mv,"isValidRegionFormat");function pv(e){if(!e)return lv.slice(0,3);let t=e.toLowerCase().split("-"),n=t[0],i=t.length>1?t[1]:"",r=[];return n&&i&&(r=qt.filter(o=>o.startsWith(`${n}-${i}`))),r.length===0&&n&&(r=qt.filter(o=>o.startsWith(`${n}-`))),r.length>0?r.slice(0,3):lv.slice(0,3)}st(pv,"getSuggestions");function fv(e){if(dv(e))return!0;let t=pv(e);return mv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(fv,"validateRegion");function AI(e){if(!e||e.trim()==="")return!0;let t=bu(e);for(let n of t){let i=fv(n);if(i!==!0)return i}return!0}st(AI,"validateRegionList");function gv(e,t){return e.filter(n=>n!==t)}st(gv,"filterDuplicateRegions");function hv(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(hv,"toRegionOption");function II(){return it.map(hv)}st(II,"getRegionOptions");function $I(e){return it.filter(t=>t.code!==e).map(hv)}st($I,"getRegionOptionsExcluding");function TI(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(TI,"getRegionName");function RI(e){return t=>{let n=bu(t);return gv(n,e)}}st(RI,"createRegionFormatter");var yu="4.2.0";var Su=["Aurora","Instance","GlobalAurora","ClickHouse"],yi=["FARGATE","FARGATE_SPOT","EC2"],St=["standard","resilient","enterprise"],_u=["tinkerer","lightweight","standard","resilient","enterprise"],vv="custom",Qo=[..._u,vv];var Bj=Object.defineProperty,Vj=(e,t)=>Bj(e,"name",{value:t,configurable:!0}),K8=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),ea=["ecs","lambda","ec2"],Si=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),Eu=["code","container"],ta=Object.freeze({CODE:"code",CONTAINER:"container"}),xu=["ARM_64","X86_64"],CI="ARM_64",ra=["NONE","AWS_IAM"],Au=["public","internal"],Iu=["CPU","MEMORY"],$u=["ARM","STANDARD"],bv=["Instance","Aurora"],_i=["postgresql","mysql"],PI=["foundation","compliance","hardened"];var Tu=["t3.nano","t3.micro","t3.small","t3.medium","t3.large","t3.xlarge","t3.2xlarge","t3a.nano","t3a.micro","t3a.small","t3a.medium","t3a.large","t3a.xlarge","t3a.2xlarge","t4g.nano","t4g.micro","t4g.small","t4g.medium","t4g.large","t4g.xlarge","t4g.2xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.12xlarge","c5.18xlarge","c5.24xlarge","c5a.large","c5a.xlarge","c5a.2xlarge","c5a.4xlarge","c5a.8xlarge","c5a.12xlarge","c5a.16xlarge","c5a.24xlarge","c6g.medium","c6g.large","c6g.xlarge","c6g.2xlarge","c6g.4xlarge","c6g.8xlarge","c6g.12xlarge","c6g.16xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.8xlarge","r5.12xlarge","r5.16xlarge","r5.24xlarge","r5a.large","r5a.xlarge","r5a.2xlarge","r5a.4xlarge","r5a.8xlarge","r5a.12xlarge","r5a.16xlarge","r5a.24xlarge","r6g.medium","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","r6g.16xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","p3.2xlarge","p3.8xlarge","p3.16xlarge","g4dn.xlarge","g4dn.2xlarge","g4dn.4xlarge","g4dn.8xlarge","g4dn.12xlarge","g4dn.16xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.8xlarge","m5.12xlarge","m5.16xlarge","m5.24xlarge","m5a.large","m5a.xlarge","m5a.2xlarge","m5a.4xlarge","m5a.8xlarge","m5a.12xlarge","m5a.16xlarge","m5a.24xlarge"],NI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}Vj(ct,"constIncludes");var wI=1,kI=65535,e5=Object.freeze({postgresql:5432,mysql:3306}),OI=128,DI=10240,Ru=1,Cu=900,yv=1,Sv=1e3,Ei=100,MI=100;var jI=3e3;var zI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],LI=["standard","assets","upload","website"],xi=["AES256","KMS"];var Zj=Object.defineProperty,na=(e,t)=>Zj(e,"name",{value:t,configurable:!0}),He=na(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),on={check:na(e=>e.minCapacity!==void 0&&e.maxCapacity!==void 0?e.minCapacity<=e.maxCapacity:!0,"check"),params:{message:d.CAPACITY_CONSTRAINT.MIN_LTE_MAX,path:["maxCapacity"]}},ia=na(e=>s.number().int(d.MEMORY_LIMIT.INTEGER).min(e,e===128?d.MEMORY_LIMIT.MIN_128:d.MEMORY_LIMIT.MIN_512).max(30720,d.MEMORY_LIMIT.MAX),"memoryLimitMiBSchema"),V=s.string().min(1,d.REQUIRED.RESOURCE_NAME).max(63,d.MAX_LENGTH.RESOURCE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),FI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),BI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Pu(e,t=L.IDENTIFIER,n=d.IDENTIFIER){return s.string().min(2,d.IDENTIFIER_MIN_LENGTH).max(50,e).regex(t,n).refine(i=>!i.endsWith("-"),{message:d.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(i=>!i.includes("--"),{message:d.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}na(Pu,"identifierSchema");var ve=Pu(d.MAX_LENGTH.APP_NAME),s5=Pu(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),an=s.number().int(d.PORT.INTEGER).min(wI,d.PORT.MIN).max(kI,d.PORT.MAX),Re=s.object({key:s.string(),sourceText:s.string()}).strict(),Gj=s.object({__identifier:s.string()}).strict(),Wj=s.object({__expression:s.string()}).strict(),Hj=s.object({__call:s.string()}).strict(),qj=s.union([Gj,Wj,Hj]),Kj=s.union([s.string(),s.number(),s.boolean(),qj]),Ai=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),Kj),Yj=s.object({id:s.string(),name:s.string().optional(),arn:s.string().optional(),field:s.string().optional()}).strict().refine(e=>e.name!==void 0!=(e.arn!==void 0),{message:"secretsImport requires exactly one of `name` or `arn`."}),VI=s.record(s.string(),Yj),c5=s.record(s.string(),s.unknown()),_v=s.enum(Qo).describe(`Application type must be one of: ${Qo.join(", ")}`),Ev=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),Xj=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Jj=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),ZI=s.object({sourceText:s.string(),position:Xj,afterManagedResource:s.object({type:Jj,name:s.string().optional()}).strict().optional(),originalLine:s.number().int().optional(),leadingComments:s.array(s.string()).optional(),orphaned:s.boolean().optional(),orphanedComment:s.string().optional()}).strict(),GI=s.union([s.object({tier:s.enum(St)}).strict(),s.literal(!1)]),WI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),Qj=Pu(d.MAX_LENGTH.ORGANISATION_NAME),ez=s.string().regex(L.EMAIL,d.EMAIL),UI=s.string().refine(e=>qt.includes(e),{message:d.REGION}),u5=s.object({name:Qj,email:ez,accountName:s.string().optional(),primaryRegion:UI.optional().default(Rn),secondaryRegions:s.array(UI).optional(),security:s.enum(PI).optional(),force:s.boolean().optional()}).strict();function oa(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
+ `)}na(oa,"getZodErrorMessage");var Ii=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),tz=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),HI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),memoryThreshold:Ii.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ii.optional()}).strict()]),qI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),freeStorageThresholdGiB:tz.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),KI=s.union([s.literal(!1),s.object({errorRateThreshold:Ii.optional(),durationThresholdPercent:Ii.optional()}).strict()]);var Jt=s.number().int(d.BACKUP_RETENTION.INTEGER).min(1,d.BACKUP_RETENTION.MIN).max(35,d.BACKUP_RETENTION.MAX),aa=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(NI,e),{message:d.MONITORING_INTERVAL.VALUES}),wu=s.number().int(d.DATABASE.PORT.INTEGER).min(1024,d.DATABASE.PORT.MIN).max(65535,d.DATABASE.PORT.MAX),rz=s.enum(Su).describe(`Database type must be one of: ${Su.join(", ")}`),nz=s.object({maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional()}).strict().describe("RDS Proxy configuration"),iz=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),oz=s.object({automaticallyAfterDays:s.number().int(d.ROTATION.INTEGER).min(1,d.ROTATION.MIN).max(365,d.ROTATION.MAX).optional()}).strict().describe("Secret rotation configuration"),ku=s.object({username:s.string().min(1,d.REQUIRED.USERNAME).max(63,d.USERNAME.MAX_LENGTH).optional(),secretRotation:oz.optional()}).strict().describe("Database credentials configuration"),Ou=He(nz),Du=He(iz),az=s.object({scaleWithWriter:s.boolean().optional(),enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for a single Aurora reader instance"),sa=s.object({enableDatabaseInsights:s.boolean().optional(),identifierSuffix:s.string().min(1,d.IDENTIFIER_SUFFIX.REQUIRED).max(50,d.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:s.string().optional()}).strict().describe("Configuration for Aurora writer instance"),sz=s.object({count:s.number().int(d.READER.COUNT.INTEGER).min(0,d.READER.COUNT.MIN).max(15,d.READER.COUNT.MAX).optional(),instances:s.array(az).max(15,d.READER_INSTANCES.MAX).optional(),defaultEnableDatabaseInsights:s.boolean().optional()}).strict().refine(e=>!(e.count!==void 0&&e.instances!==void 0),{message:d.READER_INSTANCES.COUNT_OR_INSTANCES,path:["count"]}).describe("Aurora readers configuration"),ca=He(sz),cz=s.object({awsManaged:s.literal(!0)}).strict(),uz=s.object({useCMK:s.literal(!0)}).strict(),YI=s.union([cz,uz]),lz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:YI.optional()}).strict().describe("Database Insights configuration"),Mu=He(lz),ju=s.object({storageKey:YI.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),XI=s.object({name:V,type:rz,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),instanceType:s.string().optional(),allocatedStorage:s.number().optional(),multiAz:s.boolean().optional(),publiclyAccessible:s.boolean().optional(),databaseInsights:Mu.optional(),port:wu.optional(),deletionProtection:s.boolean().optional(),proxy:Ou.optional(),credentials:ku.optional(),readReplica:Du.optional(),encryption:ju.optional(),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),primaryRegion:s.string().optional(),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional(),databaseEngine:s.enum(_i).optional(),engineExpression:s.string().optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional(),alarms:qI.optional()}).strict(),zu=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional(),databaseInsights:Mu.optional(),port:wu.optional(),proxy:Ou.optional(),credentials:ku.optional(),encryption:ju.optional(),deletionProtection:s.boolean().optional()}).strict(),JI={databaseType:s.literal("Instance"),instanceType:s.string().optional(),multiAz:s.boolean().optional(),readReplica:Du.optional(),publiclyAccessible:s.boolean().optional(),backupRetention:Jt.optional(),allocatedStorage:s.number().optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},QI={databaseType:s.literal("Aurora"),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},e$={databaseType:s.literal("GlobalAurora"),primaryRegion:s.string().min(1,d.GLOBAL_AURORA.PRIMARY_REGION_REQUIRED),secondaryRegions:s.array(s.string()).optional(),globalClusterIdentifier:s.string().optional(),enableGlobalWriteForwarding:s.boolean().optional(),writer:sa.optional(),readers:ca.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:aa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},t$=s.object({appName:ve,nameProvidedByFlag:s.boolean().optional(),databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME),resourceName:V.optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict(),r$={databaseType:s.literal("ClickHouse"),instanceType:s.string().optional(),coldTier:s.union([s.object({mode:s.literal("s3")}).strict(),s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Jt.optional()},dz=zu.extend(JI).strict(),mz=zu.extend(QI).strict(),pz=zu.extend(e$).strict(),fz=t$.extend(r$).strict(),y5=s.discriminatedUnion("databaseType",[dz,mz,pz,fz]),xv=zu.extend({resourceName:V}).strict(),gz=xv.extend(JI).strict(),hz=xv.extend(QI).strict(),vz=xv.extend(e$).strict(),bz=t$.extend({resourceName:V}).strict(),yz=bz.extend(r$).strict(),S5=s.discriminatedUnion("databaseType",[gz,hz,vz,yz]),_5=s.object({appName:ve,databaseName:s.string().min(1,d.REQUIRED.DATABASE_NAME),maxConnections:s.number().int(d.MAX_CONNECTIONS.INTEGER).min(1,d.MAX_CONNECTIONS.MIN).max(100,d.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:s.number().int(d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,d.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:s.number().int(d.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,d.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,d.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:s.boolean().optional(),nameProvidedByFlag:s.boolean().optional()}).strict(),Sz=["S","N","B"],Nu=s.object({name:s.string(),type:s.enum(Sz)}).strict(),n$=s.object({name:V,partitionKey:Nu,sortKey:Nu.optional(),globalSecondaryIndexes:s.array(s.object({indexName:s.string(),partitionKey:Nu,sortKey:Nu.optional()}).strict()).optional(),ttlAttribute:s.string().optional(),stream:s.boolean().optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict(),_z=s.object({mode:s.literal("s3")}).strict(),i$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:BI,instanceType:s.string().optional(),coldTier:s.union([_z,s.literal(!1)]).optional(),optimiseSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupSchedule:s.union([s.string(),s.literal(!1)]).optional(),backupRetentionDays:Jt.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var Ez=s.object({count:s.number().int(d.NAT_GATEWAY.INTEGER).min(0,d.NAT_GATEWAY.MIN).max(3,d.NAT_GATEWAY.MAX).optional()}).strict().describe("NAT gateway configuration"),o$=He(Ez),Av=s.enum(["cloudwatch","s3"]),xz=s.object({destination:Av.optional(),retentionDays:s.number().int(d.RETENTION_DAYS.INTEGER).min(1,d.RETENTION_DAYS.MIN).max(365,d.RETENTION_DAYS.MAX).optional(),trafficType:s.enum(["ALL","ACCEPT","REJECT"]).optional()}).strict().describe("VPC flow log configuration"),a$=He(xz),Az=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Iz=He(Az),$z=s.object({ecr:s.boolean().optional(),secretsManager:s.boolean().optional(),kms:s.boolean().optional(),cloudwatchLogs:s.boolean().optional(),ssm:s.boolean().optional(),sts:s.boolean().optional()}).strict().describe("Interface VPC endpoints (cost per hour)"),Tz=He($z),Rz=s.object({gateway:Iz.optional(),interface:Tz.optional()}).strict().describe("VPC endpoints configuration"),s$=He(Rz),Lu=s.object({maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:o$.optional(),flowLogs:a$.optional(),vpcEndpoints:s$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),c$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),u$=Lu.extend({name:c$}).strict(),l$=He(Lu),$5=s.object({appName:ve,networkName:c$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:o$.optional(),flowLogs:a$.optional(),vpcEndpoints:s$.optional()}).strict(),Cz=L.CIDR,Iv=s.string().regex(Cz,d.CIDR),Pz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Iv),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Nz=s.object({kind:s.literal("ecsService"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),serviceName:s.string().min(1,d.REQUIRED.SERVICE_NAME),name:V,allowedFromCidrs:s.array(Iv),port:an.optional()}).strict(),wz=s.discriminatedUnion("kind",[Pz,Nz]),T5=s.object({name:V,peerAppName:s.string().min(1,d.REQUIRED.APP_NAME),peerAccountId:s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID),peerRegion:s.string().min(1,d.VPC_PEER.REGION_REQUIRED).optional(),peerVpcId:s.string().regex(L.VPC_ID,d.VPC_ID).optional(),peerVpcCidr:Iv.optional(),peerRoleArn:s.string().regex(L.ROLE_ARN,d.ROLE_ARN).optional(),peerRouteTableIds:s.array(s.string().min(1,d.VPC_PEER.ROUTE_TABLE_ID_REQUIRED)).optional(),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),enableDnsResolution:s.boolean().optional()}).strict(),R5=s.object({name:V,requesterAccountIds:s.array(s.string().regex(L.AWS_ACCOUNT_ID,d.AWS_ACCOUNT_ID)).min(1,d.VPC_PEER.MIN_REQUESTER_ACCOUNTS),localVpcName:s.string().min(1,d.REQUIRED.NETWORK_NAME).optional(),publishToSsm:s.boolean().optional(),exposedResources:s.array(wz).optional()}).strict();var Uu=["storage","cdn","compute"],kz=s.object({sid:s.string().optional(),effect:s.enum(["Allow","Deny"]),principals:s.array(s.string()),actions:s.array(s.string()),resources:s.array(s.string()).optional(),conditions:s.record(s.string(),s.record(s.string(),s.union([s.string(),s.array(s.string())]))).optional()}).strict(),d$=s.object({name:V,bucketName:s.string().optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(St).optional(),versioned:s.boolean().optional(),encryption:s.enum(xi).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),deployment:s.object({source:s.string(),prune:s.boolean().optional(),cacheControl:s.object({maxAge:s.number().optional(),immutable:s.boolean().optional()}).strict().optional()}).strict().optional(),retain:s.boolean().optional(),resourcePolicyStatements:s.array(kz).optional(),stackPlacement:s.enum(Uu).optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED}),O5=s.object({appName:ve,bucketName:FI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(LI).optional(),publicReadAccess:s.boolean().optional(),websiteHosting:s.object({indexDocument:s.string(),errorDocument:s.string().optional()}).strict().optional(),backupVaultTier:s.enum(St).optional(),versioned:s.boolean().optional(),encryption:s.enum(xi).optional(),kmsKeyArn:s.string().optional(),cors:s.array(s.object({allowedOrigins:s.array(s.string()),allowedMethods:s.array(s.string()),allowedHeaders:s.array(s.string()).optional(),exposedHeaders:s.array(s.string()).optional(),maxAge:s.number().optional()}).strict()).optional(),connectionConfig:s.object({connectToCompute:s.array(s.string()).optional(),connectToServices:s.array(s.string()).optional()}).strict().optional()}).strict().refine(e=>e.encryption!=="KMS"||!!e.kmsKeyArn,{message:d.KMS.KEY_REQUIRED,path:["kmsKeyArn"]});var $v=s.enum(["DESTROY","RETAIN"]),m$=s.object({name:V,queueType:s.enum(["standard","fifo"]).default("standard"),visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),retentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),contentBasedDeduplication:s.boolean().optional(),removalPolicy:$v.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var p$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),f$=s.object({name:V,defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),p$]).optional(),extraProperties:s.array(Re).optional()}).strict(),g$=s.object({appName:s.string(),name:V.optional(),defaultOriginRef:s.string(),behaviours:s.array(s.object({pathPattern:s.string(),originRef:s.string(),cachePolicy:s.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:s.string().optional(),certificateArn:s.string().optional(),accessGate:s.union([s.literal(!1),p$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var Oz=Object.defineProperty,Tv=(e,t)=>Oz(e,"name",{value:t,configurable:!0}),Dz=new Set(["t4g","c6g","c6gd","c6gn","c7g","c7gd","c7gn","r6g","r6gd","r7g","r7gd","m6g","m6gd","m7g","m7gd","a1","x2gd","im4gn","is4gen","i4g","hpc7g"]);function $i(e){let t=e.split(".")[0]??"";return Dz.has(t)?"ARM":"STANDARD"}Tv($i,"getArchitectureForInstanceType");function Fu(e,t){let n=$i(e);return n!==t?{valid:!1,message:`Instance type '${e}' requires ${n} architecture, but '${t}' AMI was specified. Use a ${n==="ARM"?"Graviton instance (t4g, c6g, r6g, m6g, etc.)":"Intel/AMD instance (t3, c5, r5, m5, etc.)"} instead.`}:{valid:!0}}Tv(Fu,"validateArchitectureMatch");function h$(e,t){return $i(e)===t}Tv(h$,"isArchitectureCompatible");var Mz=Object.defineProperty,Bu=(e,t)=>Mz(e,"name",{value:t,configurable:!0});var jz=1;var zz=/^[A-Za-z0-9_.-]+$/,Lz=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(zz,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),Uz=s.union([s.string(),s.object({ssm:s.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:s.object({name:s.string().min(1,"secret name cannot be empty").optional(),arn:s.string().min(1,"secret arn cannot be empty").optional(),field:s.string().min(1,"secret field cannot be empty").optional()}).strict().refine(e=>e.name===void 0!=(e.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:s.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:s.boolean().optional()}).strict().superRefine((e,t)=>{[e.ssm,e.secretsManager,e.env].filter(n=>n!==void 0).length!==1&&t.addIssue({code:s.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),Ot=s.object({path:s.string(),context:s.string().min(1,"context cannot be empty").optional(),target:s.string().min(1,"target cannot be empty").optional(),buildArgs:s.record(s.string(),Uz).optional(),buildSecrets:s.array(Lz).optional()}).strict(),W5=Ot.partial();function Fz(e,t){if(t===void 0)return e;let n=t.context??e.context,i=t.target??e.target,r=t.buildArgs??e.buildArgs,o=t.buildSecrets??e.buildSecrets;return{path:t.path??e.path,...n!==void 0&&{context:n},...i!==void 0&&{target:i},...r!==void 0&&{buildArgs:r},...o!==void 0&&{buildSecrets:o}}}Bu(Fz,"mergeDockerBuild");function Rv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Bu(Rv,"isRecord");function v$(e){if(!Rv(e)||typeof e.path!="string"||e.path.length===0)return;let t=typeof e.context=="string"&&e.context.length>0?e.context:void 0,n=typeof e.target=="string"&&e.target.length>0?e.target:void 0,i=Rv(e.buildArgs)&&Object.keys(e.buildArgs).length>0?e.buildArgs:void 0,r=Array.isArray(e.buildSecrets)&&e.buildSecrets.length>0?e.buildSecrets:void 0,o={path:e.path,...t!==void 0&&{context:t},...n!==void 0&&{target:n},...i!==void 0&&{buildArgs:i},...r!==void 0&&{buildSecrets:r}},a=Ot.safeParse(o);return a.success?a.data:void 0}Bu(v$,"normaliseDockerBuild");function Bz(e){if(e===void 0)return;let t=v$(e);return t===void 0?void 0:JSON.stringify(t)}Bu(Bz,"dockerBuildFingerprint");var Vz=s.object({name:s.string(),clusterName:s.string().optional(),docker:Ot.optional(),containerPort:s.number().optional(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional()}).strict(),Zz=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),Gz=s.object({repositoryName:s.string()}).strict(),Wz=["x86_64","arm64"],Hz=s.object({name:s.string(),secrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),importedSecretNames:s.array(s.string()).optional(),docker:Ot.optional(),imageKey:s.string().optional(),architecture:s.enum(Wz).optional()}).strict(),qz=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),Kz=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),Yz=s.object({synthesisedBy:s.string().min(1).max(128),minimumEngineVersion:s.string().min(1).max(32),maximumEngineMajor:s.number().int().min(0).optional(),minimumAwsCdkCli:s.string().min(1).max(32).optional()}).strict(),H5=s.object({version:s.literal(jz),generatedAt:s.string(),appName:s.string(),services:s.array(Vz),lambdas:s.array(Hz),pattern:Zz.optional(),ecr:Gz.optional(),stacks:s.record(s.string(),qz),resourceMap:s.record(s.string(),Kz).optional(),engineCompat:Yz.optional()}).strict();var Xz=Object.defineProperty,Jz=(e,t)=>Xz(e,"name",{value:t,configurable:!0});function y$(e){return!(e.image!==void 0&&e.docker!==void 0)}Jz(y$,"imageDockerMutexCheck");var S$=s.number().int(d.CAPACITY.MIN.INTEGER).min(yv,d.GENERATOR_CAPACITY.MIN.MIN).max(Sv,d.GENERATOR_CAPACITY.MIN.MAX),_$=s.number().int(d.CAPACITY.MAX.INTEGER).min(yv,d.GENERATOR_CAPACITY.MAX.MIN).max(Sv,d.GENERATOR_CAPACITY.MAX.MAX),Ti=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(OI,d.LAMBDA.MEMORY.MIN).max(DI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),E$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Cv=s.number().int(d.CPU.INTEGER).min(256,d.CPU.MIN).max(4096,d.CPU.MAX),Zu=s.number().int(d.CAPACITY.DESIRED.INTEGER).min(0,d.CAPACITY.DESIRED.MIN).max(Ei,d.CAPACITY.DESIRED.MAX),ua=s.object({connectToDatabase:s.array(s.string()).optional()}).strict(),Qz=s.object({minSize:s.number().int(d.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,d.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(MI,d.CAPACITY.WARM_POOL.MIN_SIZE.MAX).optional(),reuseOnScaleIn:s.boolean().optional()}).strict(),Pv=s.object({instanceType:s.string().optional(),amiHardwareType:s.enum($u).optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ei,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ei,d.CAPACITY.MAX.MAX).optional(),memoryLimitMiB:ia(128).optional(),warmPool:Qz.optional(),extraProperties:s.array(Re).optional()}).strict().superRefine((e,t)=>{if(!e.instanceType||!e.amiHardwareType)return;let n=Fu(e.instanceType,e.amiHardwareType);n.valid||t.addIssue({code:"custom",message:n.message??d.ARCHITECTURE_MISMATCH,path:["instanceType"]})}).superRefine((e,t)=>{e.minCapacity===0&&!e.warmPool&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL_REQUIRED,path:["minCapacity"]}),e.warmPool?.minSize!==void 0&&e.maxCapacity!==void 0&&e.warmPool.minSize>e.maxCapacity&&t.addIssue({code:"custom",message:d.CAPACITY.WARM_POOL.MIN_SIZE_EXCEEDS_MAX_CAPACITY,path:["warmPool","minSize"]})}),eL=s.enum(ea).describe(`Compute type must be one of: ${ea.join(", ")}`),Nv=s.enum(yi).describe(`ECS capacity provider must be one of: ${yi.join(", ")}`),wv=s.string().refine(e=>ct(Tu,e),{message:d.INSTANCE_TYPE}),x$=s.object({sourceType:s.enum(["sqs","dynamodb","eventbridge"]),sourceRef:s.string().describe("Name of the source resource"),batchSize:s.number().int(d.BATCH_SIZE.INTEGER).min(1,d.BATCH_SIZE.MIN).max(1e4,d.BATCH_SIZE.MAX).optional(),startingPosition:s.enum(["TRIM_HORIZON","LATEST"]).optional(),maxBatchingWindow:s.number().int(d.BATCHING_WINDOW.INTEGER).min(0,d.BATCHING_WINDOW.MIN).max(300,d.BATCHING_WINDOW.MAX).optional(),reportBatchItemFailures:s.boolean().optional()}).strict(),tL=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:an.optional(),environment:Ai.optional(),secretsImport:VI.optional(),command:s.array(s.string()).optional(),entryPoint:s.array(s.string()).optional(),essential:s.boolean().optional(),healthCheck:s.object({command:s.array(s.string()),interval:s.number().int(d.HEALTH_CHECK.INTERVAL.INTEGER).min(5,d.HEALTH_CHECK.INTERVAL.MIN).max(300,d.HEALTH_CHECK.INTERVAL.MAX).optional(),timeout:s.number().int(d.HEALTH_CHECK.TIMEOUT.INTEGER).min(2,d.HEALTH_CHECK.TIMEOUT.MIN).max(60,d.HEALTH_CHECK.TIMEOUT.MAX).optional(),retries:s.number().int(d.HEALTH_CHECK.RETRIES.INTEGER).min(1,d.HEALTH_CHECK.RETRIES.MIN).max(10,d.HEALTH_CHECK.RETRIES.MAX).optional(),startPeriod:s.number().int(d.HEALTH_CHECK.START_PERIOD.INTEGER).min(0,d.HEALTH_CHECK.START_PERIOD.MIN).max(300,d.HEALTH_CHECK.START_PERIOD.MAX).optional()}).strict().optional(),ssmSecrets:s.array(s.string().regex(L.SECRET_NAME,d.SECRET_NAME)).optional(),extraProperties:s.array(Re).optional()}).strict(),A$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),I$=s.object({domain:s.string().optional(),loadBalancer:s.union([s.literal(!1),s.enum(Au)]).optional(),directAccess:s.boolean().optional(),extraProperties:s.array(Re).optional()}).strict().refine(e=>!(e.directAccess&&e.domain),{message:d.DIRECT_ACCESS.NO_DOMAIN,path:["directAccess"]}).refine(e=>!(e.directAccess&&typeof e.loadBalancer=="string"),{message:d.DIRECT_ACCESS.NO_LOAD_BALANCER}).describe("Cluster-level configuration"),Vu=s.object({path:s.string().optional(),host:s.string().optional(),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional(),healthCheckPath:s.string().optional()}).strict().describe("Path/host-based routing configuration"),rL=s.object({desiredCount:Zu.optional(),minCapacity:s.number().int(d.CAPACITY.MIN.INTEGER).min(0,d.CAPACITY.MIN.MIN_0).max(Ei,d.CAPACITY.MIN.MAX).optional(),maxCapacity:s.number().int(d.CAPACITY.MAX.INTEGER).min(1,d.CAPACITY.MAX.MIN_1).max(Ei,d.CAPACITY.MAX.MAX).optional(),scalingType:s.enum(Iu).optional()}).strict().refine(on.check,on.params).describe("ECS service scaling configuration"),$$=s.object({name:A$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(tL).optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),desiredCount:Zu.optional(),scaling:He(rL).optional(),capacityProvider:Nv,ec2Config:Pv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Re).optional(),alarms:HI.optional()}).strict().superRefine((e,t)=>{y$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),T$=s.object({name:V,type:eL,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:I$.optional(),services:s.array($$).optional(),docker:Ot.partial().optional(),deployment:s.enum(Eu).optional(),codePath:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:E$.optional(),environment:Ai.optional(),secrets:Ai.optional(),eventSources:s.array(x$).optional(),functionUrl:s.object({authType:s.enum(ra)}).strict().optional(),description:s.string().optional(),scheduleExpression:s.string().optional(),architecture:s.enum(xu).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional(),functionName:s.string().optional(),ssmSecrets:s.array(s.string()).optional(),ssmSecretsPath:s.string().optional(),alarms:KI.optional(),instanceType:wv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict().superRefine((e,t)=>{if(e.type==="ecs"&&e.services)for(let n=0;n<e.services.length;n++){let i=e.services[n];i?.ec2Config?.instanceType&&!i.ec2Config.amiHardwareType&&$i(i.ec2Config.instanceType)!=="ARM"&&t.addIssue({code:"custom",message:`Service '${i.name??n}' uses instance type '${i.ec2Config.instanceType}' (x86), which requires Docker images built for linux/amd64. The default build targets linux/arm64 (Graviton). Use a Graviton instance type (t4g, c6g, r6g, m6g, etc.) or set amiHardwareType: "STANDARD" to acknowledge x86.`,path:["services",n,"ec2Config","instanceType"]})}e.type==="lambda"&&e.deployment==="container"&&e.architecture==="X86_64"&&t.addIssue({code:"custom",message:"Lambda architecture 'X86_64' requires Docker images built for linux/amd64, but the default build targets linux/arm64. Use 'ARM_64' for Graviton Lambdas (recommended) or ensure your build pipeline targets linux/amd64.",path:["architecture"]})}),rH=s.object({appName:ve,clusterName:V,containerPort:an,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Nv.optional(),useAppEcr:s.boolean().optional(),desiredCount:Zu.optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),minCapacity:S$.optional(),maxCapacity:_$.optional(),ec2Config:Pv.optional(),connectionConfig:ua.optional()}).strict().refine(on.check,on.params),nH=s.object({appName:ve,functionName:V,nameProvidedByFlag:s.boolean().optional(),lambdaType:s.enum(["basic","web","custom"]).optional(),ecrRepository:s.string().optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),enableFunctionUrl:s.boolean().optional(),description:s.string().optional(),enableCors:s.boolean().optional(),corsOrigins:s.string().optional(),corsHeaders:s.string().optional(),corsMethods:s.array(s.enum(zI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),iH=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:wv.optional(),enableSSH:s.boolean().optional(),minCapacity:S$.optional(),maxCapacity:_$.optional(),connectionConfig:ua.optional()}).strict().refine(on.check,on.params),oH=s.object({appName:ve,clusterName:V,serviceName:A$,capacityProvider:Nv,containerPort:an.optional(),cpu:Cv.optional(),memoryLimitMiB:ia(512).optional(),desiredCount:Zu.optional(),ec2Config:Pv.optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),docker:Ot.partial().optional(),nameProvidedByFlag:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),kv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ua.optional()}).strict(),nL=kv.extend({type:s.literal("ecs"),cluster:I$.optional(),services:s.array($$).min(1,d.SERVICE.MIN_REQUIRED),docker:Ot.partial().optional()}).strict().refine(e=>{let t=e.services.filter(n=>n.containers?.some(i=>i.port));return t.length>1?t.every(n=>(Array.isArray(n.routing)?n.routing:n.routing?[n.routing]:[]).some(i=>i.path||i.host)):!0},{message:d.SERVICE.ROUTING_REQUIRED}).refine(e=>{let t=e.services.map(n=>n.name);return new Set(t).size===t.length},{message:d.SERVICE.UNIQUE_WITHIN_CLUSTER}),iL=kv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Cu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:E$.optional(),environment:Ai.optional(),secrets:Ai.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(ra).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(x$).optional()}).strict(),oL=kv.extend({type:s.literal("ec2"),instanceType:wv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),aH=s.discriminatedUnion("type",[nL,iL,oL]),b$=s.object({path:s.string().min(1,d.REQUIRED.ROUTING_PATH),priority:s.number().int(d.PRIORITY.INTEGER).min(1,d.PRIORITY.MIN).max(5e4,d.PRIORITY.MAX).optional()}).strict(),R$=s.object({name:s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),serviceType:s.enum(["web","worker"]).optional(),docker:Ot.partial().optional(),containerPort:an.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([b$,s.array(b$).min(1)]).optional()}).strict().superRefine((e,t)=>{e.serviceType==="worker"&&(e.containerPort!==void 0&&t.addIssue({code:"custom",path:["containerPort"],message:"Worker services are not reachable inbound; remove containerPort."}),e.routing!==void 0&&t.addIssue({code:"custom",path:["routing"],message:"Worker services have no ALB route; remove routing."}))}),sH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var Ov=s.object({memorySize:Ti.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional(),ephemeralStorageSize:s.number().int(d.EPHEMERAL_STORAGE.INTEGER).min(512,d.EPHEMERAL_STORAGE.MIN).max(10240,d.EPHEMERAL_STORAGE.MAX).optional()}).strict(),C$=s.object({type:s.enum(bv).optional(),databaseName:s.string().optional(),databaseEngine:s.enum(_i).optional(),deletionProtection:s.boolean().optional(),backupRetention:Jt.optional(),port:wu.optional(),publiclyAccessible:s.boolean().optional(),allowedIpCidr:s.string().optional(),instanceType:s.string().optional(),allocatedStorage:s.number().int(d.ALLOCATED_STORAGE.INTEGER).min(20,d.ALLOCATED_STORAGE.MIN).max(65536,d.ALLOCATED_STORAGE.MAX).optional(),multiAz:s.boolean().optional(),readReplica:Du.optional(),writer:sa.optional(),readers:ca.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:aa.optional(),preferredMaintenanceWindow:s.string().optional(),databaseInsights:Mu.optional(),proxy:Ou.optional(),credentials:ku.optional(),encryption:ju.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict(),P$=s.object({server:Ov.optional(),imageOptimisation:Ov.optional(),revalidation:Ov.optional()}).strict(),Dv=s.object({versioned:s.boolean().optional()}).strict(),N$=s.object({assets:Dv.optional(),cache:Dv.optional(),media:Dv.optional()}).strict(),aL=s.object({visibilityTimeout:s.number().int(d.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,d.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,d.SQS.VISIBILITY_TIMEOUT.MAX).optional(),messageRetentionPeriod:s.number().int(d.SQS.RETENTION_PERIOD.INTEGER).min(60,d.SQS.RETENTION_PERIOD.MIN).max(1209600,d.SQS.RETENTION_PERIOD.MAX).optional(),maxMessageSize:s.number().int(d.MAX_MESSAGE_SIZE.INTEGER).min(1024,d.MAX_MESSAGE_SIZE.MIN).max(262144,d.MAX_MESSAGE_SIZE.MAX).optional(),deadLetterQueue:s.union([s.literal(!1),s.object({enabled:s.boolean().optional(),maxReceiveCount:s.number().int(d.DLQ.MAX_RECEIVE_COUNT.INTEGER).min(1,d.DLQ.MAX_RECEIVE_COUNT.MIN).max(1e3,d.DLQ.MAX_RECEIVE_COUNT.MAX).optional()}).strict()]).optional()}).strict(),w$=s.object({revalidationQueue:aL.optional()}).strict(),k$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),O$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),sL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:C$.optional(),compute:P$.optional(),storage:N$.optional(),messaging:w$.optional(),cdn:k$.optional(),environment:O$}).strict(),cL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:C$.optional(),compute:P$.optional(),storage:N$.optional(),messaging:w$.optional(),cdn:k$.optional(),environment:O$}).strict(),Mv=s.enum(Fo),uL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),lL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),dL=s.object({to:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL),from:s.string().regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),maxConcurrency:s.number().int().min(1).max(100).optional()}).strict(),mL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),jv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:uL,routing:Mv.optional(),security:lL.optional(),domain:s.string().optional(),forms:dL.optional(),cdn:mL.optional()}).strict().superRefine((e,t)=>{if(e.forms===void 0)return;let n=e.domain;if(n===void 0||n===""){t.addIssue({code:"custom",path:["domain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"});return}let i=e.forms.from;i!==void 0&&!Xc(i,n)&&t.addIssue({code:"custom",path:["forms","from"],message:`forms.from must be an address at ${n} (the verified SES identity) \u2014 for example noreply@${n}. Use forms.to for the recipient.`})}),la=s.discriminatedUnion("type",[sL,cL,jv]),D$=s.enum(["lightweight","standard","resilient","custom"]),M$=s.object({type:s.enum(bv),instanceType:s.string().optional(),backupRetention:Jt.optional(),deletionProtection:s.boolean().optional(),encryption:s.union([s.object({useCMK:s.literal(!0)}).strict(),s.literal(!1)]).optional()}).strict(),j$=s.object({memorySize:Ti.optional(),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(1,d.LAMBDA.TIMEOUT.MIN).max(900,d.LAMBDA.TIMEOUT.MAX).optional()}).strict();var z$=s.object({appName:ve,type:_v,pattern:Ev.optional(),patternConfig:la.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Lu.optional(),backup:GI.optional(),tunnel:WI.optional(),additionalNetworks:s.array(u$).optional(),database:s.array(XI),s3:s.array(d$),compute:s.array(T$),dynamodb:s.array(n$).optional(),clickhouse:s.array(i$).optional(),sqs:s.array(m$).optional(),cdn:f$.optional(),customCodeBlocks:s.array(ZI).optional(),additionalManagedImports:s.array(s.object({moduleSpecifier:s.string(),namedImports:s.array(s.string()),defaultImport:s.string().optional()}).strict()).optional()}).strict(),TH=s.object({name:ve,type:_v,pattern:Ev.optional(),patternTier:D$.optional(),patternDomain:s.string().optional(),source:s.string().min(1,d.REQUIRED.SOURCE).optional(),buildCommand:s.string().min(1,d.REQUIRED.BUILD_COMMAND).optional(),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR).optional(),routing:Mv.optional(),formsTo:s.string().min(1,d.REQUIRED.FORMS_TO).regex(L.EMAIL,d.EMAIL).optional(),corsOrigin:s.string().regex(L.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),customDatabase:M$.optional(),customCompute:j$.optional(),region:s.string().optional(),owner:s.string().optional(),includeDatabase:s.boolean().optional(),databaseName:s.string().min(1,d.DATABASE.NAME.REQUIRED).max(63,d.DATABASE.NAME.MAX_LENGTH).optional(),vpcId:s.string().optional(),network:l$.optional(),services:s.array(R$).optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()}).strict().superRefine((e,t)=>{e.formsTo!==void 0&&(e.patternDomain!==void 0&&e.patternDomain!==""||t.addIssue({code:"custom",path:["patternDomain"],message:"A domain is required when forms are enabled: SES sends only from a verified identity, and the site's domain is the identity the pattern verifies"}))}),RH=s.object({name:V,localResource:s.string().min(1),remoteApp:s.string().min(1),remoteResource:s.string().min(1),permission:s.enum(["read","write","read-write"]),remoteArn:s.string().optional()}).strict();var pL=["fjall-managed","external","external-manual"],kH=s.enum(pL);var L$=s.object({givenName:s.string().min(1),familyName:s.string().min(1),displayName:s.string().min(1).optional(),expires:s.string().min(1).optional()}).strict(),U$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),fL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:U$}).strict()]),gL=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(U$).optional(),permissionsBoundary:fL.optional(),sessionDuration:s.string().min(1).optional(),description:s.string().optional(),accounts:s.union([s.array(s.string().min(1)),s.literal("all")]).optional(),includeManagementAccount:s.boolean().optional(),groups:s.array(s.string().min(1)).optional()}).strict(),hL=s.object({description:s.string().optional()}).strict(),Gu=s.string().regex(L.EMAIL,d.EMAIL),zv={groups:s.record(s.string(),hL).optional(),permissionSets:s.record(s.string(),gL).optional(),memberships:s.record(s.string(),s.array(Gu)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},vL=s.discriminatedUnion("source",[s.object({...zv,source:s.literal("fjall-managed"),users:s.record(Gu,L$)}).strict(),s.object({...zv,source:s.literal("external")}).strict(),s.object({...zv,source:s.literal("external-manual"),users:s.record(Gu,L$).optional()}).strict()]),OH=s.object({name:V,type:s.literal("organisation").optional(),organisationName:s.string().min(1).optional(),orgEmail:Gu.optional(),accounts:s.unknown().optional(),accountIds:s.record(s.string(),s.string()).optional(),identityCentre:s.union([vL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var bL=Object.defineProperty,yL=(e,t)=>bL(e,"name",{value:t,configurable:!0}),SL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],_L=s.object({buildkiteQueue:s.string().min(1,"buildkiteQueue cannot be empty").max(100).regex(/^[a-zA-Z0-9-_]+$/,"buildkiteQueue must be alphanumeric with hyphens/underscores"),buildkiteOrgSlug:s.string().min(1,"buildkiteOrgSlug cannot be empty").max(100).regex(/^[a-z0-9-]+$/,"buildkiteOrgSlug must be a lowercase Buildkite organisation slug"),agentTokenSsmParameterName:s.string().min(2).regex(/^\//,"agentTokenSsmParameterName must be a full path (leading /)").optional(),agentTokenKmsKeyArn:s.string().min(1).optional(),fjallApiKeySsmParameterName:s.string().min(2).regex(/^\//,"fjallApiKeySsmParameterName must be a full path (leading /)").optional(),instanceType:s.string().min(1).default("c8g.xlarge"),agentVolumeSizeGib:s.number().int().min(20).max(1e3).default(250),agentMinInstances:s.number().int().min(0).default(0),agentMaxInstances:s.number().int().min(1).default(2),agentsPerInstance:s.number().int().min(1).default(1),spotCapacityPercentage:s.number().int().min(0).max(100).default(0),scaleInIdlePeriodSeconds:s.number().int().min(60).default(600),disconnectAfterUptimeSeconds:s.number().int().min(3600).default(86400),maxInstanceLifetimeDays:s.number().int().min(1).max(365).default(7),terminateInstanceAfterJob:s.boolean().default(!1),purgeBuildsOnDiskFull:s.boolean().default(!0),terminateInstanceOnDiskFull:s.boolean().default(!1),logRetentionDays:s.number().int().min(1).default(30),agentLogRetentionDays:s.literal(SL).default(7),buildkiteAgentRelease:s.enum(["stable","beta","edge"]).default("stable"),buildkiteAgentTags:s.string().default(""),buildkiteAgentTimestampLines:s.boolean().default(!1),buildkiteAgentExperiments:s.string().default(""),buildkiteAgentTracingBackend:s.enum(["","datadog","opentelemetry"]).default(""),buildkiteAgentCancelGracePeriodSeconds:s.number().int().min(10).default(60),enableSecretsPlugin:s.boolean().default(!0),enableEcrPlugin:s.boolean().default(!1),enableDockerLoginPlugin:s.boolean().default(!1),enableDockerUserNamespaceRemap:s.boolean().default(!0),enableDockerExperimental:s.boolean().default(!1),dockerNetworkingProtocol:s.enum(["ipv4","dualstack"]).default("ipv4"),enableInstanceStorage:s.boolean().default(!1),mountTmpfsAtTmp:s.boolean().default(!0),buildkiteAgentEnableGitMirrors:s.boolean().default(!1),bootstrapScriptUrl:s.string().default(""),agentEnvFileUrl:s.string().default(""),scalerEventSchedulePeriod:s.string().min(1).default("1 minute"),scalerMinPollInterval:s.string().min(1).default("10s"),scaleOutFactor:s.string().min(1).default("1.0"),scaleOutWaitingForJobs:s.boolean().default(!1),rolePermissionsBoundaryArn:s.string().min(1).optional(),alarmSnsTopicArn:s.string().min(1).optional(),applicationId:s.string().min(1).optional(),costAllocationEnvironment:s.string().min(1).optional(),costAllocationOwner:s.string().min(1).optional()}).strict(),EL=_L.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function xL(e){let t=EL.safeParse(e);if(!t.success){let n=t.error.issues.map(i=>` - ${i.path.join(".")||"(root)"}: ${i.message}`).join(`
189
189
  `);throw new Error(`Buildkite: invalid props:
190
- ${n}`)}return t.data}bL(EL,"validateBuildkiteProps");var xL=Object.defineProperty,AL=(e,t)=>xL(e,"name",{value:t,configurable:!0});function IL(e){return`FjallDeployBoundary${e}`}AL(IL,"deployBoundaryName");var Lv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},F$=[{Sid:"FjallDenyOrgAndAccountEscape",Effect:"Deny",Action:["organizations:LeaveOrganization","account:CloseAccount"],Resource:"*"},{Sid:"FjallDenyDisableAuditLogging",Effect:"Deny",Action:["cloudtrail:StopLogging"],Resource:"*"},{Sid:"FjallDenyBoundarySelfEscape",Effect:"Deny",Action:["iam:DeleteRolePermissionsBoundary"],Resource:"*"},{Sid:"FjallDenyDisableKmsKey",Effect:"Deny",Action:["kms:DisableKey"],Resource:"*"}],B$=[...F$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],$L=[...B$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],KH={foundation:[Lv,...F$],compliance:[Lv,...B$],hardened:[Lv,...$L]};var TL=Object.defineProperty,je=(e,t)=>TL(e,"name",{value:t,configurable:!0});var Uv="sts.amazonaws.com";function RL(e){return`FjallDevDeploy${e}`}je(RL,"devDeployRoleName");function CL(e){return`FjallDevProvisioner${e}`}je(CL,"devProvisionerRoleName");function PL(e){return`FjallDevSyncWriter${e}`}je(PL,"devSyncWriterRoleName");var NL="FjallDevBoundary";function V$(e){return`arn:aws:iam::${e}:policy/${NL}`}je(V$,"devBoundaryPolicyArn");function Z$(e){return`org:${e}:dev-provisioner`}je(Z$,"devProvisionerSubject");function G$(e){return`org:${e}:dev-sync`}je(G$,"devSyncSubject");function wL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Uv};return[{Sid:"FjallMachineSubject",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:`org:${t}:*`}}},{Sid:"FjallUserSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:r,StringLike:{[`${i}:sub`]:`org:${t}:user:*`}}},{Sid:"FjallServiceSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:[`org:${t}:discovery`,`org:${t}:connection`,`org:${t}:org-setup`,`org:${t}:dev-substrate-setup`]}}}]}je(wL,"buildNarrowedDeployTrustStatements");function kL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i,accountId:r}=e;return[{Sid:"FjallDevSubjectsThisAccount",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${i}:aud`]:Uv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(kL,"buildDevDeployTrustStatements");function Fv(e){let{providerArn:t,issuerDomain:n,sid:i,subject:r}=e;return[{Sid:i,Effect:"Allow",Principal:{Federated:t},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${n}:aud`]:Uv,[`${n}:sub`]:r}}}]}je(Fv,"buildServiceSubjectTrustStatements");function OL(e){return Fv({...e,sid:"FjallDevProvisionerSubject",subject:Z$(e.fjallOrgId)})}je(OL,"buildDevProvisionerTrustStatements");function DL(e){return Fv({...e,sid:"FjallDevSyncSubject",subject:G$(e.fjallOrgId)})}je(DL,"buildDevSyncWriterTrustStatements");function ML({accountId:e}){return[{Sid:"FjallDevEcsTaggedMutations",Effect:"Allow",Action:["ecs:UpdateService","ecs:DeleteService","ecs:RunTask","ecs:StopTask"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTaggedCreates",Effect:"Allow",Action:["ecs:RegisterTaskDefinition","ecs:CreateService"],Resource:"*",Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTagOnCreate",Effect:"Allow",Action:["ecs:TagResource"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"ecs:CreateAction":["RegisterTaskDefinition","CreateService","RunTask"]}}},{Sid:"FjallDevEcsReads",Effect:"Allow",Action:["ecs:Describe*","ecs:List*"],Resource:"*"},{Sid:"FjallDevEcsDeregisterTaskDefinition",Effect:"Allow",Action:["ecs:DeregisterTaskDefinition"],Resource:`arn:aws:ecs:*:${e}:task-definition/fjall-dev-*`},{Sid:"FjallDevElbTaggedMutations",Effect:"Allow",Action:["elasticloadbalancing:ModifyRule","elasticloadbalancing:DeleteRule","elasticloadbalancing:ModifyTargetGroup","elasticloadbalancing:ModifyTargetGroupAttributes","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:RegisterTargets","elasticloadbalancing:DeregisterTargets"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTaggedCreates",Effect:"Allow",Action:["elasticloadbalancing:CreateTargetGroup","elasticloadbalancing:CreateRule"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTagOnCreate",Effect:"Allow",Action:["elasticloadbalancing:AddTags"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"elasticloadbalancing:CreateAction":["CreateTargetGroup","CreateRule"]}}},{Sid:"FjallDevElbReads",Effect:"Allow",Action:["elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevSsmDevTree",Effect:"Allow",Action:["ssm:GetParameter*","ssm:PutParameter","ssm:AddTagsToResource"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevLogsMutations",Effect:"Allow",Action:["logs:PutRetentionPolicy","logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsTaggedCreate",Effect:"Allow",Action:["logs:CreateLogGroup","logs:TagResource"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevLogsRead",Effect:"Allow",Action:["logs:GetLogEvents","logs:DescribeLogStreams","logs:FilterLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsDescribeGroups",Effect:"Allow",Action:["logs:DescribeLogGroups"],Resource:"*"},{Sid:"FjallDevKmsViaDevAlias",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevKmsSsmSecureString",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}},{Sid:"FjallDevEcrAuthToken",Effect:"Allow",Action:["ecr:GetAuthorizationToken"],Resource:"*"},{Sid:"FjallDevEcrPushPull",Effect:"Allow",Action:["ecr:PutImage","ecr:InitiateLayerUpload","ecr:UploadLayerPart","ecr:CompleteLayerUpload","ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:DescribeImages"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevPassDevPathRoles",Effect:"Allow",Action:["iam:PassRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`}]}je(ML,"buildDevDeployPolicyStatements");function jL({accountId:e}){return[{Sid:"FjallDevProvisionerBoundedRoleWrites",Effect:"Allow",Action:["iam:CreateRole","iam:PutRolePolicy","iam:AttachRolePolicy"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`,Condition:{StringEquals:{"iam:PermissionsBoundary":V$(e)}}},{Sid:"FjallDevProvisionerPathRoleOps",Effect:"Allow",Action:["iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:ListRolePolicies","iam:TagRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`},{Sid:"FjallDevProvisionerListRoles",Effect:"Allow",Action:["iam:ListRoles"],Resource:"*"},{Sid:"FjallDevProvisionerDevMasterSecrets",Effect:"Allow",Action:["secretsmanager:GetSecretValue"],Resource:`arn:aws:secretsmanager:*:${e}:secret:fjall-dev-*`},{Sid:"FjallDevProvisionerKmsDecryptViaSecretsManager",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"secretsmanager.*.amazonaws.com"}}},{Sid:"FjallDevProvisionerDataApi",Effect:"Allow",Action:["rds-data:ExecuteStatement","rds-data:BatchExecuteStatement","rds-data:BeginTransaction","rds-data:CommitTransaction","rds-data:RollbackTransaction"],Resource:`arn:aws:rds:*:${e}:cluster:fjall-dev-*`},{Sid:"FjallDevProvisionerMetrics",Effect:"Allow",Action:["cloudwatch:GetMetricData"],Resource:"*"},{Sid:"FjallDevProvisionerOrphanDiscovery",Effect:"Allow",Action:["tag:GetResources"],Resource:"*"},{Sid:"FjallDevProvisionerSsmTeardown",Effect:"Allow",Action:["ssm:DeleteParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevProvisionerLogsTeardown",Effect:"Allow",Action:["logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevProvisionerTaggedTeardown",Effect:"Allow",Action:["ecs:UpdateService","ecs:StopTask","ecs:DeleteService","elasticloadbalancing:DeleteRule","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:DeregisterTargets"],Resource:[`arn:aws:ecs:*:${e}:*`,`arn:aws:elasticloadbalancing:*:${e}:*`],Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevProvisionerTeardownReads",Effect:"Allow",Action:["ecs:Describe*","elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevProvisionerImageJanitor",Effect:"Allow",Action:["ecr:ListImages","ecr:DescribeImages","ecr:BatchDeleteImage"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevProvisionerSsmReadAll",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/*`},{Sid:"FjallDevProvisionerKmsDecryptViaSsm",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}}]}je(jL,"buildDevProvisionerPolicyStatements");function zL({accountId:e}){return[{Sid:"FjallDevSyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}}]}je(zL,"buildDevSyncWriterPolicyStatements");function LL({accountId:e}){return[{Sid:"FjallDevBoundarySsmDevRead",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevBoundaryKmsDecryptDevAlias",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevBoundarySyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}},{Sid:"FjallDevBoundarySlotLogs",Effect:"Allow",Action:["logs:CreateLogStream","logs:PutLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevBoundarySyncQueue",Effect:"Allow",Action:["sqs:ReceiveMessage","sqs:DeleteMessage","sqs:GetQueueUrl"],Resource:`arn:aws:sqs:*:${e}:fjall-dev-sync-${e}-*`}]}je(LL,"buildDevBoundaryStatements");var UL=Object.defineProperty,_t=(e,t)=>UL(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}_t(T,"escapeStringLiteral");function sn(e){return e.map(T).join(", ")}_t(sn,"formatStringArray");var FL="import:SharedAlarmTopicArn";function cn(e=" "){return`
191
- ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(FL)} } : {}),`}_t(cn,"emitProductionAlertsTopicSpread");function Bv(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.__identifier=="string"||typeof t.__expression=="string"||typeof t.__call=="string"}_t(Bv,"isSpecialValue");function Qt(e){return e.replace(/[^a-zA-Z0-9]/g," ").split(" ").map((t,n)=>n===0?t.charAt(0).toLowerCase()+t.slice(1):t.charAt(0).toUpperCase()+t.slice(1)).join("")}_t(Qt,"toVariableName");function ie(e){return e.variableName??Qt(e.name)}_t(ie,"getVariableName");function da(e,t){for(let n of e.database)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.s3)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.compute)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.dynamodb??[])if(n.name===t&&n.variableName)return n.variableName;for(let n of e.sqs??[])if(n.name===t&&n.variableName)return n.variableName;return Qt(t)}_t(da,"resolveResourceVariable");function W$(e){let t=Object.entries(e);return t.length===0?!0:t.length>1?!1:t.every(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null)}_t(W$,"isSimpleObject");function G(e,t=" "){if(e==null)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Bv(e)){if("__identifier"in e)return e.__identifier;if("__expression"in e)return e.__expression;if("__call"in e)return e.__call}if(Array.isArray(e))return`[${e.map(n=>G(n,t)).join(", ")}]`;if(typeof e=="object"){let n=Object.entries(e).filter(([,o])=>o!==void 0);if(W$(e)){let o=n.map(([a,c])=>`${a}: ${G(c,t)}`).join(", ");return o?`{ ${o} }`:"{}"}let i=t+" ",r=n.map(([o,a])=>`${i}${o}: ${G(a,i)}`).join(`,
190
+ ${n}`)}return t.data}yL(xL,"validateBuildkiteProps");var AL=Object.defineProperty,IL=(e,t)=>AL(e,"name",{value:t,configurable:!0});function $L(e){return`FjallDeployBoundary${e}`}IL($L,"deployBoundaryName");var Lv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},F$=[{Sid:"FjallDenyOrgAndAccountEscape",Effect:"Deny",Action:["organizations:LeaveOrganization","account:CloseAccount"],Resource:"*"},{Sid:"FjallDenyDisableAuditLogging",Effect:"Deny",Action:["cloudtrail:StopLogging"],Resource:"*"},{Sid:"FjallDenyBoundarySelfEscape",Effect:"Deny",Action:["iam:DeleteRolePermissionsBoundary"],Resource:"*"},{Sid:"FjallDenyDisableKmsKey",Effect:"Deny",Action:["kms:DisableKey"],Resource:"*"}],B$=[...F$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],TL=[...B$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],YH={foundation:[Lv,...F$],compliance:[Lv,...B$],hardened:[Lv,...TL]};var RL=Object.defineProperty,je=(e,t)=>RL(e,"name",{value:t,configurable:!0});var Uv="sts.amazonaws.com";function CL(e){return`FjallDevDeploy${e}`}je(CL,"devDeployRoleName");function PL(e){return`FjallDevProvisioner${e}`}je(PL,"devProvisionerRoleName");function NL(e){return`FjallDevSyncWriter${e}`}je(NL,"devSyncWriterRoleName");var wL="FjallDevBoundary";function V$(e){return`arn:aws:iam::${e}:policy/${wL}`}je(V$,"devBoundaryPolicyArn");function Z$(e){return`org:${e}:dev-provisioner`}je(Z$,"devProvisionerSubject");function G$(e){return`org:${e}:dev-sync`}je(G$,"devSyncSubject");function kL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Uv};return[{Sid:"FjallMachineSubject",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:`org:${t}:*`}}},{Sid:"FjallUserSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:r,StringLike:{[`${i}:sub`]:`org:${t}:user:*`}}},{Sid:"FjallServiceSubjects",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...r,[`${i}:sub`]:[`org:${t}:discovery`,`org:${t}:connection`,`org:${t}:org-setup`,`org:${t}:dev-substrate-setup`]}}}]}je(kL,"buildNarrowedDeployTrustStatements");function OL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i,accountId:r}=e;return[{Sid:"FjallDevSubjectsThisAccount",Effect:"Allow",Principal:{Federated:n},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${i}:aud`]:Uv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(OL,"buildDevDeployTrustStatements");function Fv(e){let{providerArn:t,issuerDomain:n,sid:i,subject:r}=e;return[{Sid:i,Effect:"Allow",Principal:{Federated:t},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${n}:aud`]:Uv,[`${n}:sub`]:r}}}]}je(Fv,"buildServiceSubjectTrustStatements");function DL(e){return Fv({...e,sid:"FjallDevProvisionerSubject",subject:Z$(e.fjallOrgId)})}je(DL,"buildDevProvisionerTrustStatements");function ML(e){return Fv({...e,sid:"FjallDevSyncSubject",subject:G$(e.fjallOrgId)})}je(ML,"buildDevSyncWriterTrustStatements");function jL({accountId:e}){return[{Sid:"FjallDevEcsTaggedMutations",Effect:"Allow",Action:["ecs:UpdateService","ecs:DeleteService","ecs:RunTask","ecs:StopTask"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTaggedCreates",Effect:"Allow",Action:["ecs:RegisterTaskDefinition","ecs:CreateService"],Resource:"*",Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevEcsTagOnCreate",Effect:"Allow",Action:["ecs:TagResource"],Resource:`arn:aws:ecs:*:${e}:*`,Condition:{StringEquals:{"ecs:CreateAction":["RegisterTaskDefinition","CreateService","RunTask"]}}},{Sid:"FjallDevEcsReads",Effect:"Allow",Action:["ecs:Describe*","ecs:List*"],Resource:"*"},{Sid:"FjallDevEcsDeregisterTaskDefinition",Effect:"Allow",Action:["ecs:DeregisterTaskDefinition"],Resource:`arn:aws:ecs:*:${e}:task-definition/fjall-dev-*`},{Sid:"FjallDevElbTaggedMutations",Effect:"Allow",Action:["elasticloadbalancing:ModifyRule","elasticloadbalancing:DeleteRule","elasticloadbalancing:ModifyTargetGroup","elasticloadbalancing:ModifyTargetGroupAttributes","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:RegisterTargets","elasticloadbalancing:DeregisterTargets"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTaggedCreates",Effect:"Allow",Action:["elasticloadbalancing:CreateTargetGroup","elasticloadbalancing:CreateRule"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTagOnCreate",Effect:"Allow",Action:["elasticloadbalancing:AddTags"],Resource:`arn:aws:elasticloadbalancing:*:${e}:*`,Condition:{StringEquals:{"elasticloadbalancing:CreateAction":["CreateTargetGroup","CreateRule"]}}},{Sid:"FjallDevElbReads",Effect:"Allow",Action:["elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevSsmDevTree",Effect:"Allow",Action:["ssm:GetParameter*","ssm:PutParameter","ssm:AddTagsToResource"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevLogsMutations",Effect:"Allow",Action:["logs:PutRetentionPolicy","logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsTaggedCreate",Effect:"Allow",Action:["logs:CreateLogGroup","logs:TagResource"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevLogsRead",Effect:"Allow",Action:["logs:GetLogEvents","logs:DescribeLogStreams","logs:FilterLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsDescribeGroups",Effect:"Allow",Action:["logs:DescribeLogGroups"],Resource:"*"},{Sid:"FjallDevKmsViaDevAlias",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevKmsSsmSecureString",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}},{Sid:"FjallDevEcrAuthToken",Effect:"Allow",Action:["ecr:GetAuthorizationToken"],Resource:"*"},{Sid:"FjallDevEcrPushPull",Effect:"Allow",Action:["ecr:PutImage","ecr:InitiateLayerUpload","ecr:UploadLayerPart","ecr:CompleteLayerUpload","ecr:BatchCheckLayerAvailability","ecr:BatchGetImage","ecr:GetDownloadUrlForLayer","ecr:DescribeImages"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevPassDevPathRoles",Effect:"Allow",Action:["iam:PassRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`}]}je(jL,"buildDevDeployPolicyStatements");function zL({accountId:e}){return[{Sid:"FjallDevProvisionerBoundedRoleWrites",Effect:"Allow",Action:["iam:CreateRole","iam:PutRolePolicy","iam:AttachRolePolicy"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`,Condition:{StringEquals:{"iam:PermissionsBoundary":V$(e)}}},{Sid:"FjallDevProvisionerPathRoleOps",Effect:"Allow",Action:["iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:ListRolePolicies","iam:TagRole"],Resource:`arn:aws:iam::${e}:role/fjall/dev/*`},{Sid:"FjallDevProvisionerListRoles",Effect:"Allow",Action:["iam:ListRoles"],Resource:"*"},{Sid:"FjallDevProvisionerDevMasterSecrets",Effect:"Allow",Action:["secretsmanager:GetSecretValue"],Resource:`arn:aws:secretsmanager:*:${e}:secret:fjall-dev-*`},{Sid:"FjallDevProvisionerKmsDecryptViaSecretsManager",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"secretsmanager.*.amazonaws.com"}}},{Sid:"FjallDevProvisionerDataApi",Effect:"Allow",Action:["rds-data:ExecuteStatement","rds-data:BatchExecuteStatement","rds-data:BeginTransaction","rds-data:CommitTransaction","rds-data:RollbackTransaction"],Resource:`arn:aws:rds:*:${e}:cluster:fjall-dev-*`},{Sid:"FjallDevProvisionerMetrics",Effect:"Allow",Action:["cloudwatch:GetMetricData"],Resource:"*"},{Sid:"FjallDevProvisionerOrphanDiscovery",Effect:"Allow",Action:["tag:GetResources"],Resource:"*"},{Sid:"FjallDevProvisionerSsmTeardown",Effect:"Allow",Action:["ssm:DeleteParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevProvisionerLogsTeardown",Effect:"Allow",Action:["logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevProvisionerTaggedTeardown",Effect:"Allow",Action:["ecs:UpdateService","ecs:StopTask","ecs:DeleteService","elasticloadbalancing:DeleteRule","elasticloadbalancing:DeleteTargetGroup","elasticloadbalancing:DeregisterTargets"],Resource:[`arn:aws:ecs:*:${e}:*`,`arn:aws:elasticloadbalancing:*:${e}:*`],Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevProvisionerTeardownReads",Effect:"Allow",Action:["ecs:Describe*","elasticloadbalancing:Describe*"],Resource:"*"},{Sid:"FjallDevProvisionerImageJanitor",Effect:"Allow",Action:["ecr:ListImages","ecr:DescribeImages","ecr:BatchDeleteImage"],Resource:`arn:aws:ecr:*:${e}:repository/*`},{Sid:"FjallDevProvisionerSsmReadAll",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/*`},{Sid:"FjallDevProvisionerKmsDecryptViaSsm",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}}]}je(zL,"buildDevProvisionerPolicyStatements");function LL({accountId:e}){return[{Sid:"FjallDevSyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}}]}je(LL,"buildDevSyncWriterPolicyStatements");function UL({accountId:e}){return[{Sid:"FjallDevBoundarySsmDevRead",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${e}:parameter/fjall/dev/*`},{Sid:"FjallDevBoundaryKmsDecryptDevAlias",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${e}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevBoundarySyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${e}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":e}}},{Sid:"FjallDevBoundarySlotLogs",Effect:"Allow",Action:["logs:CreateLogStream","logs:PutLogEvents"],Resource:`arn:aws:logs:*:${e}:log-group:/fjall/dev/*`},{Sid:"FjallDevBoundarySyncQueue",Effect:"Allow",Action:["sqs:ReceiveMessage","sqs:DeleteMessage","sqs:GetQueueUrl"],Resource:`arn:aws:sqs:*:${e}:fjall-dev-sync-${e}-*`}]}je(UL,"buildDevBoundaryStatements");var FL=Object.defineProperty,_t=(e,t)=>FL(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}_t(T,"escapeStringLiteral");function sn(e){return e.map(T).join(", ")}_t(sn,"formatStringArray");var BL="import:SharedAlarmTopicArn";function cn(e=" "){return`
191
+ ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(BL)} } : {}),`}_t(cn,"emitProductionAlertsTopicSpread");function Bv(e){if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.__identifier=="string"||typeof t.__expression=="string"||typeof t.__call=="string"}_t(Bv,"isSpecialValue");function Qt(e){return e.replace(/[^a-zA-Z0-9]/g," ").split(" ").map((t,n)=>n===0?t.charAt(0).toLowerCase()+t.slice(1):t.charAt(0).toUpperCase()+t.slice(1)).join("")}_t(Qt,"toVariableName");function ie(e){return e.variableName??Qt(e.name)}_t(ie,"getVariableName");function da(e,t){for(let n of e.database)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.s3)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.compute)if(n.name===t&&n.variableName)return n.variableName;for(let n of e.dynamodb??[])if(n.name===t&&n.variableName)return n.variableName;for(let n of e.sqs??[])if(n.name===t&&n.variableName)return n.variableName;return Qt(t)}_t(da,"resolveResourceVariable");function W$(e){let t=Object.entries(e);return t.length===0?!0:t.length>1?!1:t.every(([,n])=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"||n===null)}_t(W$,"isSimpleObject");function G(e,t=" "){if(e==null)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Bv(e)){if("__identifier"in e)return e.__identifier;if("__expression"in e)return e.__expression;if("__call"in e)return e.__call}if(Array.isArray(e))return`[${e.map(n=>G(n,t)).join(", ")}]`;if(typeof e=="object"){let n=Object.entries(e).filter(([,o])=>o!==void 0);if(W$(e)){let o=n.map(([a,c])=>`${a}: ${G(c,t)}`).join(", ");return o?`{ ${o} }`:"{}"}let i=t+" ",r=n.map(([o,a])=>`${i}${o}: ${G(a,i)}`).join(`,
192
192
  `);return r?`{
193
193
  ${r}
194
194
  ${t}}`:"{}"}return JSON.stringify(e)}_t(G,"formatValue");function O(e,t,n,i="raw"){if(!e)return"";let r;switch(i){case"string":r=T(String(n));break;case"object":r=G(n);break;case"boolean-or-object":r=n===!1?"false":G(n);break;default:r=String(n)}return`
195
195
  ${t}: ${r},`}_t(O,"buildProperty");function fe(e,t=" "){return e?.length?e.map(n=>`
196
- ${t}${n.key}: ${n.sourceText},`).join(""):""}_t(fe,"emitExtraProperties");var BL=Object.defineProperty,ze=(e,t)=>BL(e,"name",{value:t,configurable:!0}),le=Object.freeze({HOST:"DATABASE_HOST",PORT:"DATABASE_PORT",NAME:"DATABASE_NAME",SSL:"DATABASE_SSL",USERNAME:"DATABASE_USERNAME",PASSWORD:"DATABASE_PASSWORD"}),ma=Object.freeze({USERNAME:"username",PASSWORD:"password"});function un(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(un,"getConnectedDatabases");function pa(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(pa,"getCredentialExpression");function fa(e){let t=[],n=ze((i,r,o)=>{t.push({key:i,expression:r,isSecret:o})},"addEntry");if(e.length===1){let i=ie(e[0]);n(le.HOST,`${i}.getHostEndpoint()`,!1),n(le.PORT,`${i}.getHostPort()`,!1),n(le.NAME,`${i}.getDatabaseName()`,!1),n(le.SSL,'"true"',!1),n(le.USERNAME,pa(i,ma.USERNAME),!0),n(le.PASSWORD,pa(i,ma.PASSWORD),!0)}else for(let[i,r]of e.entries()){let o=ie(r),a=i===0?"":`_${i+1}`;n(`${le.HOST}${a}`,`${o}.getHostEndpoint()`,!1),n(`${le.PORT}${a}`,`${o}.getHostPort()`,!1),n(`${le.NAME}${a}`,`${o}.getDatabaseName()`,!1),n(`${le.SSL}${a}`,'"true"',!1),n(`${le.USERNAME}${a}`,pa(o,ma.USERNAME),!0),n(`${le.PASSWORD}${a}`,pa(o,ma.PASSWORD),!0)}return t}ze(fa,"generateDatabaseEnvVarEntries");function H$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(H$,"formatConnectionsCode");function Wu(e){return e.expression==='"true"'?"true":{__expression:e.expression}}ze(Wu,"toDatabaseEnvVarValue");function Hu(e,t){let n={},i={};if(!t.needsConnection||!t.connectedDatabase?.length)return{env:n,secrets:i};let r=un(e,t),o=fa(r);for(let a of o){let c=Wu(a);a.isSecret?i[a.key]={__expression:a.expression}:n[a.key]=c}return{env:n,secrets:i}}ze(Hu,"buildDatabaseEnvVars");function q$(e){let t="";return t+=O(e.port!==void 0,"port",e.port),t+=O(e.deletionProtection!==void 0,"deletionProtection",e.deletionProtection),t+=O(e.snapshotIdentifier!==void 0,"snapshotIdentifier",e.snapshotIdentifier,"string"),t+=O(e.snapshotUsername!==void 0,"snapshotUsername",e.snapshotUsername,"string"),t+=O(e.monitoringInterval!==void 0,"monitoringInterval",e.monitoringInterval),t}ze(q$,"generateDatabaseSharedProps");function K$(e){if(e.type!=="Instance")return"";let t="";return t+=O(e.instanceType!==void 0,"instanceType",e.instanceType,"string"),t+=O(e.allocatedStorage!==void 0,"allocatedStorage",e.allocatedStorage),t+=O(e.multiAz!==void 0,"multiAz",e.multiAz),t+=O(e.publiclyAccessible!==void 0,"publiclyAccessible",e.publiclyAccessible),t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.readReplica!==void 0,"readReplica",e.readReplica,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t}ze(K$,"generateDatabaseInstanceProps");function Y$(e){if(e.type!=="Aurora"&&e.type!=="GlobalAurora")return"";let t="";return t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.writer!==void 0,"writer",e.writer,"object"),t+=O(e.readers!==void 0,"readers",e.readers,"boolean-or-object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t+=O(e.preferredMaintenanceWindow!==void 0,"preferredMaintenanceWindow",e.preferredMaintenanceWindow,"string"),t}ze(Y$,"generateDatabaseAuroraProps");function X$(e){if(e.type!=="GlobalAurora")return"";let t="";return t+=O(e.primaryRegion!==void 0,"primaryRegion",e.primaryRegion,"string"),e.secondaryRegions!==void 0&&e.secondaryRegions.length>0&&(t+=`
196
+ ${t}${n.key}: ${n.sourceText},`).join(""):""}_t(fe,"emitExtraProperties");var VL=Object.defineProperty,ze=(e,t)=>VL(e,"name",{value:t,configurable:!0}),le=Object.freeze({HOST:"DATABASE_HOST",PORT:"DATABASE_PORT",NAME:"DATABASE_NAME",SSL:"DATABASE_SSL",USERNAME:"DATABASE_USERNAME",PASSWORD:"DATABASE_PASSWORD"}),ma=Object.freeze({USERNAME:"username",PASSWORD:"password"});function un(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(un,"getConnectedDatabases");function pa(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(pa,"getCredentialExpression");function fa(e){let t=[],n=ze((i,r,o)=>{t.push({key:i,expression:r,isSecret:o})},"addEntry");if(e.length===1){let i=ie(e[0]);n(le.HOST,`${i}.getHostEndpoint()`,!1),n(le.PORT,`${i}.getHostPort()`,!1),n(le.NAME,`${i}.getDatabaseName()`,!1),n(le.SSL,'"true"',!1),n(le.USERNAME,pa(i,ma.USERNAME),!0),n(le.PASSWORD,pa(i,ma.PASSWORD),!0)}else for(let[i,r]of e.entries()){let o=ie(r),a=i===0?"":`_${i+1}`;n(`${le.HOST}${a}`,`${o}.getHostEndpoint()`,!1),n(`${le.PORT}${a}`,`${o}.getHostPort()`,!1),n(`${le.NAME}${a}`,`${o}.getDatabaseName()`,!1),n(`${le.SSL}${a}`,'"true"',!1),n(`${le.USERNAME}${a}`,pa(o,ma.USERNAME),!0),n(`${le.PASSWORD}${a}`,pa(o,ma.PASSWORD),!0)}return t}ze(fa,"generateDatabaseEnvVarEntries");function H$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(H$,"formatConnectionsCode");function Wu(e){return e.expression==='"true"'?"true":{__expression:e.expression}}ze(Wu,"toDatabaseEnvVarValue");function Hu(e,t){let n={},i={};if(!t.needsConnection||!t.connectedDatabase?.length)return{env:n,secrets:i};let r=un(e,t),o=fa(r);for(let a of o){let c=Wu(a);a.isSecret?i[a.key]={__expression:a.expression}:n[a.key]=c}return{env:n,secrets:i}}ze(Hu,"buildDatabaseEnvVars");function q$(e){let t="";return t+=O(e.port!==void 0,"port",e.port),t+=O(e.deletionProtection!==void 0,"deletionProtection",e.deletionProtection),t+=O(e.snapshotIdentifier!==void 0,"snapshotIdentifier",e.snapshotIdentifier,"string"),t+=O(e.snapshotUsername!==void 0,"snapshotUsername",e.snapshotUsername,"string"),t+=O(e.monitoringInterval!==void 0,"monitoringInterval",e.monitoringInterval),t}ze(q$,"generateDatabaseSharedProps");function K$(e){if(e.type!=="Instance")return"";let t="";return t+=O(e.instanceType!==void 0,"instanceType",e.instanceType,"string"),t+=O(e.allocatedStorage!==void 0,"allocatedStorage",e.allocatedStorage),t+=O(e.multiAz!==void 0,"multiAz",e.multiAz),t+=O(e.publiclyAccessible!==void 0,"publiclyAccessible",e.publiclyAccessible),t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.readReplica!==void 0,"readReplica",e.readReplica,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t}ze(K$,"generateDatabaseInstanceProps");function Y$(e){if(e.type!=="Aurora"&&e.type!=="GlobalAurora")return"";let t="";return t+=O(e.encryption!==void 0,"encryption",e.encryption,"object"),t+=O(e.databaseInsights!==void 0,"databaseInsights",e.databaseInsights,"boolean-or-object"),t+=O(e.proxy!==void 0,"proxy",e.proxy,"boolean-or-object"),t+=O(e.credentials!==void 0,"credentials",e.credentials,"object"),t+=O(e.writer!==void 0,"writer",e.writer,"object"),t+=O(e.readers!==void 0,"readers",e.readers,"boolean-or-object"),t+=O(e.backupRetention!==void 0,"backupRetention",e.backupRetention),t+=O(e.preferredMaintenanceWindow!==void 0,"preferredMaintenanceWindow",e.preferredMaintenanceWindow,"string"),t}ze(Y$,"generateDatabaseAuroraProps");function X$(e){if(e.type!=="GlobalAurora")return"";let t="";return t+=O(e.primaryRegion!==void 0,"primaryRegion",e.primaryRegion,"string"),e.secondaryRegions!==void 0&&e.secondaryRegions.length>0&&(t+=`
197
197
  secondaryRegions: [${sn(e.secondaryRegions)}],`),t+=O(e.globalClusterIdentifier!==void 0,"globalClusterIdentifier",e.globalClusterIdentifier,"string"),t+=O(e.enableGlobalWriteForwarding!==void 0,"enableGlobalWriteForwarding",e.enableGlobalWriteForwarding),t}ze(X$,"generateDatabaseGlobalAuroraProps");function Vv(e,t){return t.compute.some(n=>n.needsConnection&&n.connectedDatabase?.includes(e.name))}ze(Vv,"databaseNeedsVariable");function qu(e){if(e.database.length===0)return"";let t="";for(let n=0;n<e.database.length;n++){let i=e.database[n],r=ie(i),o=Vv(i,e),a=n>0,c=o?`const ${r} = `:"";t+=`${a?`
198
198
  `:""}${c}app.addDatabase(
199
199
  DatabaseFactory.build(${T(i.name)}, {
@@ -218,10 +218,10 @@ ${t}${n.key}: ${n.sourceText},`).join(""):""}_t(fe,"emitExtraProperties");var BL
218
218
  backupRetentionDays: ${i.backupRetentionDays},`),t+=fe(i.extraProperties),t+=`
219
219
  })
220
220
  );
221
- `}return t}ze(Ku,"generateClickHouseCode");function J$(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(J$,"clickhouseNeedsVariable");var VL=Object.defineProperty,Yu=(e,t)=>VL(e,"name",{value:t,configurable:!0}),ga=Object.freeze({NAME:"BUCKET_NAME"});function ln(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}Yu(ln,"getConnectedStorage");function ha(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:ga.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${ga.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}Yu(ha,"generateStorageEnvVarEntries");function Xu(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=ln(e,t),o=ha(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Yu(Xu,"buildStorageEnvVars");function Ri(e,t,n=[]){let i=e.map(a=>ie(a)),r=t.map(a=>ie(a)),o=n.map(a=>ie(a));return`connections: [${[...i,...r,...o].join(", ")}],`}Yu(Ri,"formatAllConnectionsCode");var ZL=Object.defineProperty,Zv=(e,t)=>ZL(e,"name",{value:t,configurable:!0}),$r=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function dn(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Zv(dn,"getConnectedMessaging");function va(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:$r.URL,expression:`${i}.getQueueUrl()`}),t.push({key:$r.ARN,expression:`${i}.getQueueArn()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${$r.URL}${o}`,expression:`${r}.getQueueUrl()`}),t.push({key:`${$r.ARN}${o}`,expression:`${r}.getQueueArn()`})}return t}Zv(va,"generateMessagingEnvVarEntries");function Ju(e,t){let n={},i={};if(!t.connectedMessaging?.length)return{env:n,secrets:i};let r=dn(e,t),o=va(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Zv(Ju,"buildMessagingEnvVars");var GL=Object.defineProperty,Ci=(e,t)=>GL(e,"name",{value:t,configurable:!0});function mn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}Ci(mn,"computeHasDatabaseConnections");function pn(e){return!!e.connectedStorage?.length}Ci(pn,"computeHasStorageConnections");function fn(e){return!!e.connectedMessaging?.length}Ci(fn,"computeHasMessagingConnections");function ba(e){return mn(e)||pn(e)||fn(e)}Ci(ba,"computeHasConnections");var ya={ENVIRONMENT:{__expression:"getConfig().environment"}};function Pi(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
221
+ `}return t}ze(Ku,"generateClickHouseCode");function J$(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(J$,"clickhouseNeedsVariable");var ZL=Object.defineProperty,Yu=(e,t)=>ZL(e,"name",{value:t,configurable:!0}),ga=Object.freeze({NAME:"BUCKET_NAME"});function ln(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}Yu(ln,"getConnectedStorage");function ha(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:ga.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${ga.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}Yu(ha,"generateStorageEnvVarEntries");function Xu(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=ln(e,t),o=ha(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Yu(Xu,"buildStorageEnvVars");function Ri(e,t,n=[]){let i=e.map(a=>ie(a)),r=t.map(a=>ie(a)),o=n.map(a=>ie(a));return`connections: [${[...i,...r,...o].join(", ")}],`}Yu(Ri,"formatAllConnectionsCode");var GL=Object.defineProperty,Zv=(e,t)=>GL(e,"name",{value:t,configurable:!0}),$r=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function dn(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Zv(dn,"getConnectedMessaging");function va(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:$r.URL,expression:`${i}.getQueueUrl()`}),t.push({key:$r.ARN,expression:`${i}.getQueueArn()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${$r.URL}${o}`,expression:`${r}.getQueueUrl()`}),t.push({key:`${$r.ARN}${o}`,expression:`${r}.getQueueArn()`})}return t}Zv(va,"generateMessagingEnvVarEntries");function Ju(e,t){let n={},i={};if(!t.connectedMessaging?.length)return{env:n,secrets:i};let r=dn(e,t),o=va(r);for(let a of o)n[a.key]={__expression:a.expression};return{env:n,secrets:i}}Zv(Ju,"buildMessagingEnvVars");var WL=Object.defineProperty,Ci=(e,t)=>WL(e,"name",{value:t,configurable:!0});function mn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}Ci(mn,"computeHasDatabaseConnections");function pn(e){return!!e.connectedStorage?.length}Ci(pn,"computeHasStorageConnections");function fn(e){return!!e.connectedMessaging?.length}Ci(fn,"computeHasMessagingConnections");function ba(e){return mn(e)||pn(e)||fn(e)}Ci(ba,"computeHasConnections");var ya={ENVIRONMENT:{__expression:"getConfig().environment"}};function Pi(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
222
222
  `)}Ci(Pi,"formatEnvBlock");function Ni(e,t,n){return e.length<=1?`{ ${e[0]??""} }`:`{${e.map(i=>`
223
223
  ${n}${i},`).join("")}
224
- ${t}}`}Ci(Ni,"formatCompactOrExpandedObject");var WL=Object.defineProperty,Q$=(e,t)=>WL(e,"name",{value:t,configurable:!0});function Sa(e){let t="";if(e.deployment===ta.CODE&&e.codePath?(t+=`
224
+ ${t}}`}Ci(Ni,"formatCompactOrExpandedObject");var HL=Object.defineProperty,Q$=(e,t)=>HL(e,"name",{value:t,configurable:!0});function Sa(e){let t="";if(e.deployment===ta.CODE&&e.codePath?(t+=`
225
225
  deployment: "${ta.CODE}",
226
226
  code: Code.fromAsset(${T(e.codePath)}),`,e.handler&&(t+=`
227
227
  handler: ${T(e.handler)},`),e.runtime&&(t+=`
@@ -246,10 +246,10 @@ ${Pi(n," ")}
246
246
  environment: {`;for(let[p,g]of Object.entries(u))m+=`
247
247
  ${p}: ${G(g)},`;m+=`
248
248
  },`}return m+=`
249
- ${Ri(o,a,c)}`,m}Q$(_a,"generateLambdaConnectionsCode");var HL=Object.defineProperty,qL=(e,t)=>HL(e,"name",{value:t,configurable:!0});function Ea(e){let t="";return e.instanceType&&(t+=`
249
+ ${Ri(o,a,c)}`,m}Q$(_a,"generateLambdaConnectionsCode");var qL=Object.defineProperty,KL=(e,t)=>qL(e,"name",{value:t,configurable:!0});function Ea(e){let t="";return e.instanceType&&(t+=`
250
250
  instanceType: ${T(e.instanceType)},`),e.enableSSH!==void 0&&(t+=e.enableSSH?`
251
251
  ssh: {},`:`
252
- ssh: false,`),t+=fe(e.extraProperties),t}qL(Ea,"generateEc2Code");var KL=Object.defineProperty,Dt=(e,t)=>KL(e,"name",{value:t,configurable:!0});function eT(e){let t=[];if(e.instanceType!==void 0&&t.push(`instanceType: ${T(e.instanceType)}`),e.amiHardwareType!==void 0&&t.push(`amiHardwareType: ${T(e.amiHardwareType)}`),e.minCapacity!==void 0&&t.push(`minCapacity: ${e.minCapacity}`),e.maxCapacity!==void 0&&t.push(`maxCapacity: ${e.maxCapacity}`),e.memoryLimitMiB!==void 0&&t.push(`memoryLimitMiB: ${e.memoryLimitMiB}`),e.warmPool!==void 0&&t.push(`warmPool: ${G(e.warmPool," ")}`),e.extraProperties?.length)for(let n of e.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
252
+ ssh: false,`),t+=fe(e.extraProperties),t}KL(Ea,"generateEc2Code");var YL=Object.defineProperty,Dt=(e,t)=>YL(e,"name",{value:t,configurable:!0});function eT(e){let t=[];if(e.instanceType!==void 0&&t.push(`instanceType: ${T(e.instanceType)}`),e.amiHardwareType!==void 0&&t.push(`amiHardwareType: ${T(e.amiHardwareType)}`),e.minCapacity!==void 0&&t.push(`minCapacity: ${e.minCapacity}`),e.maxCapacity!==void 0&&t.push(`maxCapacity: ${e.maxCapacity}`),e.memoryLimitMiB!==void 0&&t.push(`memoryLimitMiB: ${e.memoryLimitMiB}`),e.warmPool!==void 0&&t.push(`warmPool: ${G(e.warmPool," ")}`),e.extraProperties?.length)for(let n of e.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
253
253
  ec2Config: ${Ni(t," "," ")},`}Dt(eT,"generateEcsServiceEc2ConfigCode");function tT(e){if(!e.cluster)return"";let t=[];if(e.cluster.directAccess&&t.push("directAccess: true"),e.cluster.domain&&t.push(`domain: ${T(e.cluster.domain)}`),e.cluster.loadBalancer!==void 0&&t.push(e.cluster.loadBalancer===!1?"loadBalancer: false":`loadBalancer: ${T(e.cluster.loadBalancer)}`),e.cluster.extraProperties?.length)for(let n of e.cluster.extraProperties)t.push(`${n.key}: ${n.sourceText}`);return`
254
254
  cluster: ${Ni(t," "," ")},`}Dt(tT,"generateEcsClusterCode");function rT(e,t,n,i,r,o){let a="";e.name&&(a+=`
255
255
  name: ${T(e.name)},`),e.image&&(a+=`
@@ -290,14 +290,14 @@ ${Pi(m," ")}
290
290
  ecrRepository: app.getDefaultContainerRegistry(),`;if(c+=tT(e),e.services?.length){c+=`
291
291
  services: [{`;for(let u=0;u<e.services.length;u++){let l=e.services[u];l&&(u>0&&(c+=`
292
292
  }, {`),c+=aT({service:l,isFirstService:u===0,hasConnections:n,dbEnvVars:r,storageEnvVars:o,messagingEnvVars:a,baseEnvVars:i,plan:t,compute:e}))}c+=`
293
- }],`}return c+=fe(e.extraProperties),c+=cn(),c}Dt(xa,"generateEcsCode");var YL=Object.defineProperty,XL=(e,t)=>YL(e,"name",{value:t,configurable:!0});function Qu(e,t){if(e.compute.length===0)return"";let n="";for(let i=0;i<e.compute.length;i++){let r=e.compute[i],o=t.has(r.name)||r.scheduleExpression!==void 0,a=ie(r),c=e.database.length>0||e.s3.length>0||i>0,u=o?`const ${a} = `:"";switch(n+=`${c?`
293
+ }],`}return c+=fe(e.extraProperties),c+=cn(),c}Dt(xa,"generateEcsCode");var XL=Object.defineProperty,JL=(e,t)=>XL(e,"name",{value:t,configurable:!0});function Qu(e,t){if(e.compute.length===0)return"";let n="";for(let i=0;i<e.compute.length;i++){let r=e.compute[i],o=t.has(r.name)||r.scheduleExpression!==void 0,a=ie(r),c=e.database.length>0||e.s3.length>0||i>0,u=o?`const ${a} = `:"";switch(n+=`${c?`
294
294
  `:""}${u}app.addCompute(
295
295
  ComputeFactory.build(${T(r.name)}, {
296
296
  type: ${T(r.type)},`,r.type){case"lambda":n+=Sa(r),n+=_a(r,e);break;case"ec2":n+=Ea(r);break;case"ecs":n+=xa(r,e);break;default:{let l=r.type;throw new Error(`Unhandled compute type: ${String(l)}`)}}n+=`
297
297
  })
298
298
  );
299
299
  `,r.scheduleExpression!==void 0&&(n+=`app.addSchedule(${T(`${r.name}Schedule`)}, { schedule: ${T(r.scheduleExpression)}, target: ${a} });
300
- `)}return n}XL(Qu,"generateComputeCode");var JL=Object.defineProperty,wi=(e,t)=>JL(e,"name",{value:t,configurable:!0});function sT(e){let t="";return t+=O(e.bucketName!==void 0,"bucketName",e.bucketName,"string"),t+=O(e.stackPlacement!==void 0&&e.stackPlacement!=="storage","stackPlacement",e.stackPlacement,"string"),t+=O(e.publicReadAccess===!0,"publicReadAccess",!0),t+=O(e.websiteHosting!==void 0,"websiteHosting",e.websiteHosting,"object"),t+=O(e.backupVaultTier!==void 0,"backupVaultTier",e.backupVaultTier,"string"),t+=O(e.versioned!==void 0,"versioned",e.versioned),t+=O(e.encryption!==void 0,"encryption",e.encryption,"string"),t+=O(e.kmsKeyArn!==void 0,"kmsKeyArn",e.kmsKeyArn,"string"),t+=O(e.cors!==void 0&&e.cors.length>0,"cors",e.cors,"object"),t+=O(e.deployment!==void 0,"deployment",e.deployment,"object"),t+=O(e.retain===!0,"retain",!0),t}wi(sT,"generateS3BucketProps");function Wv(e,t){return!!(t.compute.some(n=>n.connectedStorage?.includes(e.name))||t.cdn&&(t.cdn.defaultOriginRef===e.name||t.cdn.behaviours?.some(n=>n.originRef===e.name)))}wi(Wv,"s3NeedsVariable");function el(e){if(e.s3.length===0)return"";let t="";for(let n=0;n<e.s3.length;n++){let i=e.s3[n],r=ie(i),o=Wv(i,e),a=e.database.length>0||n>0?`
300
+ `)}return n}JL(Qu,"generateComputeCode");var QL=Object.defineProperty,wi=(e,t)=>QL(e,"name",{value:t,configurable:!0});function sT(e){let t="";return t+=O(e.bucketName!==void 0,"bucketName",e.bucketName,"string"),t+=O(e.stackPlacement!==void 0&&e.stackPlacement!=="storage","stackPlacement",e.stackPlacement,"string"),t+=O(e.publicReadAccess===!0,"publicReadAccess",!0),t+=O(e.websiteHosting!==void 0,"websiteHosting",e.websiteHosting,"object"),t+=O(e.backupVaultTier!==void 0,"backupVaultTier",e.backupVaultTier,"string"),t+=O(e.versioned!==void 0,"versioned",e.versioned),t+=O(e.encryption!==void 0,"encryption",e.encryption,"string"),t+=O(e.kmsKeyArn!==void 0,"kmsKeyArn",e.kmsKeyArn,"string"),t+=O(e.cors!==void 0&&e.cors.length>0,"cors",e.cors,"object"),t+=O(e.deployment!==void 0,"deployment",e.deployment,"object"),t+=O(e.retain===!0,"retain",!0),t}wi(sT,"generateS3BucketProps");function Wv(e,t){return!!(t.compute.some(n=>n.connectedStorage?.includes(e.name))||t.cdn&&(t.cdn.defaultOriginRef===e.name||t.cdn.behaviours?.some(n=>n.originRef===e.name)))}wi(Wv,"s3NeedsVariable");function el(e){if(e.s3.length===0)return"";let t="";for(let n=0;n<e.s3.length;n++){let i=e.s3[n],r=ie(i),o=Wv(i,e),a=e.database.length>0||n>0?`
301
301
  `:"",c=sT(i),u=o?`const ${r} = `:"",l=fe(i.extraProperties);c||l?t+=`${a}${u}app.addStorage(
302
302
  StorageFactory.build(${T(i.name)}, {${c}${l}
303
303
  })
@@ -346,7 +346,7 @@ ${r}app.addMessaging(
346
346
  removalPolicy: ${T(n.removalPolicy)}`),t+=",",t+=fe(n.extraProperties),t+=cn(),t+=`
347
347
  })
348
348
  );
349
- `}return t}wi(rl,"generateSQSCode");var QL=Object.defineProperty,lt=(e,t)=>QL(e,"name",{value:t,configurable:!0}),jt=Object.freeze({database:{type:"Instance",backupRetention:7,deletionProtection:!0},compute:{server:{memorySize:1536,timeout:30},imageOptimisation:{memorySize:1536,timeout:30},revalidation:{memorySize:768,timeout:300}}});function gn(e,t,n){return t===void 0?"":`
349
+ `}return t}wi(rl,"generateSQSCode");var eU=Object.defineProperty,lt=(e,t)=>eU(e,"name",{value:t,configurable:!0}),jt=Object.freeze({database:{type:"Instance",backupRetention:7,deletionProtection:!0},compute:{server:{memorySize:1536,timeout:30},imageOptimisation:{memorySize:1536,timeout:30},revalidation:{memorySize:768,timeout:300}}});function gn(e,t,n){return t===void 0?"":`
350
350
  ${n}${e}: ${t},`}lt(gn,"emitScalar");function Mt(e,t,n){return t===void 0?"":`
351
351
  ${n}${e}: ${JSON.stringify(t)},`}lt(Mt,"emitStringField");function Aa(e,t,n){return t===void 0?"":t===!1?`
352
352
  ${n}${e}: false,`:`
@@ -379,11 +379,11 @@ ${t}domain: ${JSON.stringify(e.domain)},`),n+=ut("forms",e.forms,t),n+=ut("cdn",
379
379
  })
380
380
  );
381
381
 
382
- `,n}lt(Ia,"generatePatternCodeWithComments");var eU=Object.defineProperty,er=(e,t)=>eU(e,"name",{value:t,configurable:!0}),$a="fjall:costAllocation:owner",tU="engineering";function gT(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}er(gT,"isEmptyObject");function qv(e){let t={...e};return gT(t.flowLogs)&&delete t.flowLogs,t}er(qv,"cleanNetworkConfig");function Ta(e){if(!e.additionalNetworks||e.additionalNetworks.length===0)return"";let t="";for(let n of e.additionalNetworks){let i=Qt(n.name),r={};n.maxAzs!==void 0&&(r.maxAzs=n.maxAzs),n.natGateways!==void 0&&(r.natGateways=n.natGateways),n.flowLogs!==void 0&&(r.flowLogs=n.flowLogs),n.vpcEndpoints!==void 0&&(r.vpcEndpoints=n.vpcEndpoints);let o=qv(r);t+=`const ${i} = app.addNetwork(
382
+ `,n}lt(Ia,"generatePatternCodeWithComments");var tU=Object.defineProperty,er=(e,t)=>tU(e,"name",{value:t,configurable:!0}),$a="fjall:costAllocation:owner",rU="engineering";function gT(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}er(gT,"isEmptyObject");function qv(e){let t={...e};return gT(t.flowLogs)&&delete t.flowLogs,t}er(qv,"cleanNetworkConfig");function Ta(e){if(!e.additionalNetworks||e.additionalNetworks.length===0)return"";let t="";for(let n of e.additionalNetworks){let i=Qt(n.name),r={};n.maxAzs!==void 0&&(r.maxAzs=n.maxAzs),n.natGateways!==void 0&&(r.natGateways=n.natGateways),n.flowLogs!==void 0&&(r.flowLogs=n.flowLogs),n.vpcEndpoints!==void 0&&(r.vpcEndpoints=n.vpcEndpoints);let o=qv(r);t+=`const ${i} = app.addNetwork(
383
383
  NetworkFactory.build("${n.name}", ${G(o," ")})
384
384
  );
385
385
 
386
- `}return t}er(Ta,"generateNetworkCode");function nl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[$a]||(t[$a]=e.owner||tU),`app.addTags({
386
+ `}return t}er(Ta,"generateNetworkCode");function nl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[$a]||(t[$a]=e.owner||rU),`app.addTags({
387
387
  ${Object.entries(t).map(([n,i])=>` "${n}": "${i}"`).join(`,
388
388
  `)}
389
389
  });
@@ -425,10 +425,10 @@ app.addCdn(
425
425
  accessGate: ${G(e.cdn.accessGate," ")}`),n+=fe(e.cdn.extraProperties),n+=`
426
426
  })
427
427
  );
428
- `,n}er(al,"generateCDNCode");function sl(e){let t=new Set;if(e.cdn&&(e.cdn.defaultOriginRef&&t.add(e.cdn.defaultOriginRef),e.cdn.behaviours))for(let n of e.cdn.behaviours)t.add(n.originRef);return t}er(sl,"collectCdnReferencedResources");function cl(e){return e.patternConfig!==void 0}er(cl,"usesPatternApproach");var rU=Object.defineProperty,hn=(e,t)=>rU(e,"name",{value:t,configurable:!0}),Ra="service",Kv="0 4 * * ? *",Yv="0 5 * * ? *",tr=Object.freeze({tinkerer:{displayName:"Tinkerer",description:"Free tier eligible, minimal cost for experimentation",database:{Instance:{instanceType:"t4g.micro",multiAz:!1,proxy:!1,readReplica:!1,publiclyAccessible:!0},Aurora:null,GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Ra,capacityProvider:"EC2",desiredCount:1,minCapacity:1,maxCapacity:1,ec2Config:{instanceType:"t4g.micro",amiHardwareType:"ARM",minCapacity:1,maxCapacity:1,memoryLimitMiB:400}}],cluster:{directAccess:!0}},lambda:{timeout:30,memory:128}},network:{maxAzs:2,natGateways:!1,flowLogs:!1},backup:!1},lightweight:{displayName:"Lightweight",description:"Streamlined single-AZ deployment for cost efficiency",database:{Instance:{instanceType:"t4g.small",multiAz:!1},Aurora:{readers:!1},GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE_SPOT",cpu:256,memoryLimitMiB:512,desiredCount:1,minCapacity:1,maxCapacity:3}]},lambda:{timeout:30,memory:256}},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready with sensible defaults",database:{Instance:{instanceType:"t4g.large"},Aurora:{readers:{count:1}},GlobalAurora:{readers:{count:1}},ClickHouse:{instanceType:"t4g.medium",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:512,memoryLimitMiB:1024,desiredCount:2,minCapacity:2,maxCapacity:5}]},lambda:{timeout:60,memory:256}},network:{maxAzs:3,natGateways:{count:1},flowLogs:{},vpcEndpoints:{interface:{ecr:!0}}},backup:!1},resilient:{displayName:"Resilient",description:"High availability with enhanced monitoring and scaling",database:{Instance:{instanceType:"r7g.large",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.large",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:1024,memoryLimitMiB:2048,desiredCount:4,minCapacity:4,maxCapacity:20}]},lambda:{timeout:120,memory:512}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0}}},backup:{tier:"resilient"}},enterprise:{displayName:"Enterprise",description:"Maximum capability with all features enabled",database:{Instance:{instanceType:"r7g.xlarge",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},readReplica:{}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.xlarge",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:30}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:2048,memoryLimitMiB:4096,desiredCount:6,minCapacity:6,maxCapacity:100}]},lambda:{timeout:300,memory:1024}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{destination:"s3",retentionDays:365},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0,kms:!0,cloudwatchLogs:!0}}},backup:{tier:"enterprise"}}});function nU(e,t){return tr[e].database[t]}hn(nU,"getDatabasePreset");function iU(e){return tr[e].compute.ecs}hn(iU,"getEcsPreset");function Xv(e){return tr[e].network}hn(Xv,"getNetworkPreset");function hT(e){return _u.filter(t=>tr[t].database[e]!==null)}hn(hT,"getAvailableTiersForDatabase");function oU(e){return hT(e).map(t=>({label:tr[t].displayName,value:t,description:tr[t].description}))}hn(oU,"getTierOptionsForDatabase");function Jv(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}hn(Jv,"getDefaultDatabaseTypeForTier");function Qv(e,t){let n=tr[e].compute.ecs,i=n.services[0],r=!n.cluster?.directAccess&&n.cluster?.loadBalancer!==!1,o=t.filter(c=>c.serviceType!=="worker").length,a=t.findIndex(c=>c.serviceType!=="worker");return t.map((c,u)=>{let l=u===a,m=c.serviceType==="worker",p;return r&&!m&&(c.routing?p=c.routing:o>1&&(p={path:l?"/*":`/${c.name.toLowerCase()}/*`,...l?{}:{priority:100+u}})),{name:c.name,capacityProvider:i.capacityProvider,ec2Config:i.ec2Config,cpu:i.cpu,memoryLimitMiB:i.memoryLimitMiB,desiredCount:i.desiredCount,minCapacity:i.minCapacity,maxCapacity:i.maxCapacity,routing:p}})}hn(Qv,"applyTierDefaultsToServices");var aU=Object.defineProperty,eb=(e,t)=>aU(e,"name",{value:t,configurable:!0}),Ca=["lightweight","standard","resilient"],sU=[...Ca,"custom"],Tr=Object.freeze({lightweight:{displayName:"Lightweight",description:"Cost-effective \xB7 Instance DB, minimal Lambda",database:{type:"Instance",instanceType:"t4g.small",backupRetention:7,deletionProtection:!1},compute:{memorySize:512,timeout:30},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready \xB7 Instance DB, balanced Lambda",database:{type:"Instance",instanceType:"t4g.large",backupRetention:14,deletionProtection:!0},compute:{memorySize:1536,timeout:60},network:{maxAzs:3,natGateways:{count:1},flowLogs:{}},backup:{tier:"standard"}},resilient:{displayName:"Resilient",description:"High-availability \xB7 Aurora V2, KMS encryption",database:{type:"Aurora",backupRetention:30,deletionProtection:!0,encryption:{useCMK:!0}},compute:{memorySize:2048,timeout:120},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90}},backup:{tier:"resilient"}}});function ul(e){return Tr[e]}eb(ul,"getPatternTierPreset");function vT(){return[{label:Tr.standard.displayName,value:"standard",description:Tr.standard.description},{label:Tr.lightweight.displayName,value:"lightweight",description:Tr.lightweight.description},{label:Tr.resilient.displayName,value:"resilient",description:Tr.resilient.description},{label:"Custom",value:"custom",description:"Full control \xB7 Configure everything"}]}eb(vT,"getPatternTierOptions");var cU=new Set(Ca);function ll(e){return cU.has(e)}eb(ll,"isPatternTierName");var uU=Object.defineProperty,bT=(e,t)=>uU(e,"name",{value:t,configurable:!0}),yT=Object.freeze({standard:{},assets:{versioned:!0,deployment:{source:"./assets"}},upload:{versioned:!0,cors:[{allowedOrigins:["*"],allowedMethods:["GET","PUT","POST"]}]},website:{publicReadAccess:!0,websiteHosting:{indexDocument:"index.html",errorDocument:"error.html"}}});function ST(e){return{...yT[e]}}bT(ST,"getStoragePreset");function _T(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}bT(_T,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var lU=Object.defineProperty,ki=(e,t)=>lU(e,"name",{value:t,configurable:!0});function B(e){let t={};for(let n of e.properties){if(!D.isPropertyAssignment(n))continue;let i=D.isIdentifier(n.name)||D.isStringLiteral(n.name)?n.name.text:void 0;i!==void 0&&(t[i]=Rr(n.initializer))}return t}ki(B,"parseObjectLiteral");function Rr(e){if(D.isStringLiteral(e))return e.text;if(D.isNumericLiteral(e))return Number(e.text);if(e.kind===D.SyntaxKind.TrueKeyword)return!0;if(e.kind===D.SyntaxKind.FalseKeyword)return!1;if(D.isArrayLiteralExpression(e))return e.elements.map(t=>Rr(t));if(D.isObjectLiteralExpression(e))return B(e);if(D.isIdentifier(e))return{__identifier:e.text};if(D.isPropertyAccessExpression(e))return{__expression:e.getText()};if(D.isCallExpression(e))return{__call:e.getText()};if(D.isBinaryExpression(e)&&e.operatorToken.kind===D.SyntaxKind.BarBarToken){let t=Rr(e.left),n=Rr(e.right);return typeof n=="string"?n:t}else if(D.isConditionalExpression(e)){let t=Rr(e.whenTrue),n=Rr(e.whenFalse);return typeof n=="string"||typeof n=="number"?n:t}else if(D.isTemplateExpression(e)||D.isNoSubstitutionTemplateLiteral(e))return{__expression:e.getText()};return{__unknown:e.getText()}}ki(Rr,"evaluateExpression");function Pa(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer){if(D.isStringLiteral(i.initializer))return i.initializer.text;if(D.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer);return JSON.stringify(r)}}}})}ki(Pa,"findVariableValue");function tb(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer&&D.isObjectLiteralExpression(i.initializer))return B(i.initializer)}})}ki(tb,"findObjectDeclaration");function Na(e,t){if(!D.isIdentifier(t.expression))return;let n=tb(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}ki(Na,"evaluatePropertyAccess");function dl(e,t){let n=t.head.text;for(let i of t.templateSpans){if(D.isIdentifier(i.expression)){let r=Pa(e,i.expression.text);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else if(D.isPropertyAccessExpression(i.expression)){let r=Na(e,i.expression);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else return t.getText(e).replace(/^`|`$/g,"");n+=i.literal.text}return n}ki(dl,"resolveTemplateLiteral");var dU=Object.defineProperty,J=(e,t)=>dU(e,"name",{value:t,configurable:!0});function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}J(dt,"isPlainObject");function rr(e){return dt(e)&&"__identifier"in e}J(rr,"isIdentifierRef");function Cr(e){return dt(e)&&"__expression"in e}J(Cr,"isExpressionRef");function Et(e){return dt(e)&&"__call"in e}J(Et,"isCallRef");function C(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(C,"isParsedObject");function b(e){return typeof e=="string"?e:void 0}J(b,"asString");function R(e){return typeof e=="number"?e:void 0}J(R,"asNumber");function j(e){return typeof e=="boolean"?e:void 0}J(j,"asBoolean");function ue(e){if(!Array.isArray(e))return;let t=[];for(let n of e)typeof n=="string"&&t.push(n);return t.length>0?t:void 0}J(ue,"asStringArray");function U(e,t){let n=b(e);if(n!==void 0)return ct(t,n)?n:void 0}J(U,"asStringUnion");function qe(e){let t={};for(let[n,i]of Object.entries(e))i!==void 0&&(t[n]=i);return t}J(qe,"omitUndefined");function ml(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(ml).join(", ")}]`;if(!dt(e))return String(e);if(rr(e))return e.__identifier;if(Cr(e))return e.__expression;if(Et(e))return e.__call;if("__unknown"in e&&typeof e.__unknown=="string")return e.__unknown;let t=Object.entries(e);return t.length===0?"{}":`{ ${t.map(([n,i])=>`${n}: ${ml(i)}`).join(", ")} }`}J(ml,"parsedValueToSourceText");function ce(e,t){let n=[];for(let[i,r]of Object.entries(e))t.has(i)||r===void 0||n.push({key:i,sourceText:ml(r)});return n}J(ce,"captureExtraProperties");function Pr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Pr,"isNamedProperty");function zt(e){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="getApp"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text==="App"}J(zt,"isAppGetAppCall");function xe(e,t){let{expression:n}=e;return ge.isPropertyAccessExpression(n)&&n.name.text===t&&e.arguments.length>0}J(xe,"isFactoryMethodCall");function et(e,t){let n,i=J(r=>{n===void 0&&(n=t(r),n===void 0&&ge.forEachChild(r,i))},"visit");return i(e),n}J(et,"findFirstInAst");function Ce(e,t){let n=[],i=J(r=>{let o=t(r);o!==null&&n.push(o),ge.forEachChild(r,i)},"visit");return i(e),n}J(Ce,"collectFromAst");function Le(e,t){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="build"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text===t}J(Le,"isFactoryBuildCall");function tt(e){let t=e.parent;if(ge.isVariableDeclaration(t)&&ge.isIdentifier(t.name))return t.name.text}J(tt,"extractVariableName");var mt=J(()=>e=>e,"typed");function Oi(e){if(e!=null){if(e===!1)return!1;if(typeof e=="object"&&!Array.isArray(e))return e}}J(Oi,"asObjectOrFalse");function nr(e,t){return e===!1?!1:C(e)?t(e):void 0}J(nr,"parseBooleanOrConfig");function Pe(e,t){return C(e)?t(e):void 0}J(Pe,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return C(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as Di from"typescript";var mU=Object.defineProperty,rt=(e,t)=>mU(e,"name",{value:t,configurable:!0});function wa(e){return e!==void 0&&dt(e)}rt(wa,"isEnvironmentRecord");function ET(e){if(!C(e))return;let t={};for(let[n,i]of Object.entries(e))if(C(i)){let r=b(i.id),o=b(i.name);r&&o&&(t[n]={id:r,name:o,field:b(i.field)})}return Object.keys(t).length>0?t:void 0}rt(ET,"parseContainerSecretsImport");function xT(e){if(!C(e))return;let t=ue(e.command);if(!(!t||t.length===0))return{command:t,interval:R(e.interval),timeout:R(e.timeout),retries:R(e.retries),startPeriod:R(e.startPeriod)}}rt(xT,"parseContainerHealthCheck");function AT(e){let t=ce(e,new Set(["name","image","port","environment","essential","command","entryPoint","secretsImport","secrets","healthCheck"]));return{name:b(e.name),image:b(e.image),port:R(e.port),environment:wa(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:ET(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:xT(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(AT,"parseServiceContainer");function IT(e){if(Array.isArray(e))return e.filter(C).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(C(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(IT,"parseServiceRouting");function $T(e){if(e===!1)return!1;if(C(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Iu)}}rt($T,"parseServiceScaling");var pU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function TT(e){if(!C(e))return;let t=e.warmPool,n=C(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,pU);return{instanceType:b(e.instanceType),amiHardwareType:U(e.amiHardwareType,$u),minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),memoryLimitMiB:R(e.memoryLimitMiB),warmPool:n,extraProperties:i.length>0?i:void 0}}rt(TT,"parseServiceEc2Config");var fU=new Set(["domain","loadBalancer","directAccess"]);function rb(e){if(!C(e))return;let t=e.loadBalancer,n=ce(e,fU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Au),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(rb,"extractClusterConfig");function nb(e){let t=e.containers,n=Array.isArray(t)?t.filter(C).map(AT):void 0,i=ce(e,new Set(["name","image","docker","ssmSecretsPath","containers","routing","connections","cpu","memoryLimitMiB","desiredCount","scaling","capacityProvider","ec2Config"]));return{name:b(e.name)??"",image:b(e.image),docker:RT(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:IT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:$T(e.scaling),capacityProvider:U(e.capacityProvider,yi)??"FARGATE",ec2Config:TT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(nb,"parseEcsService");function RT(e){if(!C(e))return;let t=b(e.path);if(t===void 0)return;let n=b(e.context),i=b(e.target);return{path:t,...n!==void 0&&{context:n},...i!==void 0&&{target:i}}}rt(RT,"parseServiceDocker");function ka(e,t){let n=b(e);if(n)return n;if(Cr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(ka,"extractEnumString");function ib(e){return Et(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(ib,"extractCallStringArg");function Ne(e,t,n){n!==void 0&&(e[t]=n)}rt(Ne,"assignIfDefined");var gU=Object.defineProperty,pl=(e,t)=>gU(e,"name",{value:t,configurable:!0}),hU=10;function ob(e,t){return Array.isArray(e)?e.filter(rr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}pl(ob,"resolveConnectedDatabaseNames");function ab(e,t){return Array.isArray(e)?e.filter(rr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}pl(ab,"resolveConnectedStorageNames");function sb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!C(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!C(o)||!C(o.environment))return;let a=o.environment;(a.DATABASE_HOST||a.DATABASE_PORT||a.DATABASE_NAME)&&(e.needsConnection=!0,n.length>0&&(e.connectedDatabase??[]).length===0&&(e.connectedDatabase=[n[0].name]));for(let c=1;c<=hU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}pl(sb,"inferDatabaseConnectionsFromEnv");function cb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!C(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!C(o)||!C(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}pl(cb,"inferStorageConnectionsFromEnv");var vU=Object.defineProperty,ir=(e,t)=>vU(e,"name",{value:t,configurable:!0});function CT(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];if(!Di.isStringLiteral(t)||!Di.isObjectLiteralExpression(n))return null;let i=t.text,r=B(n);return{resourceName:i,type:b(r.type)??"ecs",config:r,node:e}}ir(CT,"extractComputeResource");function fl(e){return Ce(e,t=>{if(!Di.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=CT(n);if(i){let r=tt(t);r&&(i.variableName=r)}return i})}ir(fl,"findComputeResources");function gl(e,t,n){let i=ce(e.config,n);i.length>0&&(t.extraProperties=i)}ir(gl,"applyExtras");function PT(e,t){let n=e.config.docker;if(C(n)){let o=b(n.path),a=b(n.context),c=b(n.target);(o!==void 0||a!==void 0||c!==void 0)&&(t.docker={...o!==void 0&&{path:o},...a!==void 0&&{context:a},...c!==void 0&&{target:c}})}let i=e.config.cluster;i!==void 0&&(t.cluster=rb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>C(o)).map(nb)),gl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}ir(PT,"convertEcsCompute");function NT(e,t){if(Ne(t,"deployment",U(e.config.deployment,Eu)),Ne(t,"timeout",R(e.config.timeout)),Ne(t,"memory",R(e.config.memorySize)??R(e.config.memory)),Ne(t,"handler",b(e.config.handler)),Ne(t,"runtime",ka(e.config.runtime,"Runtime")),wa(e.config.environment)&&(t.environment=e.config.environment),wa(e.config.secrets))t.secrets=e.config.secrets;else{let r=ue(e.config.secrets);r&&(t.ssmSecrets=r)}let n=e.config.functionUrl;if(C(n)){let r=U(ka(n.authType,"FunctionUrlAuthType"),ra);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=ib(i);r&&(t.codePath=r)}Ne(t,"description",b(e.config.lambdaDescription)),Ne(t,"architecture",U(ka(e.config.architecture,"Architecture"),xu)),Ne(t,"ephemeralStorageSize",R(e.config.ephemeralStorageSize)),Ne(t,"functionName",b(e.config.functionName)),Ne(t,"ssmSecretsPath",b(e.config.ssmSecretsPath)),gl(e,t,new Set(["type","deployment","timeout","memorySize","memory","handler","runtime","environment","secrets","functionUrl","code","connections","ecrRepository","containerSecretsImport","lambdaDescription","architecture","ephemeralStorageSize","functionName","ssmSecretsPath"]))}ir(NT,"convertLambdaCompute");function wT(e,t){Ne(t,"instanceType",U(e.config.instanceType,Tu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&C(n)?t.enableSSH=!0:Ne(t,"enableSSH",j(e.config.enableSSH)),Ne(t,"keyName",b(e.config.keyName)),Ne(t,"userData",b(e.config.userData)),e.config.securityGroups!==void 0&&(t.securityGroups=ue(e.config.securityGroups)),gl(e,t,new Set(["type","instanceType","ssh","enableSSH","keyName","userData","securityGroups","connections"]))}ir(wT,"convertEc2Compute");function kT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];C(c)&&(r=c.connections)}if(!r)return;let o=ob(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=ab(r,i);a.length>0&&(e.connectedStorage=a)}ir(kT,"applyConnectionConfig");function OT(e,t){({ecs:PT,lambda:NT,ec2:wT})[e.type]?.(t,e)}ir(OT,"applyTypeSpecificConfig");function ub(e,t,n,i){return e.map(r=>{let o=U(r.config.type,ea)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return kT(a,r,t,n),OT(a,r),sb(a,r.config.services,i.database),cb(a,r.config.services,i.s3),a})}ir(ub,"convertComputeResources");import*as ft from"typescript";var bU=Object.defineProperty,yU=(e,t)=>bU(e,"name",{value:t,configurable:!0});function hl(e){return Ce(e,t=>{if(!ft.isCallExpression(t)||!xe(t,"addSchedule")||t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!ft.isStringLiteral(n)||!ft.isObjectLiteralExpression(i))return null;let r=B(i),o=b(r.schedule);if(o===void 0)return null;let a=i.properties.find(c=>ft.isPropertyAssignment(c)&&ft.isIdentifier(c.name)&&c.name.text==="target");return!a||!ft.isPropertyAssignment(a)||!ft.isIdentifier(a.initializer)?null:{id:n.text,schedule:o,targetVariableName:a.initializer.text}})}yU(hl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var SU=Object.defineProperty,Oa=(e,t)=>SU(e,"name",{value:t,configurable:!0}),lb=new Set(["S3Bucket"]);function DT(e,t,n){let i=Ue.isIdentifier(e.name)?e.name.text:"";if(t.arguments&&t.arguments.length>=2){let r=t.arguments[1],o=Ue.isStringLiteral(r)?r.text:"",a=t.arguments.length>=3?t.arguments[2]:void 0,c=a&&Ue.isObjectLiteralExpression(a)?B(a):{};return{variableName:i,resourceName:o,bucketClass:n,config:c,node:e}}return null}Oa(DT,"extractS3Resource");function MT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Ue.isStringLiteral(n)||!Ue.isObjectLiteralExpression(i))return null;let r=B(i);return{variableName:tt(e)??"",resourceName:n.text,bucketClass:"StorageFactory",config:r,node:e}}Oa(MT,"extractS3FactoryResource");function db(e){return Ce(e,t=>{if(!Ue.isVariableDeclaration(t)||!t.initializer||!Ue.isNewExpression(t.initializer))return null;let n=t.initializer;if(!Ue.isIdentifier(n.expression))return null;let i=n.expression.text;return lb.has(i)?DT(t,n,i):null})}Oa(db,"findS3Resources");function mb(e){return Ce(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?MT(t,n):null})}Oa(mb,"findS3FactoryResources");function pb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...C(t.config.websiteHosting)&&(()=>{let n=t.config.websiteHosting;return{websiteHosting:{indexDocument:b(n.indexDocument)??"index.html",...b(n.errorDocument)&&{errorDocument:b(n.errorDocument)}}}})(),...U(t.config.backupVaultTier,St)&&{backupVaultTier:U(t.config.backupVaultTier,St)},...j(t.config.versioned)!==void 0&&{versioned:j(t.config.versioned)},...U(t.config.encryption,xi)&&{encryption:U(t.config.encryption,xi)},...b(t.config.kmsKeyArn)&&{kmsKeyArn:b(t.config.kmsKeyArn)},...Array.isArray(t.config.cors)&&t.config.cors.length>0&&{cors:t.config.cors.filter(C).map(n=>({allowedOrigins:Array.isArray(n.allowedOrigins)?n.allowedOrigins.filter(i=>typeof i=="string"):[],allowedMethods:Array.isArray(n.allowedMethods)?n.allowedMethods.filter(i=>typeof i=="string"):[]}))},...C(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...C(n.cacheControl)&&(()=>{let i=n.cacheControl;return{cacheControl:{...R(i.maxAge)!==void 0&&{maxAge:R(i.maxAge)},...j(i.immutable)!==void 0&&{immutable:j(i.immutable)}}}})()}}})(),...U(t.config.stackPlacement,Uu)&&{stackPlacement:U(t.config.stackPlacement,Uu)},...t.variableName&&{variableName:t.variableName},...(()=>{let n=new Set(["bucketName","publicReadAccess","websiteHosting","backupVaultTier","versioned","encryption","kmsKeyArn","cors","deployment","stackPlacement"]),i=ce(t.config,n);return i.length>0?{extraProperties:i}:{}})()}))}Oa(pb,"convertS3Resources");var _U=Object.defineProperty,vn=(e,t)=>_U(e,"name",{value:t,configurable:!0}),jT=new Set(["App","Architecture","DatabaseFactory","StorageFactory","ComputeFactory","getConfig","MessagingFactory","CdnFactory","Code","Runtime","FunctionUrlAuthType","NetworkFactory","PatternFactory","VpcPeerFactory","VpcPeerAccepterFactory","CrossPlanConnectionFactory"]);function vl(e){return!!(e.startsWith("@fjall/")||e==="aws-cdk-lib"||e.startsWith("aws-cdk-lib/")||e==="constructs")}vn(vl,"isManagedModuleSpecifier");function Ke(e){let t=[];for(let n of e.statements){let i=n.getFullStart(),r=n.getEnd();if(Q.isImportDeclaration(n)){t.push({type:"import",node:n,startPos:i,endPos:r,isManaged:zT(n)});continue}if(Q.isVariableStatement(n)){t.push(LT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(UT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}vn(Ke,"classifyStatements");function zT(e){return Q.isStringLiteral(e.moduleSpecifier)?vl(e.moduleSpecifier.text):!1}vn(zT,"isManagedImport");function LT(e,t,n){for(let i of e.declarationList.declarations)if(i.initializer){if(zt(i.initializer))return{type:"app-init",node:e,resourceName:Q.isIdentifier(i.name)?i.name.text:void 0,startPos:t,endPos:n,isManaged:!0};if(Q.isIdentifier(i.name)&&i.name.text==="appName"&&Q.isStringLiteral(i.initializer))return{type:"app-init",node:e,startPos:t,endPos:n,isManaged:!0};if(Q.isNewExpression(i.initializer)){let r=i.initializer;if(Q.isIdentifier(r.expression)){let o=r.expression.text;if(lb.has(o)){let a=r.arguments&&r.arguments.length>=2&&Q.isStringLiteral(r.arguments[1])?r.arguments[1].text:void 0;return{type:"storage",node:e,resourceName:a,startPos:t,endPos:n,isManaged:!0}}}}if(Q.isCallExpression(i.initializer)){let r=fb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}vn(LT,"classifyVariableStatement");function UT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?fb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}vn(UT,"classifyExpressionStatement");function fb(e,t,n,i){let r=e.expression;if(Q.isPropertyAccessExpression(r)&&Q.isIdentifier(r.expression)){let o=r.name.text;if(o==="addTags")return{type:"tags",node:t,startPos:n,endPos:i,isManaged:!0};let a={addDatabase:{type:"database",factory:"DatabaseFactory"},addCompute:{type:"compute",factory:"ComputeFactory"},addNetwork:{type:"network",factory:"NetworkFactory"},addMessaging:{type:"messaging",factory:"MessagingFactory"},addCdn:{type:"cdn",factory:"CdnFactory"},addPattern:{type:"pattern",factory:"PatternFactory"},addStorage:{type:"storage",factory:"StorageFactory"},addVpcPeer:{type:"vpc-peer",factory:"VpcPeerFactory"},addVpcPeerAccepter:{type:"vpc-peer-accepter",factory:"VpcPeerAccepterFactory"}}[o];if(a){let c=FT(e,a.factory);return{type:a.type,node:t,resourceName:c,startPos:n,endPos:i,isManaged:!0}}}return{type:"custom",node:t,startPos:n,endPos:i,isManaged:!1}}vn(fb,"classifyCallExpression");function FT(e,t){if(e.arguments.length===0)return;let n=e.arguments[0];if(!Q.isCallExpression(n))return;let i=n.expression;if(!Q.isPropertyAccessExpression(i)||i.name.text!=="build"||!Q.isIdentifier(i.expression)||i.expression.text!==t||n.arguments.length===0)return;let r=n.arguments[0];if(Q.isStringLiteral(r))return r.text}vn(FT,"extractResourceNameFromFactoryCall");import*as BT from"typescript";var EU=Object.defineProperty,bn=(e,t)=>EU(e,"name",{value:t,configurable:!0}),xU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function VT(e){if(!e)return{position:"before-imports"};let t=xU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}bn(VT,"determineCustomBlockPosition");function Da(e,t){let n=t??Ke(e),i=[],r=e.getFullText(),o=null;for(let a of n)if(a.type==="custom"&&!a.isManaged){let{position:c,afterManagedResource:u}=VT(o),l=ZT(r,a.node),m=GT(r,a.node),p=e.getLineAndCharacterOfPosition(a.node.getStart());i.push({sourceText:l,position:c,afterManagedResource:u,originalLine:p.line+1,leadingComments:m.length>0?m:void 0})}else a.isManaged&&(o=a);return i}bn(Da,"extractCustomCodeBlocks");function ZT(e,t){let n=t.getFullStart(),i=t.getEnd(),r=e.slice(n,i).split(`
428
+ `,n}er(al,"generateCDNCode");function sl(e){let t=new Set;if(e.cdn&&(e.cdn.defaultOriginRef&&t.add(e.cdn.defaultOriginRef),e.cdn.behaviours))for(let n of e.cdn.behaviours)t.add(n.originRef);return t}er(sl,"collectCdnReferencedResources");function cl(e){return e.patternConfig!==void 0}er(cl,"usesPatternApproach");var nU=Object.defineProperty,hn=(e,t)=>nU(e,"name",{value:t,configurable:!0}),Ra="service",Kv="0 4 * * ? *",Yv="0 5 * * ? *",tr=Object.freeze({tinkerer:{displayName:"Tinkerer",description:"Free tier eligible, minimal cost for experimentation",database:{Instance:{instanceType:"t4g.micro",multiAz:!1,proxy:!1,readReplica:!1,publiclyAccessible:!0},Aurora:null,GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Ra,capacityProvider:"EC2",desiredCount:1,minCapacity:1,maxCapacity:1,ec2Config:{instanceType:"t4g.micro",amiHardwareType:"ARM",minCapacity:1,maxCapacity:1,memoryLimitMiB:400}}],cluster:{directAccess:!0}},lambda:{timeout:30,memory:128}},network:{maxAzs:2,natGateways:!1,flowLogs:!1},backup:!1},lightweight:{displayName:"Lightweight",description:"Streamlined single-AZ deployment for cost efficiency",database:{Instance:{instanceType:"t4g.small",multiAz:!1},Aurora:{readers:!1},GlobalAurora:null,ClickHouse:null},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE_SPOT",cpu:256,memoryLimitMiB:512,desiredCount:1,minCapacity:1,maxCapacity:3}]},lambda:{timeout:30,memory:256}},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready with sensible defaults",database:{Instance:{instanceType:"t4g.large"},Aurora:{readers:{count:1}},GlobalAurora:{readers:{count:1}},ClickHouse:{instanceType:"t4g.medium",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:512,memoryLimitMiB:1024,desiredCount:2,minCapacity:2,maxCapacity:5}]},lambda:{timeout:60,memory:256}},network:{maxAzs:3,natGateways:{count:1},flowLogs:{},vpcEndpoints:{interface:{ecr:!0}}},backup:!1},resilient:{displayName:"Resilient",description:"High availability with enhanced monitoring and scaling",database:{Instance:{instanceType:"r7g.large",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:30,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.large",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:1024,memoryLimitMiB:2048,desiredCount:4,minCapacity:4,maxCapacity:20}]},lambda:{timeout:120,memory:512}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0}}},backup:{tier:"resilient"}},enterprise:{displayName:"Enterprise",description:"Maximum capability with all features enabled",database:{Instance:{instanceType:"r7g.xlarge",encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},readReplica:{}},Aurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35},GlobalAurora:{readers:{count:2},encryption:{storageKey:{useCMK:!0}},databaseInsights:{mode:"advanced",encryptionKey:{useCMK:!0}},proxy:{requireTLS:!0},backupRetention:35,enableGlobalWriteForwarding:!0},ClickHouse:{instanceType:"m6g.xlarge",coldTier:{mode:"s3"},optimiseSchedule:Kv,backupSchedule:Yv,backupRetentionDays:30}},compute:{ecs:{services:[{name:Ra,capacityProvider:"FARGATE",cpu:2048,memoryLimitMiB:4096,desiredCount:6,minCapacity:6,maxCapacity:100}]},lambda:{timeout:300,memory:1024}},network:{maxAzs:3,natGateways:{count:3},flowLogs:{destination:"s3",retentionDays:365},vpcEndpoints:{interface:{ecr:!0,secretsManager:!0,kms:!0,cloudwatchLogs:!0}}},backup:{tier:"enterprise"}}});function iU(e,t){return tr[e].database[t]}hn(iU,"getDatabasePreset");function oU(e){return tr[e].compute.ecs}hn(oU,"getEcsPreset");function Xv(e){return tr[e].network}hn(Xv,"getNetworkPreset");function hT(e){return _u.filter(t=>tr[t].database[e]!==null)}hn(hT,"getAvailableTiersForDatabase");function aU(e){return hT(e).map(t=>({label:tr[t].displayName,value:t,description:tr[t].description}))}hn(aU,"getTierOptionsForDatabase");function Jv(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}hn(Jv,"getDefaultDatabaseTypeForTier");function Qv(e,t){let n=tr[e].compute.ecs,i=n.services[0],r=!n.cluster?.directAccess&&n.cluster?.loadBalancer!==!1,o=t.filter(c=>c.serviceType!=="worker").length,a=t.findIndex(c=>c.serviceType!=="worker");return t.map((c,u)=>{let l=u===a,m=c.serviceType==="worker",p;return r&&!m&&(c.routing?p=c.routing:o>1&&(p={path:l?"/*":`/${c.name.toLowerCase()}/*`,...l?{}:{priority:100+u}})),{name:c.name,capacityProvider:i.capacityProvider,ec2Config:i.ec2Config,cpu:i.cpu,memoryLimitMiB:i.memoryLimitMiB,desiredCount:i.desiredCount,minCapacity:i.minCapacity,maxCapacity:i.maxCapacity,routing:p}})}hn(Qv,"applyTierDefaultsToServices");var sU=Object.defineProperty,eb=(e,t)=>sU(e,"name",{value:t,configurable:!0}),Ca=["lightweight","standard","resilient"],cU=[...Ca,"custom"],Tr=Object.freeze({lightweight:{displayName:"Lightweight",description:"Cost-effective \xB7 Instance DB, minimal Lambda",database:{type:"Instance",instanceType:"t4g.small",backupRetention:7,deletionProtection:!1},compute:{memorySize:512,timeout:30},network:{maxAzs:2,natGateways:{count:1},flowLogs:!1},backup:!1},standard:{displayName:"Standard",description:"Production-ready \xB7 Instance DB, balanced Lambda",database:{type:"Instance",instanceType:"t4g.large",backupRetention:14,deletionProtection:!0},compute:{memorySize:1536,timeout:60},network:{maxAzs:3,natGateways:{count:1},flowLogs:{}},backup:{tier:"standard"}},resilient:{displayName:"Resilient",description:"High-availability \xB7 Aurora V2, KMS encryption",database:{type:"Aurora",backupRetention:30,deletionProtection:!0,encryption:{useCMK:!0}},compute:{memorySize:2048,timeout:120},network:{maxAzs:3,natGateways:{count:3},flowLogs:{retentionDays:90}},backup:{tier:"resilient"}}});function ul(e){return Tr[e]}eb(ul,"getPatternTierPreset");function vT(){return[{label:Tr.standard.displayName,value:"standard",description:Tr.standard.description},{label:Tr.lightweight.displayName,value:"lightweight",description:Tr.lightweight.description},{label:Tr.resilient.displayName,value:"resilient",description:Tr.resilient.description},{label:"Custom",value:"custom",description:"Full control \xB7 Configure everything"}]}eb(vT,"getPatternTierOptions");var uU=new Set(Ca);function ll(e){return uU.has(e)}eb(ll,"isPatternTierName");var lU=Object.defineProperty,bT=(e,t)=>lU(e,"name",{value:t,configurable:!0}),yT=Object.freeze({standard:{},assets:{versioned:!0,deployment:{source:"./assets"}},upload:{versioned:!0,cors:[{allowedOrigins:["*"],allowedMethods:["GET","PUT","POST"]}]},website:{publicReadAccess:!0,websiteHosting:{indexDocument:"index.html",errorDocument:"error.html"}}});function ST(e){return{...yT[e]}}bT(ST,"getStoragePreset");function _T(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}bT(_T,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var dU=Object.defineProperty,ki=(e,t)=>dU(e,"name",{value:t,configurable:!0});function B(e){let t={};for(let n of e.properties){if(!D.isPropertyAssignment(n))continue;let i=D.isIdentifier(n.name)||D.isStringLiteral(n.name)?n.name.text:void 0;i!==void 0&&(t[i]=Rr(n.initializer))}return t}ki(B,"parseObjectLiteral");function Rr(e){if(D.isStringLiteral(e))return e.text;if(D.isNumericLiteral(e))return Number(e.text);if(e.kind===D.SyntaxKind.TrueKeyword)return!0;if(e.kind===D.SyntaxKind.FalseKeyword)return!1;if(D.isArrayLiteralExpression(e))return e.elements.map(t=>Rr(t));if(D.isObjectLiteralExpression(e))return B(e);if(D.isIdentifier(e))return{__identifier:e.text};if(D.isPropertyAccessExpression(e))return{__expression:e.getText()};if(D.isCallExpression(e))return{__call:e.getText()};if(D.isBinaryExpression(e)&&e.operatorToken.kind===D.SyntaxKind.BarBarToken){let t=Rr(e.left),n=Rr(e.right);return typeof n=="string"?n:t}else if(D.isConditionalExpression(e)){let t=Rr(e.whenTrue),n=Rr(e.whenFalse);return typeof n=="string"||typeof n=="number"?n:t}else if(D.isTemplateExpression(e)||D.isNoSubstitutionTemplateLiteral(e))return{__expression:e.getText()};return{__unknown:e.getText()}}ki(Rr,"evaluateExpression");function Pa(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer){if(D.isStringLiteral(i.initializer))return i.initializer.text;if(D.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer);return JSON.stringify(r)}}}})}ki(Pa,"findVariableValue");function tb(e,t){return et(e,n=>{if(D.isVariableStatement(n)){for(let i of n.declarationList.declarations)if(D.isIdentifier(i.name)&&i.name.text===t&&i.initializer&&D.isObjectLiteralExpression(i.initializer))return B(i.initializer)}})}ki(tb,"findObjectDeclaration");function Na(e,t){if(!D.isIdentifier(t.expression))return;let n=tb(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}ki(Na,"evaluatePropertyAccess");function dl(e,t){let n=t.head.text;for(let i of t.templateSpans){if(D.isIdentifier(i.expression)){let r=Pa(e,i.expression.text);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else if(D.isPropertyAccessExpression(i.expression)){let r=Na(e,i.expression);if(r)n+=r;else return t.getText(e).replace(/^`|`$/g,"")}else return t.getText(e).replace(/^`|`$/g,"");n+=i.literal.text}return n}ki(dl,"resolveTemplateLiteral");var mU=Object.defineProperty,J=(e,t)=>mU(e,"name",{value:t,configurable:!0});function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}J(dt,"isPlainObject");function rr(e){return dt(e)&&"__identifier"in e}J(rr,"isIdentifierRef");function Cr(e){return dt(e)&&"__expression"in e}J(Cr,"isExpressionRef");function Et(e){return dt(e)&&"__call"in e}J(Et,"isCallRef");function C(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(C,"isParsedObject");function b(e){return typeof e=="string"?e:void 0}J(b,"asString");function R(e){return typeof e=="number"?e:void 0}J(R,"asNumber");function j(e){return typeof e=="boolean"?e:void 0}J(j,"asBoolean");function ue(e){if(!Array.isArray(e))return;let t=[];for(let n of e)typeof n=="string"&&t.push(n);return t.length>0?t:void 0}J(ue,"asStringArray");function U(e,t){let n=b(e);if(n!==void 0)return ct(t,n)?n:void 0}J(U,"asStringUnion");function qe(e){let t={};for(let[n,i]of Object.entries(e))i!==void 0&&(t[n]=i);return t}J(qe,"omitUndefined");function ml(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(ml).join(", ")}]`;if(!dt(e))return String(e);if(rr(e))return e.__identifier;if(Cr(e))return e.__expression;if(Et(e))return e.__call;if("__unknown"in e&&typeof e.__unknown=="string")return e.__unknown;let t=Object.entries(e);return t.length===0?"{}":`{ ${t.map(([n,i])=>`${n}: ${ml(i)}`).join(", ")} }`}J(ml,"parsedValueToSourceText");function ce(e,t){let n=[];for(let[i,r]of Object.entries(e))t.has(i)||r===void 0||n.push({key:i,sourceText:ml(r)});return n}J(ce,"captureExtraProperties");function Pr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Pr,"isNamedProperty");function zt(e){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="getApp"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text==="App"}J(zt,"isAppGetAppCall");function xe(e,t){let{expression:n}=e;return ge.isPropertyAccessExpression(n)&&n.name.text===t&&e.arguments.length>0}J(xe,"isFactoryMethodCall");function et(e,t){let n,i=J(r=>{n===void 0&&(n=t(r),n===void 0&&ge.forEachChild(r,i))},"visit");return i(e),n}J(et,"findFirstInAst");function Ce(e,t){let n=[],i=J(r=>{let o=t(r);o!==null&&n.push(o),ge.forEachChild(r,i)},"visit");return i(e),n}J(Ce,"collectFromAst");function Le(e,t){return ge.isCallExpression(e)&&ge.isPropertyAccessExpression(e.expression)&&e.expression.name.text==="build"&&ge.isIdentifier(e.expression.expression)&&e.expression.expression.text===t}J(Le,"isFactoryBuildCall");function tt(e){let t=e.parent;if(ge.isVariableDeclaration(t)&&ge.isIdentifier(t.name))return t.name.text}J(tt,"extractVariableName");var mt=J(()=>e=>e,"typed");function Oi(e){if(e!=null){if(e===!1)return!1;if(typeof e=="object"&&!Array.isArray(e))return e}}J(Oi,"asObjectOrFalse");function nr(e,t){return e===!1?!1:C(e)?t(e):void 0}J(nr,"parseBooleanOrConfig");function Pe(e,t){return C(e)?t(e):void 0}J(Pe,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return C(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as Di from"typescript";var pU=Object.defineProperty,rt=(e,t)=>pU(e,"name",{value:t,configurable:!0});function wa(e){return e!==void 0&&dt(e)}rt(wa,"isEnvironmentRecord");function ET(e){if(!C(e))return;let t={};for(let[n,i]of Object.entries(e))if(C(i)){let r=b(i.id),o=b(i.name);r&&o&&(t[n]={id:r,name:o,field:b(i.field)})}return Object.keys(t).length>0?t:void 0}rt(ET,"parseContainerSecretsImport");function xT(e){if(!C(e))return;let t=ue(e.command);if(!(!t||t.length===0))return{command:t,interval:R(e.interval),timeout:R(e.timeout),retries:R(e.retries),startPeriod:R(e.startPeriod)}}rt(xT,"parseContainerHealthCheck");function AT(e){let t=ce(e,new Set(["name","image","port","environment","essential","command","entryPoint","secretsImport","secrets","healthCheck"]));return{name:b(e.name),image:b(e.image),port:R(e.port),environment:wa(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:ET(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:xT(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(AT,"parseServiceContainer");function IT(e){if(Array.isArray(e))return e.filter(C).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(C(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(IT,"parseServiceRouting");function $T(e){if(e===!1)return!1;if(C(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Iu)}}rt($T,"parseServiceScaling");var fU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function TT(e){if(!C(e))return;let t=e.warmPool,n=C(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,fU);return{instanceType:b(e.instanceType),amiHardwareType:U(e.amiHardwareType,$u),minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),memoryLimitMiB:R(e.memoryLimitMiB),warmPool:n,extraProperties:i.length>0?i:void 0}}rt(TT,"parseServiceEc2Config");var gU=new Set(["domain","loadBalancer","directAccess"]);function rb(e){if(!C(e))return;let t=e.loadBalancer,n=ce(e,gU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Au),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(rb,"extractClusterConfig");function nb(e){let t=e.containers,n=Array.isArray(t)?t.filter(C).map(AT):void 0,i=ce(e,new Set(["name","image","docker","ssmSecretsPath","containers","routing","connections","cpu","memoryLimitMiB","desiredCount","scaling","capacityProvider","ec2Config"]));return{name:b(e.name)??"",image:b(e.image),docker:RT(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:IT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:$T(e.scaling),capacityProvider:U(e.capacityProvider,yi)??"FARGATE",ec2Config:TT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(nb,"parseEcsService");function RT(e){if(!C(e))return;let t=b(e.path);if(t===void 0)return;let n=b(e.context),i=b(e.target);return{path:t,...n!==void 0&&{context:n},...i!==void 0&&{target:i}}}rt(RT,"parseServiceDocker");function ka(e,t){let n=b(e);if(n)return n;if(Cr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(ka,"extractEnumString");function ib(e){return Et(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(ib,"extractCallStringArg");function Ne(e,t,n){n!==void 0&&(e[t]=n)}rt(Ne,"assignIfDefined");var hU=Object.defineProperty,pl=(e,t)=>hU(e,"name",{value:t,configurable:!0}),vU=10;function ob(e,t){return Array.isArray(e)?e.filter(rr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}pl(ob,"resolveConnectedDatabaseNames");function ab(e,t){return Array.isArray(e)?e.filter(rr).map(n=>t.find(i=>i.variableName===n.__identifier)).filter(n=>n!==void 0).map(n=>n.resourceName):[]}pl(ab,"resolveConnectedStorageNames");function sb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!C(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!C(o)||!C(o.environment))return;let a=o.environment;(a.DATABASE_HOST||a.DATABASE_PORT||a.DATABASE_NAME)&&(e.needsConnection=!0,n.length>0&&(e.connectedDatabase??[]).length===0&&(e.connectedDatabase=[n[0].name]));for(let c=1;c<=vU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}pl(sb,"inferDatabaseConnectionsFromEnv");function cb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!C(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!C(o)||!C(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}pl(cb,"inferStorageConnectionsFromEnv");var bU=Object.defineProperty,ir=(e,t)=>bU(e,"name",{value:t,configurable:!0});function CT(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];if(!Di.isStringLiteral(t)||!Di.isObjectLiteralExpression(n))return null;let i=t.text,r=B(n);return{resourceName:i,type:b(r.type)??"ecs",config:r,node:e}}ir(CT,"extractComputeResource");function fl(e){return Ce(e,t=>{if(!Di.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=CT(n);if(i){let r=tt(t);r&&(i.variableName=r)}return i})}ir(fl,"findComputeResources");function gl(e,t,n){let i=ce(e.config,n);i.length>0&&(t.extraProperties=i)}ir(gl,"applyExtras");function PT(e,t){let n=e.config.docker;if(C(n)){let o=b(n.path),a=b(n.context),c=b(n.target);(o!==void 0||a!==void 0||c!==void 0)&&(t.docker={...o!==void 0&&{path:o},...a!==void 0&&{context:a},...c!==void 0&&{target:c}})}let i=e.config.cluster;i!==void 0&&(t.cluster=rb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>C(o)).map(nb)),gl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}ir(PT,"convertEcsCompute");function NT(e,t){if(Ne(t,"deployment",U(e.config.deployment,Eu)),Ne(t,"timeout",R(e.config.timeout)),Ne(t,"memory",R(e.config.memorySize)??R(e.config.memory)),Ne(t,"handler",b(e.config.handler)),Ne(t,"runtime",ka(e.config.runtime,"Runtime")),wa(e.config.environment)&&(t.environment=e.config.environment),wa(e.config.secrets))t.secrets=e.config.secrets;else{let r=ue(e.config.secrets);r&&(t.ssmSecrets=r)}let n=e.config.functionUrl;if(C(n)){let r=U(ka(n.authType,"FunctionUrlAuthType"),ra);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=ib(i);r&&(t.codePath=r)}Ne(t,"description",b(e.config.lambdaDescription)),Ne(t,"architecture",U(ka(e.config.architecture,"Architecture"),xu)),Ne(t,"ephemeralStorageSize",R(e.config.ephemeralStorageSize)),Ne(t,"functionName",b(e.config.functionName)),Ne(t,"ssmSecretsPath",b(e.config.ssmSecretsPath)),gl(e,t,new Set(["type","deployment","timeout","memorySize","memory","handler","runtime","environment","secrets","functionUrl","code","connections","ecrRepository","containerSecretsImport","lambdaDescription","architecture","ephemeralStorageSize","functionName","ssmSecretsPath"]))}ir(NT,"convertLambdaCompute");function wT(e,t){Ne(t,"instanceType",U(e.config.instanceType,Tu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&C(n)?t.enableSSH=!0:Ne(t,"enableSSH",j(e.config.enableSSH)),Ne(t,"keyName",b(e.config.keyName)),Ne(t,"userData",b(e.config.userData)),e.config.securityGroups!==void 0&&(t.securityGroups=ue(e.config.securityGroups)),gl(e,t,new Set(["type","instanceType","ssh","enableSSH","keyName","userData","securityGroups","connections"]))}ir(wT,"convertEc2Compute");function kT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];C(c)&&(r=c.connections)}if(!r)return;let o=ob(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=ab(r,i);a.length>0&&(e.connectedStorage=a)}ir(kT,"applyConnectionConfig");function OT(e,t){({ecs:PT,lambda:NT,ec2:wT})[e.type]?.(t,e)}ir(OT,"applyTypeSpecificConfig");function ub(e,t,n,i){return e.map(r=>{let o=U(r.config.type,ea)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return kT(a,r,t,n),OT(a,r),sb(a,r.config.services,i.database),cb(a,r.config.services,i.s3),a})}ir(ub,"convertComputeResources");import*as ft from"typescript";var yU=Object.defineProperty,SU=(e,t)=>yU(e,"name",{value:t,configurable:!0});function hl(e){return Ce(e,t=>{if(!ft.isCallExpression(t)||!xe(t,"addSchedule")||t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!ft.isStringLiteral(n)||!ft.isObjectLiteralExpression(i))return null;let r=B(i),o=b(r.schedule);if(o===void 0)return null;let a=i.properties.find(c=>ft.isPropertyAssignment(c)&&ft.isIdentifier(c.name)&&c.name.text==="target");return!a||!ft.isPropertyAssignment(a)||!ft.isIdentifier(a.initializer)?null:{id:n.text,schedule:o,targetVariableName:a.initializer.text}})}SU(hl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var _U=Object.defineProperty,Oa=(e,t)=>_U(e,"name",{value:t,configurable:!0}),lb=new Set(["S3Bucket"]);function DT(e,t,n){let i=Ue.isIdentifier(e.name)?e.name.text:"";if(t.arguments&&t.arguments.length>=2){let r=t.arguments[1],o=Ue.isStringLiteral(r)?r.text:"",a=t.arguments.length>=3?t.arguments[2]:void 0,c=a&&Ue.isObjectLiteralExpression(a)?B(a):{};return{variableName:i,resourceName:o,bucketClass:n,config:c,node:e}}return null}Oa(DT,"extractS3Resource");function MT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Ue.isStringLiteral(n)||!Ue.isObjectLiteralExpression(i))return null;let r=B(i);return{variableName:tt(e)??"",resourceName:n.text,bucketClass:"StorageFactory",config:r,node:e}}Oa(MT,"extractS3FactoryResource");function db(e){return Ce(e,t=>{if(!Ue.isVariableDeclaration(t)||!t.initializer||!Ue.isNewExpression(t.initializer))return null;let n=t.initializer;if(!Ue.isIdentifier(n.expression))return null;let i=n.expression.text;return lb.has(i)?DT(t,n,i):null})}Oa(db,"findS3Resources");function mb(e){return Ce(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?MT(t,n):null})}Oa(mb,"findS3FactoryResources");function pb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...C(t.config.websiteHosting)&&(()=>{let n=t.config.websiteHosting;return{websiteHosting:{indexDocument:b(n.indexDocument)??"index.html",...b(n.errorDocument)&&{errorDocument:b(n.errorDocument)}}}})(),...U(t.config.backupVaultTier,St)&&{backupVaultTier:U(t.config.backupVaultTier,St)},...j(t.config.versioned)!==void 0&&{versioned:j(t.config.versioned)},...U(t.config.encryption,xi)&&{encryption:U(t.config.encryption,xi)},...b(t.config.kmsKeyArn)&&{kmsKeyArn:b(t.config.kmsKeyArn)},...Array.isArray(t.config.cors)&&t.config.cors.length>0&&{cors:t.config.cors.filter(C).map(n=>({allowedOrigins:Array.isArray(n.allowedOrigins)?n.allowedOrigins.filter(i=>typeof i=="string"):[],allowedMethods:Array.isArray(n.allowedMethods)?n.allowedMethods.filter(i=>typeof i=="string"):[]}))},...C(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...C(n.cacheControl)&&(()=>{let i=n.cacheControl;return{cacheControl:{...R(i.maxAge)!==void 0&&{maxAge:R(i.maxAge)},...j(i.immutable)!==void 0&&{immutable:j(i.immutable)}}}})()}}})(),...U(t.config.stackPlacement,Uu)&&{stackPlacement:U(t.config.stackPlacement,Uu)},...t.variableName&&{variableName:t.variableName},...(()=>{let n=new Set(["bucketName","publicReadAccess","websiteHosting","backupVaultTier","versioned","encryption","kmsKeyArn","cors","deployment","stackPlacement"]),i=ce(t.config,n);return i.length>0?{extraProperties:i}:{}})()}))}Oa(pb,"convertS3Resources");var EU=Object.defineProperty,vn=(e,t)=>EU(e,"name",{value:t,configurable:!0}),jT=new Set(["App","Architecture","DatabaseFactory","StorageFactory","ComputeFactory","getConfig","MessagingFactory","CdnFactory","Code","Runtime","FunctionUrlAuthType","NetworkFactory","PatternFactory","VpcPeerFactory","VpcPeerAccepterFactory","CrossPlanConnectionFactory"]);function vl(e){return!!(e.startsWith("@fjall/")||e==="aws-cdk-lib"||e.startsWith("aws-cdk-lib/")||e==="constructs")}vn(vl,"isManagedModuleSpecifier");function Ke(e){let t=[];for(let n of e.statements){let i=n.getFullStart(),r=n.getEnd();if(Q.isImportDeclaration(n)){t.push({type:"import",node:n,startPos:i,endPos:r,isManaged:zT(n)});continue}if(Q.isVariableStatement(n)){t.push(LT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(UT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}vn(Ke,"classifyStatements");function zT(e){return Q.isStringLiteral(e.moduleSpecifier)?vl(e.moduleSpecifier.text):!1}vn(zT,"isManagedImport");function LT(e,t,n){for(let i of e.declarationList.declarations)if(i.initializer){if(zt(i.initializer))return{type:"app-init",node:e,resourceName:Q.isIdentifier(i.name)?i.name.text:void 0,startPos:t,endPos:n,isManaged:!0};if(Q.isIdentifier(i.name)&&i.name.text==="appName"&&Q.isStringLiteral(i.initializer))return{type:"app-init",node:e,startPos:t,endPos:n,isManaged:!0};if(Q.isNewExpression(i.initializer)){let r=i.initializer;if(Q.isIdentifier(r.expression)){let o=r.expression.text;if(lb.has(o)){let a=r.arguments&&r.arguments.length>=2&&Q.isStringLiteral(r.arguments[1])?r.arguments[1].text:void 0;return{type:"storage",node:e,resourceName:a,startPos:t,endPos:n,isManaged:!0}}}}if(Q.isCallExpression(i.initializer)){let r=fb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}vn(LT,"classifyVariableStatement");function UT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?fb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}vn(UT,"classifyExpressionStatement");function fb(e,t,n,i){let r=e.expression;if(Q.isPropertyAccessExpression(r)&&Q.isIdentifier(r.expression)){let o=r.name.text;if(o==="addTags")return{type:"tags",node:t,startPos:n,endPos:i,isManaged:!0};let a={addDatabase:{type:"database",factory:"DatabaseFactory"},addCompute:{type:"compute",factory:"ComputeFactory"},addNetwork:{type:"network",factory:"NetworkFactory"},addMessaging:{type:"messaging",factory:"MessagingFactory"},addCdn:{type:"cdn",factory:"CdnFactory"},addPattern:{type:"pattern",factory:"PatternFactory"},addStorage:{type:"storage",factory:"StorageFactory"},addVpcPeer:{type:"vpc-peer",factory:"VpcPeerFactory"},addVpcPeerAccepter:{type:"vpc-peer-accepter",factory:"VpcPeerAccepterFactory"}}[o];if(a){let c=FT(e,a.factory);return{type:a.type,node:t,resourceName:c,startPos:n,endPos:i,isManaged:!0}}}return{type:"custom",node:t,startPos:n,endPos:i,isManaged:!1}}vn(fb,"classifyCallExpression");function FT(e,t){if(e.arguments.length===0)return;let n=e.arguments[0];if(!Q.isCallExpression(n))return;let i=n.expression;if(!Q.isPropertyAccessExpression(i)||i.name.text!=="build"||!Q.isIdentifier(i.expression)||i.expression.text!==t||n.arguments.length===0)return;let r=n.arguments[0];if(Q.isStringLiteral(r))return r.text}vn(FT,"extractResourceNameFromFactoryCall");import*as BT from"typescript";var xU=Object.defineProperty,bn=(e,t)=>xU(e,"name",{value:t,configurable:!0}),AU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function VT(e){if(!e)return{position:"before-imports"};let t=AU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}bn(VT,"determineCustomBlockPosition");function Da(e,t){let n=t??Ke(e),i=[],r=e.getFullText(),o=null;for(let a of n)if(a.type==="custom"&&!a.isManaged){let{position:c,afterManagedResource:u}=VT(o),l=ZT(r,a.node),m=GT(r,a.node),p=e.getLineAndCharacterOfPosition(a.node.getStart());i.push({sourceText:l,position:c,afterManagedResource:u,originalLine:p.line+1,leadingComments:m.length>0?m:void 0})}else a.isManaged&&(o=a);return i}bn(Da,"extractCustomCodeBlocks");function ZT(e,t){let n=t.getFullStart(),i=t.getEnd(),r=e.slice(n,i).split(`
429
429
  `),o=r.findIndex(a=>a.trim()!=="");return r.slice(o===-1?0:o).join(`
430
- `)}bn(ZT,"getStatementTextWithComments");function GT(e,t){let n=[],i=BT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}bn(GT,"extractLeadingComments");function Mi(e,t,n,i){let r=i??Ke(e);for(let o of r)if(o.type===t&&o.resourceName===n)return{startPos:o.startPos,endPos:o.endPos,node:o.node};return null}bn(Mi,"findManagedResourcePosition");function gb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}bn(gb,"getLastManagedStatementOfType");function hb(e,t){let n=t??Ke(e),i={import:[],"app-init":[],tags:[],database:[],compute:[],storage:[],network:[],messaging:[],cdn:[],pattern:[],"vpc-peer":[],"vpc-peer-accepter":[],"cross-plan-connection":[],custom:[]};for(let r of n)i[r.type].push(r);return i}bn(hb,"getManagedResourcesByType");import*as or from"typescript";import*as ja from"typescript";var AU=Object.defineProperty,vb=(e,t)=>AU(e,"name",{value:t,configurable:!0}),IU=["S","N","B"];function Ma(e){if(!C(e))return;let t=b(e.name),n=U(e.type,IU);if(!(!t||!n))return{name:t,type:n}}vb(Ma,"parseDynamoDBKey");function bb(e){let t=e.node;if(!ja.isCallExpression(t))return null;let n=t.arguments[0];if(!ja.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!ja.isObjectLiteralExpression(i))return null;let r=B(i),o=Ma(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=Ma(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(C).map(g=>{let v=Ma(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=Ma(g.sortKey);return z&&(Y.sortKey=z),Y}).filter(g=>g!==null);p.length>0&&(a.globalSecondaryIndexes=p)}let u=b(r.ttlAttribute);u&&(a.ttlAttribute=u);let l=j(r.stream);l!==void 0&&(a.stream=l);let m=ce(r,new Set(["type","databaseName","partitionKey","sortKey","globalSecondaryIndexes","ttlAttribute","stream"]));return m.length>0&&(a.extraProperties=m),a}vb(bb,"extractDynamoDBFields");function bl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,partitionKey:t.partitionKey,...qe({sortKey:t.sortKey,globalSecondaryIndexes:t.globalSecondaryIndexes,ttlAttribute:t.ttlAttribute,stream:t.stream,variableName:t.variableName,extraProperties:t.extraProperties})}))}vb(bl,"convertDynamoDBResources");import*as za from"typescript";var $U=Object.defineProperty,WT=(e,t)=>$U(e,"name",{value:t,configurable:!0}),TU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);function yb(e){let t=e.node;if(!za.isCallExpression(t))return null;let n=t.arguments[0];if(!za.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!za.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:e.resourceName,databaseName:e.databaseName,node:e.node};e.variableName&&(o.variableName=e.variableName);let a=b(r.instanceType);a&&(o.instanceType=a);let c=r.coldTier;c===!1?o.coldTier=!1:C(c)&&b(c.mode)==="s3"&&(o.coldTier={mode:"s3"});let u=r.optimiseSchedule;if(u===!1)o.optimiseSchedule=!1;else{let g=b(u);g&&(o.optimiseSchedule=g)}let l=r.backupSchedule;if(l===!1)o.backupSchedule=!1;else{let g=b(l);g&&(o.backupSchedule=g)}let m=R(r.backupRetentionDays);m!==void 0&&(o.backupRetentionDays=m);let p=ce(r,TU);return p.length>0&&(o.extraProperties=p),o}WT(yb,"extractClickHouseFields");function yl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,type:"ClickHouse",databaseName:t.databaseName,...qe({instanceType:t.instanceType,coldTier:t.coldTier,optimiseSchedule:t.optimiseSchedule,backupSchedule:t.backupSchedule,backupRetentionDays:t.backupRetentionDays,variableName:t.variableName,extraProperties:t.extraProperties})}))}WT(yl,"convertClickHouseResources");var RU=Object.defineProperty,ji=(e,t)=>RU(e,"name",{value:t,configurable:!0});function HT(e){let t=b(e.databaseEngine);if(t!==void 0&&ct(_i,t))return t;let n=e.engine;if(Et(n)){let i=String(n.__call);if(i.includes("postgres")||i.includes("auroraPostgres"))return"postgresql";if(i.includes("mysql")||i.includes("auroraMysql"))return"mysql"}}ji(HT,"extractDatabaseEngine");function qT(e){let t=e.engine;if(Et(t))return String(t.__call)}ji(qT,"extractEngineExpression");var CU=new Set(["type","databaseName","databaseEngine","engine","vpc","port","deletionProtection","instanceType","multiAz","publiclyAccessible","enableSecretRotation","encryption","databaseInsights","proxy","readReplica","credentials","writer","readers","backupRetention","preferredMaintenanceWindow","primaryRegion","secondaryRegions","globalClusterIdentifier","enableGlobalWriteForwarding","snapshotIdentifier","allocatedStorage","monitoringInterval","snapshotUsername"]);function KT(e,t,n){if(n.arguments.length<2)return null;let i=n.arguments[0],r=n.arguments[1];if(!or.isStringLiteral(i)&&!or.isTemplateExpression(i))return null;let o=or.isStringLiteral(i)?i.text:dl(e,i);if(!or.isObjectLiteralExpression(r))return null;let a=B(r),c={resourceName:o,type:b(a.type)??"",databaseName:b(a.databaseName)??"",databaseEngine:HT(a),engineExpression:qT(a),port:R(a.port),deletionProtection:j(a.deletionProtection),instanceType:b(a.instanceType),multiAz:j(a.multiAz),publiclyAccessible:j(a.publiclyAccessible),enableSecretRotation:j(a.enableSecretRotation),encryption:Pe(a.encryption,mt()),databaseInsights:nr(a.databaseInsights,mt()),proxy:nr(a.proxy,mt()),readReplica:nr(a.readReplica,mt()),credentials:Pe(a.credentials,mt()),writer:Pe(a.writer,mt()),readers:nr(a.readers,mt()),backupRetention:R(a.backupRetention),preferredMaintenanceWindow:b(a.preferredMaintenanceWindow),primaryRegion:b(a.primaryRegion),secondaryRegions:ue(a.secondaryRegions),globalClusterIdentifier:b(a.globalClusterIdentifier),enableGlobalWriteForwarding:j(a.enableGlobalWriteForwarding),allocatedStorage:R(a.allocatedStorage),monitoringInterval:R(a.monitoringInterval),snapshotIdentifier:b(a.snapshotIdentifier),snapshotUsername:b(a.snapshotUsername),node:t},u=tt(t);u&&(c.variableName=u);let l=ce(a,CU);return l.length>0&&(c.extraProperties=l),c}ji(KT,"extractDatabaseResource");function Sb(e){return Ce(e,t=>{if(!or.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?KT(e,t,n):null})}ji(Sb,"findDatabaseResources");function _b(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=bb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=yb(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}ji(_b,"splitDatabaseResources");var PU=["Instance","Aurora","GlobalAurora"];function Eb(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct(PU,t.type)?t.type:"Instance",databaseName:t.databaseName,...qe({port:t.port,deletionProtection:t.deletionProtection,instanceType:t.instanceType,multiAz:t.multiAz,publiclyAccessible:t.publiclyAccessible,enableSecretRotation:t.enableSecretRotation,encryption:t.encryption,databaseInsights:t.databaseInsights,proxy:t.proxy,readReplica:t.readReplica,credentials:t.credentials,writer:t.writer,readers:t.readers,backupRetention:t.backupRetention,preferredMaintenanceWindow:t.preferredMaintenanceWindow,primaryRegion:t.primaryRegion,secondaryRegions:t.secondaryRegions,globalClusterIdentifier:t.globalClusterIdentifier,enableGlobalWriteForwarding:t.enableGlobalWriteForwarding,allocatedStorage:t.allocatedStorage,monitoringInterval:t.monitoringInterval,variableName:t.variableName,databaseEngine:t.databaseEngine,engineExpression:t.engineExpression,extraProperties:t.extraProperties})}))}ji(Eb,"convertDatabaseResources");import*as Li from"typescript";var NU=Object.defineProperty,zi=(e,t)=>NU(e,"name",{value:t,configurable:!0});function YT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Li.isStringLiteral(n)||!Li.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:n.text,queueType:b(r.queueType)??"standard",visibilityTimeout:R(r.visibilityTimeout),retentionPeriod:R(r.messageRetentionPeriod),contentBasedDeduplication:j(r.contentBasedDeduplication),removalPolicy:b(r.removalPolicy),node:e},a=tt(e);a&&(o.variableName=a);let c=ce(r,new Set(["type","queueType","visibilityTimeout","messageRetentionPeriod","contentBasedDeduplication","removalPolicy"]));return c.length>0&&(o.extraProperties=c),o}zi(YT,"extractSQSResource");function xb(e){if(e!=null){if(e===!1)return!1;if(C(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}zi(xb,"parseDeadLetterQueueConfig");function Ab(e){return Ce(e,t=>{if(!Li.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?YT(t,n):null})}zi(Ab,"findSQSResources");function Ib(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,queueType:t.queueType==="fifo"?"fifo":"standard",...qe({visibilityTimeout:t.visibilityTimeout,retentionPeriod:t.retentionPeriod,contentBasedDeduplication:t.contentBasedDeduplication,removalPolicy:JT(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}zi(Ib,"convertSQSResources");var wU=new Set($v.options);function XT(e){return wU.has(e)}zi(XT,"isSqsRemovalPolicy");function JT(e){return e!==void 0&&XT(e)?e:void 0}zi(JT,"toSqsRemovalPolicy");import*as Ui from"typescript";var kU=Object.defineProperty,La=(e,t)=>kU(e,"name",{value:t,configurable:!0});function e0(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];return!Ui.isStringLiteral(t)||!Ui.isObjectLiteralExpression(n)?null:{resourceName:t.text,config:B(n),node:e}}La(e0,"extractCDNResource");function t0(e,t,n){let i=t.find(o=>o.variableName===e);if(i)return i.resourceName;let r=n.find(o=>o.variableName===e||o.resourceName.charAt(0).toLowerCase()+o.resourceName.slice(1)===e);return r?r.resourceName:e}La(t0,"resolveOriginIdentifier");var QT=["CACHING_OPTIMIZED","CACHING_DISABLED"];function $b(e){return et(e,t=>{if(!Ui.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return e0(n)??void 0})}La($b,"findCDNResource");function Tb(e,t,n){if(!e)return;let i=e,r=i.config,o=La(p=>rr(p)?t0(p.__identifier,t,n):b(p)??"","resolveOrigin"),a=o(r.origin),c={name:i.resourceName,defaultOriginRef:a};if(Array.isArray(r.behaviours)){let p=r.behaviours.filter(C).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,QT)!==void 0&&{cachePolicy:U(g.cachePolicy,QT)}}));p.length>0&&(c.behaviours=p)}let u=b(r.customDomain);if(u)c.customDomain=u;else{let p=ue(r.domainNames);p&&p.length>0&&(c.customDomain=p[0])}let l=b(r.certificateArn);if(l&&(c.certificateArn=l),r.accessGate!==void 0){if(r.accessGate===!1)c.accessGate=!1;else if(C(r.accessGate)){let p=r.accessGate,g=b(p.type),v=b(p.username),A=b(p.password);g==="basic-auth"&&v&&A&&(c.accessGate={type:"basic-auth",username:v,password:A})}}let m=ce(r,new Set(["originType","origin","behaviours","customDomain","domainNames","certificateArn","accessGate"]));return m.length>0&&(c.extraProperties=m),c}La(Tb,"convertCDNResource");import*as de from"typescript";var OU=Object.defineProperty,nt=(e,t)=>OU(e,"name",{value:t,configurable:!0}),DU=new Set(Av.options);function r0(e){if(e!==void 0)return DU.has(e)?e:void 0}nt(r0,"asFlowLogDestination");function Rb(e){return{maxAzs:R(e.maxAzs),natGateways:nr(e.natGateways,t=>({count:R(t.count)})),flowLogs:nr(e.flowLogs,t=>({destination:b(t.destination),retentionDays:R(t.retentionDays)})),vpcEndpoints:C(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(Rb,"parseNetworkConfigFields");function n0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!de.isStringLiteral(n))return null;let r=n.text,o=de.isObjectLiteralExpression(i)?B(i):{},a=Rb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(n0,"extractNetworkResource");function Cb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Pr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Cb,"findVpcId");function Pb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Pr(r,"useExisting"))){let r=B(i.initializer);return Rb(r)}}}})}nt(Pb,"findNetworkConfig");function Nb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"backup")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.tier);if(o)return{tier:o}}}}})}nt(Nb,"findBackupConfig");function wb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"tunnel")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(i.initializer.kind===de.SyntaxKind.TrueKeyword)return!0;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.instanceType);return o?{instanceType:o}:{}}}}})}nt(wb,"findTunnelConfig");function kb(e){return Ce(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?n0(t,n):null})}nt(kb,"findNetworkResources");function Ob(e){let t=e.flowLogs;return{...qe({maxAzs:e.maxAzs,natGateways:e.natGateways,vpcEndpoints:e.vpcEndpoints}),...t!==void 0&&{flowLogs:t===!1?!1:qe({destination:r0(t.destination),retentionDays:t.retentionDays})}}}nt(Ob,"buildNetworkFields");function Db(e){if(e)return Ob(e)}nt(Db,"convertNetworkConfig");function Mb(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(St,t))return{tier:t}}nt(Mb,"convertBackupConfig");function jb(e){if(e===void 0)return;if(e===!1)return!1;if(e===!0)return{};let t={};return e.instanceType&&(t.instanceType=e.instanceType),t}nt(jb,"convertTunnelConfig");function zb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...Ob(t.config)}))}nt(zb,"convertAdditionalNetworks");import*as Fi from"typescript";var MU=Object.defineProperty,be=(e,t)=>MU(e,"name",{value:t,configurable:!0}),jU=["Instance","Aurora"],zU=["postgresql","mysql"];function Sl(e){if(!C(e))return;let t={...e.memorySize!==void 0&&{memorySize:R(e.memorySize)},...e.timeout!==void 0&&{timeout:R(e.timeout)},...e.ephemeralStorageSize!==void 0&&{ephemeralStorageSize:R(e.ephemeralStorageSize)}};return Object.keys(t).length>0?t:void 0}be(Sl,"parseLambdaConfig");function i0(e){return pt(e,"database",t=>({type:U(t.type,jU),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,zU),deletionProtection:j(t.deletionProtection),backupRetention:R(t.backupRetention),port:R(t.port),publiclyAccessible:j(t.publiclyAccessible),allowedIpCidr:b(t.allowedIpCidr),instanceType:b(t.instanceType),allocatedStorage:R(t.allocatedStorage),multiAz:j(t.multiAz),allowVpcAccess:j(t.allowVpcAccess),monitoringInterval:R(t.monitoringInterval),preferredMaintenanceWindow:b(t.preferredMaintenanceWindow),snapshotIdentifier:b(t.snapshotIdentifier),snapshotUsername:b(t.snapshotUsername),readReplica:Oi(t.readReplica),writer:Pe(t.writer,mt()),readers:Oi(t.readers),databaseInsights:Oi(t.databaseInsights),proxy:Oi(t.proxy),credentials:Pe(t.credentials,mt()),encryption:Pe(t.encryption,mt())}))}be(i0,"extractPatternDatabaseConfig");function o0(e){return pt(e,"compute",t=>({server:Pe(t.server,Sl),imageOptimisation:Pe(t.imageOptimisation,Sl),revalidation:Pe(t.revalidation,Sl)}))}be(o0,"extractPatternComputeConfig");function a0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Pe(n.assets,t),cache:Pe(n.cache,t),media:Pe(n.media,t)}))}be(a0,"extractPatternStorageConfig");function s0(e){return pt(e,"messaging",t=>({revalidationQueue:Pe(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:xb(n.deadLetterQueue)}))}))}be(s0,"extractPatternMessagingConfig");function c0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(c0,"extractPatternCdnConfig");function u0(e){return pt(e,"environment",t=>{let n=Object.fromEntries(Object.entries(t).filter(i=>typeof i[1]=="string"));return Object.keys(n).length>0?n:void 0})}be(u0,"extractPatternEnvironmentConfig");function l0(e,t){let n=d0(e);return{name:t,source:b(e.source),build:pt(e,"build",i=>({command:b(i.command),outputDir:b(i.outputDir)})),routing:U(e.routing,Fo),security:pt(e,"security",i=>({headers:j(i.headers),contentSecurityPolicy:b(i.contentSecurityPolicy)})),domain:b(e.domain),forms:pt(e,"forms",i=>({to:b(i.to),from:b(i.from),corsOrigin:b(i.corsOrigin),maxConcurrency:R(i.maxConcurrency)})),cdn:pt(e,"cdn",i=>({behaviours:Array.isArray(i.behaviours)?i.behaviours:void 0})),...n.length>0&&{unreadableFields:n}}}be(l0,"extractStaticSiteConfig");function Lb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(Lb,"isUnreadableRef");function d0(e){let t=[],n=be((r,o)=>{Lb(r)&&t.push(o)},"check");n(e.source,"source"),n(e.routing,"routing"),n(e.domain,"domain");let i=[[e.build,"build",["command","outputDir"]],[e.security,"security",["headers","contentSecurityPolicy"]],[e.forms,"forms",["to","from","corsOrigin","maxConcurrency"]],[e.cdn,"cdn",["behaviours"]]];for(let[r,o,a]of i)if(Lb(r))t.push(o);else if(C(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(d0,"collectUnreadableStaticSiteFields");function Nr(e){return e!==void 0&&e!==""}be(Nr,"isReadable");function _l(e,t){return new Error(`Static-site pattern '${e}' in infrastructure.ts: Fjall could not read ${t.join(", ")} as inline literal(s). Fjall reads these fields out of the file and writes them back, so they must be written inline (source: "./site"), not as a variable or an expression.`)}be(_l,"unreadableStaticSiteFields");function m0(e,t){let n=t.to;if(!Nr(n))throw _l(e,["forms.to"]);return{to:n,...t.from!==void 0&&{from:t.from},...t.corsOrigin!==void 0&&{corsOrigin:t.corsOrigin},...t.maxConcurrency!==void 0&&{maxConcurrency:t.maxConcurrency}}}be(m0,"readStaticSiteForms");function p0(e,t){if(e.arguments.length<2)return null;let n=e.arguments[0],i=e.arguments[1];if(!Fi.isStringLiteral(n)||!Fi.isObjectLiteralExpression(i))return null;let r=n.text,o=B(i),a=o.type,c=tt(t),u=b(o.name);return u?a==="payload"||a==="nextjs"?{variableName:c,constructId:r,type:a,config:{name:u,domain:b(o.domain),database:i0(o),compute:o0(o),storage:a0(o),messaging:s0(o),cdn:c0(o),environment:u0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:l0(o,u),node:e}:null:null}be(p0,"extractPatternResource");function Ub(e){return Ce(e,t=>{if(!Fi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?p0(n,t):null})}be(Ub,"findPatternResources");function Fb(e,t){if(!t||t.length===0)return;let n=t[0];if(e.pattern=n.type,n.type==="staticsite"){let{config:r}=n,o=r.source,a=r.build?.command,c=r.build?.outputDir;if(r.unreadableFields!==void 0)throw _l(r.name,r.unreadableFields);if(!Nr(o)||!Nr(a)||!Nr(c)){let u=[];throw Nr(o)||u.push("source"),Nr(a)||u.push("build.command"),Nr(c)||u.push("build.outputDir"),_l(r.name,u)}e.patternConfig={type:"staticsite",name:r.name,source:o,build:{command:a,outputDir:c},routing:r.routing,security:r.security,domain:r.domain,...r.forms!==void 0&&{forms:m0(r.name,r.forms)},cdn:r.cdn};return}let{config:i}=n;e.patternConfig={type:n.type,name:i.name,domain:i.domain,database:i.database,compute:i.compute,storage:i.storage,messaging:i.messaging,cdn:i.cdn,environment:i.environment}}be(Fb,"applyPatternConfig");var LU=Object.defineProperty,El=(e,t)=>LU(e,"name",{value:t,configurable:!0});function f0(e,t){for(let n of t){let i=e.compute.find(r=>r.variableName===n.targetVariableName);i!==void 0&&i.type==="lambda"&&(i.scheduleExpression=n.schedule)}}El(f0,"applyScheduleBackfill");function g0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[$a]&&(e.owner=t[$a])}El(g0,"applyTagsAndOwner");function h0(e){let t=[];for(let n of e)if(vl(n.moduleSpecifier))if(n.moduleSpecifier==="@fjall/components-infrastructure"||n.moduleSpecifier==="@fjall/infrastructure"){let i=n.namedImports.filter(r=>!jT.has(r));i.length>0&&t.push({moduleSpecifier:n.moduleSpecifier,namedImports:i,defaultImport:n.defaultImport})}else(n.namedImports.length>0||n.defaultImport)&&t.push(n);return t.length>0?t:void 0}El(h0,"computeAdditionalManagedImports");function yn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Fb(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Db(e.network),i.backup=Mb(e.backup),i.tunnel=jb(e.tunnel),i.additionalNetworks=zb(e.networkResources),g0(i,e.tags),i.database=Eb(e.databaseResources),i.dynamodb=bl(e.dynamodbResources),i.clickhouse=yl(e.clickhouseResources),i.sqs=Ib(e.sqsResources),i.cdn=Tb(e.cdnResource,e.s3Resources,e.computeResources),i.s3=pb(e.s3Resources),i.compute=ub(e.computeResources,e.databaseResources,e.s3Resources,i),f0(i,e.schedules),i.additionalManagedImports=h0(e.imports),n?.skipValidation)return i;try{return z$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=oa(r);throw new Error(`Invalid infrastructure configuration:
431
- ${o}`)}throw r}}El(yn,"convertToResourcePlan");var UU=Object.defineProperty,Bi=(e,t)=>UU(e,"name",{value:t,configurable:!0});function wr(e,t){let n=W.createSourceFile("infrastructure.ts",e,W.ScriptTarget.Latest,!0,W.ScriptKind.TS),i=v0(n),{appVariableName:r,appName:o}=y0(n),a=Cb(n),c=Pb(n),u=Nb(n),l=wb(n),m=kb(n),p=Sb(n),{databases:g,dynamodb:v,clickhouse:A}=_b(p),Y=Ab(n),z=$b(n),Se=[...db(n),...mb(n)],pr=fl(n),we=hl(n),te=Ub(n),pe=S0(n),$n={sourceFile:n,imports:i,appVariableName:r,appName:o,vpcId:a,network:c,backup:u,tunnel:l,networkResources:m,databaseResources:g,dynamodbResources:v,clickhouseResources:A,sqsResources:Y,cdnResource:z,s3Resources:Se,computeResources:pr,schedules:we,patternResources:te,tags:pe};return t?.extractCustomCode&&($n.customCodeBlocks=Da(n),$n.classifiedStatements=Ke(n)),$n}Bi(wr,"parseInfrastructure");function v0(e){let t=[];return W.forEachChild(e,n=>{if(W.isImportDeclaration(n)){if(!W.isStringLiteral(n.moduleSpecifier))return;let i={moduleSpecifier:n.moduleSpecifier.text,namedImports:[]};n.importClause&&(n.importClause.name&&(i.defaultImport=n.importClause.name.text),n.importClause.namedBindings&&W.isNamedImports(n.importClause.namedBindings)&&(i.namedImports=n.importClause.namedBindings.elements.map(r=>r.name.text))),t.push(i)}}),t}Bi(v0,"extractImports");function b0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?Pa(e,t.text)??"":W.isPropertyAccessExpression(t)?Na(e,t)??"":""}Bi(b0,"resolveAppName");function y0(e){return et(e,t=>{if(W.isVariableStatement(t))for(let n of t.declarationList.declarations){if(!n.initializer||!zt(n.initializer))continue;let i=W.isIdentifier(n.name)?n.name.text:"",r=n.initializer.arguments.length>0?b0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Bi(y0,"findAppVariable");function S0(e){let t={};function n(i){if(W.isCallExpression(i)&&W.isPropertyAccessExpression(i.expression)&&i.expression.name.text==="addTags"&&W.isIdentifier(i.expression.expression)&&i.arguments.length>0){let r=i.arguments[0];if(W.isObjectLiteralExpression(r)){let o=B(r);for(let[a,c]of Object.entries(o))typeof c=="string"?t[a]=c:Cr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Bi(n,"visit"),n(e),t}Bi(S0,"extractTags");import*as Vi from"typescript";var FU=Object.defineProperty,Ae=(e,t)=>FU(e,"name",{value:t,configurable:!0});function Zi(e,t,n){return e.slice(0,t)+n+e.slice(t)}Ae(Zi,"insertAtPosition");function xl(e,t){return e.find(n=>n.type===t)}Ae(xl,"findClassification");function Bb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Bb,"findLastClassification");function kr(e){return Vi.createSourceFile("infrastructure.ts",e,Vi.ScriptTarget.Latest,!0,Vi.ScriptKind.TS)}Ae(kr,"parseSourceFile");function Al(e,t){return e.endsWith(`
430
+ `)}bn(ZT,"getStatementTextWithComments");function GT(e,t){let n=[],i=BT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}bn(GT,"extractLeadingComments");function Mi(e,t,n,i){let r=i??Ke(e);for(let o of r)if(o.type===t&&o.resourceName===n)return{startPos:o.startPos,endPos:o.endPos,node:o.node};return null}bn(Mi,"findManagedResourcePosition");function gb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}bn(gb,"getLastManagedStatementOfType");function hb(e,t){let n=t??Ke(e),i={import:[],"app-init":[],tags:[],database:[],compute:[],storage:[],network:[],messaging:[],cdn:[],pattern:[],"vpc-peer":[],"vpc-peer-accepter":[],"cross-plan-connection":[],custom:[]};for(let r of n)i[r.type].push(r);return i}bn(hb,"getManagedResourcesByType");import*as or from"typescript";import*as ja from"typescript";var IU=Object.defineProperty,vb=(e,t)=>IU(e,"name",{value:t,configurable:!0}),$U=["S","N","B"];function Ma(e){if(!C(e))return;let t=b(e.name),n=U(e.type,$U);if(!(!t||!n))return{name:t,type:n}}vb(Ma,"parseDynamoDBKey");function bb(e){let t=e.node;if(!ja.isCallExpression(t))return null;let n=t.arguments[0];if(!ja.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!ja.isObjectLiteralExpression(i))return null;let r=B(i),o=Ma(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=Ma(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(C).map(g=>{let v=Ma(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=Ma(g.sortKey);return z&&(Y.sortKey=z),Y}).filter(g=>g!==null);p.length>0&&(a.globalSecondaryIndexes=p)}let u=b(r.ttlAttribute);u&&(a.ttlAttribute=u);let l=j(r.stream);l!==void 0&&(a.stream=l);let m=ce(r,new Set(["type","databaseName","partitionKey","sortKey","globalSecondaryIndexes","ttlAttribute","stream"]));return m.length>0&&(a.extraProperties=m),a}vb(bb,"extractDynamoDBFields");function bl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,partitionKey:t.partitionKey,...qe({sortKey:t.sortKey,globalSecondaryIndexes:t.globalSecondaryIndexes,ttlAttribute:t.ttlAttribute,stream:t.stream,variableName:t.variableName,extraProperties:t.extraProperties})}))}vb(bl,"convertDynamoDBResources");import*as za from"typescript";var TU=Object.defineProperty,WT=(e,t)=>TU(e,"name",{value:t,configurable:!0}),RU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);function yb(e){let t=e.node;if(!za.isCallExpression(t))return null;let n=t.arguments[0];if(!za.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!za.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:e.resourceName,databaseName:e.databaseName,node:e.node};e.variableName&&(o.variableName=e.variableName);let a=b(r.instanceType);a&&(o.instanceType=a);let c=r.coldTier;c===!1?o.coldTier=!1:C(c)&&b(c.mode)==="s3"&&(o.coldTier={mode:"s3"});let u=r.optimiseSchedule;if(u===!1)o.optimiseSchedule=!1;else{let g=b(u);g&&(o.optimiseSchedule=g)}let l=r.backupSchedule;if(l===!1)o.backupSchedule=!1;else{let g=b(l);g&&(o.backupSchedule=g)}let m=R(r.backupRetentionDays);m!==void 0&&(o.backupRetentionDays=m);let p=ce(r,RU);return p.length>0&&(o.extraProperties=p),o}WT(yb,"extractClickHouseFields");function yl(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,type:"ClickHouse",databaseName:t.databaseName,...qe({instanceType:t.instanceType,coldTier:t.coldTier,optimiseSchedule:t.optimiseSchedule,backupSchedule:t.backupSchedule,backupRetentionDays:t.backupRetentionDays,variableName:t.variableName,extraProperties:t.extraProperties})}))}WT(yl,"convertClickHouseResources");var CU=Object.defineProperty,ji=(e,t)=>CU(e,"name",{value:t,configurable:!0});function HT(e){let t=b(e.databaseEngine);if(t!==void 0&&ct(_i,t))return t;let n=e.engine;if(Et(n)){let i=String(n.__call);if(i.includes("postgres")||i.includes("auroraPostgres"))return"postgresql";if(i.includes("mysql")||i.includes("auroraMysql"))return"mysql"}}ji(HT,"extractDatabaseEngine");function qT(e){let t=e.engine;if(Et(t))return String(t.__call)}ji(qT,"extractEngineExpression");var PU=new Set(["type","databaseName","databaseEngine","engine","vpc","port","deletionProtection","instanceType","multiAz","publiclyAccessible","enableSecretRotation","encryption","databaseInsights","proxy","readReplica","credentials","writer","readers","backupRetention","preferredMaintenanceWindow","primaryRegion","secondaryRegions","globalClusterIdentifier","enableGlobalWriteForwarding","snapshotIdentifier","allocatedStorage","monitoringInterval","snapshotUsername"]);function KT(e,t,n){if(n.arguments.length<2)return null;let i=n.arguments[0],r=n.arguments[1];if(!or.isStringLiteral(i)&&!or.isTemplateExpression(i))return null;let o=or.isStringLiteral(i)?i.text:dl(e,i);if(!or.isObjectLiteralExpression(r))return null;let a=B(r),c={resourceName:o,type:b(a.type)??"",databaseName:b(a.databaseName)??"",databaseEngine:HT(a),engineExpression:qT(a),port:R(a.port),deletionProtection:j(a.deletionProtection),instanceType:b(a.instanceType),multiAz:j(a.multiAz),publiclyAccessible:j(a.publiclyAccessible),enableSecretRotation:j(a.enableSecretRotation),encryption:Pe(a.encryption,mt()),databaseInsights:nr(a.databaseInsights,mt()),proxy:nr(a.proxy,mt()),readReplica:nr(a.readReplica,mt()),credentials:Pe(a.credentials,mt()),writer:Pe(a.writer,mt()),readers:nr(a.readers,mt()),backupRetention:R(a.backupRetention),preferredMaintenanceWindow:b(a.preferredMaintenanceWindow),primaryRegion:b(a.primaryRegion),secondaryRegions:ue(a.secondaryRegions),globalClusterIdentifier:b(a.globalClusterIdentifier),enableGlobalWriteForwarding:j(a.enableGlobalWriteForwarding),allocatedStorage:R(a.allocatedStorage),monitoringInterval:R(a.monitoringInterval),snapshotIdentifier:b(a.snapshotIdentifier),snapshotUsername:b(a.snapshotUsername),node:t},u=tt(t);u&&(c.variableName=u);let l=ce(a,PU);return l.length>0&&(c.extraProperties=l),c}ji(KT,"extractDatabaseResource");function Sb(e){return Ce(e,t=>{if(!or.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?KT(e,t,n):null})}ji(Sb,"findDatabaseResources");function _b(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=bb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=yb(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}ji(_b,"splitDatabaseResources");var NU=["Instance","Aurora","GlobalAurora"];function Eb(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct(NU,t.type)?t.type:"Instance",databaseName:t.databaseName,...qe({port:t.port,deletionProtection:t.deletionProtection,instanceType:t.instanceType,multiAz:t.multiAz,publiclyAccessible:t.publiclyAccessible,enableSecretRotation:t.enableSecretRotation,encryption:t.encryption,databaseInsights:t.databaseInsights,proxy:t.proxy,readReplica:t.readReplica,credentials:t.credentials,writer:t.writer,readers:t.readers,backupRetention:t.backupRetention,preferredMaintenanceWindow:t.preferredMaintenanceWindow,primaryRegion:t.primaryRegion,secondaryRegions:t.secondaryRegions,globalClusterIdentifier:t.globalClusterIdentifier,enableGlobalWriteForwarding:t.enableGlobalWriteForwarding,allocatedStorage:t.allocatedStorage,monitoringInterval:t.monitoringInterval,variableName:t.variableName,databaseEngine:t.databaseEngine,engineExpression:t.engineExpression,extraProperties:t.extraProperties})}))}ji(Eb,"convertDatabaseResources");import*as Li from"typescript";var wU=Object.defineProperty,zi=(e,t)=>wU(e,"name",{value:t,configurable:!0});function YT(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!Li.isStringLiteral(n)||!Li.isObjectLiteralExpression(i))return null;let r=B(i),o={resourceName:n.text,queueType:b(r.queueType)??"standard",visibilityTimeout:R(r.visibilityTimeout),retentionPeriod:R(r.messageRetentionPeriod),contentBasedDeduplication:j(r.contentBasedDeduplication),removalPolicy:b(r.removalPolicy),node:e},a=tt(e);a&&(o.variableName=a);let c=ce(r,new Set(["type","queueType","visibilityTimeout","messageRetentionPeriod","contentBasedDeduplication","removalPolicy"]));return c.length>0&&(o.extraProperties=c),o}zi(YT,"extractSQSResource");function xb(e){if(e!=null){if(e===!1)return!1;if(C(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}zi(xb,"parseDeadLetterQueueConfig");function Ab(e){return Ce(e,t=>{if(!Li.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?YT(t,n):null})}zi(Ab,"findSQSResources");function Ib(e){if(e.length!==0)return e.map(t=>({name:t.resourceName,queueType:t.queueType==="fifo"?"fifo":"standard",...qe({visibilityTimeout:t.visibilityTimeout,retentionPeriod:t.retentionPeriod,contentBasedDeduplication:t.contentBasedDeduplication,removalPolicy:JT(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}zi(Ib,"convertSQSResources");var kU=new Set($v.options);function XT(e){return kU.has(e)}zi(XT,"isSqsRemovalPolicy");function JT(e){return e!==void 0&&XT(e)?e:void 0}zi(JT,"toSqsRemovalPolicy");import*as Ui from"typescript";var OU=Object.defineProperty,La=(e,t)=>OU(e,"name",{value:t,configurable:!0});function e0(e){if(e.arguments.length<2)return null;let t=e.arguments[0],n=e.arguments[1];return!Ui.isStringLiteral(t)||!Ui.isObjectLiteralExpression(n)?null:{resourceName:t.text,config:B(n),node:e}}La(e0,"extractCDNResource");function t0(e,t,n){let i=t.find(o=>o.variableName===e);if(i)return i.resourceName;let r=n.find(o=>o.variableName===e||o.resourceName.charAt(0).toLowerCase()+o.resourceName.slice(1)===e);return r?r.resourceName:e}La(t0,"resolveOriginIdentifier");var QT=["CACHING_OPTIMIZED","CACHING_DISABLED"];function $b(e){return et(e,t=>{if(!Ui.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return e0(n)??void 0})}La($b,"findCDNResource");function Tb(e,t,n){if(!e)return;let i=e,r=i.config,o=La(p=>rr(p)?t0(p.__identifier,t,n):b(p)??"","resolveOrigin"),a=o(r.origin),c={name:i.resourceName,defaultOriginRef:a};if(Array.isArray(r.behaviours)){let p=r.behaviours.filter(C).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,QT)!==void 0&&{cachePolicy:U(g.cachePolicy,QT)}}));p.length>0&&(c.behaviours=p)}let u=b(r.customDomain);if(u)c.customDomain=u;else{let p=ue(r.domainNames);p&&p.length>0&&(c.customDomain=p[0])}let l=b(r.certificateArn);if(l&&(c.certificateArn=l),r.accessGate!==void 0){if(r.accessGate===!1)c.accessGate=!1;else if(C(r.accessGate)){let p=r.accessGate,g=b(p.type),v=b(p.username),A=b(p.password);g==="basic-auth"&&v&&A&&(c.accessGate={type:"basic-auth",username:v,password:A})}}let m=ce(r,new Set(["originType","origin","behaviours","customDomain","domainNames","certificateArn","accessGate"]));return m.length>0&&(c.extraProperties=m),c}La(Tb,"convertCDNResource");import*as de from"typescript";var DU=Object.defineProperty,nt=(e,t)=>DU(e,"name",{value:t,configurable:!0}),MU=new Set(Av.options);function r0(e){if(e!==void 0)return MU.has(e)?e:void 0}nt(r0,"asFlowLogDestination");function Rb(e){return{maxAzs:R(e.maxAzs),natGateways:nr(e.natGateways,t=>({count:R(t.count)})),flowLogs:nr(e.flowLogs,t=>({destination:b(t.destination),retentionDays:R(t.retentionDays)})),vpcEndpoints:C(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(Rb,"parseNetworkConfigFields");function n0(e,t){if(t.arguments.length<2)return null;let n=t.arguments[0],i=t.arguments[1];if(!de.isStringLiteral(n))return null;let r=n.text,o=de.isObjectLiteralExpression(i)?B(i):{},a=Rb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(n0,"extractNetworkResource");function Cb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Pr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Cb,"findVpcId");function Pb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Pr(r,"useExisting"))){let r=B(i.initializer);return Rb(r)}}}})}nt(Pb,"findNetworkConfig");function Nb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"backup")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.tier);if(o)return{tier:o}}}}})}nt(Nb,"findBackupConfig");function wb(e){return et(e,t=>{if(!zt(t)||t.arguments.length<=1)return;let n=t.arguments[1];if(de.isObjectLiteralExpression(n)){for(let i of n.properties)if(Pr(i,"tunnel")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return!1;if(i.initializer.kind===de.SyntaxKind.TrueKeyword)return!0;if(de.isObjectLiteralExpression(i.initializer)){let r=B(i.initializer),o=b(r.instanceType);return o?{instanceType:o}:{}}}}})}nt(wb,"findTunnelConfig");function kb(e){return Ce(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?n0(t,n):null})}nt(kb,"findNetworkResources");function Ob(e){let t=e.flowLogs;return{...qe({maxAzs:e.maxAzs,natGateways:e.natGateways,vpcEndpoints:e.vpcEndpoints}),...t!==void 0&&{flowLogs:t===!1?!1:qe({destination:r0(t.destination),retentionDays:t.retentionDays})}}}nt(Ob,"buildNetworkFields");function Db(e){if(e)return Ob(e)}nt(Db,"convertNetworkConfig");function Mb(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(St,t))return{tier:t}}nt(Mb,"convertBackupConfig");function jb(e){if(e===void 0)return;if(e===!1)return!1;if(e===!0)return{};let t={};return e.instanceType&&(t.instanceType=e.instanceType),t}nt(jb,"convertTunnelConfig");function zb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...Ob(t.config)}))}nt(zb,"convertAdditionalNetworks");import*as Fi from"typescript";var jU=Object.defineProperty,be=(e,t)=>jU(e,"name",{value:t,configurable:!0}),zU=["Instance","Aurora"],LU=["postgresql","mysql"];function Sl(e){if(!C(e))return;let t={...e.memorySize!==void 0&&{memorySize:R(e.memorySize)},...e.timeout!==void 0&&{timeout:R(e.timeout)},...e.ephemeralStorageSize!==void 0&&{ephemeralStorageSize:R(e.ephemeralStorageSize)}};return Object.keys(t).length>0?t:void 0}be(Sl,"parseLambdaConfig");function i0(e){return pt(e,"database",t=>({type:U(t.type,zU),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,LU),deletionProtection:j(t.deletionProtection),backupRetention:R(t.backupRetention),port:R(t.port),publiclyAccessible:j(t.publiclyAccessible),allowedIpCidr:b(t.allowedIpCidr),instanceType:b(t.instanceType),allocatedStorage:R(t.allocatedStorage),multiAz:j(t.multiAz),allowVpcAccess:j(t.allowVpcAccess),monitoringInterval:R(t.monitoringInterval),preferredMaintenanceWindow:b(t.preferredMaintenanceWindow),snapshotIdentifier:b(t.snapshotIdentifier),snapshotUsername:b(t.snapshotUsername),readReplica:Oi(t.readReplica),writer:Pe(t.writer,mt()),readers:Oi(t.readers),databaseInsights:Oi(t.databaseInsights),proxy:Oi(t.proxy),credentials:Pe(t.credentials,mt()),encryption:Pe(t.encryption,mt())}))}be(i0,"extractPatternDatabaseConfig");function o0(e){return pt(e,"compute",t=>({server:Pe(t.server,Sl),imageOptimisation:Pe(t.imageOptimisation,Sl),revalidation:Pe(t.revalidation,Sl)}))}be(o0,"extractPatternComputeConfig");function a0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Pe(n.assets,t),cache:Pe(n.cache,t),media:Pe(n.media,t)}))}be(a0,"extractPatternStorageConfig");function s0(e){return pt(e,"messaging",t=>({revalidationQueue:Pe(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:xb(n.deadLetterQueue)}))}))}be(s0,"extractPatternMessagingConfig");function c0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(c0,"extractPatternCdnConfig");function u0(e){return pt(e,"environment",t=>{let n=Object.fromEntries(Object.entries(t).filter(i=>typeof i[1]=="string"));return Object.keys(n).length>0?n:void 0})}be(u0,"extractPatternEnvironmentConfig");function l0(e,t){let n=d0(e);return{name:t,source:b(e.source),build:pt(e,"build",i=>({command:b(i.command),outputDir:b(i.outputDir)})),routing:U(e.routing,Fo),security:pt(e,"security",i=>({headers:j(i.headers),contentSecurityPolicy:b(i.contentSecurityPolicy)})),domain:b(e.domain),forms:pt(e,"forms",i=>({to:b(i.to),from:b(i.from),corsOrigin:b(i.corsOrigin),maxConcurrency:R(i.maxConcurrency)})),cdn:pt(e,"cdn",i=>({behaviours:Array.isArray(i.behaviours)?i.behaviours:void 0})),...n.length>0&&{unreadableFields:n}}}be(l0,"extractStaticSiteConfig");function Lb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(Lb,"isUnreadableRef");function d0(e){let t=[],n=be((r,o)=>{Lb(r)&&t.push(o)},"check");n(e.source,"source"),n(e.routing,"routing"),n(e.domain,"domain");let i=[[e.build,"build",["command","outputDir"]],[e.security,"security",["headers","contentSecurityPolicy"]],[e.forms,"forms",["to","from","corsOrigin","maxConcurrency"]],[e.cdn,"cdn",["behaviours"]]];for(let[r,o,a]of i)if(Lb(r))t.push(o);else if(C(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(d0,"collectUnreadableStaticSiteFields");function Nr(e){return e!==void 0&&e!==""}be(Nr,"isReadable");function _l(e,t){return new Error(`Static-site pattern '${e}' in infrastructure.ts: Fjall could not read ${t.join(", ")} as inline literal(s). Fjall reads these fields out of the file and writes them back, so they must be written inline (source: "./site"), not as a variable or an expression.`)}be(_l,"unreadableStaticSiteFields");function m0(e,t){let n=t.to;if(!Nr(n))throw _l(e,["forms.to"]);return{to:n,...t.from!==void 0&&{from:t.from},...t.corsOrigin!==void 0&&{corsOrigin:t.corsOrigin},...t.maxConcurrency!==void 0&&{maxConcurrency:t.maxConcurrency}}}be(m0,"readStaticSiteForms");function p0(e,t){if(e.arguments.length<2)return null;let n=e.arguments[0],i=e.arguments[1];if(!Fi.isStringLiteral(n)||!Fi.isObjectLiteralExpression(i))return null;let r=n.text,o=B(i),a=o.type,c=tt(t),u=b(o.name);return u?a==="payload"||a==="nextjs"?{variableName:c,constructId:r,type:a,config:{name:u,domain:b(o.domain),database:i0(o),compute:o0(o),storage:a0(o),messaging:s0(o),cdn:c0(o),environment:u0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:l0(o,u),node:e}:null:null}be(p0,"extractPatternResource");function Ub(e){return Ce(e,t=>{if(!Fi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?p0(n,t):null})}be(Ub,"findPatternResources");function Fb(e,t){if(!t||t.length===0)return;let n=t[0];if(e.pattern=n.type,n.type==="staticsite"){let{config:r}=n,o=r.source,a=r.build?.command,c=r.build?.outputDir;if(r.unreadableFields!==void 0)throw _l(r.name,r.unreadableFields);if(!Nr(o)||!Nr(a)||!Nr(c)){let u=[];throw Nr(o)||u.push("source"),Nr(a)||u.push("build.command"),Nr(c)||u.push("build.outputDir"),_l(r.name,u)}e.patternConfig={type:"staticsite",name:r.name,source:o,build:{command:a,outputDir:c},routing:r.routing,security:r.security,domain:r.domain,...r.forms!==void 0&&{forms:m0(r.name,r.forms)},cdn:r.cdn};return}let{config:i}=n;e.patternConfig={type:n.type,name:i.name,domain:i.domain,database:i.database,compute:i.compute,storage:i.storage,messaging:i.messaging,cdn:i.cdn,environment:i.environment}}be(Fb,"applyPatternConfig");var UU=Object.defineProperty,El=(e,t)=>UU(e,"name",{value:t,configurable:!0});function f0(e,t){for(let n of t){let i=e.compute.find(r=>r.variableName===n.targetVariableName);i!==void 0&&i.type==="lambda"&&(i.scheduleExpression=n.schedule)}}El(f0,"applyScheduleBackfill");function g0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[$a]&&(e.owner=t[$a])}El(g0,"applyTagsAndOwner");function h0(e){let t=[];for(let n of e)if(vl(n.moduleSpecifier))if(n.moduleSpecifier==="@fjall/components-infrastructure"||n.moduleSpecifier==="@fjall/infrastructure"){let i=n.namedImports.filter(r=>!jT.has(r));i.length>0&&t.push({moduleSpecifier:n.moduleSpecifier,namedImports:i,defaultImport:n.defaultImport})}else(n.namedImports.length>0||n.defaultImport)&&t.push(n);return t.length>0?t:void 0}El(h0,"computeAdditionalManagedImports");function yn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Fb(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Db(e.network),i.backup=Mb(e.backup),i.tunnel=jb(e.tunnel),i.additionalNetworks=zb(e.networkResources),g0(i,e.tags),i.database=Eb(e.databaseResources),i.dynamodb=bl(e.dynamodbResources),i.clickhouse=yl(e.clickhouseResources),i.sqs=Ib(e.sqsResources),i.cdn=Tb(e.cdnResource,e.s3Resources,e.computeResources),i.s3=pb(e.s3Resources),i.compute=ub(e.computeResources,e.databaseResources,e.s3Resources,i),f0(i,e.schedules),i.additionalManagedImports=h0(e.imports),n?.skipValidation)return i;try{return z$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=oa(r);throw new Error(`Invalid infrastructure configuration:
431
+ ${o}`)}throw r}}El(yn,"convertToResourcePlan");var FU=Object.defineProperty,Bi=(e,t)=>FU(e,"name",{value:t,configurable:!0});function wr(e,t){let n=W.createSourceFile("infrastructure.ts",e,W.ScriptTarget.Latest,!0,W.ScriptKind.TS),i=v0(n),{appVariableName:r,appName:o}=y0(n),a=Cb(n),c=Pb(n),u=Nb(n),l=wb(n),m=kb(n),p=Sb(n),{databases:g,dynamodb:v,clickhouse:A}=_b(p),Y=Ab(n),z=$b(n),Se=[...db(n),...mb(n)],pr=fl(n),we=hl(n),te=Ub(n),pe=S0(n),$n={sourceFile:n,imports:i,appVariableName:r,appName:o,vpcId:a,network:c,backup:u,tunnel:l,networkResources:m,databaseResources:g,dynamodbResources:v,clickhouseResources:A,sqsResources:Y,cdnResource:z,s3Resources:Se,computeResources:pr,schedules:we,patternResources:te,tags:pe};return t?.extractCustomCode&&($n.customCodeBlocks=Da(n),$n.classifiedStatements=Ke(n)),$n}Bi(wr,"parseInfrastructure");function v0(e){let t=[];return W.forEachChild(e,n=>{if(W.isImportDeclaration(n)){if(!W.isStringLiteral(n.moduleSpecifier))return;let i={moduleSpecifier:n.moduleSpecifier.text,namedImports:[]};n.importClause&&(n.importClause.name&&(i.defaultImport=n.importClause.name.text),n.importClause.namedBindings&&W.isNamedImports(n.importClause.namedBindings)&&(i.namedImports=n.importClause.namedBindings.elements.map(r=>r.name.text))),t.push(i)}}),t}Bi(v0,"extractImports");function b0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?Pa(e,t.text)??"":W.isPropertyAccessExpression(t)?Na(e,t)??"":""}Bi(b0,"resolveAppName");function y0(e){return et(e,t=>{if(W.isVariableStatement(t))for(let n of t.declarationList.declarations){if(!n.initializer||!zt(n.initializer))continue;let i=W.isIdentifier(n.name)?n.name.text:"",r=n.initializer.arguments.length>0?b0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Bi(y0,"findAppVariable");function S0(e){let t={};function n(i){if(W.isCallExpression(i)&&W.isPropertyAccessExpression(i.expression)&&i.expression.name.text==="addTags"&&W.isIdentifier(i.expression.expression)&&i.arguments.length>0){let r=i.arguments[0];if(W.isObjectLiteralExpression(r)){let o=B(r);for(let[a,c]of Object.entries(o))typeof c=="string"?t[a]=c:Cr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Bi(n,"visit"),n(e),t}Bi(S0,"extractTags");import*as Vi from"typescript";var BU=Object.defineProperty,Ae=(e,t)=>BU(e,"name",{value:t,configurable:!0});function Zi(e,t,n){return e.slice(0,t)+n+e.slice(t)}Ae(Zi,"insertAtPosition");function xl(e,t){return e.find(n=>n.type===t)}Ae(xl,"findClassification");function Bb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Bb,"findLastClassification");function kr(e){return Vi.createSourceFile("infrastructure.ts",e,Vi.ScriptTarget.Latest,!0,Vi.ScriptKind.TS)}Ae(kr,"parseSourceFile");function Al(e,t){return e.endsWith(`
432
432
 
433
433
  `)||t.startsWith(`
434
434
  `)?"":e.endsWith(`
@@ -439,17 +439,17 @@ ${o}`)}throw r}}El(yn,"convertToResourcePlan");var UU=Object.defineProperty,Bi=(
439
439
  `)?"":`
440
440
  `;return o+n+a}Ae(x0,"formatCodeForInsertion");function A0(e,t){let{resourceType:n,resourceName:i,newCode:r}=t;try{let o=kr(e),a=Vb(o,e,n,i);if(Zb(a))return a;let c=a,u=c.node.getFullStart(),l=c.endPos,m=e.slice(u,c.node.getStart()),p=I0(m);return{content:e.slice(0,u)+p+r+e.slice(l),success:!0}}catch(o){return Lt(o,e)}}Ae(A0,"updateResourceSurgically");function I0(e){let t=e.match(/^[\s]*[\n\r]+[\s]*/);return t?t[0]:""}Ae(I0,"extractLeadingWhitespace");function $0(e,t,n,i){let r=e,o=0;for(let a of t){let c=`// [ORPHANED: was after ${Or(n,i)}]
441
441
  `,u=a.sourceText.trim(),l=r.indexOf(u,o);l!==-1&&(r=Zi(r,l,c),o=l+c.length+u.length)}return r}Ae($0,"insertOrphanMarkers");function T0(e,t){let{resourceType:n,resourceName:i,orphanHandling:r}=t,o=[];try{let a=kr(e),c=Vb(a,e,n,i);if(Zb(c))return c;let u=c,l=(wr(e,{extractCustomCode:!0}).customCodeBlocks??[]).filter(A=>A.position==="after-resource"&&A.afterManagedResource?.type===n&&A.afterManagedResource?.name===i);if(l.length>0)if(r==="preserve-with-warning")o.push(`Custom code after ${Or(n,i)} will be orphaned. Added // [ORPHANED] marker comment.`);else return Lt(new Error(`Orphan handling "${r}" is not yet implemented`),e);let m=u.node.getFullStart(),p=u.endPos,g=e[p]===`
442
- `?p+1:p,v=e.slice(0,m)+e.slice(g);return l.length>0&&r==="preserve-with-warning"&&(v=$0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(T0,"removeResourceSurgically");import*as Sn from"typescript";var BU=Object.defineProperty,gt=(e,t)=>BU(e,"name",{value:t,configurable:!0});function N0(e,t){try{let n=kr(e),i=new Set;for(let c of n.statements)Sn.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>k0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(Sn.isImportDeclaration).at(-1)?.getEnd()??0,a=`
442
+ `?p+1:p,v=e.slice(0,m)+e.slice(g);return l.length>0&&r==="preserve-with-warning"&&(v=$0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(T0,"removeResourceSurgically");import*as Sn from"typescript";var VU=Object.defineProperty,gt=(e,t)=>VU(e,"name",{value:t,configurable:!0});function N0(e,t){try{let n=kr(e),i=new Set;for(let c of n.statements)Sn.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>k0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(Sn.isImportDeclaration).at(-1)?.getEnd()??0,a=`
443
443
  `+r.join(`
444
444
  `);return{content:Zi(e,o,a),success:!0}}catch(n){return Lt(n,e)}}gt(N0,"ensureImports");function Gb(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}gt(Gb,"parseNamedImports");function w0(e,t){let n=Gb(e),i=Gb(t);for(let r of i)if(!n.has(r))return!1;return!0}gt(w0,"existingImportCoversRequired");function k0(e,t){let n=e.match(R0),i=t.match(R0);if(!n||!i||n[1]!==i[1])return!1;let r=e.match(C0),o=t.match(C0);return r&&o?w0(r[1],o[1]):!!r==!!o}gt(k0,"importsAreEquivalent");var R0=/from\s+["']([^"']+)["']/,C0=/\{([^}]+)\}/,P0={"before-imports":0,"after-imports":1,"after-app-init":2,"after-tags":3,"after-resource":4,"end-of-file":5};function O0(e){return[...e].sort((t,n)=>{let i=P0[n.position]-P0[t.position];return i!==0?i:(n.originalLine??0)-(t.originalLine??0)})}gt(O0,"sortCustomBlocksForInsertion");function D0(e,t,n,i){if(n!==null){let o=z0(e,n,t);return Zi(e,n,o)}let r=t.afterManagedResource?`// [ORPHANED: was after ${Or(t.afterManagedResource.type,t.afterManagedResource.name)}]
445
445
  `:`// [ORPHANED]
446
446
  `;return i.push(`Custom code from line ${t.originalLine} could not be positioned. Added at end of file.`),e+`
447
447
  `+r+t.sourceText}gt(D0,"insertOrOrphanBlock");function $l(e,t,n){if(!t||t.length===0)return{content:e,success:!0};try{let i=kr(e),r=Ke(i),o=[],a=O0(t),c=e;for(let u of a){let l=j0(i,r,u,n,o);c=D0(c,u,l,o)}return{content:c,success:!0,warnings:o.length>0?o:void 0}}catch(i){return Lt(i,e)}}gt($l,"injectCustomCodeBlocks");function M0(e,t,n,i){if(!t.afterManagedResource)return null;let r=t.afterManagedResource,o=(r.name&&n?.get(r.name))??r.name,a=e.find(u=>u.type===r.type&&u.resourceName===o);if(a)return a.endPos;let c=e.filter(u=>u.type===r.type&&u.isManaged);return c.length===1?c[0].endPos:(i&&i.push(`Resource ${Or(t.afterManagedResource.type,t.afterManagedResource.name)} not found. Custom code may be orphaned.`),null)}gt(M0,"findAfterResourcePosition");function j0(e,t,n,i,r){switch(n.position){case"before-imports":return 0;case"after-imports":return Bb(t,"import")?.endPos??0;case"after-app-init":return xl(t,"app-init")?.endPos??null;case"after-tags":return xl(t,"tags")?.endPos??null;case"after-resource":return M0(t,n,i,r);case"end-of-file":return e.getEnd();default:return null}}gt(j0,"findCustomCodeInsertPosition");function z0(e,t,n){let i=Il(e,t),r=n.sourceText;return r=Al(i,r)+r,r.endsWith(`
448
448
  `)||(r+=`
449
- `),r}gt(z0,"formatCustomCodeForInsertion");function L0(e){try{let t=function(r){r.kind===Sn.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),Sn.forEachChild(r,t)};gt(t,"visit");let n=kr(e),i=[];return t(n),i.length>0?{valid:!1,errors:i}:{valid:!0}}catch(t){return{valid:!1,errors:[Rt(t)]}}}gt(L0,"validateModifiedFile");import*as Ie from"typescript";var Ua=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),VU=s.object({name:s.string(),type:Ua,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),ZU=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),GU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),GK=s.object({origin:s.string(),ttl:s.number(),records:s.array(VU),delegations:s.array(ZU),certificates:s.array(GU)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Tl="ALIAS ";var U0=s.discriminatedUnion("kind",[s.object({kind:s.literal("ecs"),appName:s.string()}).strict(),s.object({kind:s.literal("cdn"),appName:s.string()}).strict(),s.object({kind:s.literal("bucket"),bucketName:s.string()}).strict(),s.object({kind:s.literal("custom"),dnsName:s.string(),hostedZoneId:s.string()}).strict()]),F0=U0.options.map(e=>e.shape.kind.value),Wb=s.enum(["A","AAAA"]),Hb=s.enum(["route53","external-delegated","external-records"]),B0=s.enum(["zone","full"]),WU=s.object({kind:s.literal("standard"),type:s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),name:s.string(),value:s.union([s.string(),s.array(s.string())]),ttl:s.number().int().positive().optional()}).strict(),HU=s.object({kind:s.literal("alias"),type:Wb,name:s.string(),target:U0}).strict(),qU=s.discriminatedUnion("kind",[WU,HU]),KU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),YU=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),qK=s.object({zoneName:s.string(),registrar:Hb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(qU),certificates:s.array(KU),delegations:s.array(YU)}).strict().refine(e=>e.registrar!=="external-delegated"||e.delegatedSubdomain!==void 0,{message:"external-delegated requires delegatedSubdomain"}).refine(e=>e.registrar!=="external-records"||e.delegations.length===0,{message:"external-records forbids delegations"}).refine(e=>e.registrar==="external-delegated"||e.adoptedNameServers===void 0,{message:"adoptedNameServers requires registrar external-delegated"}).refine(e=>e.registrar!=="external-delegated"||e.hostedZoneId===void 0==(e.adoptedNameServers===void 0),{message:"external-delegated adoption requires hostedZoneId and adoptedNameServers together (both-or-neither)"});var XU=Object.defineProperty,me=(e,t)=>XU(e,"name",{value:t,configurable:!0}),Z0=Hb.options,V0=B0.options,JU=Ua.options,QU=Wb.options;function G0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&W0(r.expression)){let o=H0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return P(void 0);if(t.length>1)return $(new Error(`Expected exactly one 'new Domain(...)' call per infrastructure file, found ${t.length}`));let i=t[0];return i?P(i):P(void 0)}me(G0,"findDomainConstructCall");function W0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(W0,"isDomainIdentifier");function H0(e){let t=e.arguments;if(!t||t.length<3)return;let n=t[0],i=t[1],r=t[2];if(!n||!i||!r||!Ie.isObjectLiteralExpression(r))return;let o=q0(e);if(o===void 0)return;let a=K0(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(H0,"buildMatch");function q0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(q0,"findContainingTopLevelStatement");function K0(e){let t=e.parent;for(;t!==void 0;){if(Ie.isVariableDeclaration(t)&&Ie.isIdentifier(t.name)&&t.initializer===e)return t.name.text;t=t.parent}}me(K0,"extractDomainVarId");function Y0(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${Z0.join(", ")}, got ${JSON.stringify(e.value)}`;case"missing_field":return`'${e.field}' property is required`;case"invalid_literal":return`'${e.field}' ${e.reason}`;case"removed_field":return`'${e.field}' was removed from the Domain API \u2014 ${e.cure}`}}me(Y0,"errorMessage");var e4="declare the delegated child as its own Domain with registrar: 'external-delegated' and set 'parentDelegationRoleArn' (the CLI injects it via ManagedDomainBinding.delegationRoleArn); the child UPSERTs its NS records into the parent zone";function X0(e){let t=B(e),n=U(t.registrar,Z0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:Cl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=Q0(t.records);if(!r.success)return r;let o=iR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:e4});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:oR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return P({...a,registrar:n,hostedZoneId:b(t.hostedZoneId)});case"external-delegated":{let c=b(t.delegatedSubdomain);if(c===void 0)return $({kind:"missing_field",field:"delegatedSubdomain"});let u=b(t.hostedZoneId);if(t.hostedZoneId!==void 0&&u===void 0)return $({kind:"invalid_literal",field:"hostedZoneId",reason:"must be a literal string zone id on external-delegated \u2014 dynamic expressions cannot be round-tripped"});let l=ue(t.adoptedNameServers);if(t.adoptedNameServers!==void 0&&l===void 0)return $({kind:"invalid_literal",field:"adoptedNameServers",reason:"must be an array of literal NS hostname strings \u2014 the parent NS UPSERT writes them verbatim"});if(u===void 0!=(l===void 0))return $({kind:"invalid_literal",field:u===void 0?"hostedZoneId":"adoptedNameServers",reason:"adopting an existing child zone requires hostedZoneId and adoptedNameServers together (both-or-neither) \u2014 an imported zone exposes no name-server attribute at synth"});let m=b(t.parentDelegationRoleArn);if(t.parentDelegationRoleArn!==void 0&&m===void 0)return $({kind:"invalid_literal",field:"parentDelegationRoleArn",reason:"must be a literal string ARN (VD2-a) \u2014 the CLI injects it via ManagedDomainBinding.delegationRoleArn; dynamic expressions such as Fn.importValue are not supported"});let p=U(t.phase,V0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${V0.map(g=>`'${g}'`).join(", ")}`}):P({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return P({...a,registrar:n})}}me(X0,"parseDomainProps");function J0(e){return Y0(e)}me(J0,"parseDomainErrorMessage");function Q0(e){if(e===void 0)return P([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"records",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(!C(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=eR(i,n);if(!r.success)return r;t.push(r.data)}return P(t)}me(Q0,"parseRecordsArray");function eR(e,t){let n=b(e.type),i=b(e.name);if(n===void 0)return $({kind:"missing_field",field:`records[${t}].type`});if(i===void 0)return $({kind:"missing_field",field:`records[${t}].name`});if(e.target!==void 0){if(!QU.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=rR(e.target);return P({kind:"alias",type:n,name:i,target:c})}if(!JU.some(c=>c===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`unsupported record type '${n}'`});let r=tR(e.value);if(r===void 0)return $({kind:"invalid_literal",field:`records[${t}].value`,reason:`must be a string or array of strings (got ${JSON.stringify(e.value)})`});let o=R(e.ttl),a={kind:"standard",type:n,name:i,value:r,...o!==void 0?{ttl:o}:{}};return P(a)}me(eR,"parseRecord");function tR(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(tR,"parseRecordValue");function rR(e){if(Et(e))return nR(e);if(C(e)){let t=U(e.kind,F0);if(t==="ecs"||t==="cdn"){let n=b(e.appName);if(n!==void 0)return{kind:t,appName:n}}if(t==="bucket"){let n=b(e.bucketName);if(n!==void 0)return{kind:t,bucketName:n}}if(t==="custom"){let n=b(e.dnsName),i=b(e.hostedZoneId);if(n!==void 0&&i!==void 0)return{kind:t,dnsName:n,hostedZoneId:i}}}return{kind:"unresolved",sourceText:Cl(e)}}me(rR,"parseTarget");function nR(e){let t=e.__call.trim(),n=t.match(/^([A-Za-z_][\w$]*)\s*\(([\s\S]*)\)\s*$/);if(!n)return{kind:"unresolved",sourceText:t};let i=n[1],r=n[2]??"",o=Rl(r);switch(i){case"fjallApp":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=_n(o,0),c=_n(o,1);return a!==void 0&&c!==void 0?{kind:"custom",dnsName:a,hostedZoneId:c}:{kind:"dynamic",sourceText:t}}if(o.length===1){let a=o[0]?.trim()??"",c=qb(a,"dnsName"),u=qb(a,"hostedZoneId");return c!==void 0&&u!==void 0?{kind:"custom",dnsName:c,hostedZoneId:u}:{kind:"dynamic",sourceText:t}}return{kind:"unresolved",sourceText:t}}default:return{kind:"unresolved",sourceText:t}}}me(nR,"resolveCallRefTarget");function Rl(e){let t=[],n=0,i=null,r="";for(let a=0;a<e.length;a++){let c=e[a];if(i!==null){if(r+=c,c==="\\"&&a+1<e.length){let u=e[a+1];u!==void 0&&(r+=u,a+=1);continue}c===i&&(i=null);continue}if(c==='"'||c==="'"||c==="`"){i=c,r+=c;continue}if(c==="("||c==="{"||c==="["){n+=1,r+=c;continue}if(c===")"||c==="}"||c==="]"){n-=1,r+=c;continue}if(c===","&&n===0){t.push(r.trim()),r="";continue}r+=c}let o=r.trim();return o.length>0&&t.push(o),t}me(Rl,"splitTopLevelArgs");function _n(e,t){let n=e[t];if(n===void 0)return;let i=n.trim();if(i.length<2)return;let r=i[0],o=i[i.length-1];if(r===o&&!(r!=='"'&&r!=="'"&&r!=="`"))return i.slice(1,-1)}me(_n,"extractStringLiteralArg");function qb(e,t){let n=e.trim().replace(/^\{|\}$/g,""),i=Rl(n);for(let r of i){let o=r.indexOf(":");if(o<0||r.slice(0,o).trim().replace(/["'`]/g,"")!==t)continue;let a=r.slice(o+1).trim();return _n([a],0)}}me(qb,"extractObjectFieldString");function iR(e){if(e===void 0)return P([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"certificates",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(typeof i=="string"){t.push({domainName:i});continue}if(!C(i))return $({kind:"invalid_literal",field:`certificates[${n}]`,reason:"must be a string or object literal"});let r=b(i.domainName);if(r===void 0)return $({kind:"missing_field",field:`certificates[${n}].domainName`});let o=ue(i.subjectAlternativeNames),a=j(i.transparencyLogging),c=j(i.cloudFront);if(i.cloudFront!==void 0&&c===void 0)return $({kind:"invalid_literal",field:`certificates[${n}].cloudFront`,reason:"must be a boolean literal \u2014 the CloudFront designation drives the zone-level us-east-1 export contract and cannot be round-tripped from a dynamic expression"});t.push({domainName:r,...o!==void 0?{subjectAlternativeNames:o}:{},...a!==void 0?{transparencyLogging:a}:{},...c!==void 0?{cloudFront:c}:{}})}return P(t)}me(iR,"parseCertificatesArray");function oR(e){if(e===void 0||!C(e))return;let t={};for(let[n,i]of Object.entries(e)){let r=b(i);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}me(oR,"parseStringRecord");function Cl(e){if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(t=>Cl(t)).join(", ")}]`;if(typeof e=="object"){if("__call"in e)return String(e.__call);if("__identifier"in e)return String(e.__identifier);if("__expression"in e)return String(e.__expression);if("__unknown"in e)return String(e.__unknown)}return String(e)}me(Cl,"stringifyParsedValue");var t4=Object.defineProperty,Dr=(e,t)=>t4(e,"name",{value:t,configurable:!0});function aR(e){return e?.map(t=>({name:t.name,...t.serviceType!==void 0&&{serviceType:t.serviceType},...t.docker!==void 0&&{docker:t.docker},...t.containerPort!==void 0&&{containerPort:t.containerPort},...t.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},...t.routing!==void 0&&{routing:t.routing}}))}Dr(aR,"toUserServiceConfigs");function sR(e,t,n=!0,i,r){let o={appName:e,type:t,database:[],s3:[],compute:[]};if(t==="custom")return o;let a=t,c=tr[a];return{...o,database:cR(e,c,a,n,r),compute:mR(e,c,a,n,i),network:c.network,backup:c.backup}}Dr(sR,"planApplicationResources");function cR(e,t,n,i,r){let o=Jv(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:Tn(e),variableName:`${Qt(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Dr(cR,"buildDatabasePlan");function uR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Dr(uR,"buildScalingConfig");function lR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??jI,c=t?.docker;return{...r,...c?.path!==void 0&&{docker:{path:c.path,...c.context!==void 0&&{context:c.context},...c.target!==void 0&&{target:c.target}}},...t?.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},containers:o?[{}]:[{port:a}],...uR(n,i)}}Dr(lR,"buildServiceEntry");function dR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Dr(dR,"resolveClusterConfig");function mR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?Qv(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>lR(u,r?.[l])),c=a.some(u=>u.containers?.some(l=>l.port!==void 0));return[{name:e,type:Si.ECS,needsConnection:i,connectedDatabase:i?[e]:void 0,variableName:`${Qt(e)}Compute`,cluster:dR(o.cluster,c),services:a}]}Dr(mR,"buildComputePlan");function Gi(e,t){let n=[ol(e),il(e),nl(e)];if(cl(e))n.push(Ia(e),Ta(e));else{let r=sl(e);n.push(Ta(e),qu(e),Ku(e),el(e),tl(e),rl(e),Qu(e,r),al(e))}let i=n.join("");if(e.customCodeBlocks&&e.customCodeBlocks.length>0){let r=$l(i,e.customCodeBlocks,t?.resourceMapping);return r.success?P(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return P(i)}Dr(Gi,"generateInfrastructureFromPlan");var r4=Object.defineProperty,Wi=(e,t)=>r4(e,"name",{value:t,configurable:!0}),n4=Xv("standard");function pR(e){return la.options.some(t=>t.shape?.type?.value===e)}Wi(pR,"isPatternConfigType");function fR(e,t,n){let{tier:i="standard",domain:r,database:o,compute:a,cdn:c,environment:u,tags:l}=n??{},m=ll(i);if(!m&&i!=="custom")return $(new Error(`Invalid pattern tier: "${i}". Valid tiers are: ${[...Ca,"custom"].join(", ")}`));if(!pR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?ul(i):null,g=bR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return P({appName:e,type:"standard",pattern:t,network:p?p.network:n4,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Wi(fR,"planOpenNextResources");function gR(e,t){return{type:e?.type??t.database.type,instanceType:e?.instanceType??t.database.instanceType,backupRetention:e?.backupRetention??t.database.backupRetention,deletionProtection:e?.deletionProtection??t.database.deletionProtection,...e?.databaseName!==void 0&&{databaseName:e.databaseName},...e?.publiclyAccessible!==void 0&&{publiclyAccessible:e.publiclyAccessible},...e?.allowedIpCidr!==void 0&&{allowedIpCidr:e.allowedIpCidr},...e?.encryption!==void 0&&{encryption:e.encryption}}}Wi(gR,"mergeDatabaseConfig");function hR(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Wi(hR,"mergeComputeConfig");function vR(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Wi(vR,"toPatternDatabaseConfig");function bR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?gR(r,u):r,m=u?hR(o,u):o,p={type:e,name:t,domain:i,database:l?vR(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=la.safeParse(p);return g.success?P(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Wi(bR,"buildPatternConfig");var i4=Object.defineProperty,o4=(e,t)=>i4(e,"name",{value:t,configurable:!0});function yR(e,t){let n={type:"staticsite",name:e,source:t.source,build:t.build,...t.routing!==void 0&&{routing:t.routing},...t.security!==void 0&&{security:t.security},...t.domain!==void 0&&{domain:t.domain},...t.forms!==void 0&&{forms:t.forms},...t.cdn!==void 0&&{cdn:t.cdn}},i=jv.safeParse(n);return i.success?P({appName:e,type:"standard",pattern:"staticsite",patternConfig:i.data,database:[],s3:[],compute:[],tags:t.tags??{}}):$(new Error(`Invalid static-site pattern config: ${i.error.message}`))}o4(yR,"planStaticSiteResources");var a4=Object.defineProperty,Pl=(e,t)=>a4(e,"name",{value:t,configurable:!0});function SR(e){let t=e.split("/");if(t.length!==2||!t[0]||!t[1])throw new Error(`Invalid service reference format: '${e}'. Expected 'ClusterName/ServiceName'.`);return t[0]}Pl(SR,"parseServiceReference");function Kb(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Pl(Kb,"addResourceConnection");function Nl(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(SR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){Kb(c,n,i);for(let u of c.services){let l=`${a}/${u.name}`;r.has(l)&&(i==="database"?u.needsDatabaseConnection=!0:u.needsStorageConnection=!0)}}}}Pl(Nl,"applyServiceConnections");function wl(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(Kb(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Pl(wl,"applyComputeConnections");var s4=Object.defineProperty,ye=(e,t)=>s4(e,"name",{value:t,configurable:!0});function _R(e){let t=e.database.length>0,n=e.cdn!==void 0;return[{type:"database",label:"Database (RDS)",available:!0},{type:"database:proxy",label:"RDS Proxy",available:t,reason:t?void 0:"Requires at least one database"},{type:"storage:s3",label:"S3 Bucket",available:!0},{type:"network",label:"Network (VPC)",available:!0},{type:"compute:ecs",label:"Compute (ECS)",available:!0},{type:"compute:lambda",label:"Compute (Lambda)",available:!0},{type:"cdn",label:"CDN (CloudFront)",available:!n,reason:n?"A CDN is already configured. Remove existing CDN first.":void 0},{type:"tunnel",label:"Database Tunnel",available:t&&!e.tunnel,reason:t?e.tunnel?"Tunnel is already enabled":void 0:"Requires at least one database"}]}ye(_R,"listAvailableResources");function Fa(e,t){if(OR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return ER(e,t);case"database:proxy":return xR(e,t);case"storage:s3":return P(void 0);case"network":return P(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):P(void 0);case"compute:lambda":return P(void 0);case"cdn":return AR(e,t);case"tunnel":return IR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Fa,"validateResourceAddition");function ER(e,t){let n=t.databaseName??t.resourceName.toLowerCase();return e.database.some(i=>i.databaseName===n)?$(new Error(`Database name '${n}' already exists. Choose a different database name.`)):t.databaseType==="GlobalAurora"&&!t.primaryRegion?$(new Error("GlobalAurora databases require a primaryRegion.")):P(void 0)}ye(ER,"validateDatabaseAddition");function xR(e,t){let n=e.database.find(i=>i.name===t.targetDatabase||i.databaseName===t.targetDatabase);if(!n){let i=e.database.map(r=>r.name).join(", ")||"none";return $(new Error(`Database '${t.targetDatabase}' not found. Available databases: ${i}`))}return n.proxy!==void 0&&n.proxy!==!1?$(new Error(`Database '${n.name}' already has RDS Proxy enabled.`)):P(void 0)}ye(xR,"validateProxyAddition");function AR(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!Yb(e,t.defaultOriginRef))return $(new Error(`Origin '${t.defaultOriginRef}' not found in plan. CDN origin must reference an existing resource.`));if(t.behaviours){for(let n of t.behaviours)if(!Yb(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return P(void 0)}ye(AR,"validateCdnAddition");function IR(e){return e.tunnel&&typeof e.tunnel=="object"?$(new Error("Tunnel is already enabled for this application.")):e.database.length===0?$(new Error("No databases found \u2014 tunnel requires at least one relational database.")):P(void 0)}ye(IR,"validateTunnelAddition");function kl(e,t){let n=Fa(e,t);if(!n.success)return n;switch(t.type){case"database":return $R(e,t);case"database:proxy":return TR(e,t);case"storage:s3":return RR(e,t);case"network":return CR(e,t);case"compute:ecs":return PR(e,t);case"compute:lambda":return NR(e,t);case"cdn":return wR(e,t);case"tunnel":return kR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(kl,"addResourceToPlan");function $R(e,t){let n=t.databaseName??t.resourceName.toLowerCase(),i={name:t.resourceName,type:t.databaseType,databaseName:n},r;switch(t.databaseType){case"Instance":r={...i,...t.instanceType!==void 0?{instanceType:t.instanceType}:{},...t.multiAz!==void 0?{multiAz:t.multiAz}:{},...t.readReplica!==void 0?{readReplica:t.readReplica}:{},...t.publiclyAccessible!==void 0?{publiclyAccessible:t.publiclyAccessible}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{}};break;case"Aurora":r={...i,...t.writer!==void 0?{writer:t.writer}:{},...t.readers!==void 0?{readers:t.readers}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{},...t.preferredMaintenanceWindow!==void 0?{preferredMaintenanceWindow:t.preferredMaintenanceWindow}:{}};break;case"GlobalAurora":r={...i,primaryRegion:t.primaryRegion,...t.secondaryRegions!==void 0?{secondaryRegions:t.secondaryRegions}:{}};break;default:{let a=t.databaseType;return $(new Error(`Unknown database type: ${String(a)}`))}}let o={...e,database:[...e.database,r]};return Xb(o,t.resourceName,"database",t),P(o)}ye($R,"addDatabase");function TR(e,t){let n=e.database.map(o=>({...o})),i=n.find(o=>o.name===t.targetDatabase||o.databaseName===t.targetDatabase);if(!i)return $(new Error(`Database '${t.targetDatabase}' not found.`));let r={};return t.maxConnections!==void 0&&(r.maxConnections=t.maxConnections),t.maxIdleConnections!==void 0&&(r.maxIdleConnections=t.maxIdleConnections),t.connectionBorrowTimeout!==void 0&&(r.connectionBorrowTimeout=t.connectionBorrowTimeout),t.requireTLS!==void 0&&(r.requireTLS=t.requireTLS),i.proxy=Object.keys(r).length>0?r:{},P({...e,database:n})}ye(TR,"addProxy");function RR(e,t){let n=t.bucketName??t.resourceName.toLowerCase(),i=$e(n),r=e.s3.length,o=r===0?"":`${r+1}`,a={name:i,bucketName:n,variableName:`bucket${o}`,...t.publicReadAccess!==void 0?{publicReadAccess:t.publicReadAccess}:{},...t.versioned!==void 0?{versioned:t.versioned}:{},...t.encryption!==void 0?{encryption:t.encryption}:{},...t.websiteHosting?{websiteHosting:{indexDocument:"index.html"}}:{}},c={...e,s3:[...e.s3,a]};return Xb(c,i,"storage",t),P(c)}ye(RR,"addS3");function CR(e,t){let n={};if(t.maxAzs!==void 0&&(n.maxAzs=t.maxAzs),t.natGateways!==void 0&&(n.natGateways=t.natGateways),t.flowLogs!==void 0&&(n.flowLogs=t.flowLogs),t.vpcEndpoints!==void 0&&(n.vpcEndpoints=t.vpcEndpoints),t.networkName){let i={name:t.networkName,...n};return P({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return P({...e,network:{...e.network??{},...n}})}ye(CR,"addNetwork");function PR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"ecs",needsConnection:n.length>0,connectedDatabase:n,...t.loadBalancer!==void 0?{cluster:{loadBalancer:t.loadBalancer}}:{},services:t.services.map(r=>({name:r.name,capacityProvider:r.capacityProvider??"FARGATE",...r.port!==void 0?{containers:[{port:r.port}]}:{},...r.cpu!==void 0?{cpu:r.cpu}:{},...r.memory!==void 0?{memoryLimitMiB:r.memory}:{}})),...t.docker!==void 0&&{docker:t.docker}};return P({...e,compute:[...e.compute,i]})}ye(PR,"addEcsCompute");function NR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"lambda",needsConnection:n.length>0,connectedDatabase:n,...t.timeout!==void 0?{timeout:t.timeout}:{},...t.memory!==void 0?{memory:t.memory}:{},...t.handler!==void 0?{handler:t.handler}:{},...t.runtime!==void 0?{runtime:t.runtime}:{}};return P({...e,compute:[...e.compute,i]})}ye(NR,"addLambdaCompute");function wR(e,t){let n={name:t.resourceName,defaultOriginRef:t.defaultOriginRef,...t.customDomain!==void 0?{customDomain:t.customDomain}:{},...t.certificateArn!==void 0?{certificateArn:t.certificateArn}:{},...t.behaviours&&t.behaviours.length>0?{behaviours:[...t.behaviours].map(i=>({pathPattern:i.pathPattern,originRef:i.originRef,...i.cachePolicy!==void 0?{cachePolicy:i.cachePolicy}:{}}))}:{}};return P({...e,cdn:n})}ye(wR,"addCdn");function kR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return P({...e,tunnel:n})}ye(kR,"addTunnel");function OR(e,t){let n=[...e.database.map(i=>i.name),...e.s3.map(i=>i.name),...e.compute.map(i=>i.name),...(e.dynamodb??[]).map(i=>i.name),...(e.sqs??[]).map(i=>i.name)];return e.cdn&&n.push(e.cdn.name),n.includes(t)}ye(OR,"isResourceNameTaken");function Yb(e,t){return e.database.some(n=>n.name===t)||e.s3.some(n=>n.name===t)||e.compute.some(n=>n.name===t)||(e.dynamodb??[]).some(n=>n.name===t)||(e.sqs??[]).some(n=>n.name===t)}ye(Yb,"resourceExistsInPlan");function Xb(e,t,n,i){i.connectToCompute&&i.connectToCompute.length>0&&wl(e,[...i.connectToCompute],t,n),i.connectToServices&&i.connectToServices.length>0&&Nl(e,[...i.connectToServices],t,n)}ye(Xb,"applyConnections");var c4=Object.defineProperty,u4=(e,t)=>c4(e,"name",{value:t,configurable:!0});function DR(e,t,n){let i;try{i=wr(e,{extractCustomCode:!0})}catch(u){return $(new Error(`Failed to parse infrastructure.ts: ${u instanceof Error?u.message:String(u)}`))}let r;try{r=yn(i,t,{skipValidation:!0})}catch(u){return $(new Error(`Failed to build resource plan: ${u instanceof Error?u.message:String(u)}`))}i.customCodeBlocks&&i.customCodeBlocks.length>0&&(r.customCodeBlocks=i.customCodeBlocks);let o=Fa(r,n);if(!o.success)return o;let a=kl(r,n);if(!a.success)return a;let c=Gi(a.data);return c.success?P({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}u4(DR,"generateResourceChange");var l4=Object.defineProperty,Ft=(e,t)=>l4(e,"name",{value:t,configurable:!0}),d4=new Set(Ua.options);function MR(e){return d4.has(e.toUpperCase())}Ft(MR,"isRecordType");function jR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(jR,"stripTrailingDot");function zR(e){let t=!1;for(let n=0;n<e.length;n++)if(e[n]==='"')t=!t;else if(e[n]===";"&&!t)return e.slice(0,n).trimEnd();return e}Ft(zR,"stripInlineComment");function LR(e,t){let n=e.slice(t).join(" "),i=[],r="",o=!1;for(let a of n)a==='"'?(o&&(i.push(r),r=""),o=!o):o&&(r+=a);return i.join(" ")}Ft(LR,"parseTxtValue");function UR(e){let t=/;\s*auto\s*$/.test(e),n=e.replace(/;\s*auto\s*$/,"").trim().match(/^\$FJALL-DELEGATE\s+(\S+)\s+TO\s+(\S+)$/i);if(n)return{subdomain:n[1],targetAccount:n[2],auto:t}}Ft(UR,"parseDelegateDirective");function FR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(FR,"parseCertDirective");function BR(e){let t=[],n="",i=!1;for(let r of e)r==='"'?(i=!i,n+=r):/\s/.test(r)&&!i?n.length>0&&(t.push(n),n=""):n+=r;return n.length>0&&t.push(n),t}Ft(BR,"tokenise");function VR(e){if(e.length<2)return;let t=0,n=e[t++],i,r;for(;t<e.length&&r===void 0;){let a=e[t].toUpperCase();if(a==="IN")t++;else if(MR(a))r=a,t++;else if(/^\d+$/.test(e[t]))i=parseInt(e[t],10),t++;else return}if(!r)return;let o=e.slice(t);switch(r){case"MX":{if(o.length<2)return;let a=parseInt(o[0],10),c=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:c,priority:a}}case"SRV":{if(o.length<4)return;let a=parseInt(o[0],10),c=parseInt(o[1],10),u=parseInt(o[2],10),l=o[3];return{name:n,type:r,ttl:i,value:l,priority:a,weight:c,port:u}}case"TXT":{let a=LR(e,t);return{name:n,type:r,ttl:i,value:a}}case"CAA":{let a=o.join(" ");return{name:n,type:r,ttl:i,value:a}}case"A":{if(o.length===0)return;if(o[0].toUpperCase()==="ALIAS"){if(o.length<2)return;let a=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:`${Tl}${a}`}}return{name:n,type:r,ttl:i,value:o[0]}}default:return o.length===0?void 0:{name:n,type:r,ttl:i,value:o[0]}}}Ft(VR,"parseRecord");function ZR(e){let t=e.split(`
450
- `),n,i=300,r=[],o=[],a=[];for(let c of t){let u=c.trim();if(u===""||u.startsWith(";"))continue;if(u.toUpperCase().startsWith(Ut.FJALL_DELEGATE)){let v=UR(u);v&&o.push(v);continue}let l=zR(u);if(l==="")continue;let m=BR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=jR(m[1]);continue}if(p===Ut.TTL){if(m.length<2)continue;i=parseInt(m[1],10);continue}if(p===Ut.FJALL_CERT){let v=FR(m);v&&a.push(v);continue}let g=VR(m);g&&r.push(g)}return n?P({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(ZR,"parseZoneFile");function GR(e,t){if(!e.startsWith("fjall:"))return;let n=e.split(":");if(n.length<3)return;let i=n[1],r=n[2],o=`${i}:${r}`;return t.get(o)??t.get(e)}Ft(GR,"resolveAlias");var m4=Object.defineProperty,Jb=(e,t)=>m4(e,"name",{value:t,configurable:!0});function WR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}Jb(WR,"padRight");function HR(e,t){let n=WR(e.name,24),i=e.ttl!==void 0&&e.ttl!==t?`${e.ttl} `:"";switch(e.type){case"MX":return`${n} ${i}IN MX ${e.priority??10} ${e.value}`;case"SRV":return`${n} ${i}IN SRV ${e.priority??0} ${e.weight??0} ${e.port??0} ${e.value}`;case"TXT":return`${n} ${i}IN TXT "${e.value}"`;case"CAA":return`${n} ${i}IN CAA ${e.value}`;default:return e.type==="A"&&e.value.startsWith(Tl)?`${n} ${i}IN A ${e.value}`:`${n} ${i}IN ${e.type} ${e.value}`}}Jb(HR,"formatRecord");function qR(e){let t=[];if(t.push("; zone.bind \u2014 managed by fjall"),t.push(`${Ut.ORIGIN} ${e.origin}.`),t.push(`${Ut.TTL} ${e.ttl}`),t.push(""),e.certificates.length>0){for(let n of e.certificates){let i=[n.domainName,...n.subjectAlternativeNames];t.push(`${Ut.FJALL_CERT} ${i.join(" ")}`)}t.push("")}if(e.delegations.length>0){for(let n of e.delegations){let i=n.auto?" ; auto":"";t.push(`${Ut.FJALL_DELEGATE} ${n.subdomain} TO ${n.targetAccount}${i}`)}t.push("")}for(let n of e.records)t.push(HR(n,e.ttl));return t.join(`
449
+ `),r}gt(z0,"formatCustomCodeForInsertion");function L0(e){try{let t=function(r){r.kind===Sn.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),Sn.forEachChild(r,t)};gt(t,"visit");let n=kr(e),i=[];return t(n),i.length>0?{valid:!1,errors:i}:{valid:!0}}catch(t){return{valid:!1,errors:[Rt(t)]}}}gt(L0,"validateModifiedFile");import*as Ie from"typescript";var Ua=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),ZU=s.object({name:s.string(),type:Ua,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),GU=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),WU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),WK=s.object({origin:s.string(),ttl:s.number(),records:s.array(ZU),delegations:s.array(GU),certificates:s.array(WU)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Tl="ALIAS ";var U0=s.discriminatedUnion("kind",[s.object({kind:s.literal("ecs"),appName:s.string()}).strict(),s.object({kind:s.literal("cdn"),appName:s.string()}).strict(),s.object({kind:s.literal("bucket"),bucketName:s.string()}).strict(),s.object({kind:s.literal("custom"),dnsName:s.string(),hostedZoneId:s.string()}).strict()]),F0=U0.options.map(e=>e.shape.kind.value),Wb=s.enum(["A","AAAA"]),Hb=s.enum(["route53","external-delegated","external-records"]),B0=s.enum(["zone","full"]),HU=s.object({kind:s.literal("standard"),type:s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),name:s.string(),value:s.union([s.string(),s.array(s.string())]),ttl:s.number().int().positive().optional()}).strict(),qU=s.object({kind:s.literal("alias"),type:Wb,name:s.string(),target:U0}).strict(),KU=s.discriminatedUnion("kind",[HU,qU]),YU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),XU=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),KK=s.object({zoneName:s.string(),registrar:Hb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(KU),certificates:s.array(YU),delegations:s.array(XU)}).strict().refine(e=>e.registrar!=="external-delegated"||e.delegatedSubdomain!==void 0,{message:"external-delegated requires delegatedSubdomain"}).refine(e=>e.registrar!=="external-records"||e.delegations.length===0,{message:"external-records forbids delegations"}).refine(e=>e.registrar==="external-delegated"||e.adoptedNameServers===void 0,{message:"adoptedNameServers requires registrar external-delegated"}).refine(e=>e.registrar!=="external-delegated"||e.hostedZoneId===void 0==(e.adoptedNameServers===void 0),{message:"external-delegated adoption requires hostedZoneId and adoptedNameServers together (both-or-neither)"});var JU=Object.defineProperty,me=(e,t)=>JU(e,"name",{value:t,configurable:!0}),Z0=Hb.options,V0=B0.options,QU=Ua.options,e4=Wb.options;function G0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&W0(r.expression)){let o=H0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return P(void 0);if(t.length>1)return $(new Error(`Expected exactly one 'new Domain(...)' call per infrastructure file, found ${t.length}`));let i=t[0];return i?P(i):P(void 0)}me(G0,"findDomainConstructCall");function W0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(W0,"isDomainIdentifier");function H0(e){let t=e.arguments;if(!t||t.length<3)return;let n=t[0],i=t[1],r=t[2];if(!n||!i||!r||!Ie.isObjectLiteralExpression(r))return;let o=q0(e);if(o===void 0)return;let a=K0(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(H0,"buildMatch");function q0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(q0,"findContainingTopLevelStatement");function K0(e){let t=e.parent;for(;t!==void 0;){if(Ie.isVariableDeclaration(t)&&Ie.isIdentifier(t.name)&&t.initializer===e)return t.name.text;t=t.parent}}me(K0,"extractDomainVarId");function Y0(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${Z0.join(", ")}, got ${JSON.stringify(e.value)}`;case"missing_field":return`'${e.field}' property is required`;case"invalid_literal":return`'${e.field}' ${e.reason}`;case"removed_field":return`'${e.field}' was removed from the Domain API \u2014 ${e.cure}`}}me(Y0,"errorMessage");var t4="declare the delegated child as its own Domain with registrar: 'external-delegated' and set 'parentDelegationRoleArn' (the CLI injects it via ManagedDomainBinding.delegationRoleArn); the child UPSERTs its NS records into the parent zone";function X0(e){let t=B(e),n=U(t.registrar,Z0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:Cl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=Q0(t.records);if(!r.success)return r;let o=iR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:t4});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:oR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return P({...a,registrar:n,hostedZoneId:b(t.hostedZoneId)});case"external-delegated":{let c=b(t.delegatedSubdomain);if(c===void 0)return $({kind:"missing_field",field:"delegatedSubdomain"});let u=b(t.hostedZoneId);if(t.hostedZoneId!==void 0&&u===void 0)return $({kind:"invalid_literal",field:"hostedZoneId",reason:"must be a literal string zone id on external-delegated \u2014 dynamic expressions cannot be round-tripped"});let l=ue(t.adoptedNameServers);if(t.adoptedNameServers!==void 0&&l===void 0)return $({kind:"invalid_literal",field:"adoptedNameServers",reason:"must be an array of literal NS hostname strings \u2014 the parent NS UPSERT writes them verbatim"});if(u===void 0!=(l===void 0))return $({kind:"invalid_literal",field:u===void 0?"hostedZoneId":"adoptedNameServers",reason:"adopting an existing child zone requires hostedZoneId and adoptedNameServers together (both-or-neither) \u2014 an imported zone exposes no name-server attribute at synth"});let m=b(t.parentDelegationRoleArn);if(t.parentDelegationRoleArn!==void 0&&m===void 0)return $({kind:"invalid_literal",field:"parentDelegationRoleArn",reason:"must be a literal string ARN (VD2-a) \u2014 the CLI injects it via ManagedDomainBinding.delegationRoleArn; dynamic expressions such as Fn.importValue are not supported"});let p=U(t.phase,V0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${V0.map(g=>`'${g}'`).join(", ")}`}):P({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return P({...a,registrar:n})}}me(X0,"parseDomainProps");function J0(e){return Y0(e)}me(J0,"parseDomainErrorMessage");function Q0(e){if(e===void 0)return P([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"records",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(!C(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=eR(i,n);if(!r.success)return r;t.push(r.data)}return P(t)}me(Q0,"parseRecordsArray");function eR(e,t){let n=b(e.type),i=b(e.name);if(n===void 0)return $({kind:"missing_field",field:`records[${t}].type`});if(i===void 0)return $({kind:"missing_field",field:`records[${t}].name`});if(e.target!==void 0){if(!e4.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=rR(e.target);return P({kind:"alias",type:n,name:i,target:c})}if(!QU.some(c=>c===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`unsupported record type '${n}'`});let r=tR(e.value);if(r===void 0)return $({kind:"invalid_literal",field:`records[${t}].value`,reason:`must be a string or array of strings (got ${JSON.stringify(e.value)})`});let o=R(e.ttl),a={kind:"standard",type:n,name:i,value:r,...o!==void 0?{ttl:o}:{}};return P(a)}me(eR,"parseRecord");function tR(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(tR,"parseRecordValue");function rR(e){if(Et(e))return nR(e);if(C(e)){let t=U(e.kind,F0);if(t==="ecs"||t==="cdn"){let n=b(e.appName);if(n!==void 0)return{kind:t,appName:n}}if(t==="bucket"){let n=b(e.bucketName);if(n!==void 0)return{kind:t,bucketName:n}}if(t==="custom"){let n=b(e.dnsName),i=b(e.hostedZoneId);if(n!==void 0&&i!==void 0)return{kind:t,dnsName:n,hostedZoneId:i}}}return{kind:"unresolved",sourceText:Cl(e)}}me(rR,"parseTarget");function nR(e){let t=e.__call.trim(),n=t.match(/^([A-Za-z_][\w$]*)\s*\(([\s\S]*)\)\s*$/);if(!n)return{kind:"unresolved",sourceText:t};let i=n[1],r=n[2]??"",o=Rl(r);switch(i){case"fjallApp":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=_n(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=_n(o,0),c=_n(o,1);return a!==void 0&&c!==void 0?{kind:"custom",dnsName:a,hostedZoneId:c}:{kind:"dynamic",sourceText:t}}if(o.length===1){let a=o[0]?.trim()??"",c=qb(a,"dnsName"),u=qb(a,"hostedZoneId");return c!==void 0&&u!==void 0?{kind:"custom",dnsName:c,hostedZoneId:u}:{kind:"dynamic",sourceText:t}}return{kind:"unresolved",sourceText:t}}default:return{kind:"unresolved",sourceText:t}}}me(nR,"resolveCallRefTarget");function Rl(e){let t=[],n=0,i=null,r="";for(let a=0;a<e.length;a++){let c=e[a];if(i!==null){if(r+=c,c==="\\"&&a+1<e.length){let u=e[a+1];u!==void 0&&(r+=u,a+=1);continue}c===i&&(i=null);continue}if(c==='"'||c==="'"||c==="`"){i=c,r+=c;continue}if(c==="("||c==="{"||c==="["){n+=1,r+=c;continue}if(c===")"||c==="}"||c==="]"){n-=1,r+=c;continue}if(c===","&&n===0){t.push(r.trim()),r="";continue}r+=c}let o=r.trim();return o.length>0&&t.push(o),t}me(Rl,"splitTopLevelArgs");function _n(e,t){let n=e[t];if(n===void 0)return;let i=n.trim();if(i.length<2)return;let r=i[0],o=i[i.length-1];if(r===o&&!(r!=='"'&&r!=="'"&&r!=="`"))return i.slice(1,-1)}me(_n,"extractStringLiteralArg");function qb(e,t){let n=e.trim().replace(/^\{|\}$/g,""),i=Rl(n);for(let r of i){let o=r.indexOf(":");if(o<0||r.slice(0,o).trim().replace(/["'`]/g,"")!==t)continue;let a=r.slice(o+1).trim();return _n([a],0)}}me(qb,"extractObjectFieldString");function iR(e){if(e===void 0)return P([]);if(!Array.isArray(e))return $({kind:"invalid_literal",field:"certificates",reason:"must be an array"});let t=[];for(let n=0;n<e.length;n++){let i=e[n];if(typeof i=="string"){t.push({domainName:i});continue}if(!C(i))return $({kind:"invalid_literal",field:`certificates[${n}]`,reason:"must be a string or object literal"});let r=b(i.domainName);if(r===void 0)return $({kind:"missing_field",field:`certificates[${n}].domainName`});let o=ue(i.subjectAlternativeNames),a=j(i.transparencyLogging),c=j(i.cloudFront);if(i.cloudFront!==void 0&&c===void 0)return $({kind:"invalid_literal",field:`certificates[${n}].cloudFront`,reason:"must be a boolean literal \u2014 the CloudFront designation drives the zone-level us-east-1 export contract and cannot be round-tripped from a dynamic expression"});t.push({domainName:r,...o!==void 0?{subjectAlternativeNames:o}:{},...a!==void 0?{transparencyLogging:a}:{},...c!==void 0?{cloudFront:c}:{}})}return P(t)}me(iR,"parseCertificatesArray");function oR(e){if(e===void 0||!C(e))return;let t={};for(let[n,i]of Object.entries(e)){let r=b(i);r!==void 0&&(t[n]=r)}return Object.keys(t).length===0?void 0:t}me(oR,"parseStringRecord");function Cl(e){if(e===void 0)return"undefined";if(e===null)return"null";if(typeof e=="string")return JSON.stringify(e);if(typeof e=="number"||typeof e=="boolean")return String(e);if(Array.isArray(e))return`[${e.map(t=>Cl(t)).join(", ")}]`;if(typeof e=="object"){if("__call"in e)return String(e.__call);if("__identifier"in e)return String(e.__identifier);if("__expression"in e)return String(e.__expression);if("__unknown"in e)return String(e.__unknown)}return String(e)}me(Cl,"stringifyParsedValue");var r4=Object.defineProperty,Dr=(e,t)=>r4(e,"name",{value:t,configurable:!0});function aR(e){return e?.map(t=>({name:t.name,...t.serviceType!==void 0&&{serviceType:t.serviceType},...t.docker!==void 0&&{docker:t.docker},...t.containerPort!==void 0&&{containerPort:t.containerPort},...t.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},...t.routing!==void 0&&{routing:t.routing}}))}Dr(aR,"toUserServiceConfigs");function sR(e,t,n=!0,i,r){let o={appName:e,type:t,database:[],s3:[],compute:[]};if(t==="custom")return o;let a=t,c=tr[a];return{...o,database:cR(e,c,a,n,r),compute:mR(e,c,a,n,i),network:c.network,backup:c.backup}}Dr(sR,"planApplicationResources");function cR(e,t,n,i,r){let o=Jv(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:Tn(e),variableName:`${Qt(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Dr(cR,"buildDatabasePlan");function uR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Dr(uR,"buildScalingConfig");function lR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??jI,c=t?.docker;return{...r,...c?.path!==void 0&&{docker:{path:c.path,...c.context!==void 0&&{context:c.context},...c.target!==void 0&&{target:c.target}}},...t?.needsDatabaseConnection!==void 0&&{needsDatabaseConnection:t.needsDatabaseConnection},containers:o?[{}]:[{port:a}],...uR(n,i)}}Dr(lR,"buildServiceEntry");function dR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Dr(dR,"resolveClusterConfig");function mR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?Qv(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>lR(u,r?.[l])),c=a.some(u=>u.containers?.some(l=>l.port!==void 0));return[{name:e,type:Si.ECS,needsConnection:i,connectedDatabase:i?[e]:void 0,variableName:`${Qt(e)}Compute`,cluster:dR(o.cluster,c),services:a}]}Dr(mR,"buildComputePlan");function Gi(e,t){let n=[ol(e),il(e),nl(e)];if(cl(e))n.push(Ia(e),Ta(e));else{let r=sl(e);n.push(Ta(e),qu(e),Ku(e),el(e),tl(e),rl(e),Qu(e,r),al(e))}let i=n.join("");if(e.customCodeBlocks&&e.customCodeBlocks.length>0){let r=$l(i,e.customCodeBlocks,t?.resourceMapping);return r.success?P(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return P(i)}Dr(Gi,"generateInfrastructureFromPlan");var n4=Object.defineProperty,Wi=(e,t)=>n4(e,"name",{value:t,configurable:!0}),i4=Xv("standard");function pR(e){return la.options.some(t=>t.shape?.type?.value===e)}Wi(pR,"isPatternConfigType");function fR(e,t,n){let{tier:i="standard",domain:r,database:o,compute:a,cdn:c,environment:u,tags:l}=n??{},m=ll(i);if(!m&&i!=="custom")return $(new Error(`Invalid pattern tier: "${i}". Valid tiers are: ${[...Ca,"custom"].join(", ")}`));if(!pR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?ul(i):null,g=bR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return P({appName:e,type:"standard",pattern:t,network:p?p.network:i4,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Wi(fR,"planOpenNextResources");function gR(e,t){return{type:e?.type??t.database.type,instanceType:e?.instanceType??t.database.instanceType,backupRetention:e?.backupRetention??t.database.backupRetention,deletionProtection:e?.deletionProtection??t.database.deletionProtection,...e?.databaseName!==void 0&&{databaseName:e.databaseName},...e?.publiclyAccessible!==void 0&&{publiclyAccessible:e.publiclyAccessible},...e?.allowedIpCidr!==void 0&&{allowedIpCidr:e.allowedIpCidr},...e?.encryption!==void 0&&{encryption:e.encryption}}}Wi(gR,"mergeDatabaseConfig");function hR(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Wi(hR,"mergeComputeConfig");function vR(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Wi(vR,"toPatternDatabaseConfig");function bR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?gR(r,u):r,m=u?hR(o,u):o,p={type:e,name:t,domain:i,database:l?vR(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=la.safeParse(p);return g.success?P(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Wi(bR,"buildPatternConfig");var o4=Object.defineProperty,a4=(e,t)=>o4(e,"name",{value:t,configurable:!0});function yR(e,t){let n={type:"staticsite",name:e,source:t.source,build:t.build,...t.routing!==void 0&&{routing:t.routing},...t.security!==void 0&&{security:t.security},...t.domain!==void 0&&{domain:t.domain},...t.forms!==void 0&&{forms:t.forms},...t.cdn!==void 0&&{cdn:t.cdn}},i=jv.safeParse(n);return i.success?P({appName:e,type:"standard",pattern:"staticsite",patternConfig:i.data,database:[],s3:[],compute:[],tags:t.tags??{}}):$(new Error(`Invalid static-site pattern config: ${i.error.message}`))}a4(yR,"planStaticSiteResources");var s4=Object.defineProperty,Pl=(e,t)=>s4(e,"name",{value:t,configurable:!0});function SR(e){let t=e.split("/");if(t.length!==2||!t[0]||!t[1])throw new Error(`Invalid service reference format: '${e}'. Expected 'ClusterName/ServiceName'.`);return t[0]}Pl(SR,"parseServiceReference");function Kb(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Pl(Kb,"addResourceConnection");function Nl(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(SR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){Kb(c,n,i);for(let u of c.services){let l=`${a}/${u.name}`;r.has(l)&&(i==="database"?u.needsDatabaseConnection=!0:u.needsStorageConnection=!0)}}}}Pl(Nl,"applyServiceConnections");function wl(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(Kb(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Pl(wl,"applyComputeConnections");var c4=Object.defineProperty,ye=(e,t)=>c4(e,"name",{value:t,configurable:!0});function _R(e){let t=e.database.length>0,n=e.cdn!==void 0;return[{type:"database",label:"Database (RDS)",available:!0},{type:"database:proxy",label:"RDS Proxy",available:t,reason:t?void 0:"Requires at least one database"},{type:"storage:s3",label:"S3 Bucket",available:!0},{type:"network",label:"Network (VPC)",available:!0},{type:"compute:ecs",label:"Compute (ECS)",available:!0},{type:"compute:lambda",label:"Compute (Lambda)",available:!0},{type:"cdn",label:"CDN (CloudFront)",available:!n,reason:n?"A CDN is already configured. Remove existing CDN first.":void 0},{type:"tunnel",label:"Database Tunnel",available:t&&!e.tunnel,reason:t?e.tunnel?"Tunnel is already enabled":void 0:"Requires at least one database"}]}ye(_R,"listAvailableResources");function Fa(e,t){if(OR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return ER(e,t);case"database:proxy":return xR(e,t);case"storage:s3":return P(void 0);case"network":return P(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):P(void 0);case"compute:lambda":return P(void 0);case"cdn":return AR(e,t);case"tunnel":return IR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Fa,"validateResourceAddition");function ER(e,t){let n=t.databaseName??t.resourceName.toLowerCase();return e.database.some(i=>i.databaseName===n)?$(new Error(`Database name '${n}' already exists. Choose a different database name.`)):t.databaseType==="GlobalAurora"&&!t.primaryRegion?$(new Error("GlobalAurora databases require a primaryRegion.")):P(void 0)}ye(ER,"validateDatabaseAddition");function xR(e,t){let n=e.database.find(i=>i.name===t.targetDatabase||i.databaseName===t.targetDatabase);if(!n){let i=e.database.map(r=>r.name).join(", ")||"none";return $(new Error(`Database '${t.targetDatabase}' not found. Available databases: ${i}`))}return n.proxy!==void 0&&n.proxy!==!1?$(new Error(`Database '${n.name}' already has RDS Proxy enabled.`)):P(void 0)}ye(xR,"validateProxyAddition");function AR(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!Yb(e,t.defaultOriginRef))return $(new Error(`Origin '${t.defaultOriginRef}' not found in plan. CDN origin must reference an existing resource.`));if(t.behaviours){for(let n of t.behaviours)if(!Yb(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return P(void 0)}ye(AR,"validateCdnAddition");function IR(e){return e.tunnel&&typeof e.tunnel=="object"?$(new Error("Tunnel is already enabled for this application.")):e.database.length===0?$(new Error("No databases found \u2014 tunnel requires at least one relational database.")):P(void 0)}ye(IR,"validateTunnelAddition");function kl(e,t){let n=Fa(e,t);if(!n.success)return n;switch(t.type){case"database":return $R(e,t);case"database:proxy":return TR(e,t);case"storage:s3":return RR(e,t);case"network":return CR(e,t);case"compute:ecs":return PR(e,t);case"compute:lambda":return NR(e,t);case"cdn":return wR(e,t);case"tunnel":return kR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(kl,"addResourceToPlan");function $R(e,t){let n=t.databaseName??t.resourceName.toLowerCase(),i={name:t.resourceName,type:t.databaseType,databaseName:n},r;switch(t.databaseType){case"Instance":r={...i,...t.instanceType!==void 0?{instanceType:t.instanceType}:{},...t.multiAz!==void 0?{multiAz:t.multiAz}:{},...t.readReplica!==void 0?{readReplica:t.readReplica}:{},...t.publiclyAccessible!==void 0?{publiclyAccessible:t.publiclyAccessible}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{}};break;case"Aurora":r={...i,...t.writer!==void 0?{writer:t.writer}:{},...t.readers!==void 0?{readers:t.readers}:{},...t.backupRetention!==void 0?{backupRetention:t.backupRetention}:{},...t.preferredMaintenanceWindow!==void 0?{preferredMaintenanceWindow:t.preferredMaintenanceWindow}:{}};break;case"GlobalAurora":r={...i,primaryRegion:t.primaryRegion,...t.secondaryRegions!==void 0?{secondaryRegions:t.secondaryRegions}:{}};break;default:{let a=t.databaseType;return $(new Error(`Unknown database type: ${String(a)}`))}}let o={...e,database:[...e.database,r]};return Xb(o,t.resourceName,"database",t),P(o)}ye($R,"addDatabase");function TR(e,t){let n=e.database.map(o=>({...o})),i=n.find(o=>o.name===t.targetDatabase||o.databaseName===t.targetDatabase);if(!i)return $(new Error(`Database '${t.targetDatabase}' not found.`));let r={};return t.maxConnections!==void 0&&(r.maxConnections=t.maxConnections),t.maxIdleConnections!==void 0&&(r.maxIdleConnections=t.maxIdleConnections),t.connectionBorrowTimeout!==void 0&&(r.connectionBorrowTimeout=t.connectionBorrowTimeout),t.requireTLS!==void 0&&(r.requireTLS=t.requireTLS),i.proxy=Object.keys(r).length>0?r:{},P({...e,database:n})}ye(TR,"addProxy");function RR(e,t){let n=t.bucketName??t.resourceName.toLowerCase(),i=$e(n),r=e.s3.length,o=r===0?"":`${r+1}`,a={name:i,bucketName:n,variableName:`bucket${o}`,...t.publicReadAccess!==void 0?{publicReadAccess:t.publicReadAccess}:{},...t.versioned!==void 0?{versioned:t.versioned}:{},...t.encryption!==void 0?{encryption:t.encryption}:{},...t.websiteHosting?{websiteHosting:{indexDocument:"index.html"}}:{}},c={...e,s3:[...e.s3,a]};return Xb(c,i,"storage",t),P(c)}ye(RR,"addS3");function CR(e,t){let n={};if(t.maxAzs!==void 0&&(n.maxAzs=t.maxAzs),t.natGateways!==void 0&&(n.natGateways=t.natGateways),t.flowLogs!==void 0&&(n.flowLogs=t.flowLogs),t.vpcEndpoints!==void 0&&(n.vpcEndpoints=t.vpcEndpoints),t.networkName){let i={name:t.networkName,...n};return P({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return P({...e,network:{...e.network??{},...n}})}ye(CR,"addNetwork");function PR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"ecs",needsConnection:n.length>0,connectedDatabase:n,...t.loadBalancer!==void 0?{cluster:{loadBalancer:t.loadBalancer}}:{},services:t.services.map(r=>({name:r.name,capacityProvider:r.capacityProvider??"FARGATE",...r.port!==void 0?{containers:[{port:r.port}]}:{},...r.cpu!==void 0?{cpu:r.cpu}:{},...r.memory!==void 0?{memoryLimitMiB:r.memory}:{}})),...t.docker!==void 0&&{docker:t.docker}};return P({...e,compute:[...e.compute,i]})}ye(PR,"addEcsCompute");function NR(e,t){let n=t.connectedDatabase??[],i={name:t.resourceName,type:"lambda",needsConnection:n.length>0,connectedDatabase:n,...t.timeout!==void 0?{timeout:t.timeout}:{},...t.memory!==void 0?{memory:t.memory}:{},...t.handler!==void 0?{handler:t.handler}:{},...t.runtime!==void 0?{runtime:t.runtime}:{}};return P({...e,compute:[...e.compute,i]})}ye(NR,"addLambdaCompute");function wR(e,t){let n={name:t.resourceName,defaultOriginRef:t.defaultOriginRef,...t.customDomain!==void 0?{customDomain:t.customDomain}:{},...t.certificateArn!==void 0?{certificateArn:t.certificateArn}:{},...t.behaviours&&t.behaviours.length>0?{behaviours:[...t.behaviours].map(i=>({pathPattern:i.pathPattern,originRef:i.originRef,...i.cachePolicy!==void 0?{cachePolicy:i.cachePolicy}:{}}))}:{}};return P({...e,cdn:n})}ye(wR,"addCdn");function kR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return P({...e,tunnel:n})}ye(kR,"addTunnel");function OR(e,t){let n=[...e.database.map(i=>i.name),...e.s3.map(i=>i.name),...e.compute.map(i=>i.name),...(e.dynamodb??[]).map(i=>i.name),...(e.sqs??[]).map(i=>i.name)];return e.cdn&&n.push(e.cdn.name),n.includes(t)}ye(OR,"isResourceNameTaken");function Yb(e,t){return e.database.some(n=>n.name===t)||e.s3.some(n=>n.name===t)||e.compute.some(n=>n.name===t)||(e.dynamodb??[]).some(n=>n.name===t)||(e.sqs??[]).some(n=>n.name===t)}ye(Yb,"resourceExistsInPlan");function Xb(e,t,n,i){i.connectToCompute&&i.connectToCompute.length>0&&wl(e,[...i.connectToCompute],t,n),i.connectToServices&&i.connectToServices.length>0&&Nl(e,[...i.connectToServices],t,n)}ye(Xb,"applyConnections");var u4=Object.defineProperty,l4=(e,t)=>u4(e,"name",{value:t,configurable:!0});function DR(e,t,n){let i;try{i=wr(e,{extractCustomCode:!0})}catch(u){return $(new Error(`Failed to parse infrastructure.ts: ${u instanceof Error?u.message:String(u)}`))}let r;try{r=yn(i,t,{skipValidation:!0})}catch(u){return $(new Error(`Failed to build resource plan: ${u instanceof Error?u.message:String(u)}`))}i.customCodeBlocks&&i.customCodeBlocks.length>0&&(r.customCodeBlocks=i.customCodeBlocks);let o=Fa(r,n);if(!o.success)return o;let a=kl(r,n);if(!a.success)return a;let c=Gi(a.data);return c.success?P({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}l4(DR,"generateResourceChange");var d4=Object.defineProperty,Ft=(e,t)=>d4(e,"name",{value:t,configurable:!0}),m4=new Set(Ua.options);function MR(e){return m4.has(e.toUpperCase())}Ft(MR,"isRecordType");function jR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(jR,"stripTrailingDot");function zR(e){let t=!1;for(let n=0;n<e.length;n++)if(e[n]==='"')t=!t;else if(e[n]===";"&&!t)return e.slice(0,n).trimEnd();return e}Ft(zR,"stripInlineComment");function LR(e,t){let n=e.slice(t).join(" "),i=[],r="",o=!1;for(let a of n)a==='"'?(o&&(i.push(r),r=""),o=!o):o&&(r+=a);return i.join(" ")}Ft(LR,"parseTxtValue");function UR(e){let t=/;\s*auto\s*$/.test(e),n=e.replace(/;\s*auto\s*$/,"").trim().match(/^\$FJALL-DELEGATE\s+(\S+)\s+TO\s+(\S+)$/i);if(n)return{subdomain:n[1],targetAccount:n[2],auto:t}}Ft(UR,"parseDelegateDirective");function FR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(FR,"parseCertDirective");function BR(e){let t=[],n="",i=!1;for(let r of e)r==='"'?(i=!i,n+=r):/\s/.test(r)&&!i?n.length>0&&(t.push(n),n=""):n+=r;return n.length>0&&t.push(n),t}Ft(BR,"tokenise");function VR(e){if(e.length<2)return;let t=0,n=e[t++],i,r;for(;t<e.length&&r===void 0;){let a=e[t].toUpperCase();if(a==="IN")t++;else if(MR(a))r=a,t++;else if(/^\d+$/.test(e[t]))i=parseInt(e[t],10),t++;else return}if(!r)return;let o=e.slice(t);switch(r){case"MX":{if(o.length<2)return;let a=parseInt(o[0],10),c=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:c,priority:a}}case"SRV":{if(o.length<4)return;let a=parseInt(o[0],10),c=parseInt(o[1],10),u=parseInt(o[2],10),l=o[3];return{name:n,type:r,ttl:i,value:l,priority:a,weight:c,port:u}}case"TXT":{let a=LR(e,t);return{name:n,type:r,ttl:i,value:a}}case"CAA":{let a=o.join(" ");return{name:n,type:r,ttl:i,value:a}}case"A":{if(o.length===0)return;if(o[0].toUpperCase()==="ALIAS"){if(o.length<2)return;let a=o.slice(1).join(" ");return{name:n,type:r,ttl:i,value:`${Tl}${a}`}}return{name:n,type:r,ttl:i,value:o[0]}}default:return o.length===0?void 0:{name:n,type:r,ttl:i,value:o[0]}}}Ft(VR,"parseRecord");function ZR(e){let t=e.split(`
450
+ `),n,i=300,r=[],o=[],a=[];for(let c of t){let u=c.trim();if(u===""||u.startsWith(";"))continue;if(u.toUpperCase().startsWith(Ut.FJALL_DELEGATE)){let v=UR(u);v&&o.push(v);continue}let l=zR(u);if(l==="")continue;let m=BR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=jR(m[1]);continue}if(p===Ut.TTL){if(m.length<2)continue;i=parseInt(m[1],10);continue}if(p===Ut.FJALL_CERT){let v=FR(m);v&&a.push(v);continue}let g=VR(m);g&&r.push(g)}return n?P({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(ZR,"parseZoneFile");function GR(e,t){if(!e.startsWith("fjall:"))return;let n=e.split(":");if(n.length<3)return;let i=n[1],r=n[2],o=`${i}:${r}`;return t.get(o)??t.get(e)}Ft(GR,"resolveAlias");var p4=Object.defineProperty,Jb=(e,t)=>p4(e,"name",{value:t,configurable:!0});function WR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}Jb(WR,"padRight");function HR(e,t){let n=WR(e.name,24),i=e.ttl!==void 0&&e.ttl!==t?`${e.ttl} `:"";switch(e.type){case"MX":return`${n} ${i}IN MX ${e.priority??10} ${e.value}`;case"SRV":return`${n} ${i}IN SRV ${e.priority??0} ${e.weight??0} ${e.port??0} ${e.value}`;case"TXT":return`${n} ${i}IN TXT "${e.value}"`;case"CAA":return`${n} ${i}IN CAA ${e.value}`;default:return e.type==="A"&&e.value.startsWith(Tl)?`${n} ${i}IN A ${e.value}`:`${n} ${i}IN ${e.type} ${e.value}`}}Jb(HR,"formatRecord");function qR(e){let t=[];if(t.push("; zone.bind \u2014 managed by fjall"),t.push(`${Ut.ORIGIN} ${e.origin}.`),t.push(`${Ut.TTL} ${e.ttl}`),t.push(""),e.certificates.length>0){for(let n of e.certificates){let i=[n.domainName,...n.subjectAlternativeNames];t.push(`${Ut.FJALL_CERT} ${i.join(" ")}`)}t.push("")}if(e.delegations.length>0){for(let n of e.delegations){let i=n.auto?" ; auto":"";t.push(`${Ut.FJALL_DELEGATE} ${n.subdomain} TO ${n.targetAccount}${i}`)}t.push("")}for(let n of e.records)t.push(HR(n,e.ttl));return t.join(`
451
451
  `)+`
452
- `}Jb(qR,"generateZoneFile");var p4=Object.defineProperty,Qb=(e,t)=>p4(e,"name",{value:t,configurable:!0});function KR(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:YR({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:XR(t)},{path:`${r}/tsconfig.json`,content:g4},{path:`${r}/cdk.json`,content:h4},{path:`${r}/.gitignore`,content:f4}]}Qb(KR,"generateDomainFiles");function YR(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=$e(t.split(".").join("")),o=ts(t),a=n.map(l=>{let m=l.ttl!==void 0?`, ttl: ${l.ttl}`:"";return` { type: ${JSON.stringify(l.type)}, name: ${JSON.stringify(l.name)}, value: ${JSON.stringify(l.value)}${m} },`}),c=a.length>0?`[
452
+ `}Jb(qR,"generateZoneFile");var f4=Object.defineProperty,Qb=(e,t)=>f4(e,"name",{value:t,configurable:!0});function KR(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:YR({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:XR(t)},{path:`${r}/tsconfig.json`,content:h4},{path:`${r}/cdk.json`,content:v4},{path:`${r}/.gitignore`,content:g4}]}Qb(KR,"generateDomainFiles");function YR(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=$e(t.split(".").join("")),o=ts(t),a=n.map(l=>{let m=l.ttl!==void 0?`, ttl: ${l.ttl}`:"";return` { type: ${JSON.stringify(l.type)}, name: ${JSON.stringify(l.name)}, value: ${JSON.stringify(l.value)}${m} },`}),c=a.length>0?`[
453
453
  ${a.join(`
454
454
  `)}
455
455
  ]`:"[]",u=i?` hostedZoneId: ${JSON.stringify(i)},
@@ -476,7 +476,7 @@ ${u} certificates: [
476
476
  records: ${c},
477
477
  });
478
478
  `}Qb(YR,"generateDefaultInfrastructureTs");function XR(e){return JSON.stringify({name:`domain-${e}`,version:yu,scripts:{},devDependencies:{"@types/node":"20.4.9","ts-node":"^10.9.1",typescript:"~5.1.6"},dependencies:{"@fjall/components-infrastructure":`^${yu}`,"aws-cdk-lib":"^2.260.0",constructs:"^10.6.0"}},null,2)+`
479
- `}Qb(XR,"generateDomainPackageJson");var f4=`node_modules/
479
+ `}Qb(XR,"generateDomainPackageJson");var g4=`node_modules/
480
480
  cdk.out/
481
481
  *.d.ts
482
482
  *.js
@@ -484,15 +484,15 @@ cdk.out/
484
484
  .fjall-state*.json.tmp
485
485
  .deploy-state.json
486
486
  .deploy-state.json.tmp
487
- `,g4=JSON.stringify({compilerOptions:{target:"ES2020",module:"commonjs",lib:["es2020","dom"],declaration:!0,strict:!0,noImplicitAny:!0,strictNullChecks:!0,noImplicitThis:!0,alwaysStrict:!0,noUnusedLocals:!1,noUnusedParameters:!1,noImplicitReturns:!0,noFallthroughCasesInSwitch:!1,inlineSourceMap:!0,inlineSources:!0,experimentalDecorators:!0,strictPropertyInitialization:!1,typeRoots:["./node_modules/@types"]},exclude:["node_modules","cdk.out"]},null,2)+`
488
- `,h4=JSON.stringify({app:"npx ts-node --prefer-ts-exts --transpile-only infrastructure.ts",assetMetadata:!1,pathMetadata:!1,versionReporting:!1,watch:{include:["**"],exclude:["README.md","cdk*.json","**/*.d.ts","**/*.js","tsconfig.json","package*.json","yarn.lock","node_modules","test"]},context:{"@aws-cdk/aws-lambda:recognizeLayerVersion":!0,"@aws-cdk/core:checkSecretUsage":!0,"@aws-cdk/core:target-partitions":["aws","aws-cn"],"@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver":!0,"@aws-cdk/aws-ec2:uniqueImdsv2TemplateName":!0,"@aws-cdk/aws-ecs:arnFormatIncludesClusterName":!0,"@aws-cdk/aws-iam:minimizePolicies":!0,"@aws-cdk/core:validateSnapshotRemovalPolicy":!0,"@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName":!0,"@aws-cdk/aws-s3:createDefaultLoggingPolicy":!0,"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption":!0,"@aws-cdk/aws-apigateway:disableCloudWatchRole":!0,"@aws-cdk/core:enablePartitionLiterals":!0,"@aws-cdk/aws-events:eventsTargetQueueSameAccount":!0,"@aws-cdk/aws-iam:standardizedServicePrincipals":!0,"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker":!0,"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName":!0,"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy":!0,"@aws-cdk/aws-route53-patters:useCertificate":!0,"@aws-cdk/customresources:installLatestAwsSdkDefault":!1,"@aws-cdk/aws-rds:databaseProxyUniqueResourceName":!0,"@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup":!0,"@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId":!0,"@aws-cdk/aws-ec2:launchTemplateDefaultUserData":!0,"@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments":!0,"@aws-cdk/aws-redshift:columnId":!0,"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2":!0,"@aws-cdk/aws-ec2:restrictDefaultSecurityGroup":!0,"@aws-cdk/aws-apigateway:requestValidatorUniqueId":!0,"@aws-cdk/aws-kms:aliasNameRef":!0,"@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig":!0,"@aws-cdk/core:includePrefixInUniqueNameGeneration":!0,"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby":!0}},null,2)+`
489
- `;import{join as xt,dirname as JR,normalize as b4}from"node:path";import{readFileSync as y4,existsSync as S4}from"node:fs";var v4=Object.defineProperty,Fe=(e,t)=>v4(e,"name",{value:t,configurable:!0}),En="fjall";function xn(e,t){let n=b4(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}Fe(xn,"assertNoTraversal");function _4(){return En}Fe(_4,"getFjallPath");function E4(e){let t=JR(e);return JR(t)||"."}Fe(E4,"getProjectRoot");function QR(e){if(!S4(e))throw new Error(`Infrastructure file not found: ${e}`);let t=y4(e,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!t||!t[1])throw new Error(`Could not find appName in infrastructure file: ${e}. Expected format: const appName = "yourAppName";`);return t[1]}Fe(QR,"getAppNameFromInfrastructure");function x4(e){let t=xt(e,ry);return QR(t)}Fe(x4,"getAppName");function ey(e){return xn(e,"app name"),xt(En,e,ry)}Fe(ey,"getInfrastructurePath");function A4(e){return xn(e,"app name"),xt(En,e)}Fe(A4,"getAppPath");function I4(e){return xn(e,"component name"),xt(En,e)}Fe(I4,"getOrganisationComponentPath");function $4(e){return xn(e,"deployment type"),xt(En,e,"logs")}Fe($4,"getDeploymentLogsPath");function T4(e){return xn(e,"deployment type"),xt(En,e,"logs","cloudformation")}Fe(T4,"getCloudFormationLogsPath");function eC(){return xt(En,"domains")}Fe(eC,"getDomainsDir");function ty(e){return xn(e,"domain name"),xt(eC(),e)}Fe(ty,"getDomainComponentPath");function R4(e){return xt(ty(e),ry)}Fe(R4,"getDomainInfrastructurePath");function C4(e){return xt(ty(e),P4)}Fe(C4,"getDomainZoneFilePath");var ry="infrastructure.ts",P4="zone.bind",N4="cdk.out";function w4(e){return xt(e,N4)}Fe(w4,"getCdkOutPath");var k4=Object.defineProperty,Mr=(e,t)=>k4(e,"name",{value:t,configurable:!0});function rC(e,t,n){let i=e.root?tC.join(e.root,t):t;try{if(Hi.existsSync(i)){let r=`${i}.bak`,o=`${r}.tmp`;Hi.writeFileSync(o,n),Hi.renameSync(o,r)}return P(void 0)}catch(r){let o=ht(r);return gu.warn("Generator",`Failed to create backup of ${t}`,{error:wn(o.message)}),$(o)}}Mr(rC,"createInfrastructureBackup");function O4(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}Mr(O4,"pickDefined");function nC(e,t){try{let n=wr(e,{extractCustomCode:!0}),i=yn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),P({parsed:n,plan:i})}catch(n){return $(ht(n))}}Mr(nC,"parseAndBuildPlan");function iC(e,t){let n=nC(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}Mr(iC,"parseAndBuildPlanOrThrow");function oC(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
- ${oa(i.error)}`);return i.data}Mr(oC,"validateGeneratorOptions");function aC(e,t){let n=ey(t),i=e.read(n)?.toString();if(!i)throw new Error(`App '${t}' not found. Expected infrastructure.ts at: ${n}`);return{path:n,content:i}}Mr(aC,"readInfrastructureOrThrow");async function ny(e,t,n,i,r){let o=oC(t,n,i),{path:a,content:c}=aC(e,o.appName),{plan:u}=iC(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=sC(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}Mr(ny,"withInfrastructurePlan");function sC(e,t,n,i){let r=Gi(i);if(!r.success)return $(r.error);let o=rC(e,t,n);return o.success?(e.write(t,r.data),P(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}Mr(sC,"generateAndWriteInfrastructure");var gS=yS(fS(),1),zF=Object.defineProperty,jw=(e,t)=>zF(e,"name",{value:t,configurable:!0});async function hS(e,t,n,i){let r=`Connect to existing ${t}?`,o=`Found ${e} ${t}s. Configure connections?`,a=e===1?n??r:i?.replace("{count}",String(e))??o,c=await(0,gS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}jw(hS,"promptForConnection");async function LF(e,t,n){if(e.length===1)return process.stdout.write(`
487
+ `,h4=JSON.stringify({compilerOptions:{target:"ES2020",module:"commonjs",lib:["es2020","dom"],declaration:!0,strict:!0,noImplicitAny:!0,strictNullChecks:!0,noImplicitThis:!0,alwaysStrict:!0,noUnusedLocals:!1,noUnusedParameters:!1,noImplicitReturns:!0,noFallthroughCasesInSwitch:!1,inlineSourceMap:!0,inlineSources:!0,experimentalDecorators:!0,strictPropertyInitialization:!1,typeRoots:["./node_modules/@types"]},exclude:["node_modules","cdk.out"]},null,2)+`
488
+ `,v4=JSON.stringify({app:"npx ts-node --prefer-ts-exts --transpile-only infrastructure.ts",assetMetadata:!1,pathMetadata:!1,versionReporting:!1,watch:{include:["**"],exclude:["README.md","cdk*.json","**/*.d.ts","**/*.js","tsconfig.json","package*.json","yarn.lock","node_modules","test"]},context:{"@aws-cdk/aws-lambda:recognizeLayerVersion":!0,"@aws-cdk/core:checkSecretUsage":!0,"@aws-cdk/core:target-partitions":["aws","aws-cn"],"@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver":!0,"@aws-cdk/aws-ec2:uniqueImdsv2TemplateName":!0,"@aws-cdk/aws-ecs:arnFormatIncludesClusterName":!0,"@aws-cdk/aws-iam:minimizePolicies":!0,"@aws-cdk/core:validateSnapshotRemovalPolicy":!0,"@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName":!0,"@aws-cdk/aws-s3:createDefaultLoggingPolicy":!0,"@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption":!0,"@aws-cdk/aws-apigateway:disableCloudWatchRole":!0,"@aws-cdk/core:enablePartitionLiterals":!0,"@aws-cdk/aws-events:eventsTargetQueueSameAccount":!0,"@aws-cdk/aws-iam:standardizedServicePrincipals":!0,"@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker":!0,"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName":!0,"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy":!0,"@aws-cdk/aws-route53-patters:useCertificate":!0,"@aws-cdk/customresources:installLatestAwsSdkDefault":!1,"@aws-cdk/aws-rds:databaseProxyUniqueResourceName":!0,"@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup":!0,"@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId":!0,"@aws-cdk/aws-ec2:launchTemplateDefaultUserData":!0,"@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments":!0,"@aws-cdk/aws-redshift:columnId":!0,"@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2":!0,"@aws-cdk/aws-ec2:restrictDefaultSecurityGroup":!0,"@aws-cdk/aws-apigateway:requestValidatorUniqueId":!0,"@aws-cdk/aws-kms:aliasNameRef":!0,"@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig":!0,"@aws-cdk/core:includePrefixInUniqueNameGeneration":!0,"@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby":!0}},null,2)+`
489
+ `;import{join as xt,dirname as JR,normalize as y4}from"node:path";import{readFileSync as S4,existsSync as _4}from"node:fs";var b4=Object.defineProperty,Fe=(e,t)=>b4(e,"name",{value:t,configurable:!0}),En="fjall";function xn(e,t){let n=y4(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}Fe(xn,"assertNoTraversal");function E4(){return En}Fe(E4,"getFjallPath");function x4(e){let t=JR(e);return JR(t)||"."}Fe(x4,"getProjectRoot");function QR(e){if(!_4(e))throw new Error(`Infrastructure file not found: ${e}`);let t=S4(e,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!t||!t[1])throw new Error(`Could not find appName in infrastructure file: ${e}. Expected format: const appName = "yourAppName";`);return t[1]}Fe(QR,"getAppNameFromInfrastructure");function A4(e){let t=xt(e,ry);return QR(t)}Fe(A4,"getAppName");function ey(e){return xn(e,"app name"),xt(En,e,ry)}Fe(ey,"getInfrastructurePath");function I4(e){return xn(e,"app name"),xt(En,e)}Fe(I4,"getAppPath");function $4(e){return xn(e,"component name"),xt(En,e)}Fe($4,"getOrganisationComponentPath");function T4(e){return xn(e,"deployment type"),xt(En,e,"logs")}Fe(T4,"getDeploymentLogsPath");function R4(e){return xn(e,"deployment type"),xt(En,e,"logs","cloudformation")}Fe(R4,"getCloudFormationLogsPath");function eC(){return xt(En,"domains")}Fe(eC,"getDomainsDir");function ty(e){return xn(e,"domain name"),xt(eC(),e)}Fe(ty,"getDomainComponentPath");function C4(e){return xt(ty(e),ry)}Fe(C4,"getDomainInfrastructurePath");function P4(e){return xt(ty(e),N4)}Fe(P4,"getDomainZoneFilePath");var ry="infrastructure.ts",N4="zone.bind",w4="cdk.out";function k4(e){return xt(e,w4)}Fe(k4,"getCdkOutPath");var O4=Object.defineProperty,Mr=(e,t)=>O4(e,"name",{value:t,configurable:!0});function rC(e,t,n){let i=e.root?tC.join(e.root,t):t;try{if(Hi.existsSync(i)){let r=`${i}.bak`,o=`${r}.tmp`;Hi.writeFileSync(o,n),Hi.renameSync(o,r)}return P(void 0)}catch(r){let o=ht(r);return gu.warn("Generator",`Failed to create backup of ${t}`,{error:wn(o.message)}),$(o)}}Mr(rC,"createInfrastructureBackup");function D4(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}Mr(D4,"pickDefined");function nC(e,t){try{let n=wr(e,{extractCustomCode:!0}),i=yn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),P({parsed:n,plan:i})}catch(n){return $(ht(n))}}Mr(nC,"parseAndBuildPlan");function iC(e,t){let n=nC(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}Mr(iC,"parseAndBuildPlanOrThrow");function oC(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
+ ${oa(i.error)}`);return i.data}Mr(oC,"validateGeneratorOptions");function aC(e,t){let n=ey(t),i=e.read(n)?.toString();if(!i)throw new Error(`App '${t}' not found. Expected infrastructure.ts at: ${n}`);return{path:n,content:i}}Mr(aC,"readInfrastructureOrThrow");async function ny(e,t,n,i,r){let o=oC(t,n,i),{path:a,content:c}=aC(e,o.appName),{plan:u}=iC(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=sC(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}Mr(ny,"withInfrastructurePlan");function sC(e,t,n,i){let r=Gi(i);if(!r.success)return $(r.error);let o=rC(e,t,n);return o.success?(e.write(t,r.data),P(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}Mr(sC,"generateAndWriteInfrastructure");var gS=yS(fS(),1),LF=Object.defineProperty,jw=(e,t)=>LF(e,"name",{value:t,configurable:!0});async function hS(e,t,n,i){let r=`Connect to existing ${t}?`,o=`Found ${e} ${t}s. Configure connections?`,a=e===1?n??r:i?.replace("{count}",String(e))??o,c=await(0,gS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}jw(hS,"promptForConnection");async function UF(e,t,n){if(e.length===1)return process.stdout.write(`
491
491
  Auto-selected: ${e[0].name}
492
492
  `),[e[0].name];let i=[];for(;i.length===0;)i=(await(0,gS.default)([{type:"multiselect",name:"selected",message:t,choices:e.map(r=>({title:r.name,value:r.name,description:n?.(r),selected:!1}))}]))?.selected||[],i.length===0&&process.stdout.write(`
493
493
  Please select at least one resource
494
494
 
495
- `);return i}jw(LF,"selectResources");var Fr=yS(fS(),1),UF=Object.defineProperty,Yl=(e,t)=>UF(e,"name",{value:t,configurable:!0});function zw(e){let t=[];for(let n of e.s3)t.push({name:n.name,description:"S3 Storage"});for(let n of e.compute)n.type==="lambda"?n.functionUrl&&t.push({name:n.name,description:"Lambda"}):n.type==="ecs"&&t.push({name:n.name,description:"ECS with ALB"});return t}Yl(zw,"collectAvailableOrigins");function vS(e,t){if(!t.some(n=>n.name===e)){let n=t.map(i=>i.name).join(", ");throw new Error(`Origin "${e}" not found in infrastructure. Available origins: ${n}`)}}Yl(vS,"validateOriginRef");async function Lw(e,t){let n=zw(e);if(n.length===0)throw new Error("No available CDN origins found. Add an S3 bucket or compute resource with ALB/function URL first.");if(t.defaultOriginRef){if(vS(t.defaultOriginRef,n),t.behaviours)for(let c of t.behaviours)vS(c.originRef,n);return{defaultOriginRef:t.defaultOriginRef,behaviours:t.behaviours,...t.customDomain&&{customDomain:t.customDomain}}}if(t.nameProvidedByFlag)throw new Error("Default origin must be specified in non-interactive mode");let i;if(n.length===1)i=n[0].name,process.stdout.write(`
495
+ `);return i}jw(UF,"selectResources");var Fr=yS(fS(),1),FF=Object.defineProperty,Yl=(e,t)=>FF(e,"name",{value:t,configurable:!0});function zw(e){let t=[];for(let n of e.s3)t.push({name:n.name,description:"S3 Storage"});for(let n of e.compute)n.type==="lambda"?n.functionUrl&&t.push({name:n.name,description:"Lambda"}):n.type==="ecs"&&t.push({name:n.name,description:"ECS with ALB"});return t}Yl(zw,"collectAvailableOrigins");function vS(e,t){if(!t.some(n=>n.name===e)){let n=t.map(i=>i.name).join(", ");throw new Error(`Origin "${e}" not found in infrastructure. Available origins: ${n}`)}}Yl(vS,"validateOriginRef");async function Lw(e,t){let n=zw(e);if(n.length===0)throw new Error("No available CDN origins found. Add an S3 bucket or compute resource with ALB/function URL first.");if(t.defaultOriginRef){if(vS(t.defaultOriginRef,n),t.behaviours)for(let c of t.behaviours)vS(c.originRef,n);return{defaultOriginRef:t.defaultOriginRef,behaviours:t.behaviours,...t.customDomain&&{customDomain:t.customDomain}}}if(t.nameProvidedByFlag)throw new Error("Default origin must be specified in non-interactive mode");let i;if(n.length===1)i=n[0].name,process.stdout.write(`
496
496
  Auto-selected origin: ${i}
497
497
  `);else if(i=(await(0,Fr.default)([{type:"select",name:"origin",message:"Select the default origin:",choices:n.map(c=>({title:`${c.name} (${c.description})`,value:c.name}))}])).origin,!i)throw new Error("Origin selection cancelled");let r,o=n.filter(c=>c.name!==i);if(o.length>0&&await hS(o.length,"origin","Add path-based routing to another origin?","Add path-based routing to other origins?")){r=[];let c=!0;for(;c&&o.length>0;){let u=(await(0,Fr.default)([{type:"text",name:"pathPattern",message:"Path pattern (e.g., /static/*):"}])).pathPattern;if(!u)break;let l;if(o.length===1)l=o[0].name,process.stdout.write(` Auto-selected origin: ${l}
498
- `);else if(l=(await(0,Fr.default)([{type:"select",name:"origin",message:"Origin for this path:",choices:o.map(p=>({title:`${p.name} (${p.description})`,value:p.name}))}])).origin,!l)break;let m=(await(0,Fr.default)([{type:"select",name:"cachePolicy",message:"Cache policy:",choices:[{title:"Caching Optimised",value:"CACHING_OPTIMIZED",description:"Best for static assets"},{title:"Caching Disabled",value:"CACHING_DISABLED",description:"Best for dynamic APIs"}]}])).cachePolicy;r.push({pathPattern:u,originRef:l,...m!==void 0&&{cachePolicy:m}}),c=(await(0,Fr.default)([{type:"confirm",name:"addMore",message:"Add another path route?",initial:!1}])).addMore}r.length===0&&(r=void 0)}let a;return(await(0,Fr.default)([{type:"confirm",name:"wantDomain",message:"Add a custom domain?",initial:!1}])).wantDomain&&(a=(await(0,Fr.default)([{type:"text",name:"domain",message:"Enter custom domain:"}])).domain||void 0),{defaultOriginRef:i,behaviours:r,...a!==void 0&&{customDomain:a}}}Yl(Lw,"handleCdnOriginSelection");async function Uw(e,t){await ny(e,g$,t,"CDN",async({validated:n,plan:i})=>{if(i.cdn)throw new Error("A CDN is already configured for this application. Remove the existing CDN first.");let r=await Lw(i,n),o=n.name??`${$e(n.appName)}Cdn`;return{...i,cdn:{name:o,defaultOriginRef:r.defaultOriginRef,...r.behaviours&&r.behaviours.length>0&&{behaviours:r.behaviours},...r.customDomain!==void 0&&{customDomain:r.customDomain},...n.certificateArn!==void 0&&{certificateArn:n.certificateArn},...n.accessGate!==void 0&&{accessGate:n.accessGate}}}})}Yl(Uw,"cdnGenerator");var UJ=Uw;export{Uw as cdnGenerator,UJ as default};
498
+ `);else if(l=(await(0,Fr.default)([{type:"select",name:"origin",message:"Origin for this path:",choices:o.map(p=>({title:`${p.name} (${p.description})`,value:p.name}))}])).origin,!l)break;let m=(await(0,Fr.default)([{type:"select",name:"cachePolicy",message:"Cache policy:",choices:[{title:"Caching Optimised",value:"CACHING_OPTIMIZED",description:"Best for static assets"},{title:"Caching Disabled",value:"CACHING_DISABLED",description:"Best for dynamic APIs"}]}])).cachePolicy;r.push({pathPattern:u,originRef:l,...m!==void 0&&{cachePolicy:m}}),c=(await(0,Fr.default)([{type:"confirm",name:"addMore",message:"Add another path route?",initial:!1}])).addMore}r.length===0&&(r=void 0)}let a;return(await(0,Fr.default)([{type:"confirm",name:"wantDomain",message:"Add a custom domain?",initial:!1}])).wantDomain&&(a=(await(0,Fr.default)([{type:"text",name:"domain",message:"Enter custom domain:"}])).domain||void 0),{defaultOriginRef:i,behaviours:r,...a!==void 0&&{customDomain:a}}}Yl(Lw,"handleCdnOriginSelection");async function Uw(e,t){await ny(e,g$,t,"CDN",async({validated:n,plan:i})=>{if(i.cdn)throw new Error("A CDN is already configured for this application. Remove the existing CDN first.");let r=await Lw(i,n),o=n.name??`${$e(n.appName)}Cdn`;return{...i,cdn:{name:o,defaultOriginRef:r.defaultOriginRef,...r.behaviours&&r.behaviours.length>0&&{behaviours:r.behaviours},...r.customDomain!==void 0&&{customDomain:r.customDomain},...n.certificateArn!==void 0&&{certificateArn:n.certificateArn},...n.accessGate!==void 0&&{accessGate:n.accessGate}}}})}Yl(Uw,"cdnGenerator");var FJ=Uw;export{Uw as cdnGenerator,FJ as default};