fjall 3.10.0 → 3.11.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 Uw=Object.create;var Xl=Object.defineProperty;var Fw=Object.getOwnPropertyDescriptor;var Bw=Object.getOwnPropertyNames;var Vw=Object.getPrototypeOf,Zw=Object.prototype.hasOwnProperty;var Ja=(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})},Gw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Bw(t))!Zw.call(e,r)&&r!==n&&Xl(e,r,{get:()=>t[r],enumerable:!(i=Fw(t,r))||i.enumerable});return e};var bS=(e,t,n)=>(n=e!=null?Uw(Vw(e)):{},Gw(t||!e||!e.__esModule?Xl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((bX,sP)=>{"use strict";var{FORCE_COLOR:N4,NODE_DISABLE_COLORS:w4,TERM:k4}=process.env,H={enabled:!w4&&k4!=="dumb"&&N4!=="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 aP(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 O4(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?aP(this.keys,i+""):i+""):i===void 0?O4([e],[n]):H.enabled?aP([n],i+""):i+""}}sP.exports=H});var uP=I((yX,cP)=>{"use strict";cP.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((SX,lP)=>{"use strict";lP.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,dP)=>{"use strict";var ny={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"},D4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},M4={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?ny.up():"");return e&&(t+=ny.left),t}};dP.exports={cursor:ny,scroll:D4,erase:M4,beep:"\x07"}});var hP=I((EX,gP)=>{"use strict";function j4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=z4(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 z4(e,t){if(e){if(typeof e=="string")return mP(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 mP(e,t)}}function mP(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 L4=Ol(),fP=ae(),pP=fP.erase,U4=fP.cursor,F4=e=>[...L4(e)].length;gP.exports=function(e,t){if(!t)return pP.line+U4.to(0);let n=0,i=e.split(/\r?\n/);var r=j4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(F4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return pP.lines(n)}});var iy=I((xX,vP)=>{"use strict";var Fa={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},B4={arrowUp:Fa.arrowUp,arrowDown:Fa.arrowDown,arrowLeft:Fa.arrowLeft,arrowRight:Fa.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},V4=process.platform==="win32"?B4:Fa;vP.exports=V4});var yP=I((AX,bP)=>{"use strict";var qi=oe(),xn=iy(),oy=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}`}}),Z4=e=>oy[e]||oy.default,Ba=Object.freeze({aborted:qi.red(xn.cross),done:qi.green(xn.tick),exited:qi.yellow(xn.cross),default:qi.cyan("?")}),G4=(e,t,n)=>t?Ba.aborted:n?Ba.exited:e?Ba.done:Ba.default,W4=e=>qi.gray(e?xn.ellipsis:xn.pointerSmall),H4=(e,t)=>qi.gray(e?t?xn.pointerSmall:"+":xn.line);bP.exports={styles:oy,render:Z4,symbols:Ba,symbol:G4,delimiter:W4,item:H4}});var _P=I((IX,SP)=>{"use strict";var q4=Ol();SP.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 xP=I(($X,EP)=>{"use strict";EP.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 Uw=Object.create;var Xl=Object.defineProperty;var Fw=Object.getOwnPropertyDescriptor;var Bw=Object.getOwnPropertyNames;var Vw=Object.getPrototypeOf,Zw=Object.prototype.hasOwnProperty;var Ja=(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})},Gw=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Bw(t))!Zw.call(e,r)&&r!==n&&Xl(e,r,{get:()=>t[r],enumerable:!(i=Fw(t,r))||i.enumerable});return e};var bS=(e,t,n)=>(n=e!=null?Uw(Vw(e)):{},Gw(t||!e||!e.__esModule?Xl(n,"default",{value:e,enumerable:!0}):n,e));var oe=I((yX,sP)=>{"use strict";var{FORCE_COLOR:w4,NODE_DISABLE_COLORS:k4,TERM:O4}=process.env,H={enabled:!k4&&O4!=="dumb"&&w4!=="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 aP(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 D4(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?aP(this.keys,i+""):i+""):i===void 0?D4([e],[n]):H.enabled?aP([n],i+""):i+""}}sP.exports=H});var uP=I((SX,cP)=>{"use strict";cP.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,lP)=>{"use strict";lP.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((EX,dP)=>{"use strict";var ny={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"},M4={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},j4={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?ny.up():"");return e&&(t+=ny.left),t}};dP.exports={cursor:ny,scroll:M4,erase:j4,beep:"\x07"}});var hP=I((xX,gP)=>{"use strict";function z4(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=L4(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 L4(e,t){if(e){if(typeof e=="string")return mP(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 mP(e,t)}}function mP(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 U4=Ol(),fP=ae(),pP=fP.erase,F4=fP.cursor,B4=e=>[...U4(e)].length;gP.exports=function(e,t){if(!t)return pP.line+F4.to(0);let n=0,i=e.split(/\r?\n/);var r=z4(i),o;try{for(r.s();!(o=r.n()).done;){let a=o.value;n+=1+Math.floor(Math.max(B4(a)-1,0)/t)}}catch(a){r.e(a)}finally{r.f()}return pP.lines(n)}});var iy=I((AX,vP)=>{"use strict";var Fa={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},V4={arrowUp:Fa.arrowUp,arrowDown:Fa.arrowDown,arrowLeft:Fa.arrowLeft,arrowRight:Fa.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},Z4=process.platform==="win32"?V4:Fa;vP.exports=Z4});var yP=I((IX,bP)=>{"use strict";var qi=oe(),xn=iy(),oy=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}`}}),G4=e=>oy[e]||oy.default,Ba=Object.freeze({aborted:qi.red(xn.cross),done:qi.green(xn.tick),exited:qi.yellow(xn.cross),default:qi.cyan("?")}),W4=(e,t,n)=>t?Ba.aborted:n?Ba.exited:e?Ba.done:Ba.default,H4=e=>qi.gray(e?xn.ellipsis:xn.pointerSmall),q4=(e,t)=>qi.gray(e?t?xn.pointerSmall:"+":xn.line);bP.exports={styles:oy,render:G4,symbols:Ba,symbol:W4,delimiter:H4,item:q4}});var _P=I(($X,SP)=>{"use strict";var K4=Ol();SP.exports=function(e,t){let n=String(K4(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var xP=I((TX,EP)=>{"use strict";EP.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 IP=I((TX,AP)=>{"use strict";AP.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((RX,$P)=>{"use strict";$P.exports={action:uP(),clear:hP(),style:yP(),strip:Ol(),figures:iy(),lines:_P(),wrap:xP(),entriesToDisplay:IP()}});var ar=I((PX,PP)=>{"use strict";var TP=Ja("readline"),K4=At(),Y4=K4.action,X4=Ja("events"),RP=ae(),J4=RP.beep,Q4=RP.cursor,e2=oe(),ay=class extends X4{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=TP.createInterface({input:this.in,escapeCodeTimeout:50});TP.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=Y4(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(Q4.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(J4)}render(){this.onRender(e2),this.firstRender&&(this.firstRender=!1)}};PP.exports=ay});var OP=I((CX,kP)=>{"use strict";function CP(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 NP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){CP(o,i,r,a,c,"next",u)}function c(u){CP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dl=oe(),t2=ar(),wP=ae(),r2=wP.erase,Va=wP.cursor,Ml=At(),sy=Ml.style,cy=Ml.clear,n2=Ml.lines,i2=Ml.figures,uy=class extends t2{constructor(t={}){super(t),this.transform=sy.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=cy("",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 IP=I((RX,AP)=>{"use strict";AP.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((PX,$P)=>{"use strict";$P.exports={action:uP(),clear:hP(),style:yP(),strip:Ol(),figures:iy(),lines:_P(),wrap:xP(),entriesToDisplay:IP()}});var ar=I((CX,PP)=>{"use strict";var TP=Ja("readline"),Y4=At(),X4=Y4.action,J4=Ja("events"),RP=ae(),Q4=RP.beep,e2=RP.cursor,t2=oe(),ay=class extends J4{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=TP.createInterface({input:this.in,escapeCodeTimeout:50});TP.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=X4(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(e2.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(Q4)}render(){this.onRender(t2),this.firstRender&&(this.firstRender=!1)}};PP.exports=ay});var OP=I((NX,kP)=>{"use strict";function CP(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 NP(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){CP(o,i,r,a,c,"next",u)}function c(u){CP(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dl=oe(),r2=ar(),wP=ae(),n2=wP.erase,Va=wP.cursor,Ml=At(),sy=Ml.style,cy=Ml.clear,i2=Ml.lines,o2=Ml.figures,uy=class extends r2{constructor(t={}){super(t),this.transform=sy.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=cy("",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 NP(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return NP(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(Va.down(n2(this.outputError,this.out.columns)-1)+cy(this.outputError,this.out.columns)),this.out.write(cy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[sy.symbol(this.done,this.aborted),Dl.bold(this.msg),sy.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(Va.down(i2(this.outputError,this.out.columns)-1)+cy(this.outputError,this.out.columns)),this.out.write(cy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[sy.symbol(this.done,this.aborted),Dl.bold(this.msg),sy.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?" ":i2.pointerSmall} ${Dl.red().italic(n)}`,"")),this.out.write(r2.line+Va.to(0)+this.outputText+Va.save+this.outputError+Va.restore+Va.move(this.cursorOffset,0)))}};kP.exports=uy});var zP=I((NX,jP)=>{"use strict";var sr=oe(),o2=ar(),Za=At(),DP=Za.style,MP=Za.clear,jl=Za.figures,a2=Za.wrap,s2=Za.entriesToDisplay,c2=ae(),u2=c2.cursor,ly=class extends o2{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=MP("",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?" ":o2.pointerSmall} ${Dl.red().italic(n)}`,"")),this.out.write(n2.line+Va.to(0)+this.outputText+Va.save+this.outputError+Va.restore+Va.move(this.cursorOffset,0)))}};kP.exports=uy});var zP=I((wX,jP)=>{"use strict";var sr=oe(),a2=ar(),Za=At(),DP=Za.style,MP=Za.clear,jl=Za.figures,s2=Za.wrap,c2=Za.entriesToDisplay,u2=ae(),l2=u2.cursor,ly=class extends a2{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=MP("",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(u2.hide):this.out.write(MP(this.outputText,this.out.columns)),super.render();let t=s2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[DP.symbol(this.done,this.aborted),sr.bold(this.msg),DP.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(l2.hide):this.out.write(MP(this.outputText,this.out.columns)),super.render();let t=c2(this.cursor,this.choices.length,this.optionsPerPage),n=t.startIndex,i=t.endIndex;if(this.outputText=[DP.symbol(this.done,this.aborted),sr.bold(this.msg),DP.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
- `+a2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${sr.gray(c)}
16
- `}}this.out.write(this.outputText)}};jP.exports=ly});var ZP=I((wX,VP)=>{"use strict";var zl=oe(),l2=ar(),FP=At(),LP=FP.style,d2=FP.clear,BP=ae(),UP=BP.cursor,m2=BP.erase,dy=class extends l2{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
+ `+s2(u.description,{margin:3,width:this.out.columns})))),this.outputText+=`${a} ${o}${sr.gray(c)}
16
+ `}}this.out.write(this.outputText)}};jP.exports=ly});var ZP=I((kX,VP)=>{"use strict";var zl=oe(),d2=ar(),FP=At(),LP=FP.style,m2=FP.clear,BP=ae(),UP=BP.cursor,p2=BP.erase,dy=class extends d2{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(UP.hide):this.out.write(d2(this.outputText,this.out.columns)),super.render(),this.outputText=[LP.symbol(this.done,this.aborted),zl.bold(this.msg),LP.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(m2.line+UP.to(0)+this.outputText))}};VP.exports=dy});var Bt=I((kX,GP)=>{"use strict";var my=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)}};GP.exports=my});var HP=I((OX,WP)=>{"use strict";var p2=Bt(),py=class extends p2{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}};WP.exports=py});var KP=I((DX,qP)=>{"use strict";var f2=Bt(),g2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),fy=class extends f2{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+g2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};qP.exports=fy});var XP=I((MX,YP)=>{"use strict";var h2=Bt(),gy=class extends h2{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}};YP.exports=gy});var QP=I((jX,JP)=>{"use strict";var v2=Bt(),hy=class extends v2{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)}};JP.exports=hy});var tC=I((zX,eC)=>{"use strict";var b2=Bt(),vy=class extends b2{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}};eC.exports=vy});var nC=I((LX,rC)=>{"use strict";var y2=Bt(),by=class extends y2{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)}};rC.exports=by});var oC=I((UX,iC)=>{"use strict";var S2=Bt(),yy=class extends S2{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}};iC.exports=yy});var sC=I((FX,aC)=>{"use strict";var _2=Bt(),Sy=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}};aC.exports=Sy});var uC=I((BX,cC)=>{"use strict";cC.exports={DatePart:Bt(),Meridiem:HP(),Day:KP(),Hours:XP(),Milliseconds:QP(),Minutes:tC(),Month:nC(),Seconds:oC(),Year:sC()}});var yC=I((VX,bC)=>{"use strict";function lC(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 dC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){lC(o,i,r,a,c,"next",u)}function c(u){lC(o,i,r,a,c,"throw",u)}a(void 0)})}}var _y=oe(),E2=ar(),xy=At(),mC=xy.style,pC=xy.clear,x2=xy.figures,vC=ae(),A2=vC.erase,fC=vC.cursor,cr=uC(),gC=cr.DatePart,I2=cr.Meridiem,$2=cr.Day,T2=cr.Hours,R2=cr.Milliseconds,P2=cr.Minutes,C2=cr.Month,N2=cr.Seconds,w2=cr.Year,k2=/\\(.)|"((?:\\["\\]|[^"])+)"|(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,hC={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new $2(e),3:e=>new C2(e),4:e=>new w2(e),5:e=>new I2(e),6:e=>new T2(e),7:e=>new P2(e),8:e=>new N2(e),9:e=>new R2(e)},O2={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(",")},Ey=class extends E2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(O2,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=pC("",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=k2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in hC?hC[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 gC)),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(UP.hide):this.out.write(m2(this.outputText,this.out.columns)),super.render(),this.outputText=[LP.symbol(this.done,this.aborted),zl.bold(this.msg),LP.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(p2.line+UP.to(0)+this.outputText))}};VP.exports=dy});var Bt=I((OX,GP)=>{"use strict";var my=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)}};GP.exports=my});var HP=I((DX,WP)=>{"use strict";var f2=Bt(),py=class extends f2{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}};WP.exports=py});var KP=I((MX,qP)=>{"use strict";var g2=Bt(),h2=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),fy=class extends g2{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+h2(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};qP.exports=fy});var XP=I((jX,YP)=>{"use strict";var v2=Bt(),gy=class extends v2{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}};YP.exports=gy});var QP=I((zX,JP)=>{"use strict";var b2=Bt(),hy=class extends b2{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)}};JP.exports=hy});var tC=I((LX,eC)=>{"use strict";var y2=Bt(),vy=class extends y2{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}};eC.exports=vy});var nC=I((UX,rC)=>{"use strict";var S2=Bt(),by=class extends S2{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)}};rC.exports=by});var oC=I((FX,iC)=>{"use strict";var _2=Bt(),yy=class extends _2{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}};iC.exports=yy});var sC=I((BX,aC)=>{"use strict";var E2=Bt(),Sy=class extends E2{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}};aC.exports=Sy});var uC=I((VX,cC)=>{"use strict";cC.exports={DatePart:Bt(),Meridiem:HP(),Day:KP(),Hours:XP(),Milliseconds:QP(),Minutes:tC(),Month:nC(),Seconds:oC(),Year:sC()}});var yC=I((ZX,bC)=>{"use strict";function lC(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 dC(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){lC(o,i,r,a,c,"next",u)}function c(u){lC(o,i,r,a,c,"throw",u)}a(void 0)})}}var _y=oe(),x2=ar(),xy=At(),mC=xy.style,pC=xy.clear,A2=xy.figures,vC=ae(),I2=vC.erase,fC=vC.cursor,cr=uC(),gC=cr.DatePart,$2=cr.Meridiem,T2=cr.Day,R2=cr.Hours,P2=cr.Milliseconds,C2=cr.Minutes,N2=cr.Month,w2=cr.Seconds,k2=cr.Year,O2=/\\(.)|"((?:\\["\\]|[^"])+)"|(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,hC={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new T2(e),3:e=>new N2(e),4:e=>new k2(e),5:e=>new $2(e),6:e=>new R2(e),7:e=>new C2(e),8:e=>new w2(e),9:e=>new P2(e)},D2={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(",")},Ey=class extends x2{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(D2,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=pC("",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=O2.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in hC?hC[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 gC)),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 dC(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return dC(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 gC)),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(fC.hide):this.out.write(pC(this.outputText,this.out.columns)),super.render(),this.outputText=[mC.symbol(this.done,this.aborted),_y.bold(this.msg),mC.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?_y.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
21
21
  `).reduce((t,n,i)=>t+`
22
- ${i?" ":x2.pointerSmall} ${_y.red().italic(n)}`,"")),this.out.write(A2.line+fC.to(0)+this.outputText))}};bC.exports=Ey});var $C=I((ZX,IC)=>{"use strict";function SC(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 _C(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){SC(o,i,r,a,c,"next",u)}function c(u){SC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ll=oe(),D2=ar(),AC=ae(),Ul=AC.cursor,M2=AC.erase,Fl=At(),Ay=Fl.style,j2=Fl.figures,EC=Fl.clear,z2=Fl.lines,L2=/[0-9]/,Iy=e=>e!==void 0,xC=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},$y=class extends D2{constructor(t={}){super(t),this.transform=Ay.render(t.style),this.msg=t.message,this.initial=Iy(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=Iy(t.min)?t.min:-1/0,this.max=Iy(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(`${xC(t,this.round)}`),this._value=xC(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||L2.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?" ":A2.pointerSmall} ${_y.red().italic(n)}`,"")),this.out.write(I2.line+fC.to(0)+this.outputText))}};bC.exports=Ey});var $C=I((GX,IC)=>{"use strict";function SC(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 _C(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){SC(o,i,r,a,c,"next",u)}function c(u){SC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Ll=oe(),M2=ar(),AC=ae(),Ul=AC.cursor,j2=AC.erase,Fl=At(),Ay=Fl.style,z2=Fl.figures,EC=Fl.clear,L2=Fl.lines,U2=/[0-9]/,Iy=e=>e!==void 0,xC=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},$y=class extends M2{constructor(t={}){super(t),this.transform=Ay.render(t.style),this.msg=t.message,this.initial=Iy(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=Iy(t.min)?t.min:-1/0,this.max=Iy(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(`${xC(t,this.round)}`),this._value=xC(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||U2.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 _C(function*(){let n=yield t.validator(t.value);typeof n=="string"&&(t.errorMsg=n,n=!1),t.error=!n})()}submit(){var t=this;return _C(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(z2(this.outputError,this.out.columns)-1)+EC(this.outputError,this.out.columns)),this.out.write(EC(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Ay.symbol(this.done,this.aborted),Ll.bold(this.msg),Ay.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(L2(this.outputError,this.out.columns)-1)+EC(this.outputError,this.out.columns)),this.out.write(EC(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Ay.symbol(this.done,this.aborted),Ll.bold(this.msg),Ay.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?" ":j2.pointerSmall} ${Ll.red().italic(n)}`,"")),this.out.write(M2.line+Ul.to(0)+this.outputText+Ul.save+this.outputError+Ul.restore))}};IC.exports=$y});var Ry=I((GX,PC)=>{"use strict";var Vt=oe(),U2=ae(),F2=U2.cursor,B2=ar(),Ga=At(),TC=Ga.clear,jr=Ga.figures,RC=Ga.style,V2=Ga.wrap,Z2=Ga.entriesToDisplay,Ty=class extends B2{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=TC("",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?" ":z2.pointerSmall} ${Ll.red().italic(n)}`,"")),this.out.write(j2.line+Ul.to(0)+this.outputText+Ul.save+this.outputError+Ul.restore))}};IC.exports=$y});var Ry=I((WX,PC)=>{"use strict";var Vt=oe(),F2=ae(),B2=F2.cursor,V2=ar(),Ga=At(),TC=Ga.clear,jr=Ga.figures,RC=Ga.style,Z2=Ga.wrap,G2=Ga.entriesToDisplay,Ty=class extends V2{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=TC("",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
- `+V2(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=Z2(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
+ `+Z2(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=G2(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(F2.hide),super.render();let t=[RC.symbol(this.done,this.aborted),Vt.bold(this.msg),RC.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=TC(t,this.out.columns)}};PC.exports=Ty});var MC=I((WX,DC)=>{"use strict";function CC(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 G2(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){CC(o,i,r,a,c,"next",u)}function c(u){CC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Wa=oe(),W2=ar(),OC=ae(),H2=OC.erase,NC=OC.cursor,Ha=At(),Py=Ha.style,wC=Ha.clear,Cy=Ha.figures,q2=Ha.wrap,K2=Ha.entriesToDisplay,kC=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),Y2=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),X2=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},Ny=class extends W2{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:X2(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=wC("",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=kC(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return G2(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:Y2(u,c),value:kC(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(B2.hide),super.render();let t=[RC.symbol(this.done,this.aborted),Vt.bold(this.msg),RC.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=TC(t,this.out.columns)}};PC.exports=Ty});var MC=I((HX,DC)=>{"use strict";function CC(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 W2(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){CC(o,i,r,a,c,"next",u)}function c(u){CC(o,i,r,a,c,"throw",u)}a(void 0)})}}var Wa=oe(),H2=ar(),OC=ae(),q2=OC.erase,NC=OC.cursor,Ha=At(),Py=Ha.style,wC=Ha.clear,Cy=Ha.figures,K2=Ha.wrap,Y2=Ha.entriesToDisplay,kC=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),X2=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),J2=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},Ny=class extends H2{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:J2(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=wC("",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=kC(this.suggestions,t):this.value=this.fallback.value,this.fire()}complete(t){var n=this;return W2(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:X2(u,c),value:kC(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?Cy.arrowUp:r?Cy.arrowDown:" ",c=n?Wa.cyan().underline(t.title):t.title;return a=(n?Wa.cyan(Cy.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
- `+q2(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Wa.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(NC.hide):this.out.write(wC(this.outputText,this.out.columns)),super.render();let t=K2(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[Py.symbol(this.done,this.aborted,this.exited),Wa.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
+ `+K2(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Wa.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(NC.hide):this.out.write(wC(this.outputText,this.out.columns)),super.render();let t=Y2(this.select,this.choices.length,this.limit),n=t.startIndex,i=t.endIndex;if(this.outputText=[Py.symbol(this.done,this.aborted,this.exited),Wa.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||Wa.gray(this.fallback.title))}this.out.write(H2.line+NC.to(0)+this.outputText)}};DC.exports=Ny});var UC=I((HX,LC)=>{"use strict";var ur=oe(),J2=ae(),Q2=J2.cursor,e6=Ry(),ky=At(),jC=ky.clear,zC=ky.style,Ki=ky.figures,wy=class extends e6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=jC("",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||Wa.gray(this.fallback.title))}this.out.write(q2.line+NC.to(0)+this.outputText)}};DC.exports=Ny});var UC=I((qX,LC)=>{"use strict";var ur=oe(),Q2=ae(),e6=Q2.cursor,t6=Ry(),ky=At(),jC=ky.clear,zC=ky.style,Ki=ky.figures,wy=class extends t6{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=jC("",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(Q2.hide),super.render();let t=[zC.symbol(this.done,this.aborted),ur.bold(this.msg),zC.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=jC(t,this.out.columns)}};LC.exports=wy});var HC=I((qX,WC)=>{"use strict";var FC=oe(),t6=ar(),ZC=At(),BC=ZC.style,r6=ZC.clear,GC=ae(),n6=GC.erase,VC=GC.cursor,Oy=class extends t6{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(e6.hide),super.render();let t=[zC.symbol(this.done,this.aborted),ur.bold(this.msg),zC.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=jC(t,this.out.columns)}};LC.exports=wy});var HC=I((KX,WC)=>{"use strict";var FC=oe(),r6=ar(),ZC=At(),BC=ZC.style,n6=ZC.clear,GC=ae(),i6=GC.erase,VC=GC.cursor,Oy=class extends r6{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(VC.hide):this.out.write(r6(this.outputText,this.out.columns)),super.render(),this.outputText=[BC.symbol(this.done,this.aborted),FC.bold(this.msg),BC.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:FC.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(n6.line+VC.to(0)+this.outputText))}};WC.exports=Oy});var KC=I((KX,qC)=>{"use strict";qC.exports={TextPrompt:OP(),SelectPrompt:zP(),TogglePrompt:ZP(),DatePrompt:yC(),NumberPrompt:$C(),MultiselectPrompt:Ry(),AutocompletePrompt:MC(),AutocompleteMultiselectPrompt:UC(),ConfirmPrompt:HC()}});var XC=I(YC=>{"use strict";var Ye=YC,i6=KC(),Bl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new i6[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 o6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||o6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var oN=I((XX,iN)=>{"use strict";function JC(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 QC(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?JC(Object(n),!0).forEach(function(i){a6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JC(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function a6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=c6(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 c6(e,t){if(e){if(typeof e=="string")return eN(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 eN(e,t)}}function eN(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 tN(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 rN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){tN(o,i,r,a,c,"next",u)}function c(u){tN(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dy=XC(),u6=["suggest","format","onState","validate","onRender","type"],nN=()=>{};function zr(){return My.apply(this,arguments)}function My(){return My=rN(function*(e=[],{onSubmit:t=nN,onCancel:n=nN}={}){let i={},r=zr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=rN(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=s6(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,QC({},i),a),a.type=l),!!l){for(let z in a){if(u6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,QC({},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,Dy[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?l6(zr._injected,a.initial):yield Dy[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}),My.apply(this,arguments)}function l6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function d6(e){zr._injected=(zr._injected||[]).concat(e)}function m6(e){zr._override=Object.assign({},e)}iN.exports=Object.assign(zr,{prompt:zr,prompts:Dy,inject:d6,override:m6})});var sN=I((JX,aN)=>{"use strict";aN.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((QX,cN)=>{"use strict";cN.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 dN=I((eJ,lN)=>{"use strict";var p6=Vl(),{erase:uN,cursor:f6}=ae(),g6=e=>[...p6(e)].length;lN.exports=function(e,t){if(!t)return uN.line+f6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(g6(r)-1,0)/t);return uN.lines(n)}});var jy=I((tJ,mN)=>{"use strict";var qa={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},h6={arrowUp:qa.arrowUp,arrowDown:qa.arrowDown,arrowLeft:qa.arrowLeft,arrowRight:qa.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},v6=process.platform==="win32"?h6:qa;mN.exports=v6});var fN=I((rJ,pN)=>{"use strict";var Yi=oe(),An=jy(),zy=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}`}}),b6=e=>zy[e]||zy.default,Ka=Object.freeze({aborted:Yi.red(An.cross),done:Yi.green(An.tick),exited:Yi.yellow(An.cross),default:Yi.cyan("?")}),y6=(e,t,n)=>t?Ka.aborted:n?Ka.exited:e?Ka.done:Ka.default,S6=e=>Yi.gray(e?An.ellipsis:An.pointerSmall),_6=(e,t)=>Yi.gray(e?t?An.pointerSmall:"+":An.line);pN.exports={styles:zy,render:b6,symbols:Ka,symbol:y6,delimiter:S6,item:_6}});var hN=I((nJ,gN)=>{"use strict";var E6=Vl();gN.exports=function(e,t){let n=String(E6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var bN=I((iJ,vN)=>{"use strict";vN.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(VC.hide):this.out.write(n6(this.outputText,this.out.columns)),super.render(),this.outputText=[BC.symbol(this.done,this.aborted),FC.bold(this.msg),BC.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:FC.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(i6.line+VC.to(0)+this.outputText))}};WC.exports=Oy});var KC=I((YX,qC)=>{"use strict";qC.exports={TextPrompt:OP(),SelectPrompt:zP(),TogglePrompt:ZP(),DatePrompt:yC(),NumberPrompt:$C(),MultiselectPrompt:Ry(),AutocompletePrompt:MC(),AutocompleteMultiselectPrompt:UC(),ConfirmPrompt:HC()}});var XC=I(YC=>{"use strict";var Ye=YC,o6=KC(),Bl=e=>e;function Zt(e,t,n={}){return new Promise((i,r)=>{let o=new o6[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 a6=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Ye.autocomplete=e=>(e.suggest=e.suggest||a6,e.choices=[].concat(e.choices||[]),Zt("AutocompletePrompt",e))});var oN=I((JX,iN)=>{"use strict";function JC(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 QC(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?JC(Object(n),!0).forEach(function(i){s6(e,i,n[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JC(Object(n)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(n,i))})}return e}function s6(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c6(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=u6(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 u6(e,t){if(e){if(typeof e=="string")return eN(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 eN(e,t)}}function eN(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 tN(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 rN(e){return function(){var t=this,n=arguments;return new Promise(function(i,r){var o=e.apply(t,n);function a(u){tN(o,i,r,a,c,"next",u)}function c(u){tN(o,i,r,a,c,"throw",u)}a(void 0)})}}var Dy=XC(),l6=["suggest","format","onState","validate","onRender","type"],nN=()=>{};function zr(){return My.apply(this,arguments)}function My(){return My=rN(function*(e=[],{onSubmit:t=nN,onCancel:n=nN}={}){let i={},r=zr._override||{};e=[].concat(e);let o,a,c,u,l,m,p=(function(){var z=rN(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=c6(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,QC({},i),a),a.type=l),!!l){for(let z in a){if(l6.includes(z))continue;let Se=a[z];a[z]=typeof Se=="function"?yield Se(o,QC({},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,Dy[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?d6(zr._injected,a.initial):yield Dy[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}),My.apply(this,arguments)}function d6(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function m6(e){zr._injected=(zr._injected||[]).concat(e)}function p6(e){zr._override=Object.assign({},e)}iN.exports=Object.assign(zr,{prompt:zr,prompts:Dy,inject:m6,override:p6})});var sN=I((QX,aN)=>{"use strict";aN.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((eJ,cN)=>{"use strict";cN.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 dN=I((tJ,lN)=>{"use strict";var f6=Vl(),{erase:uN,cursor:g6}=ae(),h6=e=>[...f6(e)].length;lN.exports=function(e,t){if(!t)return uN.line+g6.to(0);let n=0,i=e.split(/\r?\n/);for(let r of i)n+=1+Math.floor(Math.max(h6(r)-1,0)/t);return uN.lines(n)}});var jy=I((rJ,mN)=>{"use strict";var qa={arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",radioOn:"\u25C9",radioOff:"\u25EF",tick:"\u2714",cross:"\u2716",ellipsis:"\u2026",pointerSmall:"\u203A",line:"\u2500",pointer:"\u276F"},v6={arrowUp:qa.arrowUp,arrowDown:qa.arrowDown,arrowLeft:qa.arrowLeft,arrowRight:qa.arrowRight,radioOn:"(*)",radioOff:"( )",tick:"\u221A",cross:"\xD7",ellipsis:"...",pointerSmall:"\xBB",line:"\u2500",pointer:">"},b6=process.platform==="win32"?v6:qa;mN.exports=b6});var fN=I((nJ,pN)=>{"use strict";var Yi=oe(),An=jy(),zy=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}`}}),y6=e=>zy[e]||zy.default,Ka=Object.freeze({aborted:Yi.red(An.cross),done:Yi.green(An.tick),exited:Yi.yellow(An.cross),default:Yi.cyan("?")}),S6=(e,t,n)=>t?Ka.aborted:n?Ka.exited:e?Ka.done:Ka.default,_6=e=>Yi.gray(e?An.ellipsis:An.pointerSmall),E6=(e,t)=>Yi.gray(e?t?An.pointerSmall:"+":An.line);pN.exports={styles:zy,render:y6,symbols:Ka,symbol:S6,delimiter:_6,item:E6}});var hN=I((iJ,gN)=>{"use strict";var x6=Vl();gN.exports=function(e,t){let n=String(x6(e)||"").split(/\r?\n/);return t?n.map(i=>Math.ceil(i.length/t)).reduce((i,r)=>i+r):n.length}});var bN=I((oJ,vN)=>{"use strict";vN.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 SN=I((oJ,yN)=>{"use strict";yN.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((aJ,_N)=>{"use strict";_N.exports={action:sN(),clear:dN(),style:fN(),strip:Vl(),figures:jy(),lines:hN(),wrap:bN(),entriesToDisplay:SN()}});var lr=I((sJ,xN)=>{"use strict";var EN=Ja("readline"),{action:x6}=It(),A6=Ja("events"),{beep:I6,cursor:$6}=ae(),T6=oe(),Ly=class extends A6{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=EN.createInterface({input:this.in,escapeCodeTimeout:50});EN.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=x6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write($6.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(I6)}render(){this.onRender(T6),this.firstRender&&(this.firstRender=!1)}};xN.exports=Ly});var IN=I((cJ,AN)=>{var Zl=oe(),R6=lr(),{erase:P6,cursor:Ya}=ae(),{style:Uy,clear:Fy,lines:C6,figures:N6}=It(),By=class extends R6{constructor(t={}){super(t),this.transform=Uy.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=Fy("",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 SN=I((aJ,yN)=>{"use strict";yN.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((sJ,_N)=>{"use strict";_N.exports={action:sN(),clear:dN(),style:fN(),strip:Vl(),figures:jy(),lines:hN(),wrap:bN(),entriesToDisplay:SN()}});var lr=I((cJ,xN)=>{"use strict";var EN=Ja("readline"),{action:A6}=It(),I6=Ja("events"),{beep:$6,cursor:T6}=ae(),R6=oe(),Ly=class extends I6{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=EN.createInterface({input:this.in,escapeCodeTimeout:50});EN.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=A6(a,i);c===!1?this._&&this._(o,a):typeof this[c]=="function"?this[c](a):this.bell()};this.close=()=>{this.out.write(T6.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($6)}render(){this.onRender(R6),this.firstRender&&(this.firstRender=!1)}};xN.exports=Ly});var IN=I((uJ,AN)=>{var Zl=oe(),P6=lr(),{erase:C6,cursor:Ya}=ae(),{style:Uy,clear:Fy,lines:N6,figures:w6}=It(),By=class extends P6{constructor(t={}){super(t),this.transform=Uy.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=Fy("",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(Ya.down(C6(this.outputError,this.out.columns)-1)+Fy(this.outputError,this.out.columns)),this.out.write(Fy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Uy.symbol(this.done,this.aborted),Zl.bold(this.msg),Uy.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(Ya.down(N6(this.outputError,this.out.columns)-1)+Fy(this.outputError,this.out.columns)),this.out.write(Fy(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[Uy.symbol(this.done,this.aborted),Zl.bold(this.msg),Uy.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?" ":N6.pointerSmall} ${Zl.red().italic(n)}`,"")),this.out.write(P6.line+Ya.to(0)+this.outputText+Ya.save+this.outputError+Ya.restore+Ya.move(this.cursorOffset,0)))}};AN.exports=By});var PN=I((uJ,RN)=>{"use strict";var dr=oe(),w6=lr(),{style:$N,clear:TN,figures:Gl,wrap:k6,entriesToDisplay:O6}=It(),{cursor:D6}=ae(),Vy=class extends w6{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=TN("",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?" ":w6.pointerSmall} ${Zl.red().italic(n)}`,"")),this.out.write(C6.line+Ya.to(0)+this.outputText+Ya.save+this.outputError+Ya.restore+Ya.move(this.cursorOffset,0)))}};AN.exports=By});var PN=I((lJ,RN)=>{"use strict";var dr=oe(),k6=lr(),{style:$N,clear:TN,figures:Gl,wrap:O6,entriesToDisplay:D6}=It(),{cursor:M6}=ae(),Vy=class extends k6{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=TN("",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(D6.hide):this.out.write(TN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=O6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[$N.symbol(this.done,this.aborted),dr.bold(this.msg),$N.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(M6.hide):this.out.write(TN(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=D6(this.cursor,this.choices.length,this.optionsPerPage);if(this.outputText=[$N.symbol(this.done,this.aborted),dr.bold(this.msg),$N.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
- `+k6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${dr.gray(a)}
64
- `}}this.out.write(this.outputText)}};RN.exports=Vy});var kN=I((lJ,wN)=>{var Wl=oe(),M6=lr(),{style:CN,clear:j6}=It(),{cursor:NN,erase:z6}=ae(),Zy=class extends M6{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
+ `+O6(c.description,{margin:3,width:this.out.columns})))),this.outputText+=`${o} ${r}${dr.gray(a)}
64
+ `}}this.out.write(this.outputText)}};RN.exports=Vy});var kN=I((dJ,wN)=>{var Wl=oe(),j6=lr(),{style:CN,clear:z6}=It(),{cursor:NN,erase:L6}=ae(),Zy=class extends j6{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(NN.hide):this.out.write(j6(this.outputText,this.out.columns)),super.render(),this.outputText=[CN.symbol(this.done,this.aborted),Wl.bold(this.msg),CN.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(z6.line+NN.to(0)+this.outputText))}};wN.exports=Zy});var Gt=I((dJ,ON)=>{"use strict";var Gy=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)}};ON.exports=Gy});var MN=I((mJ,DN)=>{"use strict";var L6=Gt(),Wy=class extends L6{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}};DN.exports=Wy});var zN=I((pJ,jN)=>{"use strict";var U6=Gt(),F6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),Hy=class extends U6{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+F6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};jN.exports=Hy});var UN=I((fJ,LN)=>{"use strict";var B6=Gt(),qy=class extends B6{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}};LN.exports=qy});var BN=I((gJ,FN)=>{"use strict";var V6=Gt(),Ky=class extends V6{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)}};FN.exports=Ky});var ZN=I((hJ,VN)=>{"use strict";var Z6=Gt(),Yy=class extends Z6{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}};VN.exports=Yy});var WN=I((vJ,GN)=>{"use strict";var G6=Gt(),Xy=class extends G6{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)}};GN.exports=Xy});var qN=I((bJ,HN)=>{"use strict";var W6=Gt(),Jy=class extends W6{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}};HN.exports=Jy});var YN=I((yJ,KN)=>{"use strict";var H6=Gt(),Qy=class extends H6{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}};KN.exports=Qy});var JN=I((SJ,XN)=>{"use strict";XN.exports={DatePart:Gt(),Meridiem:MN(),Day:zN(),Hours:UN(),Milliseconds:BN(),Minutes:ZN(),Month:WN(),Seconds:qN(),Year:YN()}});var ow=I((_J,iw)=>{"use strict";var eS=oe(),q6=lr(),{style:QN,clear:ew,figures:K6}=It(),{erase:Y6,cursor:tw}=ae(),{DatePart:rw,Meridiem:X6,Day:J6,Hours:Q6,Milliseconds:eF,Minutes:tF,Month:rF,Seconds:nF,Year:iF}=JN(),oF=/\\(.)|"((?:\\["\\]|[^"])+)"|(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,nw={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new J6(e),3:e=>new rF(e),4:e=>new iF(e),5:e=>new X6(e),6:e=>new Q6(e),7:e=>new tF(e),8:e=>new nF(e),9:e=>new eF(e)},aF={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(",")},tS=class extends q6{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(aF,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=ew("",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=oF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in nw?nw[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 rw)),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(NN.hide):this.out.write(z6(this.outputText,this.out.columns)),super.render(),this.outputText=[CN.symbol(this.done,this.aborted),Wl.bold(this.msg),CN.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(L6.line+NN.to(0)+this.outputText))}};wN.exports=Zy});var Gt=I((mJ,ON)=>{"use strict";var Gy=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)}};ON.exports=Gy});var MN=I((pJ,DN)=>{"use strict";var U6=Gt(),Wy=class extends U6{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}};DN.exports=Wy});var zN=I((fJ,jN)=>{"use strict";var F6=Gt(),B6=e=>(e=e%10,e===1?"st":e===2?"nd":e===3?"rd":"th"),Hy=class extends F6{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+B6(t):this.token==="d"?n+1:this.token==="ddd"?this.locales.weekdaysShort[n]:this.token==="dddd"?this.locales.weekdays[n]:t}};jN.exports=Hy});var UN=I((gJ,LN)=>{"use strict";var V6=Gt(),qy=class extends V6{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}};LN.exports=qy});var BN=I((hJ,FN)=>{"use strict";var Z6=Gt(),Ky=class extends Z6{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)}};FN.exports=Ky});var ZN=I((vJ,VN)=>{"use strict";var G6=Gt(),Yy=class extends G6{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}};VN.exports=Yy});var WN=I((bJ,GN)=>{"use strict";var W6=Gt(),Xy=class extends W6{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)}};GN.exports=Xy});var qN=I((yJ,HN)=>{"use strict";var H6=Gt(),Jy=class extends H6{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}};HN.exports=Jy});var YN=I((SJ,KN)=>{"use strict";var q6=Gt(),Qy=class extends q6{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}};KN.exports=Qy});var JN=I((_J,XN)=>{"use strict";XN.exports={DatePart:Gt(),Meridiem:MN(),Day:zN(),Hours:UN(),Milliseconds:BN(),Minutes:ZN(),Month:WN(),Seconds:qN(),Year:YN()}});var ow=I((EJ,iw)=>{"use strict";var eS=oe(),K6=lr(),{style:QN,clear:ew,figures:Y6}=It(),{erase:X6,cursor:tw}=ae(),{DatePart:rw,Meridiem:J6,Day:Q6,Hours:eF,Milliseconds:tF,Minutes:rF,Month:nF,Seconds:iF,Year:oF}=JN(),aF=/\\(.)|"((?:\\["\\]|[^"])+)"|(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,nw={1:({token:e})=>e.replace(/\\(.)/g,"$1"),2:e=>new Q6(e),3:e=>new nF(e),4:e=>new oF(e),5:e=>new J6(e),6:e=>new eF(e),7:e=>new rF(e),8:e=>new iF(e),9:e=>new tF(e)},sF={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(",")},tS=class extends K6{constructor(t={}){super(t),this.msg=t.message,this.cursor=0,this.typed="",this.locales=Object.assign(sF,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=ew("",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=aF.exec(t);){let r=n.shift(),o=n.findIndex(a=>a!=null);this.parts.push(o in nw?nw[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 rw)),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 rw)),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(tw.hide):this.out.write(ew(this.outputText,this.out.columns)),super.render(),this.outputText=[QN.symbol(this.done,this.aborted),eS.bold(this.msg),QN.delimiter(!1),this.parts.reduce((t,n,i)=>t.concat(i===this.cursor&&!this.done?eS.cyan().underline(n.toString()):n),[]).join("")].join(" "),this.error&&(this.outputText+=this.errorMsg.split(`
69
69
  `).reduce((t,n,i)=>t+`
70
- ${i?" ":K6.pointerSmall} ${eS.red().italic(n)}`,"")),this.out.write(Y6.line+tw.to(0)+this.outputText))}};iw.exports=tS});var uw=I((EJ,cw)=>{var Hl=oe(),sF=lr(),{cursor:ql,erase:cF}=ae(),{style:rS,figures:uF,clear:aw,lines:lF}=It(),dF=/[0-9]/,nS=e=>e!==void 0,sw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},iS=class extends sF{constructor(t={}){super(t),this.transform=rS.render(t.style),this.msg=t.message,this.initial=nS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=nS(t.min)?t.min:-1/0,this.max=nS(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(`${sw(t,this.round)}`),this._value=sw(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||dF.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?" ":Y6.pointerSmall} ${eS.red().italic(n)}`,"")),this.out.write(X6.line+tw.to(0)+this.outputText))}};iw.exports=tS});var uw=I((xJ,cw)=>{var Hl=oe(),cF=lr(),{cursor:ql,erase:uF}=ae(),{style:rS,figures:lF,clear:aw,lines:dF}=It(),mF=/[0-9]/,nS=e=>e!==void 0,sw=(e,t)=>{let n=Math.pow(10,t);return Math.round(e*n)/n},iS=class extends cF{constructor(t={}){super(t),this.transform=rS.render(t.style),this.msg=t.message,this.initial=nS(t.initial)?t.initial:"",this.float=!!t.float,this.round=t.round||2,this.inc=t.increment||1,this.min=nS(t.min)?t.min:-1/0,this.max=nS(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(`${sw(t,this.round)}`),this._value=sw(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||mF.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(lF(this.outputError,this.out.columns)-1)+aw(this.outputError,this.out.columns)),this.out.write(aw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[rS.symbol(this.done,this.aborted),Hl.bold(this.msg),rS.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(dF(this.outputError,this.out.columns)-1)+aw(this.outputError,this.out.columns)),this.out.write(aw(this.outputText,this.out.columns))),super.render(),this.outputError="",this.outputText=[rS.symbol(this.done,this.aborted),Hl.bold(this.msg),rS.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?" ":uF.pointerSmall} ${Hl.red().italic(n)}`,"")),this.out.write(cF.line+ql.to(0)+this.outputText+ql.save+this.outputError+ql.restore))}};cw.exports=iS});var aS=I((xJ,mw)=>{"use strict";var Wt=oe(),{cursor:mF}=ae(),pF=lr(),{clear:lw,figures:Lr,style:dw,wrap:fF,entriesToDisplay:gF}=It(),oS=class extends pF{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=lw("",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?" ":lF.pointerSmall} ${Hl.red().italic(n)}`,"")),this.out.write(uF.line+ql.to(0)+this.outputText+ql.save+this.outputError+ql.restore))}};cw.exports=iS});var aS=I((AJ,mw)=>{"use strict";var Wt=oe(),{cursor:pF}=ae(),fF=lr(),{clear:lw,figures:Lr,style:dw,wrap:gF,entriesToDisplay:hF}=It(),oS=class extends fF{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=lw("",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
- `+fF(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}=gF(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
+ `+gF(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}=hF(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(mF.hide),super.render();let t=[dw.symbol(this.done,this.aborted),Wt.bold(this.msg),dw.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=lw(t,this.out.columns)}};mw.exports=oS});var vw=I((AJ,hw)=>{"use strict";var Xa=oe(),hF=lr(),{erase:vF,cursor:pw}=ae(),{style:sS,clear:fw,figures:cS,wrap:bF,entriesToDisplay:yF}=It(),gw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),SF=(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},uS=class extends hF{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=sS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=fw("",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=gw(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:SF(c,a),value:gw(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(pF.hide),super.render();let t=[dw.symbol(this.done,this.aborted),Wt.bold(this.msg),dw.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=lw(t,this.out.columns)}};mw.exports=oS});var vw=I((IJ,hw)=>{"use strict";var Xa=oe(),vF=lr(),{erase:bF,cursor:pw}=ae(),{style:sS,clear:fw,figures:cS,wrap:yF,entriesToDisplay:SF}=It(),gw=(e,t)=>e[t]&&(e[t].value||e[t].title||e[t]),_F=(e,t)=>e[t]&&(e[t].title||e[t].value||e[t]),EF=(e,t)=>{let n=e.findIndex(i=>i.value===t||i.title===t);return n>-1?n:void 0},uS=class extends vF{constructor(t={}){super(t),this.msg=t.message,this.suggest=t.suggest,this.choices=t.choices,this.initial=typeof t.initial=="number"?t.initial:EF(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=sS.render(t.style),this.scale=this.transform.scale,this.render=this.render.bind(this),this.complete=this.complete.bind(this),this.clear=fw("",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=gw(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:_F(c,a),value:gw(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?cS.arrowUp:r?cS.arrowDown:" ",c=n?Xa.cyan().underline(t.title):t.title;return a=(n?Xa.cyan(cS.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
- `+bF(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Xa.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(pw.hide):this.out.write(fw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=yF(this.select,this.choices.length,this.limit);if(this.outputText=[sS.symbol(this.done,this.aborted,this.exited),Xa.bold(this.msg),sS.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
+ `+yF(t.description,{margin:3,width:this.out.columns}))),a+" "+c+Xa.gray(o||"")}render(){if(this.closed)return;this.firstRender?this.out.write(pw.hide):this.out.write(fw(this.outputText,this.out.columns)),super.render();let{startIndex:t,endIndex:n}=SF(this.select,this.choices.length,this.limit);if(this.outputText=[sS.symbol(this.done,this.aborted,this.exited),Xa.bold(this.msg),sS.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||Xa.gray(this.fallback.title))}this.out.write(vF.line+pw.to(0)+this.outputText)}};hw.exports=uS});var _w=I((IJ,Sw)=>{"use strict";var mr=oe(),{cursor:EF}=ae(),xF=aS(),{clear:bw,style:yw,figures:Xi}=It(),lS=class extends xF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=bw("",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||Xa.gray(this.fallback.title))}this.out.write(bF.line+pw.to(0)+this.outputText)}};hw.exports=uS});var _w=I(($J,Sw)=>{"use strict";var mr=oe(),{cursor:xF}=ae(),AF=aS(),{clear:bw,style:yw,figures:Xi}=It(),lS=class extends AF{constructor(t={}){t.overrideRender=!0,super(t),this.inputValue="",this.clear=bw("",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(EF.hide),super.render();let t=[yw.symbol(this.done,this.aborted),mr.bold(this.msg),yw.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=bw(t,this.out.columns)}};Sw.exports=lS});var $w=I(($J,Iw)=>{var Ew=oe(),AF=lr(),{style:xw,clear:IF}=It(),{erase:$F,cursor:Aw}=ae(),dS=class extends AF{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(xF.hide),super.render();let t=[yw.symbol(this.done,this.aborted),mr.bold(this.msg),yw.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=bw(t,this.out.columns)}};Sw.exports=lS});var $w=I((TJ,Iw)=>{var Ew=oe(),IF=lr(),{style:xw,clear:$F}=It(),{erase:TF,cursor:Aw}=ae(),dS=class extends IF{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(Aw.hide):this.out.write(IF(this.outputText,this.out.columns)),super.render(),this.outputText=[xw.symbol(this.done,this.aborted),Ew.bold(this.msg),xw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Ew.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write($F.line+Aw.to(0)+this.outputText))}};Iw.exports=dS});var Rw=I((TJ,Tw)=>{"use strict";Tw.exports={TextPrompt:IN(),SelectPrompt:PN(),TogglePrompt:kN(),DatePrompt:ow(),NumberPrompt:uw(),MultiselectPrompt:aS(),AutocompletePrompt:vw(),AutocompleteMultiselectPrompt:_w(),ConfirmPrompt:$w()}});var Cw=I(Pw=>{"use strict";var Xe=Pw,TF=Rw(),Kl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new TF[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 RF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||RF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var kw=I((PJ,ww)=>{"use strict";var mS=Cw(),PF=["suggest","format","onState","validate","onRender","type"],Nw=()=>{};async function Ur(e=[],{onSubmit:t=Nw,onCancel:n=Nw}={}){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(PF.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,mS[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?CF(Ur._injected,a.initial):await mS[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 CF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function NF(e){Ur._injected=(Ur._injected||[]).concat(e)}function wF(e){Ur._override=Object.assign({},e)}ww.exports=Object.assign(Ur,{prompt:Ur,prompts:mS,inject:NF,override:wF})});var pS=I((CJ,Ow)=>{function kF(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}Ow.exports=kF("8.6.0")?oN():kw()});import*as Hi from"fs";import*as QR from"path";var Ww=Object.defineProperty,fr=(e,t)=>Ww(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 $n(e){return Tt(e).replace(/-/g,"_")}fr($n,"toValidDatabaseName");function yS(e){return Tt(e).replace(/-/g,"_").toUpperCase()}fr(yS,"toScreamingSnake");function SS(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}fr(SS,"capitalise");function _S(e){return e.split(".").join("")}fr(_S,"getSafeZoneName");function Br(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}fr(Br,"accountConstructKey");function ES(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Br(t)===Br(e)&&Br(e)!==""}fr(ES,"hasAsciiStableConstructKey");var Hw=Object.defineProperty,Qa=(e,t)=>Hw(e,"name",{value:t,configurable:!0});function es(e){return`${$e(e.split(".").join(""))}Domain`}Qa(es,"getDomainStackName");function xS(e){return`${e}UsEast1Certificates`}Qa(xS,"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`}}Qa(Jl,"getDomainExportNames");function AS(e){return typeof e.hostedZoneId=="string"}Qa(AS,"isManagedDomainBinding");var qw=Object.defineProperty,Kw=(e,t)=>qw(e,"name",{value:t,configurable:!0});function IS(e){return`${$e(e)}ImageTag`}Kw(IS,"imageTagParameterName");var Yw=Object.defineProperty,Xw=(e,t)=>Yw(e,"name",{value:t,configurable:!0});function $S(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}Xw($S,"findAccountNameCollision");var Jw=Object.defineProperty,Ji=(e,t)=>Jw(e,"name",{value:t,configurable:!0}),Tn="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)),ts=new Set(it.filter(e=>e.optIn).map(e=>e.code));function rs(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(rs,"optInRegionWarning");function Rn(e){return it.find(t=>t.code===e)}Ji(Rn,"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 Qw=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"}),ek=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"}),tk=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 ts.has(e)?tk[e]??Tn:e}Ji(Ql,"toDeployableRegion");function ns(e){if(!e)return;let t=Qw[e];if(t!==void 0)return Ql(t);let n=e.split("/")[0];if(n===void 0)return;let i=ek[n];return i===void 0?void 0:Ql(i)}Ji(ns,"suggestRegionForTimezone");var rk=Object.defineProperty,Qi=(e,t)=>rk(e,"name",{value:t,configurable:!0});function is(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}Qi(is,"slugifyAccountName");function TS(e,t){let n=is(e),i=is(t);return n===""?i:i===""?n:`${n}-${i}`}Qi(TS,"defaultConnectedAccountName");function RS(e,t){let n=is(t);return n===""?e:`${e}-${n}`}Qi(RS,"suffixedAccountName");var PS=new Set(it.map(e=>Pn(e.code)));function CS(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(CS,"findTrailingRegionShortCode");function NS(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(NS,"regionSuffixRejectionMessage");var nk=Object.defineProperty,Cn=(e,t)=>nk(e,"name",{value:t,configurable:!0});function ht(e){return e instanceof Error?e:new Error(String(e))}Cn(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"}Cn(Rt,"getErrorMessage");function os(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}Cn(os,"hasErrorCode");function eo(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}Cn(eo,"getErrorCode");function as(e){return e instanceof Error?e.stack:void 0}Cn(as,"getErrorStack");function ss(e){let t=Rt(e),n=eo(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}Cn(ss,"formatErrorString");var ik=Object.defineProperty,ok=(e,t)=>ik(e,"name",{value:t,configurable:!0});function wS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}ok(wS,"singleton");var ak=Object.defineProperty,ed=(e,t)=>ak(e,"name",{value:t,configurable:!0}),kS=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 OS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!kS.has(t.toUpperCase())))}ed(OS,"filterDangerousEnvVars");var sk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function Nn(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(sk,"$1***")}ed(Nn,"maskSensitiveOutput");function DS(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(DS,"parseShellArgs");var ck=Object.defineProperty,uk=(e,t)=>ck(e,"name",{value:t,configurable:!0}),lk=uk(e=>new Promise(t=>setTimeout(t,e)),"sleep");var dk=Object.defineProperty,MS=(e,t)=>dk(e,"name",{value:t,configurable:!0});async function jS(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=MS(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}MS(jS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>rd,$input:()=>xp,$output:()=>Ep,NEVER:()=>td,TimePrecision:()=>Tp,ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Oc,ZodBase64URL:()=>Dc,ZodBigInt:()=>ci,ZodBigIntFormat:()=>zc,ZodBoolean:()=>si,ZodCIDRv4:()=>wc,ZodCIDRv6:()=>kc,ZodCUID:()=>Ic,ZodCUID2:()=>$c,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>oi,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>Mc,ZodEmail:()=>Ec,ZodEmoji:()=>xc,ZodEnum:()=>ni,ZodError:()=>BD,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFirstPartyTypeKind:()=>rh,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Cc,ZodIPv6:()=>Nc,ZodISODate:()=>hc,ZodISODateTime:()=>gc,ZodISODuration:()=>bc,ZodISOTime:()=>vc,ZodIntersection:()=>Ag,ZodIssueCode:()=>ZD,ZodJWT:()=>jc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Pg,ZodNaN:()=>Gg,ZodNanoID:()=>Ac,ZodNever:()=>yg,ZodNonOptional:()=>Zc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>ai,ZodNumberFormat:()=>Xr,ZodObject:()=>Co,ZodOptional:()=>Vc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRealError:()=>Ze,ZodRecord:()=>ri,ZodSet:()=>Cg,ZodString:()=>ii,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Tc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Rc,ZodXor:()=>Eg,_ZodString:()=>_c,_default:()=>zg,_function:()=>Ix,any:()=>rx,array:()=>Po,base64:()=>LE,base64url:()=>UE,bigint:()=>XE,boolean:()=>mg,catch:()=>Zg,check:()=>$x,cidrv4:()=>jE,cidrv6:()=>zE,clone:()=>ke,codec:()=>_x,coerce:()=>nh,config:()=>se,core:()=>Xt,cuid:()=>PE,cuid2:()=>CE,custom:()=>Tx,date:()=>ix,decode:()=>ng,decodeAsync:()=>og,describe:()=>Rx,discriminatedUnion:()=>lx,e164:()=>FE,email:()=>yE,emoji:()=>TE,encode:()=>rg,encodeAsync:()=>ig,endsWith:()=>Wn,enum:()=>Fc,exactOptional:()=>Dg,file:()=>vx,flattenError:()=>co,float32:()=>HE,float64:()=>qE,formatError:()=>uo,fromJSONSchema:()=>Dx,function:()=>Ix,getErrorMap:()=>WD,globalRegistry:()=>_e,gt:()=>Ct,gte:()=>De,guid:()=>SE,hash:()=>WE,hex:()=>GE,hostname:()=>ZE,httpUrl:()=>$E,includes:()=>Zn,instanceof:()=>Cx,int:()=>yc,int32:()=>KE,int64:()=>JE,intersection:()=>Ig,invertCodec:()=>Ex,ipv4:()=>OE,ipv6:()=>ME,iso:()=>ti,json:()=>wx,jwt:()=>BE,keyof:()=>ox,ksuid:()=>kE,lazy:()=>Xg,length:()=>Kr,literal:()=>hx,locales:()=>bo,looseObject:()=>cx,looseRecord:()=>mx,lowercase:()=>Bn,lt:()=>Pt,lte:()=>Qe,mac:()=>DE,map:()=>px,maxLength:()=>qr,maxSize:()=>_r,meta:()=>Px,mime:()=>Hn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,nan:()=>Sx,nanoid:()=>RE,nativeEnum:()=>gx,negative:()=>oc,never:()=>Lc,nonnegative:()=>sc,nonoptional:()=>Fg,nonpositive:()=>ac,normalize:()=>qn,null:()=>hg,nullable:()=>Io,nullish:()=>bx,number:()=>dg,object:()=>ax,optional:()=>Ao,overwrite:()=>bt,parse:()=>Jf,parseAsync:()=>Qf,partialRecord:()=>dx,pipe:()=>Sc,positive:()=>ic,prefault:()=>Ug,preprocess:()=>kx,prettifyError:()=>gd,promise:()=>Ax,property:()=>cc,readonly:()=>qg,record:()=>Rg,refine:()=>eh,regex:()=>Fn,regexes:()=>Je,registry:()=>js,safeDecode:()=>sg,safeDecodeAsync:()=>ug,safeEncode:()=>ag,safeEncodeAsync:()=>cg,safeParse:()=>eg,safeParseAsync:()=>tg,set:()=>fx,setErrorMap:()=>GD,size:()=>Hr,slugify:()=>Jn,startsWith:()=>Gn,strictObject:()=>sx,string:()=>Eo,stringFormat:()=>VE,stringbool:()=>Nx,success:()=>yx,superRefine:()=>th,symbol:()=>ex,templateLiteral:()=>xx,toJSONSchema:()=>mc,toLowerCase:()=>Yn,toUpperCase:()=>Xn,transform:()=>Bc,treeifyError:()=>fd,trim:()=>Kn,tuple:()=>Tg,uint32:()=>YE,uint64:()=>QE,ulid:()=>NE,undefined:()=>tx,union:()=>Uc,unknown:()=>Yr,uppercase:()=>Vn,url:()=>IE,util:()=>_,uuid:()=>_E,uuidv4:()=>EE,uuidv6:()=>xE,uuidv7:()=>AE,void:()=>nx,xid:()=>wE,xor:()=>ux});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:()=>xs,$ZodCheckIncludes:()=>om,$ZodCheckLengthEquals:()=>tm,$ZodCheckLessThan:()=>Es,$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:()=>Ln,$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:()=>Pm,$ZodISODate:()=>Im,$ZodISODateTime:()=>Am,$ZodISODuration:()=>Tm,$ZodISOTime:()=>$m,$ZodIntersection:()=>Qm,$ZodJWT:()=>jm,$ZodKSUID:()=>xm,$ZodLazy:()=>Sp,$ZodLiteral:()=>ip,$ZodMAC:()=>Cm,$ZodMap:()=>tp,$ZodNaN:()=>fp,$ZodNanoID:()=>bm,$ZodNever:()=>Wm,$ZodNonOptional:()=>dp,$ZodNull:()=>Vm,$ZodNullable:()=>cp,$ZodNumber:()=>Rs,$ZodNumberFormat:()=>Lm,$ZodObject:()=>f_,$ZodObjectJIT:()=>Ym,$ZodOptional:()=>Ns,$ZodPipe:()=>ws,$ZodPrefault:()=>lp,$ZodPreprocess:()=>gp,$ZodPromise:()=>yp,$ZodReadonly:()=>hp,$ZodRealError:()=>Ve,$ZodRecord:()=>ep,$ZodRegistry:()=>Ms,$ZodSet:()=>rp,$ZodString:()=>Wr,$ZodStringFormat:()=>q,$ZodSuccess:()=>mp,$ZodSymbol:()=>Fm,$ZodTemplateLiteral:()=>vp,$ZodTransform:()=>ap,$ZodTuple:()=>Cs,$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:()=>hE,JSONSchemaGenerator:()=>pc,NEVER:()=>td,TimePrecision:()=>Tp,_any:()=>qp,_array:()=>tf,_base64:()=>ec,_base64url:()=>tc,_bigint:()=>Fp,_boolean:()=>Lp,_catch:()=>OD,_check:()=>gE,_cidrv4:()=>Js,_cidrv6:()=>Qs,_coercedBigint:()=>Bp,_coercedBoolean:()=>Up,_coercedDate:()=>Qp,_coercedNumber:()=>kp,_coercedString:()=>Ip,_cuid:()=>Gs,_cuid2:()=>Ws,_custom:()=>nf,_date:()=>Jp,_decode:()=>ps,_decodeAsync:()=>gs,_default:()=>ND,_discriminatedUnion:()=>yD,_e164:()=>rc,_email:()=>zs,_emoji:()=>Vs,_encode:()=>ms,_encodeAsync:()=>fs,_endsWith:()=>Wn,_enum:()=>ID,_file:()=>rf,_float32:()=>Dp,_float64:()=>Mp,_gt:()=>Ct,_gte:()=>De,_guid:()=>yo,_includes:()=>Zn,_int:()=>Op,_int32:()=>jp,_int64:()=>Vp,_intersection:()=>SD,_ipv4:()=>Ys,_ipv6:()=>Xs,_isoDate:()=>Pp,_isoDateTime:()=>Rp,_isoDuration:()=>Np,_isoTime:()=>Cp,_jwt:()=>nc,_ksuid:()=>Ks,_lazy:()=>zD,_length:()=>Kr,_literal:()=>TD,_lowercase:()=>Bn,_lt:()=>Pt,_lte:()=>Qe,_mac:()=>$p,_map:()=>xD,_max:()=>Qe,_maxLength:()=>qr,_maxSize:()=>_r,_mime:()=>Hn,_min:()=>De,_minLength:()=>Yt,_minSize:()=>Nt,_multipleOf:()=>Sr,_nan:()=>ef,_nanoid:()=>Zs,_nativeEnum:()=>$D,_negative:()=>oc,_never:()=>Yp,_nonnegative:()=>sc,_nonoptional:()=>wD,_nonpositive:()=>ac,_normalize:()=>qn,_null:()=>Hp,_nullable:()=>CD,_number:()=>wp,_optional:()=>PD,_overwrite:()=>bt,_parse:()=>Dn,_parseAsync:()=>Mn,_pipe:()=>DD,_positive:()=>ic,_promise:()=>LD,_property:()=>cc,_readonly:()=>MD,_record:()=>ED,_refine:()=>of,_regex:()=>Fn,_safeDecode:()=>vs,_safeDecodeAsync:()=>ys,_safeEncode:()=>hs,_safeEncodeAsync:()=>bs,_safeParse:()=>jn,_safeParseAsync:()=>zn,_set:()=>AD,_size:()=>Hr,_slugify:()=>Jn,_startsWith:()=>Gn,_string:()=>Ap,_stringFormat:()=>Qn,_stringbool:()=>uf,_success:()=>kD,_superRefine:()=>af,_symbol:()=>Gp,_templateLiteral:()=>jD,_toLowerCase:()=>Yn,_toUpperCase:()=>Xn,_transform:()=>RD,_trim:()=>Kn,_tuple:()=>_D,_uint32:()=>zp,_uint64:()=>Zp,_ulid:()=>Hs,_undefined:()=>Wp,_union:()=>vD,_unknown:()=>Kp,_uppercase:()=>Vn,_url:()=>So,_uuid:()=>Ls,_uuidv4:()=>Us,_uuidv6:()=>Fs,_uuidv7:()=>Bs,_void:()=>Xp,_xid:()=>qs,_xor:()=>bD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ei,createToJSONSchemaMethod:()=>lf,decode:()=>Lk,decodeAsync:()=>Fk,describe:()=>sf,encode:()=>zk,encodeAsync:()=>Uk,extractDefs:()=>xr,finalize:()=>Ar,flattenError:()=>co,formatError:()=>uo,globalConfig:()=>Vr,globalRegistry:()=>_e,initializeContext:()=>Er,isValidBase64:()=>km,isValidBase64URL:()=>l_,isValidJWT:()=>d_,locales:()=>bo,meta:()=>cf,parse:()=>ls,parseAsync:()=>ds,prettifyError:()=>gd,process:()=>Z,regexes:()=>Je,registry:()=>js,safeDecode:()=>Vk,safeDecodeAsync:()=>Gk,safeEncode:()=>Bk,safeEncodeAsync:()=>Zk,safeParse:()=>hd,safeParseAsync:()=>vd,toDotPath:()=>VS,toJSONSchema:()=>mc,treeifyError:()=>fd,util:()=>_,version:()=>dm});var zS,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"}};(zS=globalThis).__zod_globalConfig??(zS.__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:()=>hk,assertEqual:()=>mk,assertIs:()=>fk,assertNever:()=>gk,assertNotEqual:()=>pk,assignProp:()=>vr,base64ToUint8Array:()=>US,base64urlToUint8Array:()=>kk,cached:()=>kn,captureStackTrace:()=>us,cleanEnum:()=>wk,cleanRegex:()=>no,clone:()=>ke,cloneDef:()=>bk,createTransparentProxy:()=>Ak,defineLazy:()=>M,esc:()=>cs,escapeRegex:()=>ot,explicitlyAborted:()=>pd,extend:()=>Tk,finalizeIssue:()=>Oe,floatSafeRemainder:()=>od,getElementAtPath:()=>yk,getEnumValues:()=>ro,getLengthableOrigin:()=>ao,getParsedType:()=>xk,getSizableOrigin:()=>oo,hexToUint8Array:()=>Dk,isObject:()=>Zr,isPlainObject:()=>br,issue:()=>On,joinValues:()=>h,jsonStringifyReplacer:()=>wn,merge:()=>Pk,mergeDefs:()=>Kt,normalizeParams:()=>E,nullish:()=>hr,numKeys:()=>Ek,objectClone:()=>vk,omit:()=>$k,optionalKeys:()=>ld,parsedType:()=>S,partial:()=>Ck,pick:()=>Ik,prefixIssues:()=>Be,primitiveTypes:()=>ud,promiseAllObject:()=>Sk,propertyKeyTypes:()=>io,randomString:()=>_k,required:()=>Nk,safeExtend:()=>Rk,shallowClone:()=>cd,slugify:()=>ad,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>FS,uint8ArrayToBase64url:()=>Ok,uint8ArrayToHex:()=>Mk,unwrapMessage:()=>to});function mk(e){return e}function pk(e){return e}function fk(e){}function gk(e){throw new Error("Unexpected value in exhaustive check")}function hk(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 wn(e,t){return typeof t=="bigint"?t.toString():t}function kn(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 LS=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==LS)return i===void 0&&(i=LS,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function vk(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 bk(e){return Kt(e._zod.def)}function yk(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Sk(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 _k(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function cs(e){return JSON.stringify(e)}function ad(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var us="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Zr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sd=kn(()=>{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 Ek(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var xk=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 Ak(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 Ik(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 $k(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 Tk(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 Rk(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 Pk(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 Ck(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 Nk(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 On(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function wk(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function US(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 FS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function kk(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return US(t+n)}function Ok(e){return FS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Dk(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 Mk(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var id=class{constructor(...t){}};var BS=(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,wn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},so=f("$ZodError",BS),Ve=f("$ZodError",BS,{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 VS(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 ${VS(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(Aw.hide):this.out.write($F(this.outputText,this.out.columns)),super.render(),this.outputText=[xw.symbol(this.done,this.aborted),Ew.bold(this.msg),xw.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:Ew.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(TF.line+Aw.to(0)+this.outputText))}};Iw.exports=dS});var Rw=I((RJ,Tw)=>{"use strict";Tw.exports={TextPrompt:IN(),SelectPrompt:PN(),TogglePrompt:kN(),DatePrompt:ow(),NumberPrompt:uw(),MultiselectPrompt:aS(),AutocompletePrompt:vw(),AutocompleteMultiselectPrompt:_w(),ConfirmPrompt:$w()}});var Cw=I(Pw=>{"use strict";var Xe=Pw,RF=Rw(),Kl=e=>e;function Ht(e,t,n={}){return new Promise((i,r)=>{let o=new RF[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 PF=(e,t)=>Promise.resolve(t.filter(n=>n.title.slice(0,e.length).toLowerCase()===e.toLowerCase()));Xe.autocomplete=e=>(e.suggest=e.suggest||PF,e.choices=[].concat(e.choices||[]),Ht("AutocompletePrompt",e))});var kw=I((CJ,ww)=>{"use strict";var mS=Cw(),CF=["suggest","format","onState","validate","onRender","type"],Nw=()=>{};async function Ur(e=[],{onSubmit:t=Nw,onCancel:n=Nw}={}){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(CF.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,mS[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?NF(Ur._injected,a.initial):await mS[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 NF(e,t){let n=e.shift();if(n instanceof Error)throw n;return n===void 0?t:n}function wF(e){Ur._injected=(Ur._injected||[]).concat(e)}function kF(e){Ur._override=Object.assign({},e)}ww.exports=Object.assign(Ur,{prompt:Ur,prompts:mS,inject:wF,override:kF})});var pS=I((NJ,Ow)=>{function OF(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}Ow.exports=OF("8.6.0")?oN():kw()});import*as Hi from"fs";import*as QR from"path";var Ww=Object.defineProperty,fr=(e,t)=>Ww(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 $n(e){return Tt(e).replace(/-/g,"_")}fr($n,"toValidDatabaseName");function yS(e){return Tt(e).replace(/-/g,"_").toUpperCase()}fr(yS,"toScreamingSnake");function SS(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}fr(SS,"capitalise");function _S(e){return e.split(".").join("")}fr(_S,"getSafeZoneName");function Br(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}fr(Br,"accountConstructKey");function ES(e){let t=e.replace(new RegExp("\\P{ASCII}","gu"),"");return Br(t)===Br(e)&&Br(e)!==""}fr(ES,"hasAsciiStableConstructKey");var Hw=Object.defineProperty,Qa=(e,t)=>Hw(e,"name",{value:t,configurable:!0});function es(e){return`${$e(e.split(".").join(""))}Domain`}Qa(es,"getDomainStackName");function xS(e){return`${e}UsEast1Certificates`}Qa(xS,"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`}}Qa(Jl,"getDomainExportNames");function AS(e){return typeof e.hostedZoneId=="string"}Qa(AS,"isManagedDomainBinding");var qw=Object.defineProperty,Kw=(e,t)=>qw(e,"name",{value:t,configurable:!0});function IS(e){return`${$e(e)}ImageTag`}Kw(IS,"imageTagParameterName");var Yw=Object.defineProperty,Xw=(e,t)=>Yw(e,"name",{value:t,configurable:!0});function $S(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}Xw($S,"findAccountNameCollision");var Jw=Object.defineProperty,Ji=(e,t)=>Jw(e,"name",{value:t,configurable:!0}),Tn="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)),ts=new Set(it.filter(e=>e.optIn).map(e=>e.code));function rs(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(rs,"optInRegionWarning");function Rn(e){return it.find(t=>t.code===e)}Ji(Rn,"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 Qw=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"}),ek=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"}),tk=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 ts.has(e)?tk[e]??Tn:e}Ji(Ql,"toDeployableRegion");function ns(e){if(!e)return;let t=Qw[e];if(t!==void 0)return Ql(t);let n=e.split("/")[0];if(n===void 0)return;let i=ek[n];return i===void 0?void 0:Ql(i)}Ji(ns,"suggestRegionForTimezone");var rk=Object.defineProperty,Qi=(e,t)=>rk(e,"name",{value:t,configurable:!0});function is(e){return Tt(e).replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}Qi(is,"slugifyAccountName");function TS(e,t){let n=is(e),i=is(t);return n===""?i:i===""?n:`${n}-${i}`}Qi(TS,"defaultConnectedAccountName");function RS(e,t){let n=is(t);return n===""?e:`${e}-${n}`}Qi(RS,"suffixedAccountName");var PS=new Set(it.map(e=>Pn(e.code)));function CS(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(CS,"findTrailingRegionShortCode");function NS(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(NS,"regionSuffixRejectionMessage");var nk=Object.defineProperty,Cn=(e,t)=>nk(e,"name",{value:t,configurable:!0});function ht(e){return e instanceof Error?e:new Error(String(e))}Cn(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"}Cn(Rt,"getErrorMessage");function os(e,t){return!e||typeof e!="object"?!1:"code"in e&&e.code===t}Cn(os,"hasErrorCode");function eo(e){if(!(!e||typeof e!="object")&&"code"in e&&typeof e.code=="string")return e.code}Cn(eo,"getErrorCode");function as(e){return e instanceof Error?e.stack:void 0}Cn(as,"getErrorStack");function ss(e){let t=Rt(e),n=eo(e);return n&&n!=="UNKNOWN_ERROR"?`[${n}] ${t}`:t}Cn(ss,"formatErrorString");var ik=Object.defineProperty,ok=(e,t)=>ik(e,"name",{value:t,configurable:!0});function wS(e){let t,n=!1;return()=>(n||(t=e(),n=!0),t)}ok(wS,"singleton");var ak=Object.defineProperty,ed=(e,t)=>ak(e,"name",{value:t,configurable:!0}),kS=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 OS(e){return Object.fromEntries(Object.entries(e).filter(([t])=>!kS.has(t.toUpperCase())))}ed(OS,"filterDangerousEnvVars");var sk=/(fjall_(?:ak|dk)_)[A-Z2-7]{16}\.[A-Z2-7]{40}/g;function Nn(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(sk,"$1***")}ed(Nn,"maskSensitiveOutput");function DS(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(DS,"parseShellArgs");var ck=Object.defineProperty,uk=(e,t)=>ck(e,"name",{value:t,configurable:!0}),lk=uk(e=>new Promise(t=>setTimeout(t,e)),"sleep");var dk=Object.defineProperty,MS=(e,t)=>dk(e,"name",{value:t,configurable:!0});async function jS(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=MS(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}MS(jS,"mapSettledWithConcurrency");var s={};$t(s,{$brand:()=>rd,$input:()=>xp,$output:()=>Ep,NEVER:()=>td,TimePrecision:()=>Tp,ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Oc,ZodBase64URL:()=>Dc,ZodBigInt:()=>ci,ZodBigIntFormat:()=>zc,ZodBoolean:()=>si,ZodCIDRv4:()=>wc,ZodCIDRv6:()=>kc,ZodCUID:()=>Ic,ZodCUID2:()=>$c,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>oi,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>Mc,ZodEmail:()=>Ec,ZodEmoji:()=>xc,ZodEnum:()=>ni,ZodError:()=>BD,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFirstPartyTypeKind:()=>rh,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Cc,ZodIPv6:()=>Nc,ZodISODate:()=>hc,ZodISODateTime:()=>gc,ZodISODuration:()=>bc,ZodISOTime:()=>vc,ZodIntersection:()=>Ag,ZodIssueCode:()=>ZD,ZodJWT:()=>jc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Pg,ZodNaN:()=>Gg,ZodNanoID:()=>Ac,ZodNever:()=>yg,ZodNonOptional:()=>Zc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>ai,ZodNumberFormat:()=>Xr,ZodObject:()=>Co,ZodOptional:()=>Vc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRealError:()=>Ze,ZodRecord:()=>ri,ZodSet:()=>Cg,ZodString:()=>ii,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Tc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Rc,ZodXor:()=>Eg,_ZodString:()=>_c,_default:()=>zg,_function:()=>Ix,any:()=>rx,array:()=>Po,base64:()=>LE,base64url:()=>UE,bigint:()=>XE,boolean:()=>mg,catch:()=>Zg,check:()=>$x,cidrv4:()=>jE,cidrv6:()=>zE,clone:()=>ke,codec:()=>_x,coerce:()=>nh,config:()=>se,core:()=>Xt,cuid:()=>PE,cuid2:()=>CE,custom:()=>Tx,date:()=>ix,decode:()=>ng,decodeAsync:()=>og,describe:()=>Rx,discriminatedUnion:()=>lx,e164:()=>FE,email:()=>yE,emoji:()=>TE,encode:()=>rg,encodeAsync:()=>ig,endsWith:()=>Wn,enum:()=>Fc,exactOptional:()=>Dg,file:()=>vx,flattenError:()=>co,float32:()=>HE,float64:()=>qE,formatError:()=>uo,fromJSONSchema:()=>Dx,function:()=>Ix,getErrorMap:()=>WD,globalRegistry:()=>_e,gt:()=>Ct,gte:()=>De,guid:()=>SE,hash:()=>WE,hex:()=>GE,hostname:()=>ZE,httpUrl:()=>$E,includes:()=>Zn,instanceof:()=>Cx,int:()=>yc,int32:()=>KE,int64:()=>JE,intersection:()=>Ig,invertCodec:()=>Ex,ipv4:()=>OE,ipv6:()=>ME,iso:()=>ti,json:()=>wx,jwt:()=>BE,keyof:()=>ox,ksuid:()=>kE,lazy:()=>Xg,length:()=>Kr,literal:()=>hx,locales:()=>bo,looseObject:()=>cx,looseRecord:()=>mx,lowercase:()=>Bn,lt:()=>Pt,lte:()=>Qe,mac:()=>DE,map:()=>px,maxLength:()=>qr,maxSize:()=>_r,meta:()=>Px,mime:()=>Hn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,nan:()=>Sx,nanoid:()=>RE,nativeEnum:()=>gx,negative:()=>oc,never:()=>Lc,nonnegative:()=>sc,nonoptional:()=>Fg,nonpositive:()=>ac,normalize:()=>qn,null:()=>hg,nullable:()=>Io,nullish:()=>bx,number:()=>dg,object:()=>ax,optional:()=>Ao,overwrite:()=>bt,parse:()=>Jf,parseAsync:()=>Qf,partialRecord:()=>dx,pipe:()=>Sc,positive:()=>ic,prefault:()=>Ug,preprocess:()=>kx,prettifyError:()=>gd,promise:()=>Ax,property:()=>cc,readonly:()=>qg,record:()=>Rg,refine:()=>eh,regex:()=>Fn,regexes:()=>Je,registry:()=>js,safeDecode:()=>sg,safeDecodeAsync:()=>ug,safeEncode:()=>ag,safeEncodeAsync:()=>cg,safeParse:()=>eg,safeParseAsync:()=>tg,set:()=>fx,setErrorMap:()=>GD,size:()=>Hr,slugify:()=>Jn,startsWith:()=>Gn,strictObject:()=>sx,string:()=>Eo,stringFormat:()=>VE,stringbool:()=>Nx,success:()=>yx,superRefine:()=>th,symbol:()=>ex,templateLiteral:()=>xx,toJSONSchema:()=>mc,toLowerCase:()=>Yn,toUpperCase:()=>Xn,transform:()=>Bc,treeifyError:()=>fd,trim:()=>Kn,tuple:()=>Tg,uint32:()=>YE,uint64:()=>QE,ulid:()=>NE,undefined:()=>tx,union:()=>Uc,unknown:()=>Yr,uppercase:()=>Vn,url:()=>IE,util:()=>_,uuid:()=>_E,uuidv4:()=>EE,uuidv6:()=>xE,uuidv7:()=>AE,void:()=>nx,xid:()=>wE,xor:()=>ux});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:()=>xs,$ZodCheckIncludes:()=>om,$ZodCheckLengthEquals:()=>tm,$ZodCheckLessThan:()=>Es,$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:()=>Ln,$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:()=>Pm,$ZodISODate:()=>Im,$ZodISODateTime:()=>Am,$ZodISODuration:()=>Tm,$ZodISOTime:()=>$m,$ZodIntersection:()=>Qm,$ZodJWT:()=>jm,$ZodKSUID:()=>xm,$ZodLazy:()=>Sp,$ZodLiteral:()=>ip,$ZodMAC:()=>Cm,$ZodMap:()=>tp,$ZodNaN:()=>fp,$ZodNanoID:()=>bm,$ZodNever:()=>Wm,$ZodNonOptional:()=>dp,$ZodNull:()=>Vm,$ZodNullable:()=>cp,$ZodNumber:()=>Rs,$ZodNumberFormat:()=>Lm,$ZodObject:()=>f_,$ZodObjectJIT:()=>Ym,$ZodOptional:()=>Ns,$ZodPipe:()=>ws,$ZodPrefault:()=>lp,$ZodPreprocess:()=>gp,$ZodPromise:()=>yp,$ZodReadonly:()=>hp,$ZodRealError:()=>Ve,$ZodRecord:()=>ep,$ZodRegistry:()=>Ms,$ZodSet:()=>rp,$ZodString:()=>Wr,$ZodStringFormat:()=>q,$ZodSuccess:()=>mp,$ZodSymbol:()=>Fm,$ZodTemplateLiteral:()=>vp,$ZodTransform:()=>ap,$ZodTuple:()=>Cs,$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:()=>hE,JSONSchemaGenerator:()=>pc,NEVER:()=>td,TimePrecision:()=>Tp,_any:()=>qp,_array:()=>tf,_base64:()=>ec,_base64url:()=>tc,_bigint:()=>Fp,_boolean:()=>Lp,_catch:()=>OD,_check:()=>gE,_cidrv4:()=>Js,_cidrv6:()=>Qs,_coercedBigint:()=>Bp,_coercedBoolean:()=>Up,_coercedDate:()=>Qp,_coercedNumber:()=>kp,_coercedString:()=>Ip,_cuid:()=>Gs,_cuid2:()=>Ws,_custom:()=>nf,_date:()=>Jp,_decode:()=>ps,_decodeAsync:()=>gs,_default:()=>ND,_discriminatedUnion:()=>yD,_e164:()=>rc,_email:()=>zs,_emoji:()=>Vs,_encode:()=>ms,_encodeAsync:()=>fs,_endsWith:()=>Wn,_enum:()=>ID,_file:()=>rf,_float32:()=>Dp,_float64:()=>Mp,_gt:()=>Ct,_gte:()=>De,_guid:()=>yo,_includes:()=>Zn,_int:()=>Op,_int32:()=>jp,_int64:()=>Vp,_intersection:()=>SD,_ipv4:()=>Ys,_ipv6:()=>Xs,_isoDate:()=>Pp,_isoDateTime:()=>Rp,_isoDuration:()=>Np,_isoTime:()=>Cp,_jwt:()=>nc,_ksuid:()=>Ks,_lazy:()=>zD,_length:()=>Kr,_literal:()=>TD,_lowercase:()=>Bn,_lt:()=>Pt,_lte:()=>Qe,_mac:()=>$p,_map:()=>xD,_max:()=>Qe,_maxLength:()=>qr,_maxSize:()=>_r,_mime:()=>Hn,_min:()=>De,_minLength:()=>Yt,_minSize:()=>Nt,_multipleOf:()=>Sr,_nan:()=>ef,_nanoid:()=>Zs,_nativeEnum:()=>$D,_negative:()=>oc,_never:()=>Yp,_nonnegative:()=>sc,_nonoptional:()=>wD,_nonpositive:()=>ac,_normalize:()=>qn,_null:()=>Hp,_nullable:()=>CD,_number:()=>wp,_optional:()=>PD,_overwrite:()=>bt,_parse:()=>Dn,_parseAsync:()=>Mn,_pipe:()=>DD,_positive:()=>ic,_promise:()=>LD,_property:()=>cc,_readonly:()=>MD,_record:()=>ED,_refine:()=>of,_regex:()=>Fn,_safeDecode:()=>vs,_safeDecodeAsync:()=>ys,_safeEncode:()=>hs,_safeEncodeAsync:()=>bs,_safeParse:()=>jn,_safeParseAsync:()=>zn,_set:()=>AD,_size:()=>Hr,_slugify:()=>Jn,_startsWith:()=>Gn,_string:()=>Ap,_stringFormat:()=>Qn,_stringbool:()=>uf,_success:()=>kD,_superRefine:()=>af,_symbol:()=>Gp,_templateLiteral:()=>jD,_toLowerCase:()=>Yn,_toUpperCase:()=>Xn,_transform:()=>RD,_trim:()=>Kn,_tuple:()=>_D,_uint32:()=>zp,_uint64:()=>Zp,_ulid:()=>Hs,_undefined:()=>Wp,_union:()=>vD,_unknown:()=>Kp,_uppercase:()=>Vn,_url:()=>So,_uuid:()=>Ls,_uuidv4:()=>Us,_uuidv6:()=>Fs,_uuidv7:()=>Bs,_void:()=>Xp,_xid:()=>qs,_xor:()=>bD,clone:()=>ke,config:()=>se,createStandardJSONSchemaMethod:()=>ei,createToJSONSchemaMethod:()=>lf,decode:()=>Lk,decodeAsync:()=>Fk,describe:()=>sf,encode:()=>zk,encodeAsync:()=>Uk,extractDefs:()=>xr,finalize:()=>Ar,flattenError:()=>co,formatError:()=>uo,globalConfig:()=>Vr,globalRegistry:()=>_e,initializeContext:()=>Er,isValidBase64:()=>km,isValidBase64URL:()=>l_,isValidJWT:()=>d_,locales:()=>bo,meta:()=>cf,parse:()=>ls,parseAsync:()=>ds,prettifyError:()=>gd,process:()=>Z,regexes:()=>Je,registry:()=>js,safeDecode:()=>Vk,safeDecodeAsync:()=>Gk,safeEncode:()=>Bk,safeEncodeAsync:()=>Zk,safeParse:()=>hd,safeParseAsync:()=>vd,toDotPath:()=>VS,toJSONSchema:()=>mc,treeifyError:()=>fd,util:()=>_,version:()=>dm});var zS,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"}};(zS=globalThis).__zod_globalConfig??(zS.__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:()=>hk,assertEqual:()=>mk,assertIs:()=>fk,assertNever:()=>gk,assertNotEqual:()=>pk,assignProp:()=>vr,base64ToUint8Array:()=>US,base64urlToUint8Array:()=>kk,cached:()=>kn,captureStackTrace:()=>us,cleanEnum:()=>wk,cleanRegex:()=>no,clone:()=>ke,cloneDef:()=>bk,createTransparentProxy:()=>Ak,defineLazy:()=>M,esc:()=>cs,escapeRegex:()=>ot,explicitlyAborted:()=>pd,extend:()=>Tk,finalizeIssue:()=>Oe,floatSafeRemainder:()=>od,getElementAtPath:()=>yk,getEnumValues:()=>ro,getLengthableOrigin:()=>ao,getParsedType:()=>xk,getSizableOrigin:()=>oo,hexToUint8Array:()=>Dk,isObject:()=>Zr,isPlainObject:()=>br,issue:()=>On,joinValues:()=>h,jsonStringifyReplacer:()=>wn,merge:()=>Pk,mergeDefs:()=>Kt,normalizeParams:()=>E,nullish:()=>hr,numKeys:()=>Ek,objectClone:()=>vk,omit:()=>$k,optionalKeys:()=>ld,parsedType:()=>S,partial:()=>Ck,pick:()=>Ik,prefixIssues:()=>Be,primitiveTypes:()=>ud,promiseAllObject:()=>Sk,propertyKeyTypes:()=>io,randomString:()=>_k,required:()=>Nk,safeExtend:()=>Rk,shallowClone:()=>cd,slugify:()=>ad,stringifyPrimitive:()=>y,uint8ArrayToBase64:()=>FS,uint8ArrayToBase64url:()=>Ok,uint8ArrayToHex:()=>Mk,unwrapMessage:()=>to});function mk(e){return e}function pk(e){return e}function fk(e){}function gk(e){throw new Error("Unexpected value in exhaustive check")}function hk(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 wn(e,t){return typeof t=="bigint"?t.toString():t}function kn(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 LS=Symbol("evaluating");function M(e,t,n){let i;Object.defineProperty(e,t,{get(){if(i!==LS)return i===void 0&&(i=LS,i=n()),i},set(r){Object.defineProperty(e,t,{value:r})},configurable:!0})}function vk(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 bk(e){return Kt(e._zod.def)}function yk(e,t){return t?t.reduce((n,i)=>n?.[i],e):e}function Sk(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 _k(e=10){let t="abcdefghijklmnopqrstuvwxyz",n="";for(let i=0;i<e;i++)n+=t[Math.floor(Math.random()*t.length)];return n}function cs(e){return JSON.stringify(e)}function ad(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var us="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function Zr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sd=kn(()=>{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 Ek(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}var xk=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 Ak(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 Ik(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 $k(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 Tk(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 Rk(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 Pk(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 Ck(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 Nk(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 On(...e){let[t,n,i]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:i}:{...t}}function wk(e){return Object.entries(e).filter(([t,n])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function US(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 FS(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function kk(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n="=".repeat((4-t.length%4)%4);return US(t+n)}function Ok(e){return FS(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Dk(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 Mk(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}var id=class{constructor(...t){}};var BS=(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,wn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},so=f("$ZodError",BS),Ve=f("$ZodError",BS,{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 VS(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 ${VS(i.path)}`);return t.join(`
101
101
  `)}var Dn=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 us(c,r?.callee),c}return a.value},ls=Dn(Ve),Mn=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 us(c,r?.callee),c}return a.value},ds=Mn(Ve),jn=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=jn(Ve),zn=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=zn(Ve),ms=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Dn(e)(t,n,r)},zk=ms(Ve),ps=e=>(t,n,i)=>Dn(e)(t,n,i),Lk=ps(Ve),fs=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return Mn(e)(t,n,r)},Uk=fs(Ve),gs=e=>async(t,n,i)=>Mn(e)(t,n,i),Fk=gs(Ve),hs=e=>(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return jn(e)(t,n,r)},Bk=hs(Ve),vs=e=>(t,n,i)=>jn(e)(t,n,i),Vk=vs(Ve),bs=e=>async(t,n,i)=>{let r=i?{...i,direction:"backward"}:{direction:"backward"};return zn(e)(t,n,r)},Zk=bs(Ve),ys=e=>async(t,n,i)=>zn(e)(t,n,i),Gk=ys(Ve);var Je={};$t(Je,{base64:()=>kd,base64url:()=>Ss,bigint:()=>Ud,boolean:()=>Bd,browserEmail:()=>Qk,cidrv4:()=>Nd,cidrv6:()=>wd,cuid:()=>bd,cuid2:()=>yd,date:()=>Md,datetime:()=>zd,domain:()=>rO,duration:()=>Ad,e164:()=>Dd,email:()=>$d,emoji:()=>Td,extendedDuration:()=>Wk,guid:()=>Id,hex:()=>nO,hostname:()=>tO,html5Email:()=>Yk,httpProtocol:()=>Od,idnEmail:()=>Jk,integer:()=>Fd,ipv4:()=>Rd,ipv6:()=>Pd,ksuid:()=>Ed,lowercase:()=>Gd,mac:()=>Cd,md5_base64:()=>oO,md5_base64url:()=>aO,md5_hex:()=>iO,nanoid:()=>xd,null:()=>Vd,number:()=>_s,rfc5322Email:()=>Xk,sha1_base64:()=>cO,sha1_base64url:()=>uO,sha1_hex:()=>sO,sha256_base64:()=>dO,sha256_base64url:()=>mO,sha256_hex:()=>lO,sha384_base64:()=>fO,sha384_base64url:()=>gO,sha384_hex:()=>pO,sha512_base64:()=>vO,sha512_base64url:()=>bO,sha512_hex:()=>hO,string:()=>Ld,time:()=>jd,ulid:()=>Sd,undefined:()=>Zd,unicodeEmail:()=>ZS,uppercase:()=>Wd,uuid:()=>Gr,uuid4:()=>Hk,uuid6:()=>qk,uuid7:()=>Kk,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)?)?)$/,Wk=/^[-+]?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)$/,Hk=Gr(4),qk=Gr(6),Kk=Gr(7),$d=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Yk=/^[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])?)*$/,Xk=/^(([^<>()\[\]\\.,;:\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,}))$/,ZS=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,Jk=ZS,Qk=/^[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])?)*$/,eO="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Td(){return new RegExp(eO,"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])$/,Pd=/^(([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}|:))$/,Cd=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}=))?$/,Ss=/^[A-Za-z0-9_-]*$/,tO=/^(?=.{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])?)*\.?$/,rO=/^([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}$/,GS="(?:(?:\\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(`^${GS}$`);function WS(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(`^${WS(e)}$`)}function zd(e){let t=WS({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(`^${GS}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+$/,_s=/^-?\d+(?:\.\d+)?$/,Bd=/^(?:true|false)$/i,Vd=/^null$/i;var Zd=/^undefined$/i;var Gd=/^[^A-Z]*$/,Wd=/^[^a-z]*$/,nO=/^[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 iO=/^[0-9a-fA-F]{32}$/,oO=lo(22,"=="),aO=mo(22),sO=/^[0-9a-fA-F]{40}$/,cO=lo(27,"="),uO=mo(27),lO=/^[0-9a-fA-F]{64}$/,dO=lo(43,"="),mO=mo(43),pO=/^[0-9a-fA-F]{96}$/,fO=lo(64,""),gO=mo(64),hO=/^[0-9a-fA-F]{128}$/,vO=lo(86,"=="),bO=mo(86);var X=f("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),qS={number:"number",bigint:"bigint",object:"date"},Es=f("$ZodCheckLessThan",(e,t)=>{X.init(e,t);let n=qS[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})}}),xs=f("$ZodCheckGreaterThan",(e,t)=>{X.init(e,t);let n=qS[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})}}),Ln=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)=>{Ln.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),Ln.init(e,t)}),im=f("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wd),Ln.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 HS(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=>HS(r,n,t.property));HS(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)=>{Ln.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"}),Pm=f("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Pd),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})}}}),Cm=f("$ZodMAC",(e,t)=>{t.pattern??(t.pattern=Cd(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 l_(e){if(!Ss.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=Ss),q.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{l_(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 d_(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=>{d_(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})}}),Rs=f("$ZodNumber",(e,t)=>{N.init(e,t),e._zod.pattern=e._zod.bag.pattern??_s,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),Rs.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 YS(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=>YS(l,n,a))):YS(u,n,a)}return o.length?Promise.all(o).then(()=>n):n}});function Ts(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 m_(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 p_(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=>Ts(A,n,g,t,m,p))):Ts(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 f_=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=kn(()=>m_(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=>Ts(Se,c,g,l,A,Y))):Ts(z,c,g,l,A,Y)}return o?p_(m,l,c,u,i.value,e):m.length?Promise.all(m).then(()=>c):c}}),Ym=f("$ZodObjectJIT",(e,t)=>{f_.init(e,t);let n=e._zod.parse,i=kn(()=>m_(t)),r=g=>{let v=new po(["shape","payload","ctx"]),A=i.value,Y=we=>{let te=cs(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=cs(we),In=g[we],vS=In?._zod?.optin==="optional",Lw=In?._zod?.optout==="optional";v.write(`const ${te} = ${Y(we)};`),vS&&Lw?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:ei(t,"input",e.processors),output:ei(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)},ei=(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 UD={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=UD[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"},Pf=(e,t,n,i)=>{if(t.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema")},Cf=(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)},lc=(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},dc=(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},uc={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:Pf,function:Cf,transform:Nf,map:wf,set:kf,array:Of,object:Df,union:lc,intersection:Mf,tuple:jf,record:zf,nullable:Lf,nonoptional:Uf,default:Ff,prefault:Bf,catch:Vf,pipe:Zf,readonly:Gf,promise:Wf,optional:dc,lazy:Hf};function mc(e,t){if("_idmap"in e){let i=e,r=Er({...t,processors:uc}),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:uc});return Z(e,n),xr(n,e),Ar(n,e)}var pc=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:uc,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 hE={};var _o={};$t(_o,{ZodAny:()=>vg,ZodArray:()=>_g,ZodBase64:()=>Oc,ZodBase64URL:()=>Dc,ZodBigInt:()=>ci,ZodBigIntFormat:()=>zc,ZodBoolean:()=>si,ZodCIDRv4:()=>wc,ZodCIDRv6:()=>kc,ZodCUID:()=>Ic,ZodCUID2:()=>$c,ZodCatch:()=>Vg,ZodCodec:()=>ko,ZodCustom:()=>Oo,ZodCustomStringFormat:()=>oi,ZodDate:()=>Ro,ZodDefault:()=>jg,ZodDiscriminatedUnion:()=>xg,ZodE164:()=>Mc,ZodEmail:()=>Ec,ZodEmoji:()=>xc,ZodEnum:()=>ni,ZodExactOptional:()=>Og,ZodFile:()=>wg,ZodFunction:()=>Qg,ZodGUID:()=>xo,ZodIPv4:()=>Cc,ZodIPv6:()=>Nc,ZodIntersection:()=>Ag,ZodJWT:()=>jc,ZodKSUID:()=>Pc,ZodLazy:()=>Yg,ZodLiteral:()=>Ng,ZodMAC:()=>lg,ZodMap:()=>Pg,ZodNaN:()=>Gg,ZodNanoID:()=>Ac,ZodNever:()=>yg,ZodNonOptional:()=>Zc,ZodNull:()=>gg,ZodNullable:()=>Mg,ZodNumber:()=>ai,ZodNumberFormat:()=>Xr,ZodObject:()=>Co,ZodOptional:()=>Vc,ZodPipe:()=>wo,ZodPrefault:()=>Lg,ZodPreprocess:()=>Wg,ZodPromise:()=>Jg,ZodReadonly:()=>Hg,ZodRecord:()=>ri,ZodSet:()=>Cg,ZodString:()=>ii,ZodStringFormat:()=>K,ZodSuccess:()=>Bg,ZodSymbol:()=>pg,ZodTemplateLiteral:()=>Kg,ZodTransform:()=>kg,ZodTuple:()=>$g,ZodType:()=>w,ZodULID:()=>Tc,ZodURL:()=>To,ZodUUID:()=>wt,ZodUndefined:()=>fg,ZodUnion:()=>No,ZodUnknown:()=>bg,ZodVoid:()=>Sg,ZodXID:()=>Rc,ZodXor:()=>Eg,_ZodString:()=>_c,_default:()=>zg,_function:()=>Ix,any:()=>rx,array:()=>Po,base64:()=>LE,base64url:()=>UE,bigint:()=>XE,boolean:()=>mg,catch:()=>Zg,check:()=>$x,cidrv4:()=>jE,cidrv6:()=>zE,codec:()=>_x,cuid:()=>PE,cuid2:()=>CE,custom:()=>Tx,date:()=>ix,describe:()=>Rx,discriminatedUnion:()=>lx,e164:()=>FE,email:()=>yE,emoji:()=>TE,enum:()=>Fc,exactOptional:()=>Dg,file:()=>vx,float32:()=>HE,float64:()=>qE,function:()=>Ix,guid:()=>SE,hash:()=>WE,hex:()=>GE,hostname:()=>ZE,httpUrl:()=>$E,instanceof:()=>Cx,int:()=>yc,int32:()=>KE,int64:()=>JE,intersection:()=>Ig,invertCodec:()=>Ex,ipv4:()=>OE,ipv6:()=>ME,json:()=>wx,jwt:()=>BE,keyof:()=>ox,ksuid:()=>kE,lazy:()=>Xg,literal:()=>hx,looseObject:()=>cx,looseRecord:()=>mx,mac:()=>DE,map:()=>px,meta:()=>Px,nan:()=>Sx,nanoid:()=>RE,nativeEnum:()=>gx,never:()=>Lc,nonoptional:()=>Fg,null:()=>hg,nullable:()=>Io,nullish:()=>bx,number:()=>dg,object:()=>ax,optional:()=>Ao,partialRecord:()=>dx,pipe:()=>Sc,prefault:()=>Ug,preprocess:()=>kx,promise:()=>Ax,readonly:()=>qg,record:()=>Rg,refine:()=>eh,set:()=>fx,strictObject:()=>sx,string:()=>Eo,stringFormat:()=>VE,stringbool:()=>Nx,success:()=>yx,superRefine:()=>th,symbol:()=>ex,templateLiteral:()=>xx,transform:()=>Bc,tuple:()=>Tg,uint32:()=>YE,uint64:()=>QE,ulid:()=>NE,undefined:()=>tx,union:()=>Uc,unknown:()=>Yr,url:()=>IE,uuid:()=>_E,uuidv4:()=>EE,uuidv6:()=>xE,uuidv7:()=>AE,void:()=>nx,xid:()=>wE,xor:()=>ux});var fc={};$t(fc,{endsWith:()=>Wn,gt:()=>Ct,gte:()=>De,includes:()=>Zn,length:()=>Kr,lowercase:()=>Bn,lt:()=>Pt,lte:()=>Qe,maxLength:()=>qr,maxSize:()=>_r,mime:()=>Hn,minLength:()=>Yt,minSize:()=>Nt,multipleOf:()=>Sr,negative:()=>oc,nonnegative:()=>sc,nonpositive:()=>ac,normalize:()=>qn,overwrite:()=>bt,positive:()=>ic,property:()=>cc,regex:()=>Fn,size:()=>Hr,slugify:()=>Jn,startsWith:()=>Gn,toLowerCase:()=>Yn,toUpperCase:()=>Xn,trim:()=>Kn,uppercase:()=>Vn});var ti={};$t(ti,{ZodISODate:()=>hc,ZodISODateTime:()=>gc,ZodISODuration:()=>bc,ZodISOTime:()=>vc,date:()=>Kf,datetime:()=>qf,duration:()=>Xf,time:()=>Yf});var gc=f("ZodISODateTime",(e,t)=>{Am.init(e,t),K.init(e,t)});function qf(e){return Rp(gc,e)}var hc=f("ZodISODate",(e,t)=>{Im.init(e,t),K.init(e,t)});function Kf(e){return Pp(hc,e)}var vc=f("ZodISOTime",(e,t)=>{$m.init(e,t),K.init(e,t)});function Yf(e){return Cp(vc,e)}var bc=f("ZodISODuration",(e,t)=>{Tm.init(e,t),K.init(e,t)});function Xf(e){return Np(bc,e)}var vE=(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,wn,2)}},addIssues:{value:n=>{e.issues.push(...n),e.message=JSON.stringify(e.issues,wn,2)}},isEmpty:{get(){return e.issues.length===0}}})},BD=f("ZodError",vE),Ze=f("ZodError",vE,{Parent:Error});var Jf=Dn(Ze),Qf=Mn(Ze),eg=jn(Ze),tg=zn(Ze),rg=ms(Ze),ng=ps(Ze),ig=fs(Ze),og=gs(Ze),ag=hs(Ze),sg=vs(Ze),cg=bs(Ze),ug=ys(Ze);var bE=new WeakMap;function $o(e,t,n){let i=Object.getPrototypeOf(e),r=bE.get(i);if(r||(r=new Set,bE.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:ei(e,"input"),output:ei(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 Po(this)},or(n){return Uc([this,n])},and(n){return Ig(this,n)},transform(n){return Sc(this,Bc(n))},default(n){return zg(this,n)},prefault(n){return Ug(this,n)},catch(n){return Zg(this,n)},pipe(n){return Sc(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)),_c=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(Fn(...i))},includes(...i){return this.check(Zn(...i))},startsWith(...i){return this.check(Gn(...i))},endsWith(...i){return this.check(Wn(...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(Bn(i))},uppercase(i){return this.check(Vn(i))},trim(){return this.check(Kn())},normalize(...i){return this.check(qn(...i))},toLowerCase(){return this.check(Yn())},toUpperCase(){return this.check(Xn())},slugify(){return this.check(Jn())}})}),ii=f("ZodString",(e,t)=>{Wr.init(e,t),_c.init(e,t),e.email=n=>e.check(zs(Ec,n)),e.url=n=>e.check(So(To,n)),e.jwt=n=>e.check(nc(jc,n)),e.emoji=n=>e.check(Vs(xc,n)),e.guid=n=>e.check(yo(xo,n)),e.uuid=n=>e.check(Ls(wt,n)),e.uuidv4=n=>e.check(Us(wt,n)),e.uuidv6=n=>e.check(Fs(wt,n)),e.uuidv7=n=>e.check(Bs(wt,n)),e.nanoid=n=>e.check(Zs(Ac,n)),e.guid=n=>e.check(yo(xo,n)),e.cuid=n=>e.check(Gs(Ic,n)),e.cuid2=n=>e.check(Ws($c,n)),e.ulid=n=>e.check(Hs(Tc,n)),e.base64=n=>e.check(ec(Oc,n)),e.base64url=n=>e.check(tc(Dc,n)),e.xid=n=>e.check(qs(Rc,n)),e.ksuid=n=>e.check(Ks(Pc,n)),e.ipv4=n=>e.check(Ys(Cc,n)),e.ipv6=n=>e.check(Xs(Nc,n)),e.cidrv4=n=>e.check(Js(wc,n)),e.cidrv6=n=>e.check(Qs(kc,n)),e.e164=n=>e.check(rc(Mc,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(ii,e)}var K=f("ZodStringFormat",(e,t)=>{q.init(e,t),_c.init(e,t)}),Ec=f("ZodEmail",(e,t)=>{gm.init(e,t),K.init(e,t)});function yE(e){return zs(Ec,e)}var xo=f("ZodGUID",(e,t)=>{pm.init(e,t),K.init(e,t)});function SE(e){return yo(xo,e)}var wt=f("ZodUUID",(e,t)=>{fm.init(e,t),K.init(e,t)});function _E(e){return Ls(wt,e)}function EE(e){return Us(wt,e)}function xE(e){return Fs(wt,e)}function AE(e){return Bs(wt,e)}var To=f("ZodURL",(e,t)=>{hm.init(e,t),K.init(e,t)});function IE(e){return So(To,e)}function $E(e){return So(To,{protocol:Je.httpProtocol,hostname:Je.domain,..._.normalizeParams(e)})}var xc=f("ZodEmoji",(e,t)=>{vm.init(e,t),K.init(e,t)});function TE(e){return Vs(xc,e)}var Ac=f("ZodNanoID",(e,t)=>{bm.init(e,t),K.init(e,t)});function RE(e){return Zs(Ac,e)}var Ic=f("ZodCUID",(e,t)=>{ym.init(e,t),K.init(e,t)});function PE(e){return Gs(Ic,e)}var $c=f("ZodCUID2",(e,t)=>{Sm.init(e,t),K.init(e,t)});function CE(e){return Ws($c,e)}var Tc=f("ZodULID",(e,t)=>{_m.init(e,t),K.init(e,t)});function NE(e){return Hs(Tc,e)}var Rc=f("ZodXID",(e,t)=>{Em.init(e,t),K.init(e,t)});function wE(e){return qs(Rc,e)}var Pc=f("ZodKSUID",(e,t)=>{xm.init(e,t),K.init(e,t)});function kE(e){return Ks(Pc,e)}var Cc=f("ZodIPv4",(e,t)=>{Rm.init(e,t),K.init(e,t)});function OE(e){return Ys(Cc,e)}var lg=f("ZodMAC",(e,t)=>{Cm.init(e,t),K.init(e,t)});function DE(e){return $p(lg,e)}var Nc=f("ZodIPv6",(e,t)=>{Pm.init(e,t),K.init(e,t)});function ME(e){return Xs(Nc,e)}var wc=f("ZodCIDRv4",(e,t)=>{Nm.init(e,t),K.init(e,t)});function jE(e){return Js(wc,e)}var kc=f("ZodCIDRv6",(e,t)=>{wm.init(e,t),K.init(e,t)});function zE(e){return Qs(kc,e)}var Oc=f("ZodBase64",(e,t)=>{Om.init(e,t),K.init(e,t)});function LE(e){return ec(Oc,e)}var Dc=f("ZodBase64URL",(e,t)=>{Dm.init(e,t),K.init(e,t)});function UE(e){return tc(Dc,e)}var Mc=f("ZodE164",(e,t)=>{Mm.init(e,t),K.init(e,t)});function FE(e){return rc(Mc,e)}var jc=f("ZodJWT",(e,t)=>{jm.init(e,t),K.init(e,t)});function BE(e){return nc(jc,e)}var oi=f("ZodCustomStringFormat",(e,t)=>{zm.init(e,t),K.init(e,t)});function VE(e,t,n={}){return Qn(oi,e,t,n)}function ZE(e){return Qn(oi,"hostname",Je.hostname,e)}function GE(e){return Qn(oi,"hex",Je.hex,e)}function WE(e,t){let n=t?.enc??"hex",i=`${e}_${n}`,r=Je[i];if(!r)throw new Error(`Unrecognized hash format: ${i}`);return Qn(oi,i,r,t)}var ai=f("ZodNumber",(e,t)=>{Rs.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(Ct(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(Pt(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(yc(i))},safe(i){return this.check(yc(i))},positive(i){return this.check(Ct(0,i))},nonnegative(i){return this.check(De(0,i))},negative(i){return this.check(Pt(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(ai,e)}var Xr=f("ZodNumberFormat",(e,t)=>{Lm.init(e,t),ai.init(e,t)});function yc(e){return Op(Xr,e)}function HE(e){return Dp(Xr,e)}function qE(e){return Mp(Xr,e)}function KE(e){return jp(Xr,e)}function YE(e){return zp(Xr,e)}var si=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(si,e)}var ci=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(Ct(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(Pt(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(Ct(BigInt(0),i)),e.negative=i=>e.check(Pt(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 XE(e){return Fp(ci,e)}var zc=f("ZodBigIntFormat",(e,t)=>{Um.init(e,t),ci.init(e,t)});function JE(e){return Vp(zc,e)}function QE(e){return Zp(zc,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 ex(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 tx(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 rx(){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 Lc(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 nx(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 ix(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 Po(e,t){return tf(_g,e,t)}function ox(e){let t=e._zod.def.shape;return Fc(Object.keys(t))}var Co=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 Fc(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:Lc()})},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(Vc,this,n[0])},required(...n){return _.required(Zc,this,n[0])}})});function ax(e,t){let n={type:"object",shape:e??{},..._.normalizeParams(t)};return new Co(n)}function sx(e,t){return new Co({type:"object",shape:e,catchall:Lc(),..._.normalizeParams(t)})}function cx(e,t){return new Co({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)=>lc(e,n,i,r),e.options=t.options});function Uc(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)=>lc(e,n,i,r),e.options=t.options});function ux(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 lx(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)=>{Cs.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 ri=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 ri({type:"record",keyType:Eo(),valueType:e,..._.normalizeParams(t)}):new ri({type:"record",keyType:e,valueType:t,..._.normalizeParams(n)})}function dx(e,t,n){let i=ke(e);return i._zod.values=void 0,new ri({type:"record",keyType:i,valueType:t,..._.normalizeParams(n)})}function mx(e,t,n){return new ri({type:"record",keyType:e,valueType:t,mode:"loose",..._.normalizeParams(n)})}var Pg=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 px(e,t,n){return new Pg({type:"map",keyType:e,valueType:t,..._.normalizeParams(n)})}var Cg=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 fx(e,t){return new Cg({type:"set",valueType:e,..._.normalizeParams(t)})}var ni=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 ni({...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 ni({...t,checks:[],..._.normalizeParams(r),entries:o})}});function Fc(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(i=>[i,i])):e;return new ni({type:"enum",entries:n,..._.normalizeParams(t)})}function gx(e,t){return new ni({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 hx(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(Hn(Array.isArray(n)?n:[n],i))});function vx(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 Bc(e){return new kg({type:"transform",transform:e})}var Vc=f("ZodOptional",(e,t)=>{Ns.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>dc(e,n,i,r),e.unwrap=()=>e._zod.def.innerType});function Ao(e){return new Vc({type:"optional",innerType:e})}var Og=f("ZodExactOptional",(e,t)=>{sp.init(e,t),w.init(e,t),e._zod.processJSONSchema=(n,i,r)=>dc(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 bx(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 Zc=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 Zc({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 yx(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 Sx(e){return ef(Gg,e)}var wo=f("ZodPipe",(e,t)=>{ws.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 Sc(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 _x(e,t,n){return new ko({type:"pipe",in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function Ex(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 xx(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 Ax(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)=>Cf(e,n,i,r)});function Ix(e){return new Qg({type:"function",input:Array.isArray(e?.input)?Tg(e?.input):e?.input??Po(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)=>Pf(e,n,i,r)});function $x(e){let t=new X({check:"custom"});return t._zod.check=e,t}function Tx(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 Rx=sf,Px=cf;function Cx(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 Nx=(...e)=>uf({Codec:ko,Boolean:si,String:ii},...e);function wx(e){let t=Xg(()=>Uc([Eo(e),dg(),mg(),hg(),Po(t),Rg(Eo(),t)]));return t}function kx(e,t){return new Wg({type:"pipe",in:Bc(e),out:t})}var ZD={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 GD(e){se({customError:e})}function WD(){return se().customError}var rh;rh||(rh={});var x={..._o,...fc,iso:ti},HD=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 qD(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 KD(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 Ox(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=KD(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 Ox(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=Ox(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))HD.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 Dx(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=qD(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:()=>QD,boolean:()=>JD,date:()=>e1,number:()=>XD,string:()=>YD});function YD(e){return Ip(ii,e)}function XD(e){return kp(ai,e)}function JD(e){return Up(si,e)}function QD(e){return Bp(ci,e)}function e1(e){return Qp(Ro,e)}se(ks());var t1=Object.defineProperty,ui=(e,t)=>t1(e,"name",{value:t,configurable:!0}),ih=["production","staging","development","platform","compliance"],Mx={production:"Production",staging:"Staging",development:"Development",platform:"Platform",compliance:"Compliance"},r1=new Set(ih);function Wc(e){return r1.has(e)}ui(Wc,"isAccountStage");var Do={ROOT:"root",PLATFORM:"platform"},n1=[...ih,Do.ROOT];function jx(e){return Wc(e)?Mx[e]:e.charAt(0).toUpperCase()+e.slice(1)}ui(jx,"getEnvironmentLabel");var zx=["organisation","platform","account"],i1=s.enum(zx),Gc={ORGANISATION:"organisation",PLATFORM:"platform",ACCOUNT:"account"},o1={[Gc.ORGANISATION]:!0,[Gc.PLATFORM]:!0,[Gc.ACCOUNT]:!0},a1=new Set(Object.keys(o1));function Lx(e){return a1.has(e)}ui(Lx,"isAccountTier");function oh(e){return e===Do.ROOT?"organisation":e===Do.PLATFORM?"platform":"account"}ui(oh,"environmentToTier");function Ux(e){return e==null||e===""||e===Do.ROOT?null:Wc(e)?e:null}ui(Ux,"stageFromWireEnvironment");function Mo(e){return e.tier??oh(e.environment)}ui(Mo,"accountTier");var s1=Object.defineProperty,jo=(e,t)=>s1(e,"name",{value:t,configurable:!0});var Fx=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"}),ah=new Set;function Bx(e){if(!e)return"compute";if(e.startsWith("Custom::"))return Fx[e]??"compute";let t=Fx[e];return t||ah.add(e),t??"compute"}jo(Bx,"categoriseResource");function c1(){return new Set(ah)}jo(c1,"getUnmappedResourceTypes");function u1(){ah.clear()}jo(u1,"clearUnmappedResourceTypes");var l1=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}),d1=30;function Vx(e){return l1[e]??d1}jo(Vx,"getExpectedDuration");var m1=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 Zx(e){return m1[e]||e.split("::").pop()||e}jo(Zx,"getFriendlyResourceType");var p1=Object.defineProperty,f1=(e,t)=>p1(e,"name",{value:t,configurable:!0}),g1={"github.com":"github","gitlab.com":"gitlab","bitbucket.org":"bitbucket"},h1=/^https?:\/\/([^/]+)\/(.+?)\/([^/.]+?)(?:\.git)?$/,v1=/^git@([^:]+):(.+?)\/([^/.]+?)(?:\.git)?$/,b1=/^ssh:\/\/[^@]+@([^:/]+)(?::\d+)?\/(.+?)\/([^/.]+?)(?:\.git)?$/;function Gx(e){if(!e)return null;let t=e.replace(/^(https?:\/\/)[^@]+@/,"$1"),n=t.match(h1)??t.match(v1)??e.match(b1);if(!n)return null;let[,i,r,o]=n;return!i||!r||!o?null:{provider:g1[i]??"other",owner:r,repo:o,host:i}}f1(Gx,"parseGitRemoteUrl");var sh=["read","write","deploy","secrets:read","secrets:write","destroy","admin","applications:read","applications:deploy","deploy:oidc:mint"],Wx={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"},y1=sh.filter(e=>Wx[e]==="machine"),S1=sh.filter(e=>Wx[e]==="user");var _1=Object.defineProperty,li=(e,t)=>_1(e,"name",{value:t,configurable:!0}),qc=/^[a-zA-Z_][a-zA-Z0-9._-]*$/,ch="Secret name must start with a letter or underscore and contain only letters, numbers, underscores, hyphens, or periods",zo=/^[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(zo,Kc),Hx=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 uh(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(uh,"buildNamespaceParts");function lh(e,t){let n=uh(e);return t&&n.push(t),"/"+n.join("/")}li(lh,"buildParameterPath");function dh(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(dh,"parseParameterPath");function qx(e){let t=dh(e);return t?Hx.safeParse(t.namespace).success&&lh(t.namespace,t.name)===e:!1}li(qx,"isManageablePath");function Kx(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(Kx,"parseDotEnv");function Yx(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}li(Yx,"escapeDotEnvValue");var Xx=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()}),E1=s.object({accounts:s.array(Xx)});var x1=Object.defineProperty,Jr=(e,t)=>x1(e,"name",{value:t,configurable:!0});function mh(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}Jr(mh,"deriveRegionsFromOrgConfig");function ph(e){return e.environment??Mo(e)}Jr(ph,"environmentOrTier");function fh(e,t){return`${e.toLowerCase()}-${Pn(t)}`}Jr(fh,"generateTargetName");function gh(e,t){let n=[];for(let i of e){if(Mo(i)==="organisation")continue;let r=ph(i);for(let o of t)n.push({name:fh(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)})}Jr(gh,"deriveTargets");function Jx(e){return gh(e.providerAccounts,mh(e))}Jr(Jx,"deriveAllTargets");function A1(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}}Jr(A1,"mergeSecondaryRegions");function Qx(e,t){return e.find(n=>n.name===t)}Jr(Qx,"findTarget");var I1=Object.defineProperty,$1=(e,t)=>I1(e,"name",{value:t,configurable:!0});function eA(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}`}$1(eA,"buildAppConfigPath");var T1=Object.defineProperty,di=(e,t)=>T1(e,"name",{value:t,configurable:!0}),hh="infrastructure.ts",vh="fjall";function tA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!bh(o.path)||n&&nA(o.path,n)||i&&iA(o.path,i))continue;let a=yh(o.path);a!==null&&r.push({configPath:rA(o.path),boundaryPath:a})}return r}di(tA,"findInfrastructurePaths");function bh(e){return e===hh||e.endsWith(`/${hh}`)}di(bh,"isInfrastructureFile");function yh(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===vh)return t.slice(0,n+1).join("/");return null}di(yh,"findBoundaryPath");function rA(e){return e.slice(0,-`/${hh}`.length)}di(rA,"toConfigDir");function nA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}di(nA,"hasExcludedPrefix");function iA(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(iA,"hasExcludedSegment");var R1=Object.defineProperty,Sh=(e,t)=>R1(e,"name",{value:t,configurable:!0});function oA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=aA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=sA(t);return n.length===0?null:n.join("/")}Sh(oA,"inferContainerFromCandidates");function aA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==vh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}Sh(aA,"extractContainer");function sA(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}Sh(sA,"longestCommonPrefix");var P1=Object.defineProperty,cA=(e,t)=>P1(e,"name",{value:t,configurable:!0}),uA=["fjall","organisation","platform","account"];function lA(e){return uA.includes(e.toLowerCase())}cA(lA,"isReservedAppName");var dA="-cache";function mA(e){return Tt(e).endsWith(dA)}cA(mA,"hasReservedAppNameSuffix");var C1=Object.defineProperty,_h=(e,t)=>C1(e,"name",{value:t,configurable:!0});function fA(e){return{success:!0,data:e}}_h(fA,"success");function Lo(e){return{success:!1,error:e}}_h(Lo,"failure");var pA="sha256:",Yc=12,N1=new RegExp(`-sha-[0-9a-f]{${Yc}}$`);function gA(e,t,n){if(!e.startsWith(pA))return Lo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(pA.length);if(i.length<Yc)return Lo(new Error(`digest hex payload too short (need >=${Yc} chars, got ${i.length})`));let r=t.trim();if(r==="")return Lo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Lo(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 fA(`${c}-sha-${a}`)}_h(gA,"deriveContentHashTag");var w1=Object.defineProperty,k1=(e,t)=>w1(e,"name",{value:t,configurable:!0}),hA=["full","code-only","rollback","restart"],O1=s.enum(hA),vA=/^[a-zA-Z0-9._-]+$/,bA=s.string().min(1).max(128).regex(vA),yA=s.object({serviceName:s.string().min(1),imageTag:bA,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(),D1=s.array(yA);function SA(e,t){return`${e}${t}`}k1(SA,"artefactOutputKey");var M1=Object.defineProperty,_A=(e,t)=>M1(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],Eh=new Set(kt);function xh(e){return typeof e=="string"&&Eh.has(e)}_A(xh,"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}},EA=kt.filter(e=>mi[e].deployable),Ah=kt.filter(e=>mi[e].artefact==="opennext-lambda"),j1=new Set(Ah);function Ih(e){return e!=null&&j1.has(e)}_A(Ih,"isOpenNextPatternType");var Uo=["multipage","spa"];var z1=Object.defineProperty,$h=(e,t)=>z1(e,"name",{value:t,configurable:!0}),xA="noreply";function AA(e){return`${xA}@${e}`}$h(AA,"defaultFormsFromAddress");function IA(e){return`https://${e}`}$h(IA,"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()}$h(Xc,"isAddressAtDomain");var $A=2;var L1=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>`"})}),TA={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:L1.optional()},U1=s.object(TA).strict(),F1=s.object({...TA,version:s.literal($A),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 yI,mkdirSync as Rj,statSync as Pj,appendFileSync as Cj}from"fs";import{join as SI}from"path";import{join as nv}from"path";var V1=Object.defineProperty,RA=(e,t)=>V1(e,"name",{value:t,configurable:!0});function PA(e){return e.mode==="cli"}RA(PA,"isCLIMode");function CA(e){return e.mode==="ink"}RA(CA,"isInkMode");var NA=(e=0)=>t=>`\x1B[${t+e}m`,wA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,kA=(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]}},T3=Object.keys(re.modifier),Z1=Object.keys(re.color),G1=Object.keys(re.bgColor),R3=[...Z1,...G1];function W1(){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=NA(),re.color.ansi256=wA(),re.color.ansi16m=kA(),re.bgColor.ansi=NA(10),re.bgColor.ansi256=wA(10),re.bgColor.ansi16m=kA(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 H1=W1(),yt=H1;import Th from"node:process";import q1 from"node:os";import OA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:Th.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}=Th,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 K1(){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 Y1(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function X1(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=K1();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(Th.platform==="win32"){let a=q1.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 DA(e,t={}){let n=X1(e,{streamIsTTY:e&&e.isTTY,...t});return Y1(n)}var J1={stdout:DA({isTTY:OA.isatty(1)}),stderr:DA({isTTY:OA.isatty(2)})},MA=J1;function jA(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 zA(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(Kx,"parseDotEnv");function Yx(e){return e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\$/g,"\\$").replace(/`/g,"\\`").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}li(Yx,"escapeDotEnvValue");var Xx=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()}),E1=s.object({accounts:s.array(Xx)});var x1=Object.defineProperty,Jr=(e,t)=>x1(e,"name",{value:t,configurable:!0});function mh(e){let t=[e.primaryRegion,...e.secondaryRegions??[],e.disasterRecoveryRegion].filter(n=>n!==void 0);return[...new Set(t)]}Jr(mh,"deriveRegionsFromOrgConfig");function ph(e){return e.environment??Mo(e)}Jr(ph,"environmentOrTier");function fh(e,t){return`${e.toLowerCase()}-${Pn(t)}`}Jr(fh,"generateTargetName");function gh(e,t){let n=[];for(let i of e){if(Mo(i)==="organisation")continue;let r=ph(i);for(let o of t)n.push({name:fh(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)})}Jr(gh,"deriveTargets");function Jx(e){return gh(e.providerAccounts,mh(e))}Jr(Jx,"deriveAllTargets");function A1(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}}Jr(A1,"mergeSecondaryRegions");function Qx(e,t){return e.find(n=>n.name===t)}Jr(Qx,"findTarget");var I1=Object.defineProperty,$1=(e,t)=>I1(e,"name",{value:t,configurable:!0});function eA(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}`}$1(eA,"buildAppConfigPath");var T1=Object.defineProperty,di=(e,t)=>T1(e,"name",{value:t,configurable:!0}),hh="infrastructure.ts",vh="fjall";function tA(e,t){let n=t?.excludedPathPrefixes,i=t?.excludedPathSegments,r=[];for(let o of e){if(!bh(o.path)||n&&nA(o.path,n)||i&&iA(o.path,i))continue;let a=yh(o.path);a!==null&&r.push({configPath:rA(o.path),boundaryPath:a})}return r}di(tA,"findInfrastructurePaths");function bh(e){return e===hh||e.endsWith(`/${hh}`)}di(bh,"isInfrastructureFile");function yh(e){let t=e.split("/");for(let n=0;n<t.length-1;n++)if(t[n]===vh)return t.slice(0,n+1).join("/");return null}di(yh,"findBoundaryPath");function rA(e){return e.slice(0,-`/${hh}`.length)}di(rA,"toConfigDir");function nA(e,t){for(let n of t)if(e.startsWith(n))return!0;return!1}di(nA,"hasExcludedPrefix");function iA(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(iA,"hasExcludedSegment");var R1=Object.defineProperty,Sh=(e,t)=>R1(e,"name",{value:t,configurable:!0});function oA(e){if(e.length===0)return null;let t=[];for(let i of e){let r=aA(i.boundaryPath);if(r===null)return null;t.push(r)}let n=sA(t);return n.length===0?null:n.join("/")}Sh(oA,"inferContainerFromCandidates");function aA(e){let t=e.split("/").filter(i=>i.length>0);if(t.length===0||t[t.length-1]!==vh)return null;let n=t.slice(0,t.length-1);return n.length===0?null:n}Sh(aA,"extractContainer");function sA(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}Sh(sA,"longestCommonPrefix");var P1=Object.defineProperty,cA=(e,t)=>P1(e,"name",{value:t,configurable:!0}),uA=["fjall","organisation","platform","account"];function lA(e){return uA.includes(e.toLowerCase())}cA(lA,"isReservedAppName");var dA="-cache";function mA(e){return Tt(e).endsWith(dA)}cA(mA,"hasReservedAppNameSuffix");var C1=Object.defineProperty,_h=(e,t)=>C1(e,"name",{value:t,configurable:!0});function fA(e){return{success:!0,data:e}}_h(fA,"success");function Lo(e){return{success:!1,error:e}}_h(Lo,"failure");var pA="sha256:",Yc=12,N1=new RegExp(`-sha-[0-9a-f]{${Yc}}$`);function gA(e,t,n){if(!e.startsWith(pA))return Lo(new Error(`expected sha256:... digest, got ${e.slice(0,32)}`));let i=e.slice(pA.length);if(i.length<Yc)return Lo(new Error(`digest hex payload too short (need >=${Yc} chars, got ${i.length})`));let r=t.trim();if(r==="")return Lo(new Error("serviceName must be a non-empty string"));let o;if(n!==void 0){let u=n.trim();if(u==="")return Lo(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 fA(`${c}-sha-${a}`)}_h(gA,"deriveContentHashTag");var w1=Object.defineProperty,k1=(e,t)=>w1(e,"name",{value:t,configurable:!0}),hA=["full","code-only","rollback","restart"],O1=s.enum(hA),vA=/^[a-zA-Z0-9._-]+$/,bA=s.string().min(1).max(128).regex(vA),yA=s.object({serviceName:s.string().min(1),imageTag:bA,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(),D1=s.array(yA);function SA(e,t){return`${e}${t}`}k1(SA,"artefactOutputKey");var M1=Object.defineProperty,_A=(e,t)=>M1(e,"name",{value:t,configurable:!0}),kt=["payload","nextjs","staticsite"],Eh=new Set(kt);function xh(e){return typeof e=="string"&&Eh.has(e)}_A(xh,"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}},EA=kt.filter(e=>mi[e].deployable),Ah=kt.filter(e=>mi[e].artefact==="opennext-lambda"),j1=new Set(Ah);function Ih(e){return e!=null&&j1.has(e)}_A(Ih,"isOpenNextPatternType");var Uo=["multipage","spa"];var z1=Object.defineProperty,$h=(e,t)=>z1(e,"name",{value:t,configurable:!0}),xA="noreply";function AA(e){return`${xA}@${e}`}$h(AA,"defaultFormsFromAddress");function IA(e){return`https://${e}`}$h(IA,"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()}$h(Xc,"isAddressAtDomain");var $A=2;var L1=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>`"})}),TA={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:L1.optional()},U1=s.object(TA).strict(),F1=s.object({...TA,version:s.literal($A),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 yI,mkdirSync as Rj,statSync as Pj,appendFileSync as Cj}from"fs";import{join as SI}from"path";import{join as nv}from"path";var V1=Object.defineProperty,RA=(e,t)=>V1(e,"name",{value:t,configurable:!0});function PA(e){return e.mode==="cli"}RA(PA,"isCLIMode");function CA(e){return e.mode==="ink"}RA(CA,"isInkMode");var NA=(e=0)=>t=>`\x1B[${t+e}m`,wA=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,kA=(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]}},R3=Object.keys(re.modifier),Z1=Object.keys(re.color),G1=Object.keys(re.bgColor),P3=[...Z1,...G1];function W1(){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=NA(),re.color.ansi256=wA(),re.color.ansi16m=kA(),re.bgColor.ansi=NA(10),re.bgColor.ansi256=wA(10),re.bgColor.ansi16m=kA(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 H1=W1(),yt=H1;import Th from"node:process";import q1 from"node:os";import OA from"node:tty";function at(e,t=globalThis.Deno?globalThis.Deno.args:Th.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}=Th,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 K1(){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 Y1(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function X1(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=K1();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(Th.platform==="win32"){let a=q1.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 DA(e,t={}){let n=X1(e,{streamIsTTY:e&&e.isTTY,...t});return Y1(n)}var J1={stdout:DA({isTTY:OA.isatty(1)}),stderr:DA({isTTY:OA.isatty(2)})},MA=J1;function jA(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 zA(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:LA,stderr:UA}=MA,Rh=Symbol("GENERATOR"),pi=Symbol("STYLER"),Fo=Symbol("IS_EMPTY"),FA=["ansi","ansi","ansi256","ansi16m"],fi=Object.create(null),Q1=(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=LA?LA.level:0;e.level=t.level===void 0?n:t.level};var eM=e=>{let t=(...n)=>n.join(" ");return Q1(t,e),Object.setPrototypeOf(t,Bo.prototype),t};function Bo(e){return eM(e)}Object.setPrototypeOf(Bo.prototype,Function.prototype);for(let[e,t]of Object.entries(yt))fi[e]={get(){let n=Qc(this,Ch(t.open,t.close,this[pi]),this[Fo]);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),tM=["rgb","hex","ansi256"];for(let e of tM){fi[e]={get(){let{level:n}=this;return function(...i){let r=Ch(Ph(e,FA[n],"color",...i),yt.color.close,this[pi]);return Qc(this,r,this[Fo])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);fi[t]={get(){let{level:n}=this;return function(...i){let r=Ch(Ph(e,FA[n],"bgColor",...i),yt.bgColor.close,this[pi]);return Qc(this,r,this[Fo])}}}}var rM=Object.defineProperties(()=>{},{...fi,level:{enumerable:!0,get(){return this[Rh].level},set(e){this[Rh].level=e}}}),Ch=(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)=>nM(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,rM),i[Rh]=e,i[pi]=t,i[Fo]=n,i},nM=(e,t)=>{if(e.level<=0||!t)return e[Fo]?"":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=jA(t,n.close,n.open),n=n.parent;let o=t.indexOf(`
170
- `);return o!==-1&&(t=zA(t,r,i,o)),i+t+r};Object.defineProperties(Bo.prototype,fi);var iM=Bo(),z3=Bo({level:UA?UA.level:0});var Ee=iM;import Ho from"node:process";import{stripVTControlCharacters as WM}from"node:util";import HA from"node:process";import nu from"node:process";var oM=(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);!aM(r,o)&&i||Object.defineProperty(e,n,o)},aM=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)},sM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},cM=(e,t)=>`/* Wrapped ${e}*/
171
- ${t}`,uM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),lM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),dM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=cM.bind(null,i,t.toString());Object.defineProperty(r,"name",lM);let{writable:o,enumerable:a,configurable:c}=uM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function Nh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))oM(e,t,r,n);return sM(e,t),dM(e,t,i),e}var eu=new WeakMap,BA=(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 Nh(o,e),eu.set(o,i),o};BA.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 VA=BA;var Qr=[];Qr.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Qr.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Qr.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",wh=Symbol.for("signal-exit emitter"),kh=globalThis,mM=Object.defineProperty.bind(Object),Oh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(kh[wh])return kh[wh];mM(kh,wh,{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{},pM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Dh=class extends ru{onExit(){return()=>{}}load(){}unload(){}},Mh=class extends ru{#o=jh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Oh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of Qr)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 Qr)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,Qr.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)}},jh=globalThis.process,{onExit:ZA,load:G3,unload:W3}=pM(tu(jh)?new Mh(jh):new Dh);var GA=nu.stderr.isTTY?nu.stderr:nu.stdout.isTTY?nu.stdout:void 0,fM=GA?VA(()=>{ZA(()=>{GA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},WA=fM;var iu=!1,gi={};gi.show=(e=HA.stderr)=>{e.isTTY&&(iu=!1,e.write("\x1B[?25h"))};gi.hide=(e=HA.stderr)=>{e.isTTY&&(WA(),iu=!0,e.write("\x1B[?25l"))};gi.toggle=(e,t)=>{e!==void 0&&(iu=e),iu?gi.show(t):gi.hide(t)};var zh=gi;var Lh={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 Vo=Lh,n9=Object.keys(Lh);var en={};$t(en,{error:()=>_M,info:()=>bM,success:()=>yM,warning:()=>SM});import hM from"node:tty";var vM=hM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!vM)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}},a9=k(0,0),s9=k(1,22),c9=k(2,22),u9=k(3,23),l9=k(4,24),d9=k(53,55),m9=k(7,27),p9=k(8,28),f9=k(9,29),g9=k(30,39),qA=k(31,39),KA=k(32,39),YA=k(33,39),XA=k(34,39),h9=k(35,39),v9=k(36,39),b9=k(37,39),y9=k(90,39),S9=k(40,49),_9=k(41,49),E9=k(42,49),x9=k(43,49),A9=k(44,49),I9=k(45,49),$9=k(46,49),T9=k(47,49),R9=k(100,49),P9=k(91,39),C9=k(92,39),N9=k(93,39),w9=k(94,39),k9=k(95,39),O9=k(96,39),D9=k(97,39),M9=k(101,49),j9=k(102,49),z9=k(103,49),L9=k(104,49),U9=k(105,49),F9=k(106,49),B9=k(107,49);import JA from"node:process";function Zo(){let{env:e}=JA,{TERM:t,TERM_PROGRAM:n}=e;return JA.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=Zo(),bM=XA(ou?"\u2139":"i"),yM=KA(ou?"\u2714":"\u221A"),SM=YA(ou?"\u26A0":"\u203C"),_M=qA(ou?"\u2716":"\xD7");function Uh({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 EM=Uh();function Fh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(EM,"")}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],Bh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Vh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Go=[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 xM=au[0],AM=au.at(-1),IM=su[0],$M=su.at(-1),rW=Bh[0],nW=Bh.at(-1),iW=Vh[0],oW=Vh.at(-1),TM=Go[0],RM=Go.at(-1),QA=19968,[PM,CM]=NM(Go);function NM(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(QA>=r&&QA<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var eI=e=>e<xM||e>AM?!1:cu(au,e),tI=e=>e<IM||e>$M?!1:cu(su,e);var rI=e=>e>=PM&&e<=CM?!0:e<TM||e>RM?!1:cu(Go,e);function wM(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Wo(e,{ambiguousAsWide:t=!1}={}){return wM(e),tI(e)||rI(e)||t&&eI(e)?2:1}var kM=new Intl.Segmenter,nI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),OM=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),DM=new RegExp("^\\p{RGI_Emoji}$","v"),MM=/^[\d#*]\u20E3$/,jM=new RegExp("\\p{Extended_Pictographic}","gu");function zM(e){if(e.length>50)return!1;if(MM.test(e))return!0;if(e.includes("\u200D")){let t=e.match(jM);return t!==null&&t.length>=2}return!1}function LM(e){return e.replace(OM,"")}function UM(e){return nI.test(e)}function iI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function oI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function aI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function FM(e){return iI(e)||oI(e)||aI(e)}function BM(e,t){let n=[];for(let r of e)nI.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(!FM(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Wo(n[a],t);return i}if(iI(o)&&oI(n[r+1])){i+=2,r+=aI(n[r+2])?2:1;continue}i+=Wo(o,t)}return i}function VM(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Wo(r.codePointAt(0),t))}return n}function Zh(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=Fh(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 kM.segment(r)){if(UM(c))continue;if(DM.test(c)||zM(c)){o+=2;continue}let u=LM(c),l=BM(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Wo(m,a),o+=VM(u,a)}return o}function Gh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import uu from"node:process";var ZM=3,Wh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===ZM&&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}},GM=new Wh,Hh=Object.freeze(GM);var HM=200,qM="\x1B[?2026h",KM="\x1B[?2026l",lu=new Map,YM=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),qh=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=zA(t,r,i,o)),i+t+r};Object.defineProperties(Bo.prototype,fi);var iM=Bo(),L3=Bo({level:UA?UA.level:0});var Ee=iM;import Ho from"node:process";import{stripVTControlCharacters as WM}from"node:util";import HA from"node:process";import nu from"node:process";var oM=(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);!aM(r,o)&&i||Object.defineProperty(e,n,o)},aM=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)},sM=(e,t)=>{let n=Object.getPrototypeOf(t);n!==Object.getPrototypeOf(e)&&Object.setPrototypeOf(e,n)},cM=(e,t)=>`/* Wrapped ${e}*/
171
+ ${t}`,uM=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),lM=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),dM=(e,t,n)=>{let i=n===""?"":`with ${n.trim()}() `,r=cM.bind(null,i,t.toString());Object.defineProperty(r,"name",lM);let{writable:o,enumerable:a,configurable:c}=uM;Object.defineProperty(e,"toString",{value:r,writable:o,enumerable:a,configurable:c})};function Nh(e,t,{ignoreNonConfigurable:n=!1}={}){let{name:i}=e;for(let r of Reflect.ownKeys(t))oM(e,t,r,n);return sM(e,t),dM(e,t,i),e}var eu=new WeakMap,BA=(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 Nh(o,e),eu.set(o,i),o};BA.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 VA=BA;var Qr=[];Qr.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Qr.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Qr.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",wh=Symbol.for("signal-exit emitter"),kh=globalThis,mM=Object.defineProperty.bind(Object),Oh=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(kh[wh])return kh[wh];mM(kh,wh,{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{},pM=e=>({onExit(t,n){return e.onExit(t,n)},load(){return e.load()},unload(){return e.unload()}}),Dh=class extends ru{onExit(){return()=>{}}load(){}unload(){}},Mh=class extends ru{#o=jh.platform==="win32"?"SIGINT":"SIGHUP";#n=new Oh;#r;#e;#i;#t={};#a=!1;constructor(t){super(),this.#r=t,this.#t={};for(let n of Qr)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 Qr)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,Qr.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)}},jh=globalThis.process,{onExit:ZA,load:W3,unload:H3}=pM(tu(jh)?new Mh(jh):new Dh);var GA=nu.stderr.isTTY?nu.stderr:nu.stdout.isTTY?nu.stdout:void 0,fM=GA?VA(()=>{ZA(()=>{GA.write("\x1B[?25h")},{alwaysLast:!0})}):()=>{},WA=fM;var iu=!1,gi={};gi.show=(e=HA.stderr)=>{e.isTTY&&(iu=!1,e.write("\x1B[?25h"))};gi.hide=(e=HA.stderr)=>{e.isTTY&&(WA(),iu=!0,e.write("\x1B[?25l"))};gi.toggle=(e,t)=>{e!==void 0&&(iu=e),iu?gi.show(t):gi.hide(t)};var zh=gi;var Lh={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 Vo=Lh,i9=Object.keys(Lh);var en={};$t(en,{error:()=>_M,info:()=>bM,success:()=>yM,warning:()=>SM});import hM from"node:tty";var vM=hM?.WriteStream?.prototype?.hasColors?.()??!1,k=(e,t)=>{if(!vM)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}},s9=k(0,0),c9=k(1,22),u9=k(2,22),l9=k(3,23),d9=k(4,24),m9=k(53,55),p9=k(7,27),f9=k(8,28),g9=k(9,29),h9=k(30,39),qA=k(31,39),KA=k(32,39),YA=k(33,39),XA=k(34,39),v9=k(35,39),b9=k(36,39),y9=k(37,39),S9=k(90,39),_9=k(40,49),E9=k(41,49),x9=k(42,49),A9=k(43,49),I9=k(44,49),$9=k(45,49),T9=k(46,49),R9=k(47,49),P9=k(100,49),C9=k(91,39),N9=k(92,39),w9=k(93,39),k9=k(94,39),O9=k(95,39),D9=k(96,39),M9=k(97,39),j9=k(101,49),z9=k(102,49),L9=k(103,49),U9=k(104,49),F9=k(105,49),B9=k(106,49),V9=k(107,49);import JA from"node:process";function Zo(){let{env:e}=JA,{TERM:t,TERM_PROGRAM:n}=e;return JA.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=Zo(),bM=XA(ou?"\u2139":"i"),yM=KA(ou?"\u2714":"\u221A"),SM=YA(ou?"\u26A0":"\u203C"),_M=qA(ou?"\u2716":"\xD7");function Uh({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 EM=Uh();function Fh(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("\x9B")?e:e.replace(EM,"")}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],Bh=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Vh=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Go=[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 xM=au[0],AM=au.at(-1),IM=su[0],$M=su.at(-1),nW=Bh[0],iW=Bh.at(-1),oW=Vh[0],aW=Vh.at(-1),TM=Go[0],RM=Go.at(-1),QA=19968,[PM,CM]=NM(Go);function NM(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(QA>=r&&QA<=o)return[r,o];o-r>n-t&&(t=r,n=o)}return[t,n]}var eI=e=>e<xM||e>AM?!1:cu(au,e),tI=e=>e<IM||e>$M?!1:cu(su,e);var rI=e=>e>=PM&&e<=CM?!0:e<TM||e>RM?!1:cu(Go,e);function wM(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Wo(e,{ambiguousAsWide:t=!1}={}){return wM(e),tI(e)||rI(e)||t&&eI(e)?2:1}var kM=new Intl.Segmenter,nI=new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$","v"),OM=new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+","v"),DM=new RegExp("^\\p{RGI_Emoji}$","v"),MM=/^[\d#*]\u20E3$/,jM=new RegExp("\\p{Extended_Pictographic}","gu");function zM(e){if(e.length>50)return!1;if(MM.test(e))return!0;if(e.includes("\u200D")){let t=e.match(jM);return t!==null&&t.length>=2}return!1}function LM(e){return e.replace(OM,"")}function UM(e){return nI.test(e)}function iI(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function oI(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function aI(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function FM(e){return iI(e)||oI(e)||aI(e)}function BM(e,t){let n=[];for(let r of e)nI.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(!FM(o)){if(i===0)return;for(let a=r;a<n.length;a++)i+=Wo(n[a],t);return i}if(iI(o)&&oI(n[r+1])){i+=2,r+=aI(n[r+2])?2:1;continue}i+=Wo(o,t)}return i}function VM(e,t){let n=0,i=!0;for(let r of e){if(i){i=!1;continue}r>="\uFF00"&&r<="\uFFEF"&&(n+=Wo(r.codePointAt(0),t))}return n}function Zh(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=Fh(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 kM.segment(r)){if(UM(c))continue;if(DM.test(c)||zM(c)){o+=2;continue}let u=LM(c),l=BM(u,a);if(l!==void 0){o+=l;continue}let m=u.codePointAt(0);o+=Wo(m,a),o+=VM(u,a)}return o}function Gh({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}import uu from"node:process";var ZM=3,Wh=class{#o=0;#n;#r=!1;#e=!1;#i=t=>{if(!t?.length)return;(typeof t=="string"?t.codePointAt(0):t[0])===ZM&&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}},GM=new Wh,Hh=Object.freeze(GM);var HM=200,qM="\x1B[?2026h",KM="\x1B[?2026l",lu=new Map,YM=new Set(["black","red","green","yellow","blue","magenta","cyan","white","gray"]),qh=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()},HM),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:Ho.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.#t=this.#e.stream,typeof this.#e.isEnabled!="boolean"&&(this.#e.isEnabled=Gh({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,Ho.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(!Zo())this.#i=Vo.line;else if(t===void 0)this.#i=Vo.dots;else if(t!=="default"&&Vo[t])this.#i=Vo[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 WM(t).split(`
173
173
  `))i+=Math.max(1,Math.ceil(Zh(r)/n));return i}get color(){return this.#m}set color(t){if(t!==void 0&&t!==!1&&!YM.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,Ho.stdout,Ho.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(qM)),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(tj,"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 _j,existsSync as Ej,mkdirSync as xj}from"fs";import{join as bI}from"path";var rn={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 vj}from"path";import{homedir as bj}from"os";var gj=Object.defineProperty,hj=(e,t)=>gj(e,"name",{value:t,configurable:!0});function Ir(){let e=process.env.FJALL_LOG_DIR;return e!==void 0&&e!==""?e:vj(bj(),".fjall","logs")}hj(Ir,"getDefaultLogDir");var yj=Object.defineProperty,Sj=(e,t)=>yj(e,"name",{value:t,configurable:!0}),Xo=class{static{Sj(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=bI(r,"deployments",n);Ej(o)||xj(o,{recursive:!0});let a=new Date().toISOString().replace(/[:.]/g,"-"),c=`${i}-${a}.jsonl`;this.logPath=bI(o,c);try{this.logStream=_j(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 Aj=Object.defineProperty,Ij=(e,t)=>Aj(e,"name",{value:t,configurable:!0}),vu=class e{static{Ij(this,"Logger")}static instance=null;config;debugEnabled;traceEnabled;minLevel;fileWriter;mainLogPath;debugLogPath;constructor(){let t=Ir(),n=nv(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=nv(t,We.LOG_FILENAME),this.debugLogPath=nv(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 rn?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 rn[t]>=rn[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(`${Nn(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,rn[this.minLevel]>rn.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 Xo(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 $j=Object.defineProperty,Tj=(e,t)=>$j(e,"name",{value:t,configurable:!0}),gu=vu.getInstance();function Nj(e){let t=Ir(),n=SI(t,"debug"),i=SI(n,We.DEBUG_LOG_FILENAME);try{yI(n)||Rj(n,{recursive:!0}),yI(i)&&Pj(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};Cj(i,JSON.stringify(r)+`
187
- `)}catch{}}Tj(Nj,"writeDebugSync");var wj=Object.defineProperty,bi=(e,t)=>wj(e,"name",{value:t,configurable:!0});function iv(e){return e.success===!0}bi(iv,"isSuccess");function ov(e){return e.success===!1}bi(ov,"isFailure");function C(e){return{success:!0,data:e}}bi(C,"success");function $(e){return{success:!1,error:e}}bi($,"failure");async function av(e){try{let t=await e();return C(t)}catch(t){return $(ht(t))}}bi(av,"tryAsync");function sv(e){try{let t=e();return C(t)}catch(t){return $(ht(t))}}bi(sv,"trySync");var kj=Object.defineProperty,Oj=(e,t)=>kj(e,"name",{value:t,configurable:!0}),_I=/^[a-zA-Z][a-zA-Z0-9-]*$/,Dj=zo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:_I,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:_I,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(`^(?:/${Dj})+$`),SECRET_NAME:qc,SSM_COMPONENT:zo,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 cv(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}}Oj(cv,"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:ch,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 Mj=Object.defineProperty,st=(e,t)=>Mj(e,"name",{value:t,configurable:!0}),jj=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],zj=Object.freeze(jj.flatMap(e=>{let t=Rn(e);return t?[t]:[]})),uv=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 lv(e){return qt.includes(e)}st(lv,"isValidRegion");function dv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(dv,"isValidRegionFormat");function mv(e){if(!e)return uv.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):uv.slice(0,3)}st(mv,"getSuggestions");function pv(e){if(lv(e))return!0;let t=mv(e);return dv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(pv,"validateRegion");function EI(e){if(!e||e.trim()==="")return!0;let t=bu(e);for(let n of t){let i=pv(n);if(i!==!0)return i}return!0}st(EI,"validateRegionList");function fv(e,t){return e.filter(n=>n!==t)}st(fv,"filterDuplicateRegions");function gv(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(gv,"toRegionOption");function xI(){return it.map(gv)}st(xI,"getRegionOptions");function AI(e){return it.filter(t=>t.code!==e).map(gv)}st(AI,"getRegionOptionsExcluding");function II(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(II,"getRegionName");function $I(e){return t=>{let n=bu(t);return fv(n,e)}}st($I,"createRegionFormatter");var yu="3.10.0";var Su=["Aurora","Instance","GlobalAurora","ClickHouse"],yi=["FARGATE","FARGATE_SPOT","EC2"],St=["standard","resilient","enterprise"],_u=["tinkerer","lightweight","standard","resilient","enterprise"],hv="custom",Jo=[..._u,hv];var Lj=Object.defineProperty,Uj=(e,t)=>Lj(e,"name",{value:t,configurable:!0}),V8=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),Qo=["ecs","lambda","ec2"],Si=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),Eu=["code","container"],ea=Object.freeze({CODE:"code",CONTAINER:"container"}),xu=["ARM_64","X86_64"],TI="ARM_64",ta=["NONE","AWS_IAM"],Au=["public","internal"],Iu=["CPU","MEMORY"],$u=["ARM","STANDARD"],vv=["Instance","Aurora"],_i=["postgresql","mysql"],RI=["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"],PI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}Uj(ct,"constIncludes");var CI=1,NI=65535,q8=Object.freeze({postgresql:5432,mysql:3306}),wI=128,kI=10240,Ru=1,Pu=900,bv=1,yv=1e3,Ei=100,OI=100;var DI=3e3;var MI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],jI=["standard","assets","upload","website"],xi=["AES256","KMS"];var Fj=Object.defineProperty,ra=(e,t)=>Fj(e,"name",{value:t,configurable:!0}),He=ra(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),nn={check:ra(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"]}},na=ra(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),LI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),UI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Cu(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})}ra(Cu,"identifierSchema");var ve=Cu(d.MAX_LENGTH.APP_NAME),t5=Cu(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),on=s.number().int(d.PORT.INTEGER).min(CI,d.PORT.MIN).max(NI,d.PORT.MAX),Re=s.object({key:s.string(),sourceText:s.string()}).strict(),Bj=s.object({__identifier:s.string()}).strict(),Vj=s.object({__expression:s.string()}).strict(),Zj=s.object({__call:s.string()}).strict(),Gj=s.union([Bj,Vj,Zj]),Wj=s.union([s.string(),s.number(),s.boolean(),Gj]),Ai=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),Wj),Hj=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`."}),FI=s.record(s.string(),Hj),r5=s.record(s.string(),s.unknown()),Sv=s.enum(Jo).describe(`Application type must be one of: ${Jo.join(", ")}`),_v=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),qj=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Kj=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),BI=s.object({sourceText:s.string(),position:qj,afterManagedResource:s.object({type:Kj,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(),VI=s.union([s.object({tier:s.enum(St)}).strict(),s.literal(!1)]),ZI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),Yj=Cu(d.MAX_LENGTH.ORGANISATION_NAME),Xj=s.string().regex(L.EMAIL,d.EMAIL),zI=s.string().refine(e=>qt.includes(e),{message:d.REGION}),n5=s.object({name:Yj,email:Xj,accountName:s.string().optional(),primaryRegion:zI.optional().default(Tn),secondaryRegions:s.array(zI).optional(),security:s.enum(RI).optional(),force:s.boolean().optional()}).strict();function ia(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
- `)}ra(ia,"getZodErrorMessage");var Ii=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),Jj=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),GI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),memoryThreshold:Ii.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ii.optional()}).strict()]),WI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),freeStorageThresholdGiB:Jj.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),HI=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),oa=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(PI,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),Qj=s.enum(Su).describe(`Database type must be one of: ${Su.join(", ")}`),ez=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"),tz=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),rz=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:rz.optional()}).strict().describe("Database credentials configuration"),Ou=He(ez),Du=He(tz),nz=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"),aa=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"),iz=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(nz).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"),sa=He(iz),oz=s.object({awsManaged:s.literal(!0)}).strict(),az=s.object({useCMK:s.literal(!0)}).strict(),qI=s.union([oz,az]),sz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:qI.optional()}).strict().describe("Database Insights configuration"),Mu=He(sz),ju=s.object({storageKey:qI.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),KI=s.object({name:V,type:Qj,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:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.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:WI.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(),YI={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()},XI={databaseType:s.literal("Aurora"),writer:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},JI={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:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},QI=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(),e$={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()},cz=zu.extend(YI).strict(),uz=zu.extend(XI).strict(),lz=zu.extend(JI).strict(),dz=QI.extend(e$).strict(),p5=s.discriminatedUnion("databaseType",[cz,uz,lz,dz]),Ev=zu.extend({resourceName:V}).strict(),mz=Ev.extend(YI).strict(),pz=Ev.extend(XI).strict(),fz=Ev.extend(JI).strict(),gz=QI.extend({resourceName:V}).strict(),hz=gz.extend(e$).strict(),f5=s.discriminatedUnion("databaseType",[mz,pz,fz,hz]),g5=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(),vz=["S","N","B"],Nu=s.object({name:s.string(),type:s.enum(vz)}).strict(),t$=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(),bz=s.object({mode:s.literal("s3")}).strict(),r$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:UI,instanceType:s.string().optional(),coldTier:s.union([bz,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 yz=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"),n$=He(yz),xv=s.enum(["cloudwatch","s3"]),Sz=s.object({destination:xv.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"),i$=He(Sz),_z=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Ez=He(_z),xz=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)"),Az=He(xz),Iz=s.object({gateway:Ez.optional(),interface:Az.optional()}).strict().describe("VPC endpoints configuration"),o$=He(Iz),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:n$.optional(),flowLogs:i$.optional(),vpcEndpoints:o$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),a$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),s$=Lu.extend({name:a$}).strict(),c$=He(Lu),S5=s.object({appName:ve,networkName:a$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:n$.optional(),flowLogs:i$.optional(),vpcEndpoints:o$.optional()}).strict(),$z=L.CIDR,Av=s.string().regex($z,d.CIDR),Tz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Av),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Rz=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(Av),port:on.optional()}).strict(),Pz=s.discriminatedUnion("kind",[Tz,Rz]),_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:Av.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(),E5=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(Pz).optional()}).strict();var Uu=["storage","cdn","compute"],Cz=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(),u$=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(Cz).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}),R5=s.object({appName:ve,bucketName:LI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(jI).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 Iv=s.enum(["DESTROY","RETAIN"]),l$=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:Iv.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var d$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),m$=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),d$]).optional(),extraProperties:s.array(Re).optional()}).strict(),p$=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),d$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var Nz=Object.defineProperty,$v=(e,t)=>Nz(e,"name",{value:t,configurable:!0}),wz=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 wz.has(t)?"ARM":"STANDARD"}$v($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}}$v(Fu,"validateArchitectureMatch");function f$(e,t){return $i(e)===t}$v(f$,"isArchitectureCompatible");var kz=Object.defineProperty,Bu=(e,t)=>kz(e,"name",{value:t,configurable:!0});var Oz=1,Dz=/^[A-Za-z0-9_.-]+$/,Mz=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(Dz,"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)"})}),jz=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(),jz).optional(),buildSecrets:s.array(Mz).optional()}).strict(),U5=Ot.partial();function zz(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(zz,"mergeDockerBuild");function Tv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Bu(Tv,"isRecord");function g$(e){if(!Tv(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=Tv(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(g$,"normaliseDockerBuild");function Lz(e){if(e===void 0)return;let t=g$(e);return t===void 0?void 0:JSON.stringify(t)}Bu(Lz,"dockerBuildFingerprint");var Uz=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(),Fz=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),Bz=s.object({repositoryName:s.string()}).strict(),Vz=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()}).strict(),Zz=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),Gz=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),F5=s.object({version:s.literal(Oz),generatedAt:s.string(),appName:s.string(),services:s.array(Uz),lambdas:s.array(Vz),pattern:Fz.optional(),ecr:Bz.optional(),stacks:s.record(s.string(),Zz),resourceMap:s.record(s.string(),Gz).optional()}).strict();var Wz=Object.defineProperty,Hz=(e,t)=>Wz(e,"name",{value:t,configurable:!0});function v$(e){return!(e.image!==void 0&&e.docker!==void 0)}Hz(v$,"imageDockerMutexCheck");var b$=s.number().int(d.CAPACITY.MIN.INTEGER).min(bv,d.GENERATOR_CAPACITY.MIN.MIN).max(yv,d.GENERATOR_CAPACITY.MIN.MAX),y$=s.number().int(d.CAPACITY.MAX.INTEGER).min(bv,d.GENERATOR_CAPACITY.MAX.MIN).max(yv,d.GENERATOR_CAPACITY.MAX.MAX),Ti=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(wI,d.LAMBDA.MEMORY.MIN).max(kI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),S$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Rv=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),ca=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(OI,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:na(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"]})}),Kz=s.enum(Qo).describe(`Compute type must be one of: ${Qo.join(", ")}`),Cv=s.enum(yi).describe(`ECS capacity provider must be one of: ${yi.join(", ")}`),Nv=s.string().refine(e=>ct(Tu,e),{message:d.INSTANCE_TYPE}),_$=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(),Yz=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:on.optional(),environment:Ai.optional(),secretsImport:FI.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(),E$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),x$=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"),Xz=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(nn.check,nn.params).describe("ECS service scaling configuration"),A$=s.object({name:E$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(Yz).optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),cpu:Rv.optional(),memoryLimitMiB:na(512).optional(),desiredCount:Zu.optional(),scaling:He(Xz).optional(),capacityProvider:Cv,ec2Config:Pv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Re).optional(),alarms:GI.optional()}).strict().superRefine((e,t)=>{v$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),I$=s.object({name:V,type:Kz,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:x$.optional(),services:s.array(A$).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(Pu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:S$.optional(),environment:Ai.optional(),secrets:Ai.optional(),eventSources:s.array(_$).optional(),functionUrl:s.object({authType:s.enum(ta)}).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:HI.optional(),instanceType:Nv.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"]})}),Y5=s.object({appName:ve,clusterName:V,containerPort:on,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Cv.optional(),useAppEcr:s.boolean().optional(),desiredCount:Zu.optional(),cpu:Rv.optional(),memoryLimitMiB:na(512).optional(),minCapacity:b$.optional(),maxCapacity:y$.optional(),ec2Config:Pv.optional(),connectionConfig:ca.optional()}).strict().refine(nn.check,nn.params),X5=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(Pu,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(MI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ca.optional()}).strict(),J5=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:Nv.optional(),enableSSH:s.boolean().optional(),minCapacity:b$.optional(),maxCapacity:y$.optional(),connectionConfig:ca.optional()}).strict().refine(nn.check,nn.params),Q5=s.object({appName:ve,clusterName:V,serviceName:E$,capacityProvider:Cv,containerPort:on.optional(),cpu:Rv.optional(),memoryLimitMiB:na(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:ca.optional()}).strict(),wv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ca.optional()}).strict(),Jz=wv.extend({type:s.literal("ecs"),cluster:x$.optional(),services:s.array(A$).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}),Qz=wv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Pu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:S$.optional(),environment:Ai.optional(),secrets:Ai.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(ta).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(_$).optional()}).strict(),eL=wv.extend({type:s.literal("ec2"),instanceType:Nv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),eH=s.discriminatedUnion("type",[Jz,Qz,eL]),h$=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(),$$=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:on.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([h$,s.array(h$).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."}))}),tH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var kv=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(),T$=s.object({type:s.enum(vv).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:aa.optional(),readers:sa.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:oa.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(),R$=s.object({server:kv.optional(),imageOptimisation:kv.optional(),revalidation:kv.optional()}).strict(),Ov=s.object({versioned:s.boolean().optional()}).strict(),P$=s.object({assets:Ov.optional(),cache:Ov.optional(),media:Ov.optional()}).strict(),tL=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(),C$=s.object({revalidationQueue:tL.optional()}).strict(),N$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),w$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),rL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:T$.optional(),compute:R$.optional(),storage:P$.optional(),messaging:C$.optional(),cdn:N$.optional(),environment:w$}).strict(),nL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:T$.optional(),compute:R$.optional(),storage:P$.optional(),messaging:C$.optional(),cdn:N$.optional(),environment:w$}).strict(),Dv=s.enum(Uo),iL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),oL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),aL=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(),sL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),Mv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:iL,routing:Dv.optional(),security:oL.optional(),domain:s.string().optional(),forms:aL.optional(),cdn:sL.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.`})}),ua=s.discriminatedUnion("type",[rL,nL,Mv]),k$=s.enum(["lightweight","standard","resilient","custom"]),O$=s.object({type:s.enum(vv),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(),D$=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 M$=s.object({appName:ve,type:Sv,pattern:_v.optional(),patternConfig:ua.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Lu.optional(),backup:VI.optional(),tunnel:ZI.optional(),additionalNetworks:s.array(s$).optional(),database:s.array(KI),s3:s.array(u$),compute:s.array(I$),dynamodb:s.array(t$).optional(),clickhouse:s.array(r$).optional(),sqs:s.array(l$).optional(),cdn:m$.optional(),customCodeBlocks:s.array(BI).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:Sv,pattern:_v.optional(),patternTier:k$.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:Dv.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:O$.optional(),customCompute:D$.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:c$.optional(),services:s.array($$).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"}))}),EH=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 cL=["fjall-managed","external","external-manual"],TH=s.enum(cL);var j$=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(),z$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),uL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:z$}).strict()]),lL=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(z$).optional(),permissionsBoundary:uL.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(),dL=s.object({description:s.string().optional()}).strict(),Gu=s.string().regex(L.EMAIL,d.EMAIL),jv={groups:s.record(s.string(),dL).optional(),permissionSets:s.record(s.string(),lL).optional(),memberships:s.record(s.string(),s.array(Gu)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},mL=s.discriminatedUnion("source",[s.object({...jv,source:s.literal("fjall-managed"),users:s.record(Gu,j$)}).strict(),s.object({...jv,source:s.literal("external")}).strict(),s.object({...jv,source:s.literal("external-manual"),users:s.record(Gu,j$).optional()}).strict()]),RH=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([mL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var pL=Object.defineProperty,fL=(e,t)=>pL(e,"name",{value:t,configurable:!0}),gL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],hL=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(gL).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(),vL=hL.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function bL(e){let t=vL.safeParse(e);if(!t.success){let n=t.error.issues.map(i=>` - ${i.path.join(".")||"(root)"}: ${i.message}`).join(`
187
+ `)}catch{}}Tj(Nj,"writeDebugSync");var wj=Object.defineProperty,bi=(e,t)=>wj(e,"name",{value:t,configurable:!0});function iv(e){return e.success===!0}bi(iv,"isSuccess");function ov(e){return e.success===!1}bi(ov,"isFailure");function C(e){return{success:!0,data:e}}bi(C,"success");function $(e){return{success:!1,error:e}}bi($,"failure");async function av(e){try{let t=await e();return C(t)}catch(t){return $(ht(t))}}bi(av,"tryAsync");function sv(e){try{let t=e();return C(t)}catch(t){return $(ht(t))}}bi(sv,"trySync");var kj=Object.defineProperty,Oj=(e,t)=>kj(e,"name",{value:t,configurable:!0}),_I=/^[a-zA-Z][a-zA-Z0-9-]*$/,Dj=zo.source.replace(/^\^|\$$/g,""),L=Object.freeze({IDENTIFIER:_I,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:_I,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(`^(?:/${Dj})+$`),SECRET_NAME:qc,SSM_COMPONENT:zo,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 cv(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}}Oj(cv,"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:ch,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 Mj=Object.defineProperty,st=(e,t)=>Mj(e,"name",{value:t,configurable:!0}),jj=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],zj=Object.freeze(jj.flatMap(e=>{let t=Rn(e);return t?[t]:[]})),uv=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 lv(e){return qt.includes(e)}st(lv,"isValidRegion");function dv(e){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(e)}st(dv,"isValidRegionFormat");function mv(e){if(!e)return uv.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):uv.slice(0,3)}st(mv,"getSuggestions");function pv(e){if(lv(e))return!0;let t=mv(e);return dv(e)?`Unknown region. Try: ${t.join(", ")}`:`Invalid format. Try: ${t.join(", ")}`}st(pv,"validateRegion");function EI(e){if(!e||e.trim()==="")return!0;let t=bu(e);for(let n of t){let i=pv(n);if(i!==!0)return i}return!0}st(EI,"validateRegionList");function fv(e,t){return e.filter(n=>n!==t)}st(fv,"filterDuplicateRegions");function gv(e){return{label:e.city,value:e.code,description:e.optIn?`${e.code} \u2014 opt-in required`:e.code}}st(gv,"toRegionOption");function xI(){return it.map(gv)}st(xI,"getRegionOptions");function AI(e){return it.filter(t=>t.code!==e).map(gv)}st(AI,"getRegionOptionsExcluding");function II(e){let t=it.find(n=>n.code===e);return t?t.city:e}st(II,"getRegionName");function $I(e){return t=>{let n=bu(t);return fv(n,e)}}st($I,"createRegionFormatter");var yu="3.11.0";var Su=["Aurora","Instance","GlobalAurora","ClickHouse"],yi=["FARGATE","FARGATE_SPOT","EC2"],St=["standard","resilient","enterprise"],_u=["tinkerer","lightweight","standard","resilient","enterprise"],hv="custom",Jo=[..._u,hv];var Lj=Object.defineProperty,Uj=(e,t)=>Lj(e,"name",{value:t,configurable:!0}),Z8=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),Qo=["ecs","lambda","ec2"],Si=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),Eu=["code","container"],ea=Object.freeze({CODE:"code",CONTAINER:"container"}),xu=["ARM_64","X86_64"],TI="ARM_64",ta=["NONE","AWS_IAM"],Au=["public","internal"],Iu=["CPU","MEMORY"],$u=["ARM","STANDARD"],vv=["Instance","Aurora"],_i=["postgresql","mysql"],RI=["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"],PI=[0,1,5,10,15,30,60];function ct(e,t){return e.includes(t)}Uj(ct,"constIncludes");var CI=1,NI=65535,K8=Object.freeze({postgresql:5432,mysql:3306}),wI=128,kI=10240,Ru=1,Pu=900,bv=1,yv=1e3,Ei=100,OI=100;var DI=3e3;var MI=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],jI=["standard","assets","upload","website"],xi=["AES256","KMS"];var Fj=Object.defineProperty,ra=(e,t)=>Fj(e,"name",{value:t,configurable:!0}),He=ra(e=>s.union([s.literal(!1),e]),"optionalOrDisabled"),nn={check:ra(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"]}},na=ra(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),LI=s.string().min(1,d.REQUIRED.BUCKET_NAME).max(63,d.MAX_LENGTH.BUCKET_NAME).regex(L.BUCKET_NAME,d.BUCKET_NAME),UI=s.string().min(1,d.REQUIRED.DATABASE_NAME).max(63,d.MAX_LENGTH.DATABASE_NAME).regex(L.DATABASE_NAME,d.DATABASE_NAME);function Cu(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})}ra(Cu,"identifierSchema");var ve=Cu(d.MAX_LENGTH.APP_NAME),r5=Cu(d.MAX_LENGTH.APP_NAME,L.NEW_APP_NAME,d.NEW_APP_NAME),on=s.number().int(d.PORT.INTEGER).min(CI,d.PORT.MIN).max(NI,d.PORT.MAX),Re=s.object({key:s.string(),sourceText:s.string()}).strict(),Bj=s.object({__identifier:s.string()}).strict(),Vj=s.object({__expression:s.string()}).strict(),Zj=s.object({__call:s.string()}).strict(),Gj=s.union([Bj,Vj,Zj]),Wj=s.union([s.string(),s.number(),s.boolean(),Gj]),Ai=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),Wj),Hj=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`."}),FI=s.record(s.string(),Hj),n5=s.record(s.string(),s.unknown()),Sv=s.enum(Jo).describe(`Application type must be one of: ${Jo.join(", ")}`),_v=s.enum(kt).describe(`OpenNext deployment pattern: ${kt.join(", ")}`),qj=s.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),Kj=s.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),BI=s.object({sourceText:s.string(),position:qj,afterManagedResource:s.object({type:Kj,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(),VI=s.union([s.object({tier:s.enum(St)}).strict(),s.literal(!1)]),ZI=s.union([s.object({instanceType:s.string().optional()}).strict(),s.literal(!1)]),Yj=Cu(d.MAX_LENGTH.ORGANISATION_NAME),Xj=s.string().regex(L.EMAIL,d.EMAIL),zI=s.string().refine(e=>qt.includes(e),{message:d.REGION}),i5=s.object({name:Yj,email:Xj,accountName:s.string().optional(),primaryRegion:zI.optional().default(Tn),secondaryRegions:s.array(zI).optional(),security:s.enum(RI).optional(),force:s.boolean().optional()}).strict();function ia(e){return e.issues.map(t=>`${t.path.length>0?`${t.path.join(".")}: `:""}${t.message}`).join(`
188
+ `)}ra(ia,"getZodErrorMessage");var Ii=s.number().min(1,d.ALARM.PERCENTAGE.MIN).max(100,d.ALARM.PERCENTAGE.MAX),Jj=s.number().min(1,d.ALARM.FREE_STORAGE_GIB.MIN),GI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),memoryThreshold:Ii.optional(),runningTasksMinimum:s.number().int().min(0).optional(),http5xxThreshold:Ii.optional()}).strict()]),WI=s.union([s.literal(!1),s.object({cpuThreshold:Ii.optional(),freeStorageThresholdGiB:Jj.optional(),connectionsThreshold:s.number().int().min(1).optional()}).strict()]),HI=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),oa=s.number().int(d.MONITORING_INTERVAL.INTEGER).refine(e=>ct(PI,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),Qj=s.enum(Su).describe(`Database type must be one of: ${Su.join(", ")}`),ez=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"),tz=s.object({instanceType:s.string().optional(),availabilityZone:s.string().optional()}).strict().describe("Read replica configuration"),rz=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:rz.optional()}).strict().describe("Database credentials configuration"),Ou=He(ez),Du=He(tz),nz=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"),aa=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"),iz=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(nz).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"),sa=He(iz),oz=s.object({awsManaged:s.literal(!0)}).strict(),az=s.object({useCMK:s.literal(!0)}).strict(),qI=s.union([oz,az]),sz=s.object({mode:s.enum(["standard","advanced"]).optional(),encryptionKey:qI.optional()}).strict().describe("Database Insights configuration"),Mu=He(sz),ju=s.object({storageKey:qI.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),KI=s.object({name:V,type:Qj,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:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.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:WI.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(),YI={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()},XI={databaseType:s.literal("Aurora"),writer:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},JI={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:aa.optional(),readers:sa.optional(),backupRetention:Jt.optional(),preferredMaintenanceWindow:s.string().optional(),monitoringInterval:oa.optional(),snapshotIdentifier:s.string().optional(),snapshotUsername:s.string().optional()},QI=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(),e$={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()},cz=zu.extend(YI).strict(),uz=zu.extend(XI).strict(),lz=zu.extend(JI).strict(),dz=QI.extend(e$).strict(),f5=s.discriminatedUnion("databaseType",[cz,uz,lz,dz]),Ev=zu.extend({resourceName:V}).strict(),mz=Ev.extend(YI).strict(),pz=Ev.extend(XI).strict(),fz=Ev.extend(JI).strict(),gz=QI.extend({resourceName:V}).strict(),hz=gz.extend(e$).strict(),g5=s.discriminatedUnion("databaseType",[mz,pz,fz,hz]),h5=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(),vz=["S","N","B"],Nu=s.object({name:s.string(),type:s.enum(vz)}).strict(),t$=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(),bz=s.object({mode:s.literal("s3")}).strict(),r$=s.object({name:V,type:s.literal("ClickHouse"),databaseName:UI,instanceType:s.string().optional(),coldTier:s.union([bz,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 yz=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"),n$=He(yz),xv=s.enum(["cloudwatch","s3"]),Sz=s.object({destination:xv.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"),i$=He(Sz),_z=s.object({s3:s.boolean().optional(),dynamodb:s.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),Ez=He(_z),xz=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)"),Az=He(xz),Iz=s.object({gateway:Ez.optional(),interface:Az.optional()}).strict().describe("VPC endpoints configuration"),o$=He(Iz),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:n$.optional(),flowLogs:i$.optional(),vpcEndpoints:o$.optional(),cidrMask:s.number().int(d.CIDR_MASK.INTEGER).min(16,d.CIDR_MASK.MIN).max(28,d.CIDR_MASK.MAX).optional()}).strict(),a$=s.string().min(1,d.REQUIRED.NETWORK_NAME).max(50,d.MAX_LENGTH.NETWORK_NAME).regex(L.RESOURCE_NAME,d.RESOURCE_NAME),s$=Lu.extend({name:a$}).strict(),c$=He(Lu),_5=s.object({appName:ve,networkName:a$.optional(),maxAzs:s.number().int(d.MAX_AZS.INTEGER).min(1,d.MAX_AZS.MIN).max(3,d.MAX_AZS.MAX).optional(),natGateways:n$.optional(),flowLogs:i$.optional(),vpcEndpoints:o$.optional()}).strict(),$z=L.CIDR,Av=s.string().regex($z,d.CIDR),Tz=s.object({kind:s.literal("database"),resource:s.string().min(1,d.REQUIRED.RESOURCE_REFERENCE),name:V,allowedFromCidrs:s.array(Av),access:s.enum(["read","write","readWrite"]).optional()}).strict(),Rz=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(Av),port:on.optional()}).strict(),Pz=s.discriminatedUnion("kind",[Tz,Rz]),E5=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:Av.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(),x5=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(Pz).optional()}).strict();var Uu=["storage","cdn","compute"],Cz=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(),u$=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(Cz).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}),P5=s.object({appName:ve,bucketName:LI,nameProvidedByFlag:s.boolean().optional(),storagePreset:s.enum(jI).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 Iv=s.enum(["DESTROY","RETAIN"]),l$=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:Iv.optional(),variableName:s.string().optional(),extraProperties:s.array(Re).optional()}).strict();var d$=s.object({type:s.literal("basic-auth"),username:s.string().min(1),password:s.string().min(1)}).strict(),m$=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),d$]).optional(),extraProperties:s.array(Re).optional()}).strict(),p$=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),d$]).optional(),nameProvidedByFlag:s.boolean().optional()}).strict();var Nz=Object.defineProperty,$v=(e,t)=>Nz(e,"name",{value:t,configurable:!0}),wz=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 wz.has(t)?"ARM":"STANDARD"}$v($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}}$v(Fu,"validateArchitectureMatch");function f$(e,t){return $i(e)===t}$v(f$,"isArchitectureCompatible");var kz=Object.defineProperty,Bu=(e,t)=>kz(e,"name",{value:t,configurable:!0});var Oz=1,Dz=/^[A-Za-z0-9_.-]+$/,Mz=s.object({id:s.string().min(1,"buildSecret id cannot be empty").regex(Dz,"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)"})}),jz=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(),jz).optional(),buildSecrets:s.array(Mz).optional()}).strict(),F5=Ot.partial();function zz(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(zz,"mergeDockerBuild");function Tv(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}Bu(Tv,"isRecord");function g$(e){if(!Tv(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=Tv(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(g$,"normaliseDockerBuild");function Lz(e){if(e===void 0)return;let t=g$(e);return t===void 0?void 0:JSON.stringify(t)}Bu(Lz,"dockerBuildFingerprint");var Uz=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(),Fz=s.object({type:s.enum(kt),name:s.string(),source:s.string()}).strict(),Bz=s.object({repositoryName:s.string()}).strict(),Vz=["x86_64","arm64"],Zz=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(Vz).optional()}).strict(),Gz=s.object({templateHash:s.string(),synthTimestamp:s.string()}).strict(),Wz=s.object({constructPath:s.string().max(512),group:s.string().max(128),resourceType:s.string().max(256)}).strict(),B5=s.object({version:s.literal(Oz),generatedAt:s.string(),appName:s.string(),services:s.array(Uz),lambdas:s.array(Zz),pattern:Fz.optional(),ecr:Bz.optional(),stacks:s.record(s.string(),Gz),resourceMap:s.record(s.string(),Wz).optional()}).strict();var Hz=Object.defineProperty,qz=(e,t)=>Hz(e,"name",{value:t,configurable:!0});function v$(e){return!(e.image!==void 0&&e.docker!==void 0)}qz(v$,"imageDockerMutexCheck");var b$=s.number().int(d.CAPACITY.MIN.INTEGER).min(bv,d.GENERATOR_CAPACITY.MIN.MIN).max(yv,d.GENERATOR_CAPACITY.MIN.MAX),y$=s.number().int(d.CAPACITY.MAX.INTEGER).min(bv,d.GENERATOR_CAPACITY.MAX.MIN).max(yv,d.GENERATOR_CAPACITY.MAX.MAX),Ti=s.number().int(d.LAMBDA.MEMORY.INTEGER).min(wI,d.LAMBDA.MEMORY.MIN).max(kI,d.LAMBDA.MEMORY.MAX).refine(e=>e===128||e%64===0,d.LAMBDA.MEMORY.MULTIPLE),S$=s.string().regex(L.LAMBDA_RUNTIME_IDENTIFIER,d.LAMBDA.RUNTIME),Rv=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),ca=s.object({connectToDatabase:s.array(s.string()).optional()}).strict(),Kz=s.object({minSize:s.number().int(d.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,d.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(OI,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:na(128).optional(),warmPool:Kz.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"]})}),Yz=s.enum(Qo).describe(`Compute type must be one of: ${Qo.join(", ")}`),Cv=s.enum(yi).describe(`ECS capacity provider must be one of: ${yi.join(", ")}`),Nv=s.string().refine(e=>ct(Tu,e),{message:d.INSTANCE_TYPE}),_$=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(),Xz=s.object({name:s.string().min(1,d.REQUIRED.CONTAINER_NAME).optional(),image:s.string().optional(),port:on.optional(),environment:Ai.optional(),secretsImport:FI.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(),E$=s.string().min(1,d.REQUIRED.SERVICE_NAME).max(255,d.MAX_LENGTH.SERVICE_NAME).regex(L.ECS_SERVICE_NAME,d.ECS_SERVICE_NAME),x$=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"),Jz=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(nn.check,nn.params).describe("ECS service scaling configuration"),A$=s.object({name:E$,docker:Ot.optional(),needsDatabaseConnection:s.boolean().optional(),needsStorageConnection:s.boolean().optional(),needsMessagingConnection:s.boolean().optional(),image:s.string().optional(),containers:s.array(Xz).optional(),routing:s.union([Vu,s.array(Vu).min(1)]).optional(),cpu:Rv.optional(),memoryLimitMiB:na(512).optional(),desiredCount:Zu.optional(),scaling:He(Jz).optional(),capacityProvider:Cv,ec2Config:Pv.optional(),ssmSecretsPath:s.string().regex(L.SSM_PATH,d.SSM_PATH).optional(),extraProperties:s.array(Re).optional(),alarms:GI.optional()}).strict().superRefine((e,t)=>{v$(e)||t.addIssue({code:"custom",path:["docker"],message:d.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),I$=s.object({name:V,type:Yz,needsConnection:s.boolean(),connectedDatabase:s.array(s.string()).optional(),connectedStorage:s.array(s.string()).optional(),connectedMessaging:s.array(s.string()).optional(),cluster:x$.optional(),services:s.array(A$).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(Pu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:S$.optional(),environment:Ai.optional(),secrets:Ai.optional(),eventSources:s.array(_$).optional(),functionUrl:s.object({authType:s.enum(ta)}).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:HI.optional(),instanceType:Nv.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"]})}),X5=s.object({appName:ve,clusterName:V,containerPort:on,nameProvidedByFlag:s.boolean().optional(),ecrRepository:s.string().optional(),capacityProvider:Cv.optional(),useAppEcr:s.boolean().optional(),desiredCount:Zu.optional(),cpu:Rv.optional(),memoryLimitMiB:na(512).optional(),minCapacity:b$.optional(),maxCapacity:y$.optional(),ec2Config:Pv.optional(),connectionConfig:ca.optional()}).strict().refine(nn.check,nn.params),J5=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(Pu,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(MI)).optional(),corsCredentials:s.boolean().optional(),connectionConfig:ca.optional()}).strict(),Q5=s.object({appName:ve,instanceName:V,nameProvidedByFlag:s.boolean().optional(),instanceType:Nv.optional(),enableSSH:s.boolean().optional(),minCapacity:b$.optional(),maxCapacity:y$.optional(),connectionConfig:ca.optional()}).strict().refine(nn.check,nn.params),eH=s.object({appName:ve,clusterName:V,serviceName:E$,capacityProvider:Cv,containerPort:on.optional(),cpu:Rv.optional(),memoryLimitMiB:na(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:ca.optional()}).strict(),wv=s.object({appName:ve,computeName:V,nameProvidedByFlag:s.boolean().optional(),connectionConfig:ca.optional()}).strict(),Qz=wv.extend({type:s.literal("ecs"),cluster:x$.optional(),services:s.array(A$).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}),eL=wv.extend({type:s.literal("lambda"),timeout:s.number().int(d.LAMBDA.TIMEOUT.INTEGER).min(Ru,d.LAMBDA.TIMEOUT.MIN).max(Pu,d.LAMBDA.TIMEOUT.MAX).optional(),memory:Ti.optional(),handler:s.string().optional(),runtime:S$.optional(),environment:Ai.optional(),secrets:Ai.optional(),description:s.string().optional(),functionUrl:s.union([s.object({authType:s.enum(ta).optional()}).strict(),s.literal(!1)]).optional(),eventSources:s.array(_$).optional()}).strict(),tL=wv.extend({type:s.literal("ec2"),instanceType:Nv.optional(),enableSSH:s.boolean().optional(),keyName:s.string().optional(),userData:s.string().optional(),securityGroups:s.array(s.string()).optional()}).strict(),tH=s.discriminatedUnion("type",[Qz,eL,tL]),h$=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(),$$=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:on.optional(),needsDatabaseConnection:s.boolean().optional(),routing:s.union([h$,s.array(h$).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."}))}),rH=s.object({appName:ve,instanceType:s.string().optional()}).strict();var kv=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(),T$=s.object({type:s.enum(vv).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:aa.optional(),readers:sa.optional(),allowVpcAccess:s.boolean().optional(),monitoringInterval:oa.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(),R$=s.object({server:kv.optional(),imageOptimisation:kv.optional(),revalidation:kv.optional()}).strict(),Ov=s.object({versioned:s.boolean().optional()}).strict(),P$=s.object({assets:Ov.optional(),cache:Ov.optional(),media:Ov.optional()}).strict(),rL=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(),C$=s.object({revalidationQueue:rL.optional()}).strict(),N$=s.object({domainNames:s.array(s.string()).optional(),certificateArn:s.string().optional()}).strict(),w$=s.record(s.string().regex(L.ENV_VAR_NAME,d.ENV_VAR_NAME),s.string()).optional(),nL=s.object({type:s.literal("payload"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:T$.optional(),compute:R$.optional(),storage:P$.optional(),messaging:C$.optional(),cdn:N$.optional(),environment:w$}).strict(),iL=s.object({type:s.literal("nextjs"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),domain:s.string().optional(),database:T$.optional(),compute:R$.optional(),storage:P$.optional(),messaging:C$.optional(),cdn:N$.optional(),environment:w$}).strict(),Dv=s.enum(Uo),oL=s.object({command:s.string().min(1,d.REQUIRED.BUILD_COMMAND),outputDir:s.string().min(1,d.REQUIRED.OUTPUT_DIR)}).strict(),aL=s.object({headers:s.boolean().optional(),contentSecurityPolicy:s.string().optional()}).strict(),sL=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(),cL=s.object({behaviours:s.array(s.unknown()).optional()}).strict(),Mv=s.object({type:s.literal("staticsite"),name:s.string().min(1,d.REQUIRED.PATTERN_NAME),source:s.string().min(1,d.REQUIRED.SOURCE),build:oL,routing:Dv.optional(),security:aL.optional(),domain:s.string().optional(),forms:sL.optional(),cdn:cL.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.`})}),ua=s.discriminatedUnion("type",[nL,iL,Mv]),k$=s.enum(["lightweight","standard","resilient","custom"]),O$=s.object({type:s.enum(vv),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(),D$=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 M$=s.object({appName:ve,type:Sv,pattern:_v.optional(),patternConfig:ua.optional(),owner:s.string().optional(),tags:s.record(s.string(),s.string()).optional(),vpcId:s.string().optional(),network:Lu.optional(),backup:VI.optional(),tunnel:ZI.optional(),additionalNetworks:s.array(s$).optional(),database:s.array(KI),s3:s.array(u$),compute:s.array(I$),dynamodb:s.array(t$).optional(),clickhouse:s.array(r$).optional(),sqs:s.array(l$).optional(),cdn:m$.optional(),customCodeBlocks:s.array(BI).optional(),additionalManagedImports:s.array(s.object({moduleSpecifier:s.string(),namedImports:s.array(s.string()),defaultImport:s.string().optional()}).strict()).optional()}).strict(),EH=s.object({name:ve,type:Sv,pattern:_v.optional(),patternTier:k$.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:Dv.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:O$.optional(),customCompute:D$.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:c$.optional(),services:s.array($$).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"}))}),xH=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 uL=["fjall-managed","external","external-manual"],RH=s.enum(uL);var j$=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(),z$=s.object({name:s.string().min(1),path:s.string().min(1).optional()}).strict(),lL=s.union([s.object({managedPolicyArn:s.string().min(1)}).strict(),s.object({customerManagedPolicy:z$}).strict()]),dL=s.object({managedPolicies:s.array(s.string().min(1)).optional(),inlinePolicy:s.record(s.string(),s.unknown()).optional(),customerManagedPolicies:s.array(z$).optional(),permissionsBoundary:lL.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(),mL=s.object({description:s.string().optional()}).strict(),Gu=s.string().regex(L.EMAIL,d.EMAIL),jv={groups:s.record(s.string(),mL).optional(),permissionSets:s.record(s.string(),dL).optional(),memberships:s.record(s.string(),s.array(Gu)).optional(),resolutionVersion:s.number().int().min(1).optional(),defaultPermissionSets:s.boolean().optional()},pL=s.discriminatedUnion("source",[s.object({...jv,source:s.literal("fjall-managed"),users:s.record(Gu,j$)}).strict(),s.object({...jv,source:s.literal("external")}).strict(),s.object({...jv,source:s.literal("external-manual"),users:s.record(Gu,j$).optional()}).strict()]),PH=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([pL,s.literal(!1)]).optional(),allowedRegions:s.array(s.string().min(1)).optional()}).strict();var fL=Object.defineProperty,gL=(e,t)=>fL(e,"name",{value:t,configurable:!0}),hL=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],vL=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(hL).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(),bL=vL.refine(e=>e.agentMinInstances<=e.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});function yL(e){let t=bL.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}fL(bL,"validateBuildkiteProps");var yL=Object.defineProperty,SL=(e,t)=>yL(e,"name",{value:t,configurable:!0});function _L(e){return`FjallDeployBoundary${e}`}SL(_L,"deployBoundaryName");var zv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},L$=[{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:"*"}],U$=[...L$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],EL=[...U$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],ZH={foundation:[zv,...L$],compliance:[zv,...U$],hardened:[zv,...EL]};var xL=Object.defineProperty,je=(e,t)=>xL(e,"name",{value:t,configurable:!0});var Lv="sts.amazonaws.com";function AL(e){return`FjallDevDeploy${e}`}je(AL,"devDeployRoleName");function IL(e){return`FjallDevProvisioner${e}`}je(IL,"devProvisionerRoleName");function $L(e){return`FjallDevSyncWriter${e}`}je($L,"devSyncWriterRoleName");var TL="FjallDevBoundary";function F$(e){return`arn:aws:iam::${e}:policy/${TL}`}je(F$,"devBoundaryPolicyArn");function B$(e){return`org:${e}:dev-provisioner`}je(B$,"devProvisionerSubject");function V$(e){return`org:${e}:dev-sync`}je(V$,"devSyncSubject");function RL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Lv};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(RL,"buildNarrowedDeployTrustStatements");function PL(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`]:Lv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(PL,"buildDevDeployTrustStatements");function Uv(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`]:Lv,[`${n}:sub`]:r}}}]}je(Uv,"buildServiceSubjectTrustStatements");function CL(e){return Uv({...e,sid:"FjallDevProvisionerSubject",subject:B$(e.fjallOrgId)})}je(CL,"buildDevProvisionerTrustStatements");function NL(e){return Uv({...e,sid:"FjallDevSyncSubject",subject:V$(e.fjallOrgId)})}je(NL,"buildDevSyncWriterTrustStatements");function wL({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(wL,"buildDevDeployPolicyStatements");function kL({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":F$(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(kL,"buildDevProvisionerPolicyStatements");function OL({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(OL,"buildDevSyncWriterPolicyStatements");function DL({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(DL,"buildDevBoundaryStatements");var ML=Object.defineProperty,_t=(e,t)=>ML(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}_t(T,"escapeStringLiteral");function an(e){return e.map(T).join(", ")}_t(an,"formatStringArray");var jL="import:SharedAlarmTopicArn";function sn(e=" "){return`
191
- ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(jL)} } : {}),`}_t(sn,"emitProductionAlertsTopicSpread");function Fv(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(Fv,"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 la(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(la,"resolveResourceVariable");function Z$(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(Z$,"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(Fv(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(Z$(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}gL(yL,"validateBuildkiteProps");var SL=Object.defineProperty,_L=(e,t)=>SL(e,"name",{value:t,configurable:!0});function EL(e){return`FjallDeployBoundary${e}`}_L(EL,"deployBoundaryName");var zv={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},L$=[{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:"*"}],U$=[...L$,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],xL=[...U$,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],GH={foundation:[zv,...L$],compliance:[zv,...U$],hardened:[zv,...xL]};var AL=Object.defineProperty,je=(e,t)=>AL(e,"name",{value:t,configurable:!0});var Lv="sts.amazonaws.com";function IL(e){return`FjallDevDeploy${e}`}je(IL,"devDeployRoleName");function $L(e){return`FjallDevProvisioner${e}`}je($L,"devProvisionerRoleName");function TL(e){return`FjallDevSyncWriter${e}`}je(TL,"devSyncWriterRoleName");var RL="FjallDevBoundary";function F$(e){return`arn:aws:iam::${e}:policy/${RL}`}je(F$,"devBoundaryPolicyArn");function B$(e){return`org:${e}:dev-provisioner`}je(B$,"devProvisionerSubject");function V$(e){return`org:${e}:dev-sync`}je(V$,"devSyncSubject");function PL(e){let{fjallOrgId:t,providerArn:n,issuerDomain:i}=e,r={[`${i}:aud`]:Lv};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(PL,"buildNarrowedDeployTrustStatements");function CL(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`]:Lv},StringLike:{[`${i}:sub`]:`org:${t}:dev:${r}:*`}}}]}je(CL,"buildDevDeployTrustStatements");function Uv(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`]:Lv,[`${n}:sub`]:r}}}]}je(Uv,"buildServiceSubjectTrustStatements");function NL(e){return Uv({...e,sid:"FjallDevProvisionerSubject",subject:B$(e.fjallOrgId)})}je(NL,"buildDevProvisionerTrustStatements");function wL(e){return Uv({...e,sid:"FjallDevSyncSubject",subject:V$(e.fjallOrgId)})}je(wL,"buildDevSyncWriterTrustStatements");function kL({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(kL,"buildDevDeployPolicyStatements");function OL({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":F$(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(OL,"buildDevProvisionerPolicyStatements");function DL({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(DL,"buildDevSyncWriterPolicyStatements");function ML({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(ML,"buildDevBoundaryStatements");var jL=Object.defineProperty,_t=(e,t)=>jL(e,"name",{value:t,configurable:!0});function T(e){return JSON.stringify(e)}_t(T,"escapeStringLiteral");function an(e){return e.map(T).join(", ")}_t(an,"formatStringArray");var zL="import:SharedAlarmTopicArn";function sn(e=" "){return`
191
+ ${e}...(getConfig().environment === "production" ? { alertsTopic: ${T(zL)} } : {}),`}_t(sn,"emitProductionAlertsTopicSpread");function Fv(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(Fv,"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 la(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(la,"resolveResourceVariable");function Z$(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(Z$,"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(Fv(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(Z$(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 zL=Object.defineProperty,ze=(e,t)=>zL(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"}),da=Object.freeze({USERNAME:"username",PASSWORD:"password"});function cn(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(cn,"getConnectedDatabases");function ma(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(ma,"getCredentialExpression");function pa(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,ma(i,da.USERNAME),!0),n(le.PASSWORD,ma(i,da.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}`,ma(o,da.USERNAME),!0),n(`${le.PASSWORD}${a}`,ma(o,da.PASSWORD),!0)}return t}ze(pa,"generateDatabaseEnvVarEntries");function G$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(G$,"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=cn(e,t),o=pa(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 W$(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(W$,"generateDatabaseSharedProps");function H$(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(H$,"generateDatabaseInstanceProps");function q$(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(q$,"generateDatabaseAuroraProps");function K$(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 LL=Object.defineProperty,ze=(e,t)=>LL(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"}),da=Object.freeze({USERNAME:"username",PASSWORD:"password"});function cn(e,t){let n=t.connectedDatabase;return n?.length?e.database.filter(i=>n.includes(i.name)):[]}ze(cn,"getConnectedDatabases");function ma(e,t){return`${e}.getCredentials().getImport(${T(t)})`}ze(ma,"getCredentialExpression");function pa(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,ma(i,da.USERNAME),!0),n(le.PASSWORD,ma(i,da.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}`,ma(o,da.USERNAME),!0),n(`${le.PASSWORD}${a}`,ma(o,da.PASSWORD),!0)}return t}ze(pa,"generateDatabaseEnvVarEntries");function G$(e){return`connections: [${e.map(t=>ie(t)).join(", ")}],`}ze(G$,"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=cn(e,t),o=pa(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 W$(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(W$,"generateDatabaseSharedProps");function H$(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(H$,"generateDatabaseInstanceProps");function q$(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(q$,"generateDatabaseAuroraProps");function K$(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: [${an(e.secondaryRegions)}],`),t+=O(e.globalClusterIdentifier!==void 0,"globalClusterIdentifier",e.globalClusterIdentifier,"string"),t+=O(e.enableGlobalWriteForwarding!==void 0,"enableGlobalWriteForwarding",e.enableGlobalWriteForwarding),t}ze(K$,"generateDatabaseGlobalAuroraProps");function Bv(e,t){return t.compute.some(n=>n.needsConnection&&n.connectedDatabase?.includes(e.name))}ze(Bv,"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=Bv(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 zL
218
218
  backupRetentionDays: ${i.backupRetentionDays},`),t+=fe(i.extraProperties),t+=`
219
219
  })
220
220
  );
221
- `}return t}ze(Ku,"generateClickHouseCode");function Y$(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(Y$,"clickhouseNeedsVariable");var LL=Object.defineProperty,Yu=(e,t)=>LL(e,"name",{value:t,configurable:!0}),fa=Object.freeze({NAME:"BUCKET_NAME"});function un(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}Yu(un,"getConnectedStorage");function ga(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:fa.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${fa.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}Yu(ga,"generateStorageEnvVarEntries");function Xu(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=un(e,t),o=ga(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 UL=Object.defineProperty,Vv=(e,t)=>UL(e,"name",{value:t,configurable:!0}),$r=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function ln(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Vv(ln,"getConnectedMessaging");function ha(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}Vv(ha,"generateMessagingEnvVarEntries");function Ju(e,t){let n={},i={};if(!t.connectedMessaging?.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}}Vv(Ju,"buildMessagingEnvVars");var FL=Object.defineProperty,Pi=(e,t)=>FL(e,"name",{value:t,configurable:!0});function dn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}Pi(dn,"computeHasDatabaseConnections");function mn(e){return!!e.connectedStorage?.length}Pi(mn,"computeHasStorageConnections");function pn(e){return!!e.connectedMessaging?.length}Pi(pn,"computeHasMessagingConnections");function va(e){return dn(e)||mn(e)||pn(e)}Pi(va,"computeHasConnections");var ba={ENVIRONMENT:{__expression:"getConfig().environment"}};function Ci(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
221
+ `}return t}ze(Ku,"generateClickHouseCode");function Y$(e,t){return t.compute.some(n=>n.connectedDatabase?.includes(e.name))}ze(Y$,"clickhouseNeedsVariable");var UL=Object.defineProperty,Yu=(e,t)=>UL(e,"name",{value:t,configurable:!0}),fa=Object.freeze({NAME:"BUCKET_NAME"});function un(e,t){let{connectedStorage:n}=t;return n?.length?e.s3.filter(i=>n.includes(i.name)):[]}Yu(un,"getConnectedStorage");function ga(e){let t=[];if(e.length===1){let n=e[0];if(!n)return t;let i=ie(n);t.push({key:fa.NAME,expression:`${i}.getBucketName()`})}else for(let[n,i]of e.entries()){let r=ie(i),o=n===0?"":`_${n+1}`;t.push({key:`${fa.NAME}${o}`,expression:`${r}.getBucketName()`})}return t}Yu(ga,"generateStorageEnvVarEntries");function Xu(e,t){let n={},i={};if(!t.connectedStorage?.length)return{env:n,secrets:i};let r=un(e,t),o=ga(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 FL=Object.defineProperty,Vv=(e,t)=>FL(e,"name",{value:t,configurable:!0}),$r=Object.freeze({URL:"QUEUE_URL",ARN:"QUEUE_ARN"});function ln(e,t){let{connectedMessaging:n}=t;return n?.length?(e.sqs??[]).filter(i=>n.includes(i.name)):[]}Vv(ln,"getConnectedMessaging");function ha(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}Vv(ha,"generateMessagingEnvVarEntries");function Ju(e,t){let n={},i={};if(!t.connectedMessaging?.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}}Vv(Ju,"buildMessagingEnvVars");var BL=Object.defineProperty,Pi=(e,t)=>BL(e,"name",{value:t,configurable:!0});function dn(e){return!!(e.needsConnection&&e.connectedDatabase?.length)}Pi(dn,"computeHasDatabaseConnections");function mn(e){return!!e.connectedStorage?.length}Pi(mn,"computeHasStorageConnections");function pn(e){return!!e.connectedMessaging?.length}Pi(pn,"computeHasMessagingConnections");function va(e){return dn(e)||mn(e)||pn(e)}Pi(va,"computeHasConnections");var ba={ENVIRONMENT:{__expression:"getConfig().environment"}};function Ci(e,t){return Object.entries(e).map(([n,i])=>`${t}${n}: ${G(i)},`).join(`
222
222
  `)}Pi(Ci,"formatEnvBlock");function Ni(e,t,n){return e.length<=1?`{ ${e[0]??""} }`:`{${e.map(i=>`
223
223
  ${n}${i},`).join("")}
224
- ${t}}`}Pi(Ni,"formatCompactOrExpandedObject");var BL=Object.defineProperty,X$=(e,t)=>BL(e,"name",{value:t,configurable:!0});function ya(e){let t="";if(e.deployment===ea.CODE&&e.codePath?(t+=`
224
+ ${t}}`}Pi(Ni,"formatCompactOrExpandedObject");var VL=Object.defineProperty,X$=(e,t)=>VL(e,"name",{value:t,configurable:!0});function ya(e){let t="";if(e.deployment===ea.CODE&&e.codePath?(t+=`
225
225
  deployment: "${ea.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 @@ ${Ci(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}X$(Sa,"generateLambdaConnectionsCode");var VL=Object.defineProperty,ZL=(e,t)=>VL(e,"name",{value:t,configurable:!0});function _a(e){let t="";return e.instanceType&&(t+=`
249
+ ${Ri(o,a,c)}`,m}X$(Sa,"generateLambdaConnectionsCode");var ZL=Object.defineProperty,GL=(e,t)=>ZL(e,"name",{value:t,configurable:!0});function _a(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}ZL(_a,"generateEc2Code");var GL=Object.defineProperty,Dt=(e,t)=>GL(e,"name",{value:t,configurable:!0});function J$(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}GL(_a,"generateEc2Code");var WL=Object.defineProperty,Dt=(e,t)=>WL(e,"name",{value:t,configurable:!0});function J$(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(J$,"generateEcsServiceEc2ConfigCode");function Q$(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(Q$,"generateEcsClusterCode");function eT(e,t,n,i,r,o){let a="";e.name&&(a+=`
255
255
  name: ${T(e.name)},`),e.image&&(a+=`
@@ -290,14 +290,14 @@ ${Ci(m," ")}
290
290
  ecrRepository: app.getDefaultContainerRegistry(),`;if(c+=Q$(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+=iT({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+=sn(),c}Dt(Ea,"generateEcsCode");var WL=Object.defineProperty,HL=(e,t)=>WL(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+=sn(),c}Dt(Ea,"generateEcsCode");var HL=Object.defineProperty,qL=(e,t)=>HL(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+=ya(r),n+=Sa(r,e);break;case"ec2":n+=_a(r);break;case"ecs":n+=Ea(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}HL(Qu,"generateComputeCode");var qL=Object.defineProperty,wi=(e,t)=>qL(e,"name",{value:t,configurable:!0});function oT(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(oT,"generateS3BucketProps");function Gv(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(Gv,"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=Gv(i,e),a=e.database.length>0||n>0?`
300
+ `)}return n}qL(Qu,"generateComputeCode");var KL=Object.defineProperty,wi=(e,t)=>KL(e,"name",{value:t,configurable:!0});function oT(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(oT,"generateS3BucketProps");function Gv(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(Gv,"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=Gv(i,e),a=e.database.length>0||n>0?`
301
301
  `:"",c=oT(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+=sn(),t+=`
347
347
  })
348
348
  );
349
- `}return t}wi(rl,"generateSQSCode");var KL=Object.defineProperty,lt=(e,t)=>KL(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 fn(e,t,n){return t===void 0?"":`
349
+ `}return t}wi(rl,"generateSQSCode");var YL=Object.defineProperty,lt=(e,t)=>YL(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 fn(e,t,n){return t===void 0?"":`
350
350
  ${n}${e}: ${t},`}lt(fn,"emitScalar");function Mt(e,t,n){return t===void 0?"":`
351
351
  ${n}${e}: ${JSON.stringify(t)},`}lt(Mt,"emitStringField");function xa(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(Aa,"generatePatternCodeWithComments");var YL=Object.defineProperty,er=(e,t)=>YL(e,"name",{value:t,configurable:!0}),Ia="fjall:costAllocation:owner",XL="engineering";function pT(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}er(pT,"isEmptyObject");function Hv(e){let t={...e};return pT(t.flowLogs)&&delete t.flowLogs,t}er(Hv,"cleanNetworkConfig");function $a(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=Hv(r);t+=`const ${i} = app.addNetwork(
382
+ `,n}lt(Aa,"generatePatternCodeWithComments");var XL=Object.defineProperty,er=(e,t)=>XL(e,"name",{value:t,configurable:!0}),Ia="fjall:costAllocation:owner",JL="engineering";function pT(e){return typeof e=="object"&&e!==null&&Object.keys(e).length===0}er(pT,"isEmptyObject");function Hv(e){let t={...e};return pT(t.flowLogs)&&delete t.flowLogs,t}er(Hv,"cleanNetworkConfig");function $a(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=Hv(r);t+=`const ${i} = app.addNetwork(
383
383
  NetworkFactory.build("${n.name}", ${G(o," ")})
384
384
  );
385
385
 
386
- `}return t}er($a,"generateNetworkCode");function nl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[Ia]||(t[Ia]=e.owner||XL),`app.addTags({
386
+ `}return t}er($a,"generateNetworkCode");function nl(e){let t={};return e.tags&&Object.keys(e.tags).length>0&&Object.assign(t,e.tags),t[Ia]||(t[Ia]=e.owner||JL),`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 JL=Object.defineProperty,gn=(e,t)=>JL(e,"name",{value:t,configurable:!0}),Ta="service",qv="0 4 * * ? *",Kv="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:Ta,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:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:30}},compute:{ecs:{services:[{name:Ta,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 QL(e,t){return tr[e].database[t]}gn(QL,"getDatabasePreset");function eU(e){return tr[e].compute.ecs}gn(eU,"getEcsPreset");function Yv(e){return tr[e].network}gn(Yv,"getNetworkPreset");function fT(e){return _u.filter(t=>tr[t].database[e]!==null)}gn(fT,"getAvailableTiersForDatabase");function tU(e){return fT(e).map(t=>({label:tr[t].displayName,value:t,description:tr[t].description}))}gn(tU,"getTierOptionsForDatabase");function Xv(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}gn(Xv,"getDefaultDatabaseTypeForTier");function Jv(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}})}gn(Jv,"applyTierDefaultsToServices");var rU=Object.defineProperty,Qv=(e,t)=>rU(e,"name",{value:t,configurable:!0}),Ra=["lightweight","standard","resilient"],nU=[...Ra,"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]}Qv(ul,"getPatternTierPreset");function gT(){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"}]}Qv(gT,"getPatternTierOptions");var iU=new Set(Ra);function ll(e){return iU.has(e)}Qv(ll,"isPatternTierName");var oU=Object.defineProperty,hT=(e,t)=>oU(e,"name",{value:t,configurable:!0}),vT=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 bT(e){return{...vT[e]}}hT(bT,"getStoragePreset");function yT(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}hT(yT,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var aU=Object.defineProperty,ki=(e,t)=>aU(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 eb(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(eb,"findObjectDeclaration");function Ca(e,t){if(!D.isIdentifier(t.expression))return;let n=eb(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}ki(Ca,"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=Ca(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 sU=Object.defineProperty,J=(e,t)=>sU(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 Pr(e){return dt(e)&&"__expression"in e}J(Pr,"isExpressionRef");function Et(e){return dt(e)&&"__call"in e}J(Et,"isCallRef");function P(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(P,"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(Pr(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 Cr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Cr,"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 Pe(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(Pe,"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:P(e)?t(e):void 0}J(nr,"parseBooleanOrConfig");function Ce(e,t){return P(e)?t(e):void 0}J(Ce,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return P(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as Di from"typescript";var cU=Object.defineProperty,rt=(e,t)=>cU(e,"name",{value:t,configurable:!0});function Na(e){return e!==void 0&&dt(e)}rt(Na,"isEnvironmentRecord");function ST(e){if(!P(e))return;let t={};for(let[n,i]of Object.entries(e))if(P(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(ST,"parseContainerSecretsImport");function _T(e){if(!P(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(_T,"parseContainerHealthCheck");function ET(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:Na(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:ST(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:_T(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(ET,"parseServiceContainer");function xT(e){if(Array.isArray(e))return e.filter(P).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(P(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(xT,"parseServiceRouting");function AT(e){if(e===!1)return!1;if(P(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Iu)}}rt(AT,"parseServiceScaling");var uU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function IT(e){if(!P(e))return;let t=e.warmPool,n=P(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,uU);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(IT,"parseServiceEc2Config");var lU=new Set(["domain","loadBalancer","directAccess"]);function tb(e){if(!P(e))return;let t=e.loadBalancer,n=ce(e,lU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Au),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(tb,"extractClusterConfig");function rb(e){let t=e.containers,n=Array.isArray(t)?t.filter(P).map(ET):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:$T(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:xT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:AT(e.scaling),capacityProvider:U(e.capacityProvider,yi)??"FARGATE",ec2Config:IT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(rb,"parseEcsService");function $T(e){if(!P(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($T,"parseServiceDocker");function wa(e,t){let n=b(e);if(n)return n;if(Pr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(wa,"extractEnumString");function nb(e){return Et(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(nb,"extractCallStringArg");function Ne(e,t,n){n!==void 0&&(e[t]=n)}rt(Ne,"assignIfDefined");var dU=Object.defineProperty,pl=(e,t)=>dU(e,"name",{value:t,configurable:!0}),mU=10;function ib(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(ib,"resolveConnectedDatabaseNames");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,"resolveConnectedStorageNames");function ab(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!P(o)||!P(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<=mU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}pl(ab,"inferDatabaseConnectionsFromEnv");function sb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!P(o)||!P(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}pl(sb,"inferStorageConnectionsFromEnv");var pU=Object.defineProperty,ir=(e,t)=>pU(e,"name",{value:t,configurable:!0});function TT(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(TT,"extractComputeResource");function fl(e){return Pe(e,t=>{if(!Di.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=TT(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 RT(e,t){let n=e.config.docker;if(P(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=tb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>P(o)).map(rb)),gl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}ir(RT,"convertEcsCompute");function PT(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",wa(e.config.runtime,"Runtime")),Na(e.config.environment)&&(t.environment=e.config.environment),Na(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(P(n)){let r=U(wa(n.authType,"FunctionUrlAuthType"),ta);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=nb(i);r&&(t.codePath=r)}Ne(t,"description",b(e.config.lambdaDescription)),Ne(t,"architecture",U(wa(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(PT,"convertLambdaCompute");function CT(e,t){Ne(t,"instanceType",U(e.config.instanceType,Tu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&P(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(CT,"convertEc2Compute");function NT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];P(c)&&(r=c.connections)}if(!r)return;let o=ib(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=ob(r,i);a.length>0&&(e.connectedStorage=a)}ir(NT,"applyConnectionConfig");function wT(e,t){({ecs:RT,lambda:PT,ec2:CT})[e.type]?.(t,e)}ir(wT,"applyTypeSpecificConfig");function cb(e,t,n,i){return e.map(r=>{let o=U(r.config.type,Qo)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return NT(a,r,t,n),wT(a,r),ab(a,r.config.services,i.database),sb(a,r.config.services,i.s3),a})}ir(cb,"convertComputeResources");import*as ft from"typescript";var fU=Object.defineProperty,gU=(e,t)=>fU(e,"name",{value:t,configurable:!0});function hl(e){return Pe(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}})}gU(hl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var hU=Object.defineProperty,ka=(e,t)=>hU(e,"name",{value:t,configurable:!0}),ub=new Set(["S3Bucket"]);function kT(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}ka(kT,"extractS3Resource");function OT(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}}ka(OT,"extractS3FactoryResource");function lb(e){return Pe(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 ub.has(i)?kT(t,n,i):null})}ka(lb,"findS3Resources");function db(e){return Pe(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?OT(t,n):null})}ka(db,"findS3FactoryResources");function mb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...P(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(P).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"):[]}))},...P(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...P(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}:{}})()}))}ka(mb,"convertS3Resources");var vU=Object.defineProperty,hn=(e,t)=>vU(e,"name",{value:t,configurable:!0}),DT=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")}hn(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:MT(n)});continue}if(Q.isVariableStatement(n)){t.push(jT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(zT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}hn(Ke,"classifyStatements");function MT(e){return Q.isStringLiteral(e.moduleSpecifier)?vl(e.moduleSpecifier.text):!1}hn(MT,"isManagedImport");function jT(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(ub.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=pb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}hn(jT,"classifyVariableStatement");function zT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?pb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}hn(zT,"classifyExpressionStatement");function pb(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=LT(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}}hn(pb,"classifyCallExpression");function LT(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}hn(LT,"extractResourceNameFromFactoryCall");import*as UT from"typescript";var bU=Object.defineProperty,vn=(e,t)=>bU(e,"name",{value:t,configurable:!0}),yU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function FT(e){if(!e)return{position:"before-imports"};let t=yU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}vn(FT,"determineCustomBlockPosition");function Oa(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}=FT(o),l=BT(r,a.node),m=VT(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}vn(Oa,"extractCustomCodeBlocks");function BT(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 QL=Object.defineProperty,gn=(e,t)=>QL(e,"name",{value:t,configurable:!0}),Ta="service",qv="0 4 * * ? *",Kv="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:Ta,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:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:14}},compute:{ecs:{services:[{name:Ta,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:qv,backupSchedule:Kv,backupRetentionDays:30}},compute:{ecs:{services:[{name:Ta,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 eU(e,t){return tr[e].database[t]}gn(eU,"getDatabasePreset");function tU(e){return tr[e].compute.ecs}gn(tU,"getEcsPreset");function Yv(e){return tr[e].network}gn(Yv,"getNetworkPreset");function fT(e){return _u.filter(t=>tr[t].database[e]!==null)}gn(fT,"getAvailableTiersForDatabase");function rU(e){return fT(e).map(t=>({label:tr[t].displayName,value:t,description:tr[t].description}))}gn(rU,"getTierOptionsForDatabase");function Xv(e){switch(e){case"tinkerer":case"lightweight":case"standard":return"Instance";case"resilient":case"enterprise":return"Aurora"}}gn(Xv,"getDefaultDatabaseTypeForTier");function Jv(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}})}gn(Jv,"applyTierDefaultsToServices");var nU=Object.defineProperty,Qv=(e,t)=>nU(e,"name",{value:t,configurable:!0}),Ra=["lightweight","standard","resilient"],iU=[...Ra,"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]}Qv(ul,"getPatternTierPreset");function gT(){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"}]}Qv(gT,"getPatternTierOptions");var oU=new Set(Ra);function ll(e){return oU.has(e)}Qv(ll,"isPatternTierName");var aU=Object.defineProperty,hT=(e,t)=>aU(e,"name",{value:t,configurable:!0}),vT=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 bT(e){return{...vT[e]}}hT(bT,"getStoragePreset");function yT(){return[{label:"Standard",value:"standard"},{label:"Assets",value:"assets"},{label:"Upload",value:"upload"},{label:"Website Hosting",value:"website"}]}hT(yT,"getStoragePresetOptions");import*as ge from"typescript";import*as D from"typescript";var sU=Object.defineProperty,ki=(e,t)=>sU(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 eb(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(eb,"findObjectDeclaration");function Ca(e,t){if(!D.isIdentifier(t.expression))return;let n=eb(e,t.expression.text),i=t.name.text;if(n&&n[i]!==void 0)return String(n[i])}ki(Ca,"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=Ca(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 cU=Object.defineProperty,J=(e,t)=>cU(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 Pr(e){return dt(e)&&"__expression"in e}J(Pr,"isExpressionRef");function Et(e){return dt(e)&&"__call"in e}J(Et,"isCallRef");function P(e){return dt(e)&&!("__identifier"in e)&&!("__expression"in e)&&!("__call"in e)&&!("__unknown"in e)}J(P,"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(Pr(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 Cr(e,t){return ge.isPropertyAssignment(e)&&ge.isIdentifier(e.name)&&e.name.text===t}J(Cr,"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 Pe(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(Pe,"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:P(e)?t(e):void 0}J(nr,"parseBooleanOrConfig");function Ce(e,t){return P(e)?t(e):void 0}J(Ce,"parseOptionalConfig");function pt(e,t,n){let i=e[t];return P(i)?n(i):void 0}J(pt,"extractSubConfig");import*as W from"typescript";import*as Di from"typescript";var uU=Object.defineProperty,rt=(e,t)=>uU(e,"name",{value:t,configurable:!0});function Na(e){return e!==void 0&&dt(e)}rt(Na,"isEnvironmentRecord");function ST(e){if(!P(e))return;let t={};for(let[n,i]of Object.entries(e))if(P(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(ST,"parseContainerSecretsImport");function _T(e){if(!P(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(_T,"parseContainerHealthCheck");function ET(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:Na(e.environment)?e.environment:void 0,essential:j(e.essential),command:ue(e.command),entryPoint:ue(e.entryPoint),secretsImport:ST(e.secretsImport),ssmSecrets:ue(e.secrets),healthCheck:_T(e.healthCheck),extraProperties:t.length>0?t:void 0}}rt(ET,"parseServiceContainer");function xT(e){if(Array.isArray(e))return e.filter(P).map(t=>({path:b(t.path),host:b(t.host),priority:R(t.priority),healthCheckPath:b(t.healthCheckPath)}));if(P(e))return{path:b(e.path),host:b(e.host),priority:R(e.priority),healthCheckPath:b(e.healthCheckPath)}}rt(xT,"parseServiceRouting");function AT(e){if(e===!1)return!1;if(P(e))return{minCapacity:R(e.minCapacity),maxCapacity:R(e.maxCapacity),desiredCount:R(e.desiredCount),scalingType:U(e.scalingType,Iu)}}rt(AT,"parseServiceScaling");var lU=new Set(["instanceType","amiHardwareType","minCapacity","maxCapacity","memoryLimitMiB","warmPool"]);function IT(e){if(!P(e))return;let t=e.warmPool,n=P(t)?{minSize:R(t.minSize),reuseOnScaleIn:j(t.reuseOnScaleIn)}:void 0,i=ce(e,lU);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(IT,"parseServiceEc2Config");var dU=new Set(["domain","loadBalancer","directAccess"]);function tb(e){if(!P(e))return;let t=e.loadBalancer,n=ce(e,dU);return{domain:b(e.domain),loadBalancer:t===!1?!1:U(t,Au),directAccess:j(e.directAccess),...n.length>0&&{extraProperties:n}}}rt(tb,"extractClusterConfig");function rb(e){let t=e.containers,n=Array.isArray(t)?t.filter(P).map(ET):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:$T(e.docker),ssmSecretsPath:b(e.ssmSecretsPath),containers:n,routing:xT(e.routing),cpu:R(e.cpu),memoryLimitMiB:R(e.memoryLimitMiB),desiredCount:R(e.desiredCount),scaling:AT(e.scaling),capacityProvider:U(e.capacityProvider,yi)??"FARGATE",ec2Config:IT(e.ec2Config),...i.length>0&&{extraProperties:i}}}rt(rb,"parseEcsService");function $T(e){if(!P(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($T,"parseServiceDocker");function wa(e,t){let n=b(e);if(n)return n;if(Pr(e)&&e.__expression.startsWith(t+"."))return e.__expression.slice(t.length+1)}rt(wa,"extractEnumString");function nb(e){return Et(e)?e.__call.match(/\(\s*"([^"]+)"\s*\)/)?.[1]:void 0}rt(nb,"extractCallStringArg");function Ne(e,t,n){n!==void 0&&(e[t]=n)}rt(Ne,"assignIfDefined");var mU=Object.defineProperty,pl=(e,t)=>mU(e,"name",{value:t,configurable:!0}),pU=10;function ib(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(ib,"resolveConnectedDatabaseNames");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,"resolveConnectedStorageNames");function ab(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];if(!P(o)||!P(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<=pU;c++)(a[`DATABASE_HOST_${c}`]||a[`DATABASE_PORT_${c}`]||a[`DATABASE_NAME_${c}`])&&(e.needsConnection=!0)}pl(ab,"inferDatabaseConnectionsFromEnv");function sb(e,t,n){if(!Array.isArray(t)||t.length===0)return;let i=t[0];if(!P(i))return;let r=i.containers;if(!Array.isArray(r)||r.length===0)return;let o=r[0];!P(o)||!P(o.environment)||o.environment.BUCKET_NAME&&n.length>0&&(e.connectedStorage??[]).length===0&&(e.connectedStorage=[n[0].name])}pl(sb,"inferStorageConnectionsFromEnv");var fU=Object.defineProperty,ir=(e,t)=>fU(e,"name",{value:t,configurable:!0});function TT(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(TT,"extractComputeResource");function fl(e){return Pe(e,t=>{if(!Di.isCallExpression(t)||!xe(t,"addCompute"))return null;let n=t.arguments[0];if(!Le(n,"ComputeFactory"))return null;let i=TT(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 RT(e,t){let n=e.config.docker;if(P(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=tb(i));let r=e.config.services;r!==void 0&&Array.isArray(r)&&(t.services=r.filter(o=>P(o)).map(rb)),gl(e,t,new Set(["type","ecrRepository","docker","cluster","services","connections"]))}ir(RT,"convertEcsCompute");function PT(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",wa(e.config.runtime,"Runtime")),Na(e.config.environment)&&(t.environment=e.config.environment),Na(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(P(n)){let r=U(wa(n.authType,"FunctionUrlAuthType"),ta);r!==void 0&&(t.functionUrl={authType:r})}let i=e.config.code;if(i!==void 0){let r=nb(i);r&&(t.codePath=r)}Ne(t,"description",b(e.config.lambdaDescription)),Ne(t,"architecture",U(wa(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(PT,"convertLambdaCompute");function CT(e,t){Ne(t,"instanceType",U(e.config.instanceType,Tu));let n=e.config.ssh;n===!1?t.enableSSH=!1:n!==void 0&&P(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(CT,"convertEc2Compute");function NT(e,t,n,i){let r=t.config.connections;if(!r&&Array.isArray(t.config.services)){let c=t.config.services[0];P(c)&&(r=c.connections)}if(!r)return;let o=ib(r,n);o.length>0&&(e.needsConnection=!0,e.connectedDatabase=o);let a=ob(r,i);a.length>0&&(e.connectedStorage=a)}ir(NT,"applyConnectionConfig");function wT(e,t){({ecs:RT,lambda:PT,ec2:CT})[e.type]?.(t,e)}ir(wT,"applyTypeSpecificConfig");function cb(e,t,n,i){return e.map(r=>{let o=U(r.config.type,Qo)??"ecs",a={name:r.resourceName,type:o,needsConnection:!1,connectedDatabase:[],...r.variableName&&{variableName:r.variableName}};return NT(a,r,t,n),wT(a,r),ab(a,r.config.services,i.database),sb(a,r.config.services,i.s3),a})}ir(cb,"convertComputeResources");import*as ft from"typescript";var gU=Object.defineProperty,hU=(e,t)=>gU(e,"name",{value:t,configurable:!0});function hl(e){return Pe(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}})}hU(hl,"findSchedules");import*as Q from"typescript";import*as Ue from"typescript";var vU=Object.defineProperty,ka=(e,t)=>vU(e,"name",{value:t,configurable:!0}),ub=new Set(["S3Bucket"]);function kT(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}ka(kT,"extractS3Resource");function OT(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}}ka(OT,"extractS3FactoryResource");function lb(e){return Pe(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 ub.has(i)?kT(t,n,i):null})}ka(lb,"findS3Resources");function db(e){return Pe(e,t=>{if(!Ue.isCallExpression(t)||!xe(t,"addStorage"))return null;let n=t.arguments[0];return Le(n,"StorageFactory")?OT(t,n):null})}ka(db,"findS3FactoryResources");function mb(e){return e.map(t=>({name:t.resourceName,...b(t.config.bucketName)&&{bucketName:b(t.config.bucketName)},...j(t.config.publicReadAccess)===!0&&{publicReadAccess:!0},...P(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(P).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"):[]}))},...P(t.config.deployment)&&(()=>{let n=t.config.deployment;return{deployment:{source:b(n.source)??"",...j(n.prune)!==void 0&&{prune:j(n.prune)},...P(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}:{}})()}))}ka(mb,"convertS3Resources");var bU=Object.defineProperty,hn=(e,t)=>bU(e,"name",{value:t,configurable:!0}),DT=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")}hn(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:MT(n)});continue}if(Q.isVariableStatement(n)){t.push(jT(n,i,r));continue}if(Q.isExpressionStatement(n)){t.push(zT(n,i,r));continue}t.push({type:"custom",node:n,startPos:i,endPos:r,isManaged:!1})}return t}hn(Ke,"classifyStatements");function MT(e){return Q.isStringLiteral(e.moduleSpecifier)?vl(e.moduleSpecifier.text):!1}hn(MT,"isManagedImport");function jT(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(ub.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=pb(i.initializer,e,t,n);if(r.type!=="custom")return r}}return{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}hn(jT,"classifyVariableStatement");function zT(e,t,n){let i=e.expression;return Q.isCallExpression(i)?pb(i,e,t,n):{type:"custom",node:e,startPos:t,endPos:n,isManaged:!1}}hn(zT,"classifyExpressionStatement");function pb(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=LT(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}}hn(pb,"classifyCallExpression");function LT(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}hn(LT,"extractResourceNameFromFactoryCall");import*as UT from"typescript";var yU=Object.defineProperty,vn=(e,t)=>yU(e,"name",{value:t,configurable:!0}),SU={import:"after-imports","app-init":"after-app-init",tags:"after-tags"};function FT(e){if(!e)return{position:"before-imports"};let t=SU[e.type];return t?{position:t}:{position:"after-resource",afterManagedResource:{type:e.type,name:e.resourceName}}}vn(FT,"determineCustomBlockPosition");function Oa(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}=FT(o),l=BT(r,a.node),m=VT(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}vn(Oa,"extractCustomCodeBlocks");function BT(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
- `)}vn(BT,"getStatementTextWithComments");function VT(e,t){let n=[],i=UT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}vn(VT,"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}vn(Mi,"findManagedResourcePosition");function fb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}vn(fb,"getLastManagedStatementOfType");function gb(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}vn(gb,"getManagedResourcesByType");import*as or from"typescript";import*as Ma from"typescript";var SU=Object.defineProperty,hb=(e,t)=>SU(e,"name",{value:t,configurable:!0}),_U=["S","N","B"];function Da(e){if(!P(e))return;let t=b(e.name),n=U(e.type,_U);if(!(!t||!n))return{name:t,type:n}}hb(Da,"parseDynamoDBKey");function vb(e){let t=e.node;if(!Ma.isCallExpression(t))return null;let n=t.arguments[0];if(!Ma.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Ma.isObjectLiteralExpression(i))return null;let r=B(i),o=Da(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=Da(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(P).map(g=>{let v=Da(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=Da(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}hb(vb,"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})}))}hb(bl,"convertDynamoDBResources");import*as ja from"typescript";var EU=Object.defineProperty,ZT=(e,t)=>EU(e,"name",{value:t,configurable:!0}),xU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);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={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:P(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,xU);return p.length>0&&(o.extraProperties=p),o}ZT(bb,"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})}))}ZT(yl,"convertClickHouseResources");var AU=Object.defineProperty,ji=(e,t)=>AU(e,"name",{value:t,configurable:!0});function GT(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(GT,"extractDatabaseEngine");function WT(e){let t=e.engine;if(Et(t))return String(t.__call)}ji(WT,"extractEngineExpression");var IU=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 HT(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:GT(a),engineExpression:WT(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:Ce(a.encryption,mt()),databaseInsights:nr(a.databaseInsights,mt()),proxy:nr(a.proxy,mt()),readReplica:nr(a.readReplica,mt()),credentials:Ce(a.credentials,mt()),writer:Ce(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,IU);return l.length>0&&(c.extraProperties=l),c}ji(HT,"extractDatabaseResource");function yb(e){return Pe(e,t=>{if(!or.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?HT(e,t,n):null})}ji(yb,"findDatabaseResources");function Sb(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=vb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=bb(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}ji(Sb,"splitDatabaseResources");var $U=["Instance","Aurora","GlobalAurora"];function _b(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct($U,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(_b,"convertDatabaseResources");import*as Li from"typescript";var TU=Object.defineProperty,zi=(e,t)=>TU(e,"name",{value:t,configurable:!0});function qT(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(qT,"extractSQSResource");function Eb(e){if(e!=null){if(e===!1)return!1;if(P(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}zi(Eb,"parseDeadLetterQueueConfig");function xb(e){return Pe(e,t=>{if(!Li.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?qT(t,n):null})}zi(xb,"findSQSResources");function Ab(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:YT(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}zi(Ab,"convertSQSResources");var RU=new Set(Iv.options);function KT(e){return RU.has(e)}zi(KT,"isSqsRemovalPolicy");function YT(e){return e!==void 0&&KT(e)?e:void 0}zi(YT,"toSqsRemovalPolicy");import*as Ui from"typescript";var PU=Object.defineProperty,za=(e,t)=>PU(e,"name",{value:t,configurable:!0});function JT(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}}za(JT,"extractCDNResource");function QT(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}za(QT,"resolveOriginIdentifier");var XT=["CACHING_OPTIMIZED","CACHING_DISABLED"];function Ib(e){return et(e,t=>{if(!Ui.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return JT(n)??void 0})}za(Ib,"findCDNResource");function $b(e,t,n){if(!e)return;let i=e,r=i.config,o=za(p=>rr(p)?QT(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(P).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,XT)!==void 0&&{cachePolicy:U(g.cachePolicy,XT)}}));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(P(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}za($b,"convertCDNResource");import*as de from"typescript";var CU=Object.defineProperty,nt=(e,t)=>CU(e,"name",{value:t,configurable:!0}),NU=new Set(xv.options);function e0(e){if(e!==void 0)return NU.has(e)?e:void 0}nt(e0,"asFlowLogDestination");function Tb(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:P(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(Tb,"parseNetworkConfigFields");function t0(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=Tb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(t0,"extractNetworkResource");function Rb(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(Cr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Cr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Rb,"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(Cr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Cr(r,"useExisting"))){let r=B(i.initializer);return Tb(r)}}}})}nt(Pb,"findNetworkConfig");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(Cr(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(Cb,"findBackupConfig");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(Cr(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(Nb,"findTunnelConfig");function wb(e){return Pe(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?t0(t,n):null})}nt(wb,"findNetworkResources");function kb(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:e0(t.destination),retentionDays:t.retentionDays})}}}nt(kb,"buildNetworkFields");function Ob(e){if(e)return kb(e)}nt(Ob,"convertNetworkConfig");function Db(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(St,t))return{tier:t}}nt(Db,"convertBackupConfig");function Mb(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(Mb,"convertTunnelConfig");function jb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...kb(t.config)}))}nt(jb,"convertAdditionalNetworks");import*as Fi from"typescript";var wU=Object.defineProperty,be=(e,t)=>wU(e,"name",{value:t,configurable:!0}),kU=["Instance","Aurora"],OU=["postgresql","mysql"];function Sl(e){if(!P(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 r0(e){return pt(e,"database",t=>({type:U(t.type,kU),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,OU),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:Ce(t.writer,mt()),readers:Oi(t.readers),databaseInsights:Oi(t.databaseInsights),proxy:Oi(t.proxy),credentials:Ce(t.credentials,mt()),encryption:Ce(t.encryption,mt())}))}be(r0,"extractPatternDatabaseConfig");function n0(e){return pt(e,"compute",t=>({server:Ce(t.server,Sl),imageOptimisation:Ce(t.imageOptimisation,Sl),revalidation:Ce(t.revalidation,Sl)}))}be(n0,"extractPatternComputeConfig");function i0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Ce(n.assets,t),cache:Ce(n.cache,t),media:Ce(n.media,t)}))}be(i0,"extractPatternStorageConfig");function o0(e){return pt(e,"messaging",t=>({revalidationQueue:Ce(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:Eb(n.deadLetterQueue)}))}))}be(o0,"extractPatternMessagingConfig");function a0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(a0,"extractPatternCdnConfig");function s0(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(s0,"extractPatternEnvironmentConfig");function c0(e,t){let n=u0(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,Uo),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(c0,"extractStaticSiteConfig");function zb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(zb,"isUnreadableRef");function u0(e){let t=[],n=be((r,o)=>{zb(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(zb(r))t.push(o);else if(P(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(u0,"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 l0(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(l0,"readStaticSiteForms");function d0(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:r0(o),compute:n0(o),storage:i0(o),messaging:o0(o),cdn:a0(o),environment:s0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:c0(o,u),node:e}:null:null}be(d0,"extractPatternResource");function Lb(e){return Pe(e,t=>{if(!Fi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?d0(n,t):null})}be(Lb,"findPatternResources");function Ub(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:l0(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(Ub,"applyPatternConfig");var DU=Object.defineProperty,El=(e,t)=>DU(e,"name",{value:t,configurable:!0});function m0(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(m0,"applyScheduleBackfill");function p0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[Ia]&&(e.owner=t[Ia])}El(p0,"applyTagsAndOwner");function f0(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=>!DT.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(f0,"computeAdditionalManagedImports");function bn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Ub(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Ob(e.network),i.backup=Db(e.backup),i.tunnel=Mb(e.tunnel),i.additionalNetworks=jb(e.networkResources),p0(i,e.tags),i.database=_b(e.databaseResources),i.dynamodb=bl(e.dynamodbResources),i.clickhouse=yl(e.clickhouseResources),i.sqs=Ab(e.sqsResources),i.cdn=$b(e.cdnResource,e.s3Resources,e.computeResources),i.s3=mb(e.s3Resources),i.compute=cb(e.computeResources,e.databaseResources,e.s3Resources,i),m0(i,e.schedules),i.additionalManagedImports=f0(e.imports),n?.skipValidation)return i;try{return M$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=ia(r);throw new Error(`Invalid infrastructure configuration:
431
- ${o}`)}throw r}}El(bn,"convertToResourcePlan");var MU=Object.defineProperty,Bi=(e,t)=>MU(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=g0(n),{appVariableName:r,appName:o}=v0(n),a=Rb(n),c=Pb(n),u=Cb(n),l=Nb(n),m=wb(n),p=yb(n),{databases:g,dynamodb:v,clickhouse:A}=Sb(p),Y=xb(n),z=Ib(n),Se=[...lb(n),...db(n)],pr=fl(n),we=hl(n),te=Lb(n),pe=b0(n),In={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&&(In.customCodeBlocks=Oa(n),In.classifiedStatements=Ke(n)),In}Bi(wr,"parseInfrastructure");function g0(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(g0,"extractImports");function h0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?Pa(e,t.text)??"":W.isPropertyAccessExpression(t)?Ca(e,t)??"":""}Bi(h0,"resolveAppName");function v0(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?h0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Bi(v0,"findAppVariable");function b0(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:Pr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Bi(n,"visit"),n(e),t}Bi(b0,"extractTags");import*as Vi from"typescript";var jU=Object.defineProperty,Ae=(e,t)=>jU(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 Fb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Fb,"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
+ `)}vn(BT,"getStatementTextWithComments");function VT(e,t){let n=[],i=UT.getLeadingCommentRanges(e,t.getFullStart());if(i)for(let r of i){let o=e.slice(r.pos,r.end);n.push(o)}return n}vn(VT,"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}vn(Mi,"findManagedResourcePosition");function fb(e,t,n){let i=n??Ke(e),r=null;for(let o of i)o.type===t&&o.isManaged&&(r=o);return r}vn(fb,"getLastManagedStatementOfType");function gb(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}vn(gb,"getManagedResourcesByType");import*as or from"typescript";import*as Ma from"typescript";var _U=Object.defineProperty,hb=(e,t)=>_U(e,"name",{value:t,configurable:!0}),EU=["S","N","B"];function Da(e){if(!P(e))return;let t=b(e.name),n=U(e.type,EU);if(!(!t||!n))return{name:t,type:n}}hb(Da,"parseDynamoDBKey");function vb(e){let t=e.node;if(!Ma.isCallExpression(t))return null;let n=t.arguments[0];if(!Ma.isCallExpression(n)||n.arguments.length<2)return null;let i=n.arguments[1];if(!Ma.isObjectLiteralExpression(i))return null;let r=B(i),o=Da(r.partitionKey);if(!o)return null;let a={resourceName:e.resourceName,partitionKey:o,node:e.node};e.variableName&&(a.variableName=e.variableName);let c=Da(r.sortKey);if(c&&(a.sortKey=c),Array.isArray(r.globalSecondaryIndexes)){let p=r.globalSecondaryIndexes.filter(P).map(g=>{let v=Da(g.partitionKey);if(!v)return null;let A=b(g.indexName);if(!A)return null;let Y={indexName:A,partitionKey:v},z=Da(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}hb(vb,"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})}))}hb(bl,"convertDynamoDBResources");import*as ja from"typescript";var xU=Object.defineProperty,ZT=(e,t)=>xU(e,"name",{value:t,configurable:!0}),AU=new Set(["type","databaseName","instanceType","coldTier","optimiseSchedule","backupSchedule","backupRetentionDays"]);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={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:P(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,AU);return p.length>0&&(o.extraProperties=p),o}ZT(bb,"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})}))}ZT(yl,"convertClickHouseResources");var IU=Object.defineProperty,ji=(e,t)=>IU(e,"name",{value:t,configurable:!0});function GT(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(GT,"extractDatabaseEngine");function WT(e){let t=e.engine;if(Et(t))return String(t.__call)}ji(WT,"extractEngineExpression");var $U=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 HT(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:GT(a),engineExpression:WT(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:Ce(a.encryption,mt()),databaseInsights:nr(a.databaseInsights,mt()),proxy:nr(a.proxy,mt()),readReplica:nr(a.readReplica,mt()),credentials:Ce(a.credentials,mt()),writer:Ce(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,$U);return l.length>0&&(c.extraProperties=l),c}ji(HT,"extractDatabaseResource");function yb(e){return Pe(e,t=>{if(!or.isCallExpression(t)||!xe(t,"addDatabase"))return null;let n=t.arguments[0];return Le(n,"DatabaseFactory")?HT(e,t,n):null})}ji(yb,"findDatabaseResources");function Sb(e){let t=[],n=[],i=[];for(let r of e)if(r.type==="DynamoDB"){let o=vb(r);o&&n.push(o)}else if(r.type==="ClickHouse"){let o=bb(r);o&&i.push(o)}else t.push(r);return{databases:t,dynamodb:n,clickhouse:i}}ji(Sb,"splitDatabaseResources");var TU=["Instance","Aurora","GlobalAurora"];function _b(e){return e.filter(t=>t.type!=="DynamoDB").map(t=>({name:t.resourceName,type:ct(TU,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(_b,"convertDatabaseResources");import*as Li from"typescript";var RU=Object.defineProperty,zi=(e,t)=>RU(e,"name",{value:t,configurable:!0});function qT(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(qT,"extractSQSResource");function Eb(e){if(e!=null){if(e===!1)return!1;if(P(e))return qe({enabled:j(e.enabled),maxReceiveCount:R(e.maxReceiveCount)})}}zi(Eb,"parseDeadLetterQueueConfig");function xb(e){return Pe(e,t=>{if(!Li.isCallExpression(t)||!xe(t,"addMessaging"))return null;let n=t.arguments[0];return Le(n,"MessagingFactory")?qT(t,n):null})}zi(xb,"findSQSResources");function Ab(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:YT(t.removalPolicy),variableName:t.variableName,extraProperties:t.extraProperties})}))}zi(Ab,"convertSQSResources");var PU=new Set(Iv.options);function KT(e){return PU.has(e)}zi(KT,"isSqsRemovalPolicy");function YT(e){return e!==void 0&&KT(e)?e:void 0}zi(YT,"toSqsRemovalPolicy");import*as Ui from"typescript";var CU=Object.defineProperty,za=(e,t)=>CU(e,"name",{value:t,configurable:!0});function JT(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}}za(JT,"extractCDNResource");function QT(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}za(QT,"resolveOriginIdentifier");var XT=["CACHING_OPTIMIZED","CACHING_DISABLED"];function Ib(e){return et(e,t=>{if(!Ui.isCallExpression(t)||!xe(t,"addCdn"))return;let n=t.arguments[0];if(Le(n,"CdnFactory"))return JT(n)??void 0})}za(Ib,"findCDNResource");function $b(e,t,n){if(!e)return;let i=e,r=i.config,o=za(p=>rr(p)?QT(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(P).map(g=>({pathPattern:b(g.pathPattern)??"",originRef:o(g.origin),...U(g.cachePolicy,XT)!==void 0&&{cachePolicy:U(g.cachePolicy,XT)}}));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(P(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}za($b,"convertCDNResource");import*as de from"typescript";var NU=Object.defineProperty,nt=(e,t)=>NU(e,"name",{value:t,configurable:!0}),wU=new Set(xv.options);function e0(e){if(e!==void 0)return wU.has(e)?e:void 0}nt(e0,"asFlowLogDestination");function Tb(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:P(e.vpcEndpoints)?e.vpcEndpoints:void 0}}nt(Tb,"parseNetworkConfigFields");function t0(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=Tb(o),c={name:r,config:qe({...a}),node:e},u=tt(e);return u&&(c.variableName=u),c}nt(t0,"extractNetworkResource");function Rb(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(Cr(i,"network")&&de.isObjectLiteralExpression(i.initializer)){for(let r of i.initializer.properties)if(Cr(r,"useExisting")&&de.isStringLiteral(r.initializer))return r.initializer.text}}})}nt(Rb,"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(Cr(i,"network")){if(i.initializer.kind===de.SyntaxKind.FalseKeyword)return;if(de.isObjectLiteralExpression(i.initializer)&&!i.initializer.properties.some(r=>Cr(r,"useExisting"))){let r=B(i.initializer);return Tb(r)}}}})}nt(Pb,"findNetworkConfig");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(Cr(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(Cb,"findBackupConfig");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(Cr(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(Nb,"findTunnelConfig");function wb(e){return Pe(e,t=>{if(!de.isCallExpression(t)||!xe(t,"addNetwork"))return null;let n=t.arguments[0];return Le(n,"NetworkFactory")?t0(t,n):null})}nt(wb,"findNetworkResources");function kb(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:e0(t.destination),retentionDays:t.retentionDays})}}}nt(kb,"buildNetworkFields");function Ob(e){if(e)return kb(e)}nt(Ob,"convertNetworkConfig");function Db(e){if(e===void 0)return;if(e===!1)return!1;let t=e.tier;if(ct(St,t))return{tier:t}}nt(Db,"convertBackupConfig");function Mb(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(Mb,"convertTunnelConfig");function jb(e){if(!(!e||e.length===0))return e.map(t=>({name:t.name,...kb(t.config)}))}nt(jb,"convertAdditionalNetworks");import*as Fi from"typescript";var kU=Object.defineProperty,be=(e,t)=>kU(e,"name",{value:t,configurable:!0}),OU=["Instance","Aurora"],DU=["postgresql","mysql"];function Sl(e){if(!P(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 r0(e){return pt(e,"database",t=>({type:U(t.type,OU),databaseName:b(t.databaseName),databaseEngine:U(t.databaseEngine,DU),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:Ce(t.writer,mt()),readers:Oi(t.readers),databaseInsights:Oi(t.databaseInsights),proxy:Oi(t.proxy),credentials:Ce(t.credentials,mt()),encryption:Ce(t.encryption,mt())}))}be(r0,"extractPatternDatabaseConfig");function n0(e){return pt(e,"compute",t=>({server:Ce(t.server,Sl),imageOptimisation:Ce(t.imageOptimisation,Sl),revalidation:Ce(t.revalidation,Sl)}))}be(n0,"extractPatternComputeConfig");function i0(e){let t=be(n=>({versioned:j(n.versioned)}),"parseVersionedConfig");return pt(e,"storage",n=>({assets:Ce(n.assets,t),cache:Ce(n.cache,t),media:Ce(n.media,t)}))}be(i0,"extractPatternStorageConfig");function o0(e){return pt(e,"messaging",t=>({revalidationQueue:Ce(t.revalidationQueue,n=>({visibilityTimeout:R(n.visibilityTimeout),messageRetentionPeriod:R(n.messageRetentionPeriod),maxMessageSize:R(n.maxMessageSize),deadLetterQueue:Eb(n.deadLetterQueue)}))}))}be(o0,"extractPatternMessagingConfig");function a0(e){return pt(e,"cdn",t=>({domainNames:ue(t.domainNames),certificateArn:b(t.certificateArn)}))}be(a0,"extractPatternCdnConfig");function s0(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(s0,"extractPatternEnvironmentConfig");function c0(e,t){let n=u0(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,Uo),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(c0,"extractStaticSiteConfig");function zb(e){return dt(e)&&("__identifier"in e||"__expression"in e||"__call"in e||"__unknown"in e)}be(zb,"isUnreadableRef");function u0(e){let t=[],n=be((r,o)=>{zb(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(zb(r))t.push(o);else if(P(r))for(let c of a)n(r[c],`${o}.${c}`);return t}be(u0,"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 l0(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(l0,"readStaticSiteForms");function d0(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:r0(o),compute:n0(o),storage:i0(o),messaging:o0(o),cdn:a0(o),environment:s0(o)},node:e}:a==="staticsite"?{variableName:c,constructId:r,type:"staticsite",config:c0(o,u),node:e}:null:null}be(d0,"extractPatternResource");function Lb(e){return Pe(e,t=>{if(!Fi.isCallExpression(t)||!xe(t,"addPattern"))return null;let n=t.arguments[0];return Le(n,"PatternFactory")?d0(n,t):null})}be(Lb,"findPatternResources");function Ub(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:l0(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(Ub,"applyPatternConfig");var MU=Object.defineProperty,El=(e,t)=>MU(e,"name",{value:t,configurable:!0});function m0(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(m0,"applyScheduleBackfill");function p0(e,t){Object.keys(t).length>0&&(e.tags={...t}),t[Ia]&&(e.owner=t[Ia])}El(p0,"applyTagsAndOwner");function f0(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=>!DT.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(f0,"computeAdditionalManagedImports");function bn(e,t,n){let i={appName:t,type:"standard",database:[],s3:[],compute:[]};if(Ub(i,e.patternResources),e.vpcId&&(i.vpcId=e.vpcId),i.network=Ob(e.network),i.backup=Db(e.backup),i.tunnel=Mb(e.tunnel),i.additionalNetworks=jb(e.networkResources),p0(i,e.tags),i.database=_b(e.databaseResources),i.dynamodb=bl(e.dynamodbResources),i.clickhouse=yl(e.clickhouseResources),i.sqs=Ab(e.sqsResources),i.cdn=$b(e.cdnResource,e.s3Resources,e.computeResources),i.s3=mb(e.s3Resources),i.compute=cb(e.computeResources,e.databaseResources,e.s3Resources,i),m0(i,e.schedules),i.additionalManagedImports=f0(e.imports),n?.skipValidation)return i;try{return M$.parse(i)}catch(r){if(r instanceof s.ZodError){let o=ia(r);throw new Error(`Invalid infrastructure configuration:
431
+ ${o}`)}throw r}}El(bn,"convertToResourcePlan");var jU=Object.defineProperty,Bi=(e,t)=>jU(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=g0(n),{appVariableName:r,appName:o}=v0(n),a=Rb(n),c=Pb(n),u=Cb(n),l=Nb(n),m=wb(n),p=yb(n),{databases:g,dynamodb:v,clickhouse:A}=Sb(p),Y=xb(n),z=Ib(n),Se=[...lb(n),...db(n)],pr=fl(n),we=hl(n),te=Lb(n),pe=b0(n),In={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&&(In.customCodeBlocks=Oa(n),In.classifiedStatements=Ke(n)),In}Bi(wr,"parseInfrastructure");function g0(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(g0,"extractImports");function h0(e,t){return W.isStringLiteral(t)?t.text:W.isIdentifier(t)?Pa(e,t.text)??"":W.isPropertyAccessExpression(t)?Ca(e,t)??"":""}Bi(h0,"resolveAppName");function v0(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?h0(e,n.initializer.arguments[0]):"";return{appVariableName:i,appName:r}}})??{appVariableName:"",appName:""}}Bi(v0,"findAppVariable");function b0(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:Pr(c)&&(t[a]="default-value")}}W.forEachChild(i,n)}return Bi(n,"visit"),n(e),t}Bi(b0,"extractTags");import*as Vi from"typescript";var zU=Object.defineProperty,Ae=(e,t)=>zU(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 Fb(e,t){return e.filter(n=>n.type===t).pop()}Ae(Fb,"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(bn,"convertToResourcePlan");var MU=Object.defineProperty,Bi=(
439
439
  `)?"":`
440
440
  `;return o+n+a}Ae(_0,"formatCodeForInsertion");function E0(e,t){let{resourceType:n,resourceName:i,newCode:r}=t;try{let o=kr(e),a=Bb(o,e,n,i);if(Vb(a))return a;let c=a,u=c.node.getFullStart(),l=c.endPos,m=e.slice(u,c.node.getStart()),p=x0(m);return{content:e.slice(0,u)+p+r+e.slice(l),success:!0}}catch(o){return Lt(o,e)}}Ae(E0,"updateResourceSurgically");function x0(e){let t=e.match(/^[\s]*[\n\r]+[\s]*/);return t?t[0]:""}Ae(x0,"extractLeadingWhitespace");function A0(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(A0,"insertOrphanMarkers");function I0(e,t){let{resourceType:n,resourceName:i,orphanHandling:r}=t,o=[];try{let a=kr(e),c=Bb(a,e,n,i);if(Vb(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=A0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(I0,"removeResourceSurgically");import*as yn from"typescript";var zU=Object.defineProperty,gt=(e,t)=>zU(e,"name",{value:t,configurable:!0});function P0(e,t){try{let n=kr(e),i=new Set;for(let c of n.statements)yn.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>N0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(yn.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=A0(v,l,n,i)),{content:v,success:!0,warnings:o.length>0?o:void 0}}catch(a){return Lt(a,e)}}Ae(I0,"removeResourceSurgically");import*as yn from"typescript";var LU=Object.defineProperty,gt=(e,t)=>LU(e,"name",{value:t,configurable:!0});function P0(e,t){try{let n=kr(e),i=new Set;for(let c of n.statements)yn.isImportDeclaration(c)&&i.add(c.getText(n).trim());let r=[];for(let c of t){let u=c.trim();[...i].some(l=>N0(l,u))||r.push(u)}if(r.length===0)return{content:e,success:!0};let o=n.statements.filter(yn.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(P0,"ensureImports");function Zb(e){return new Set(e.split(",").map(t=>t.trim()).filter(Boolean))}gt(Zb,"parseNamedImports");function C0(e,t){let n=Zb(e),i=Zb(t);for(let r of i)if(!n.has(r))return!1;return!0}gt(C0,"existingImportCoversRequired");function N0(e,t){let n=e.match($0),i=t.match($0);if(!n||!i||n[1]!==i[1])return!1;let r=e.match(T0),o=t.match(T0);return r&&o?C0(r[1],o[1]):!!r==!!o}gt(N0,"importsAreEquivalent");var $0=/from\s+["']([^"']+)["']/,T0=/\{([^}]+)\}/,R0={"before-imports":0,"after-imports":1,"after-app-init":2,"after-tags":3,"after-resource":4,"end-of-file":5};function w0(e){return[...e].sort((t,n)=>{let i=R0[n.position]-R0[t.position];return i!==0?i:(n.originalLine??0)-(t.originalLine??0)})}gt(w0,"sortCustomBlocksForInsertion");function k0(e,t,n,i){if(n!==null){let o=M0(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(k0,"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=w0(t),c=e;for(let u of a){let l=D0(i,r,u,n,o);c=k0(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 O0(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(O0,"findAfterResourcePosition");function D0(e,t,n,i,r){switch(n.position){case"before-imports":return 0;case"after-imports":return Fb(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 O0(t,n,i,r);case"end-of-file":return e.getEnd();default:return null}}gt(D0,"findCustomCodeInsertPosition");function M0(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(M0,"formatCustomCodeForInsertion");function j0(e){try{let t=function(r){r.kind===yn.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),yn.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(j0,"validateModifiedFile");import*as Ie from"typescript";var La=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),LU=s.object({name:s.string(),type:La,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),UU=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),FU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),UK=s.object({origin:s.string(),ttl:s.number(),records:s.array(LU),delegations:s.array(UU),certificates:s.array(FU)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Tl="ALIAS ";var z0=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()]),L0=z0.options.map(e=>e.shape.kind.value),Gb=s.enum(["A","AAAA"]),Wb=s.enum(["route53","external-delegated","external-records"]),U0=s.enum(["zone","full"]),BU=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(),VU=s.object({kind:s.literal("alias"),type:Gb,name:s.string(),target:z0}).strict(),ZU=s.discriminatedUnion("kind",[BU,VU]),GU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),WU=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),VK=s.object({zoneName:s.string(),registrar:Wb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(ZU),certificates:s.array(GU),delegations:s.array(WU)}).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 HU=Object.defineProperty,me=(e,t)=>HU(e,"name",{value:t,configurable:!0}),B0=Wb.options,F0=U0.options,qU=La.options,KU=Gb.options;function V0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&Z0(r.expression)){let o=G0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return C(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?C(i):C(void 0)}me(V0,"findDomainConstructCall");function Z0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(Z0,"isDomainIdentifier");function G0(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=W0(e);if(o===void 0)return;let a=H0(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(G0,"buildMatch");function W0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(W0,"findContainingTopLevelStatement");function H0(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(H0,"extractDomainVarId");function q0(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${B0.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(q0,"errorMessage");var YU="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 K0(e){let t=B(e),n=U(t.registrar,B0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:Pl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=X0(t.records);if(!r.success)return r;let o=rR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:YU});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:nR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return C({...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,F0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${F0.map(g=>`'${g}'`).join(", ")}`}):C({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return C({...a,registrar:n})}}me(K0,"parseDomainProps");function Y0(e){return q0(e)}me(Y0,"parseDomainErrorMessage");function X0(e){if(e===void 0)return C([]);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(!P(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=J0(i,n);if(!r.success)return r;t.push(r.data)}return C(t)}me(X0,"parseRecordsArray");function J0(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(!KU.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=eR(e.target);return C({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=Q0(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 C(a)}me(J0,"parseRecord");function Q0(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(Q0,"parseRecordValue");function eR(e){if(Et(e))return tR(e);if(P(e)){let t=U(e.kind,L0);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:Pl(e)}}me(eR,"parseTarget");function tR(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=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=Sn(o,0),c=Sn(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=Hb(a,"dnsName"),u=Hb(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(tR,"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 Sn(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(Sn,"extractStringLiteralArg");function Hb(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 Sn([a],0)}}me(Hb,"extractObjectFieldString");function rR(e){if(e===void 0)return C([]);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(!P(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 C(t)}me(rR,"parseCertificatesArray");function nR(e){if(e===void 0||!P(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(nR,"parseStringRecord");function Pl(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=>Pl(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(Pl,"stringifyParsedValue");var XU=Object.defineProperty,Dr=(e,t)=>XU(e,"name",{value:t,configurable:!0});function iR(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(iR,"toUserServiceConfigs");function oR(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:aR(e,c,a,n,r),compute:lR(e,c,a,n,i),network:c.network,backup:c.backup}}Dr(oR,"planApplicationResources");function aR(e,t,n,i,r){let o=Xv(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:$n(e),variableName:`${Qt(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Dr(aR,"buildDatabasePlan");function sR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Dr(sR,"buildScalingConfig");function cR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??DI,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}],...sR(n,i)}}Dr(cR,"buildServiceEntry");function uR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Dr(uR,"resolveClusterConfig");function lR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?Jv(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>cR(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:uR(o.cluster,c),services:a}]}Dr(lR,"buildComputePlan");function Gi(e,t){let n=[ol(e),il(e),nl(e)];if(cl(e))n.push(Aa(e),$a(e));else{let r=sl(e);n.push($a(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?C(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return C(i)}Dr(Gi,"generateInfrastructureFromPlan");var JU=Object.defineProperty,Wi=(e,t)=>JU(e,"name",{value:t,configurable:!0}),QU=Yv("standard");function dR(e){return ua.options.some(t=>t.shape?.type?.value===e)}Wi(dR,"isPatternConfigType");function mR(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: ${[...Ra,"custom"].join(", ")}`));if(!dR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?ul(i):null,g=hR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return C({appName:e,type:"standard",pattern:t,network:p?p.network:QU,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Wi(mR,"planOpenNextResources");function pR(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(pR,"mergeDatabaseConfig");function fR(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Wi(fR,"mergeComputeConfig");function gR(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Wi(gR,"toPatternDatabaseConfig");function hR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?pR(r,u):r,m=u?fR(o,u):o,p={type:e,name:t,domain:i,database:l?gR(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=ua.safeParse(p);return g.success?C(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Wi(hR,"buildPatternConfig");var e4=Object.defineProperty,t4=(e,t)=>e4(e,"name",{value:t,configurable:!0});function vR(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=Mv.safeParse(n);return i.success?C({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}`))}t4(vR,"planStaticSiteResources");var r4=Object.defineProperty,Cl=(e,t)=>r4(e,"name",{value:t,configurable:!0});function bR(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]}Cl(bR,"parseServiceReference");function qb(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Cl(qb,"addResourceConnection");function Nl(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(bR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){qb(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)}}}}Cl(Nl,"applyServiceConnections");function wl(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(qb(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Cl(wl,"applyComputeConnections");var n4=Object.defineProperty,ye=(e,t)=>n4(e,"name",{value:t,configurable:!0});function yR(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(yR,"listAvailableResources");function Ua(e,t){if(wR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return SR(e,t);case"database:proxy":return _R(e,t);case"storage:s3":return C(void 0);case"network":return C(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):C(void 0);case"compute:lambda":return C(void 0);case"cdn":return ER(e,t);case"tunnel":return xR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Ua,"validateResourceAddition");function SR(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.")):C(void 0)}ye(SR,"validateDatabaseAddition");function _R(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.`)):C(void 0)}ye(_R,"validateProxyAddition");function ER(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!Kb(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(!Kb(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return C(void 0)}ye(ER,"validateCdnAddition");function xR(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.")):C(void 0)}ye(xR,"validateTunnelAddition");function kl(e,t){let n=Ua(e,t);if(!n.success)return n;switch(t.type){case"database":return AR(e,t);case"database:proxy":return IR(e,t);case"storage:s3":return $R(e,t);case"network":return TR(e,t);case"compute:ecs":return RR(e,t);case"compute:lambda":return PR(e,t);case"cdn":return CR(e,t);case"tunnel":return NR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(kl,"addResourceToPlan");function AR(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 Yb(o,t.resourceName,"database",t),C(o)}ye(AR,"addDatabase");function IR(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:{},C({...e,database:n})}ye(IR,"addProxy");function $R(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 Yb(c,i,"storage",t),C(c)}ye($R,"addS3");function TR(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 C({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return C({...e,network:{...e.network??{},...n}})}ye(TR,"addNetwork");function RR(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 C({...e,compute:[...e.compute,i]})}ye(RR,"addEcsCompute");function PR(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 C({...e,compute:[...e.compute,i]})}ye(PR,"addLambdaCompute");function CR(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 C({...e,cdn:n})}ye(CR,"addCdn");function NR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return C({...e,tunnel:n})}ye(NR,"addTunnel");function wR(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(wR,"isResourceNameTaken");function Kb(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(Kb,"resourceExistsInPlan");function Yb(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(Yb,"applyConnections");var i4=Object.defineProperty,o4=(e,t)=>i4(e,"name",{value:t,configurable:!0});function kR(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=bn(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=Ua(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?C({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}o4(kR,"generateResourceChange");var a4=Object.defineProperty,Ft=(e,t)=>a4(e,"name",{value:t,configurable:!0}),s4=new Set(La.options);function OR(e){return s4.has(e.toUpperCase())}Ft(OR,"isRecordType");function DR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(DR,"stripTrailingDot");function MR(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(MR,"stripInlineComment");function jR(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(jR,"parseTxtValue");function zR(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(zR,"parseDelegateDirective");function LR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(LR,"parseCertDirective");function UR(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(UR,"tokenise");function FR(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(OR(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=jR(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(FR,"parseRecord");function BR(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=zR(u);v&&o.push(v);continue}let l=MR(u);if(l==="")continue;let m=UR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=DR(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=LR(m);v&&a.push(v);continue}let g=FR(m);g&&r.push(g)}return n?C({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(BR,"parseZoneFile");function VR(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(VR,"resolveAlias");var c4=Object.defineProperty,Xb=(e,t)=>c4(e,"name",{value:t,configurable:!0});function ZR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}Xb(ZR,"padRight");function GR(e,t){let n=ZR(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}`}}Xb(GR,"formatRecord");function WR(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(GR(n,e.ttl));return t.join(`
449
+ `),r}gt(M0,"formatCustomCodeForInsertion");function j0(e){try{let t=function(r){r.kind===yn.SyntaxKind.Unknown&&i.push("Unknown node found in AST - possible parse error"),yn.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(j0,"validateModifiedFile");import*as Ie from"typescript";var La=s.enum(["A","AAAA","CNAME","MX","TXT","NS","SRV","CAA"]),UU=s.object({name:s.string(),type:La,ttl:s.number().optional(),value:s.string(),priority:s.number().optional(),weight:s.number().optional(),port:s.number().optional()}).strict(),FU=s.object({subdomain:s.string(),targetAccount:s.string(),auto:s.boolean()}).strict(),BU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string())}).strict(),FK=s.object({origin:s.string(),ttl:s.number(),records:s.array(UU),delegations:s.array(FU),certificates:s.array(BU)}).strict(),Ut=Object.freeze({ORIGIN:"$ORIGIN",TTL:"$TTL",FJALL_DELEGATE:"$FJALL-DELEGATE",FJALL_CERT:"$FJALL-CERT"}),Tl="ALIAS ";var z0=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()]),L0=z0.options.map(e=>e.shape.kind.value),Gb=s.enum(["A","AAAA"]),Wb=s.enum(["route53","external-delegated","external-records"]),U0=s.enum(["zone","full"]),VU=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(),ZU=s.object({kind:s.literal("alias"),type:Gb,name:s.string(),target:z0}).strict(),GU=s.discriminatedUnion("kind",[VU,ZU]),WU=s.object({domainName:s.string(),subjectAlternativeNames:s.array(s.string()).optional(),transparencyLogging:s.boolean().optional(),cloudFront:s.boolean().optional()}).strict(),HU=s.object({subdomain:s.string(),toAccount:s.string(),auto:s.boolean().optional()}).strict(),ZK=s.object({zoneName:s.string(),registrar:Wb,hostedZoneId:s.string().optional(),delegatedSubdomain:s.string().optional(),adoptedNameServers:s.array(s.string().min(1)).min(1).optional(),records:s.array(GU),certificates:s.array(WU),delegations:s.array(HU)}).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 qU=Object.defineProperty,me=(e,t)=>qU(e,"name",{value:t,configurable:!0}),B0=Wb.options,F0=U0.options,KU=La.options,YU=Gb.options;function V0(e){let t=[],n=me(r=>{if(Ie.isNewExpression(r)&&Z0(r.expression)){let o=G0(r);o!==void 0&&t.push(o)}Ie.forEachChild(r,n)},"visit");if(n(e),t.length===0)return C(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?C(i):C(void 0)}me(V0,"findDomainConstructCall");function Z0(e){return Ie.isIdentifier(e)&&e.text==="Domain"}me(Z0,"isDomainIdentifier");function G0(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=W0(e);if(o===void 0)return;let a=H0(e),c=Ie.isStringLiteral(i)?i.text:void 0;return{callExpression:e,containingStatement:o,propsObjectLiteral:r,domainVarId:a,scopeArgumentText:n.getText(),constructIdLiteral:c}}me(G0,"buildMatch");function W0(e){let t=e;for(;t!==void 0;){if(Ie.isExpressionStatement(t)||Ie.isVariableStatement(t))return t;t=t.parent}}me(W0,"findContainingTopLevelStatement");function H0(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(H0,"extractDomainVarId");function q0(e){switch(e.kind){case"registrar_required":return"'registrar' property is required";case"registrar_unsupported":return`'registrar' must be one of ${B0.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(q0,"errorMessage");var XU="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 K0(e){let t=B(e),n=U(t.registrar,B0);if(n===void 0){let c=t.registrar;if(c===void 0)return $({kind:"registrar_required"});let u=typeof c=="string"?c:Pl(c);return $({kind:"registrar_unsupported",value:u})}let i=b(t.zoneName);if(i===void 0)return $({kind:"missing_field",field:"zoneName"});let r=X0(t.records);if(!r.success)return r;let o=rR(t.certificates);if(!o.success)return o;if(t.delegations!==void 0)return $({kind:"removed_field",field:"delegations",cure:XU});let a={zoneName:i,description:b(t.description),costAllocationEnvironment:b(t.costAllocationEnvironment),tags:nR(t.tags),records:r.data,certificates:o.data};switch(n){case"route53":return C({...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,F0);return t.phase!==void 0&&p===void 0?$({kind:"invalid_literal",field:"phase",reason:`must be one of ${F0.map(g=>`'${g}'`).join(", ")}`}):C({...a,registrar:n,delegatedSubdomain:c,hostedZoneId:u,adoptedNameServers:l,parentDelegationRoleArn:m,phase:p})}case"external-records":return C({...a,registrar:n})}}me(K0,"parseDomainProps");function Y0(e){return q0(e)}me(Y0,"parseDomainErrorMessage");function X0(e){if(e===void 0)return C([]);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(!P(i))return $({kind:"invalid_literal",field:`records[${n}]`,reason:"must be an object literal"});let r=J0(i,n);if(!r.success)return r;t.push(r.data)}return C(t)}me(X0,"parseRecordsArray");function J0(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(!YU.some(u=>u===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`alias records must have type 'A' or 'AAAA', got '${n}'`});let c=eR(e.target);return C({kind:"alias",type:n,name:i,target:c})}if(!KU.some(c=>c===n))return $({kind:"invalid_literal",field:`records[${t}]`,reason:`unsupported record type '${n}'`});let r=Q0(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 C(a)}me(J0,"parseRecord");function Q0(e){if(e===void 0)return;if(typeof e=="string")return e;let t=ue(e);if(t!==void 0)return t}me(Q0,"parseRecordValue");function eR(e){if(Et(e))return tR(e);if(P(e)){let t=U(e.kind,L0);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:Pl(e)}}me(eR,"parseTarget");function tR(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=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"ecs",appName:a}}case"fjallCdn":{let a=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"cdn",appName:a}}case"fjallBucket":{let a=Sn(o,0);return a===void 0?{kind:"dynamic",sourceText:t}:{kind:"bucket",bucketName:a}}case"aliasTo":{if(o.length>=2){let a=Sn(o,0),c=Sn(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=Hb(a,"dnsName"),u=Hb(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(tR,"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 Sn(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(Sn,"extractStringLiteralArg");function Hb(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 Sn([a],0)}}me(Hb,"extractObjectFieldString");function rR(e){if(e===void 0)return C([]);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(!P(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 C(t)}me(rR,"parseCertificatesArray");function nR(e){if(e===void 0||!P(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(nR,"parseStringRecord");function Pl(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=>Pl(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(Pl,"stringifyParsedValue");var JU=Object.defineProperty,Dr=(e,t)=>JU(e,"name",{value:t,configurable:!0});function iR(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(iR,"toUserServiceConfigs");function oR(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:aR(e,c,a,n,r),compute:lR(e,c,a,n,i),network:c.network,backup:c.backup}}Dr(oR,"planApplicationResources");function aR(e,t,n,i,r){let o=Xv(n),a=t.database[o];return!i||a===null?[]:[{name:e,type:o,databaseName:$n(e),variableName:`${Qt(e)}Database`,...a,...r?.snapshotIdentifier!==void 0&&{snapshotIdentifier:r.snapshotIdentifier},...r?.snapshotUsername!==void 0&&{snapshotUsername:r.snapshotUsername}}]}Dr(aR,"buildDatabasePlan");function sR(e,t){if(!(e===void 0&&t===void 0))return{scaling:{...e!==void 0&&{minCapacity:e},...t!==void 0&&{maxCapacity:t}}}}Dr(sR,"buildScalingConfig");function cR(e,t){let{minCapacity:n,maxCapacity:i,...r}=e,o=t?.serviceType==="worker",a=t?.containerPort??DI,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}],...sR(n,i)}}Dr(cR,"buildServiceEntry");function uR(e,t){return t||e?.directAccess===!0?e:{...e,loadBalancer:!1}}Dr(uR,"resolveClusterConfig");function lR(e,t,n,i,r){let o=t.compute.ecs,a=(r&&r.length>0?Jv(n,r):o.services.map((u,l)=>({...u,name:l===0?"api":`service-${l+1}`}))).map((u,l)=>cR(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:uR(o.cluster,c),services:a}]}Dr(lR,"buildComputePlan");function Gi(e,t){let n=[ol(e),il(e),nl(e)];if(cl(e))n.push(Aa(e),$a(e));else{let r=sl(e);n.push($a(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?C(r.content):$(new Error(`Custom code injection failed: ${r.error??"unknown error"}`))}return C(i)}Dr(Gi,"generateInfrastructureFromPlan");var QU=Object.defineProperty,Wi=(e,t)=>QU(e,"name",{value:t,configurable:!0}),e4=Yv("standard");function dR(e){return ua.options.some(t=>t.shape?.type?.value===e)}Wi(dR,"isPatternConfigType");function mR(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: ${[...Ra,"custom"].join(", ")}`));if(!dR(t))return $(new Error(`Unsupported pattern type: ${t}`));let p=m?ul(i):null,g=hR(t,e,{domain:r,database:o,compute:a,cdn:c,environment:u,tierPreset:p});if(!g.success)return g;let v=g.data;return C({appName:e,type:"standard",pattern:t,network:p?p.network:e4,backup:p?p.backup:!1,patternConfig:v,database:[],s3:[],compute:[],tags:l??{}})}Wi(mR,"planOpenNextResources");function pR(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(pR,"mergeDatabaseConfig");function fR(e,t){return{memorySize:e?.memorySize??t.compute.memorySize,timeout:e?.timeout??t.compute.timeout}}Wi(fR,"mergeComputeConfig");function gR(e){let{encryption:t,...n}=e;return{...n,...t&&{encryption:{storageKey:t}}}}Wi(gR,"toPatternDatabaseConfig");function hR(e,t,n){let{domain:i,database:r,compute:o,cdn:a,environment:c,tierPreset:u}=n,l=u?pR(r,u):r,m=u?fR(o,u):o,p={type:e,name:t,domain:i,database:l?gR(l):void 0,compute:m?{server:m}:void 0,cdn:a?{domainNames:a.domainNames,certificateArn:a.certificateArn}:void 0,environment:c},g=ua.safeParse(p);return g.success?C(g.data):$(new Error(`Invalid pattern config: ${g.error.message}`))}Wi(hR,"buildPatternConfig");var t4=Object.defineProperty,r4=(e,t)=>t4(e,"name",{value:t,configurable:!0});function vR(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=Mv.safeParse(n);return i.success?C({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}`))}r4(vR,"planStaticSiteResources");var n4=Object.defineProperty,Cl=(e,t)=>n4(e,"name",{value:t,configurable:!0});function bR(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]}Cl(bR,"parseServiceReference");function qb(e,t,n){n==="database"?(e.needsConnection=!0,e.connectedDatabase=[...new Set([...e.connectedDatabase??[],t])]):e.connectedStorage=[...new Set([...e.connectedStorage??[],t])]}Cl(qb,"addResourceConnection");function Nl(e,t,n,i){let r=new Set(t),o=[...new Set(t.map(bR))];for(let a of o){let c=e.compute.find(u=>u.name===a);if(c?.services){qb(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)}}}}Cl(Nl,"applyServiceConnections");function wl(e,t,n,i){for(let r of e.compute)if(t.includes(r.name)&&(qb(r,n,i),r.services))for(let o of r.services)i==="database"?o.needsDatabaseConnection=!0:o.needsStorageConnection=!0}Cl(wl,"applyComputeConnections");var i4=Object.defineProperty,ye=(e,t)=>i4(e,"name",{value:t,configurable:!0});function yR(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(yR,"listAvailableResources");function Ua(e,t){if(wR(e,t.resourceName))return $(new Error(`Resource name '${t.resourceName}' is already used in this application.`));switch(t.type){case"database":return SR(e,t);case"database:proxy":return _R(e,t);case"storage:s3":return C(void 0);case"network":return C(void 0);case"compute:ecs":return!t.services||t.services.length===0?$(new Error("ECS compute requires at least one service.")):C(void 0);case"compute:lambda":return C(void 0);case"cdn":return ER(e,t);case"tunnel":return xR(e);default:{let n=t;return $(new Error(`Unknown resource type: ${String(n)}`))}}}ye(Ua,"validateResourceAddition");function SR(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.")):C(void 0)}ye(SR,"validateDatabaseAddition");function _R(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.`)):C(void 0)}ye(_R,"validateProxyAddition");function ER(e,t){if(e.cdn)return $(new Error("A CDN is already configured for this application. Remove the existing CDN first."));if(!Kb(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(!Kb(e,n.originRef))return $(new Error(`Behaviour origin '${n.originRef}' not found in plan.`))}return C(void 0)}ye(ER,"validateCdnAddition");function xR(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.")):C(void 0)}ye(xR,"validateTunnelAddition");function kl(e,t){let n=Ua(e,t);if(!n.success)return n;switch(t.type){case"database":return AR(e,t);case"database:proxy":return IR(e,t);case"storage:s3":return $R(e,t);case"network":return TR(e,t);case"compute:ecs":return RR(e,t);case"compute:lambda":return PR(e,t);case"cdn":return CR(e,t);case"tunnel":return NR(e,t);default:{let i=t;return $(new Error(`Unknown resource type: ${String(i)}`))}}}ye(kl,"addResourceToPlan");function AR(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 Yb(o,t.resourceName,"database",t),C(o)}ye(AR,"addDatabase");function IR(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:{},C({...e,database:n})}ye(IR,"addProxy");function $R(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 Yb(c,i,"storage",t),C(c)}ye($R,"addS3");function TR(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 C({...e,additionalNetworks:[...e.additionalNetworks??[],i]})}return C({...e,network:{...e.network??{},...n}})}ye(TR,"addNetwork");function RR(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 C({...e,compute:[...e.compute,i]})}ye(RR,"addEcsCompute");function PR(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 C({...e,compute:[...e.compute,i]})}ye(PR,"addLambdaCompute");function CR(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 C({...e,cdn:n})}ye(CR,"addCdn");function NR(e,t){let n=t.instanceType?{instanceType:t.instanceType}:{};return C({...e,tunnel:n})}ye(NR,"addTunnel");function wR(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(wR,"isResourceNameTaken");function Kb(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(Kb,"resourceExistsInPlan");function Yb(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(Yb,"applyConnections");var o4=Object.defineProperty,a4=(e,t)=>o4(e,"name",{value:t,configurable:!0});function kR(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=bn(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=Ua(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?C({originalContent:e,modifiedContent:c.data,addedResource:{type:n.type,name:n.resourceName}}):$(new Error(`Code generation failed: ${c.error.message}`))}a4(kR,"generateResourceChange");var s4=Object.defineProperty,Ft=(e,t)=>s4(e,"name",{value:t,configurable:!0}),c4=new Set(La.options);function OR(e){return c4.has(e.toUpperCase())}Ft(OR,"isRecordType");function DR(e){return e.endsWith(".")?e.slice(0,-1):e}Ft(DR,"stripTrailingDot");function MR(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(MR,"stripInlineComment");function jR(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(jR,"parseTxtValue");function zR(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(zR,"parseDelegateDirective");function LR(e){if(e.length<2)return;let t=e[1],n=e.slice(2);return{domainName:t,subjectAlternativeNames:n}}Ft(LR,"parseCertDirective");function UR(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(UR,"tokenise");function FR(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(OR(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=jR(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(FR,"parseRecord");function BR(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=zR(u);v&&o.push(v);continue}let l=MR(u);if(l==="")continue;let m=UR(l);if(m.length===0)continue;let p=m[0].toUpperCase();if(p===Ut.ORIGIN){if(m.length<2)continue;n=DR(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=LR(m);v&&a.push(v);continue}let g=FR(m);g&&r.push(g)}return n?C({origin:n,ttl:i,records:r,delegations:o,certificates:a}):$(new Error("Missing $ORIGIN directive"))}Ft(BR,"parseZoneFile");function VR(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(VR,"resolveAlias");var u4=Object.defineProperty,Xb=(e,t)=>u4(e,"name",{value:t,configurable:!0});function ZR(e,t){return e.length>=t?e:e+" ".repeat(t-e.length)}Xb(ZR,"padRight");function GR(e,t){let n=ZR(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}`}}Xb(GR,"formatRecord");function WR(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(GR(n,e.ttl));return t.join(`
451
451
  `)+`
452
- `}Xb(WR,"generateZoneFile");var u4=Object.defineProperty,Jb=(e,t)=>u4(e,"name",{value:t,configurable:!0});function HR(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:qR({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:KR(t)},{path:`${r}/tsconfig.json`,content:d4},{path:`${r}/cdk.json`,content:m4},{path:`${r}/.gitignore`,content:l4}]}Jb(HR,"generateDomainFiles");function qR(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=$e(t.split(".").join("")),o=es(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
+ `}Xb(WR,"generateZoneFile");var l4=Object.defineProperty,Jb=(e,t)=>l4(e,"name",{value:t,configurable:!0});function HR(e){let{domainName:t,hostedZoneId:n,records:i=[]}=e,r=`fjall/domains/${t}`;return[{path:`${r}/infrastructure.ts`,content:qR({domainName:t,records:i,hostedZoneId:n})},{path:`${r}/package.json`,content:KR(t)},{path:`${r}/tsconfig.json`,content:m4},{path:`${r}/cdk.json`,content:p4},{path:`${r}/.gitignore`,content:d4}]}Jb(HR,"generateDomainFiles");function qR(e){let{domainName:t,records:n,hostedZoneId:i}=e,r=$e(t.split(".").join("")),o=es(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
  `}Jb(qR,"generateDefaultInfrastructureTs");function KR(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
- `}Jb(KR,"generateDomainPackageJson");var l4=`node_modules/
479
+ `}Jb(KR,"generateDomainPackageJson");var d4=`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
- `,d4=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
- `,m4=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 YR,normalize as f4}from"node:path";import{readFileSync as g4,existsSync as h4}from"node:fs";var p4=Object.defineProperty,Fe=(e,t)=>p4(e,"name",{value:t,configurable:!0}),_n="fjall";function En(e,t){let n=f4(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}Fe(En,"assertNoTraversal");function v4(){return _n}Fe(v4,"getFjallPath");function b4(e){let t=YR(e);return YR(t)||"."}Fe(b4,"getProjectRoot");function XR(e){if(!h4(e))throw new Error(`Infrastructure file not found: ${e}`);let t=g4(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(XR,"getAppNameFromInfrastructure");function y4(e){let t=xt(e,ty);return XR(t)}Fe(y4,"getAppName");function Qb(e){return En(e,"app name"),xt(_n,e,ty)}Fe(Qb,"getInfrastructurePath");function S4(e){return En(e,"app name"),xt(_n,e)}Fe(S4,"getAppPath");function _4(e){return En(e,"component name"),xt(_n,e)}Fe(_4,"getOrganisationComponentPath");function E4(e){return En(e,"deployment type"),xt(_n,e,"logs")}Fe(E4,"getDeploymentLogsPath");function x4(e){return En(e,"deployment type"),xt(_n,e,"logs","cloudformation")}Fe(x4,"getCloudFormationLogsPath");function JR(){return xt(_n,"domains")}Fe(JR,"getDomainsDir");function ey(e){return En(e,"domain name"),xt(JR(),e)}Fe(ey,"getDomainComponentPath");function A4(e){return xt(ey(e),ty)}Fe(A4,"getDomainInfrastructurePath");function I4(e){return xt(ey(e),$4)}Fe(I4,"getDomainZoneFilePath");var ty="infrastructure.ts",$4="zone.bind",T4="cdk.out";function R4(e){return xt(e,T4)}Fe(R4,"getCdkOutPath");var P4=Object.defineProperty,Mr=(e,t)=>P4(e,"name",{value:t,configurable:!0});function eP(e,t,n){let i=e.root?QR.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 C(void 0)}catch(r){let o=ht(r);return gu.warn("Generator",`Failed to create backup of ${t}`,{error:Nn(o.message)}),$(o)}}Mr(eP,"createInfrastructureBackup");function C4(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}Mr(C4,"pickDefined");function tP(e,t){try{let n=wr(e,{extractCustomCode:!0}),i=bn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),C({parsed:n,plan:i})}catch(n){return $(ht(n))}}Mr(tP,"parseAndBuildPlan");function rP(e,t){let n=tP(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}Mr(rP,"parseAndBuildPlanOrThrow");function nP(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
- ${ia(i.error)}`);return i.data}Mr(nP,"validateGeneratorOptions");function iP(e,t){let n=Qb(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(iP,"readInfrastructureOrThrow");async function ry(e,t,n,i,r){let o=nP(t,n,i),{path:a,content:c}=iP(e,o.appName),{plan:u}=rP(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=oP(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}Mr(ry,"withInfrastructurePlan");function oP(e,t,n,i){let r=Gi(i);if(!r.success)return $(r.error);let o=eP(e,t,n);return o.success?(e.write(t,r.data),C(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}Mr(oP,"generateAndWriteInfrastructure");var fS=bS(pS(),1),OF=Object.defineProperty,Dw=(e,t)=>OF(e,"name",{value:t,configurable:!0});async function gS(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,fS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}Dw(gS,"promptForConnection");async function DF(e,t,n){if(e.length===1)return process.stdout.write(`
487
+ `,m4=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
+ `,p4=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 YR,normalize as g4}from"node:path";import{readFileSync as h4,existsSync as v4}from"node:fs";var f4=Object.defineProperty,Fe=(e,t)=>f4(e,"name",{value:t,configurable:!0}),_n="fjall";function En(e,t){let n=g4(e);if(n.includes("..")||n.startsWith("/"))throw new Error(`Invalid ${t}: path traversal is not allowed`)}Fe(En,"assertNoTraversal");function b4(){return _n}Fe(b4,"getFjallPath");function y4(e){let t=YR(e);return YR(t)||"."}Fe(y4,"getProjectRoot");function XR(e){if(!v4(e))throw new Error(`Infrastructure file not found: ${e}`);let t=h4(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(XR,"getAppNameFromInfrastructure");function S4(e){let t=xt(e,ty);return XR(t)}Fe(S4,"getAppName");function Qb(e){return En(e,"app name"),xt(_n,e,ty)}Fe(Qb,"getInfrastructurePath");function _4(e){return En(e,"app name"),xt(_n,e)}Fe(_4,"getAppPath");function E4(e){return En(e,"component name"),xt(_n,e)}Fe(E4,"getOrganisationComponentPath");function x4(e){return En(e,"deployment type"),xt(_n,e,"logs")}Fe(x4,"getDeploymentLogsPath");function A4(e){return En(e,"deployment type"),xt(_n,e,"logs","cloudformation")}Fe(A4,"getCloudFormationLogsPath");function JR(){return xt(_n,"domains")}Fe(JR,"getDomainsDir");function ey(e){return En(e,"domain name"),xt(JR(),e)}Fe(ey,"getDomainComponentPath");function I4(e){return xt(ey(e),ty)}Fe(I4,"getDomainInfrastructurePath");function $4(e){return xt(ey(e),T4)}Fe($4,"getDomainZoneFilePath");var ty="infrastructure.ts",T4="zone.bind",R4="cdk.out";function P4(e){return xt(e,R4)}Fe(P4,"getCdkOutPath");var C4=Object.defineProperty,Mr=(e,t)=>C4(e,"name",{value:t,configurable:!0});function eP(e,t,n){let i=e.root?QR.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 C(void 0)}catch(r){let o=ht(r);return gu.warn("Generator",`Failed to create backup of ${t}`,{error:Nn(o.message)}),$(o)}}Mr(eP,"createInfrastructureBackup");function N4(e,...t){let n={};for(let i of t)e[i]!==void 0&&(n[i]=e[i]);return n}Mr(N4,"pickDefined");function tP(e,t){try{let n=wr(e,{extractCustomCode:!0}),i=bn(n,t,{skipValidation:!0});return n.customCodeBlocks?.length&&(i.customCodeBlocks=n.customCodeBlocks),C({parsed:n,plan:i})}catch(n){return $(ht(n))}}Mr(tP,"parseAndBuildPlan");function rP(e,t){let n=tP(e,t);if(!n.success)throw new Error(`Failed to parse infrastructure: ${n.error.message}`,{cause:n.error});return n.data}Mr(rP,"parseAndBuildPlanOrThrow");function nP(e,t,n){let i=e.safeParse(t);if(!i.success)throw new Error(`Invalid ${n} generator options:
490
+ ${ia(i.error)}`);return i.data}Mr(nP,"validateGeneratorOptions");function iP(e,t){let n=Qb(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(iP,"readInfrastructureOrThrow");async function ry(e,t,n,i,r){let o=nP(t,n,i),{path:a,content:c}=iP(e,o.appName),{plan:u}=rP(c,o.appName),l=await r({tree:e,validated:o,plan:u,infrastructurePath:a,content:c}),m=oP(e,a,c,l);if(!m.success)throw new Error(m.error.message,{cause:m.error})}Mr(ry,"withInfrastructurePlan");function oP(e,t,n,i){let r=Gi(i);if(!r.success)return $(r.error);let o=eP(e,t,n);return o.success?(e.write(t,r.data),C(void 0)):$(new Error(`Failed to create backup: ${o.error.message}`))}Mr(oP,"generateAndWriteInfrastructure");var fS=bS(pS(),1),DF=Object.defineProperty,Dw=(e,t)=>DF(e,"name",{value:t,configurable:!0});async function gS(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,fS.default)([{type:"confirm",name:"shouldConnect",message:a,initial:!0}]);return c?c.shouldConnect:!1}Dw(gS,"promptForConnection");async function MF(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,fS.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}Dw(DF,"selectResources");var Fr=bS(pS(),1),MF=Object.defineProperty,Yl=(e,t)=>MF(e,"name",{value:t,configurable:!0});function Mw(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(Mw,"collectAvailableOrigins");function hS(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(hS,"validateOriginRef");async function jw(e,t){let n=Mw(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(hS(t.defaultOriginRef,n),t.behaviours)for(let c of t.behaviours)hS(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}Dw(MF,"selectResources");var Fr=bS(pS(),1),jF=Object.defineProperty,Yl=(e,t)=>jF(e,"name",{value:t,configurable:!0});function Mw(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(Mw,"collectAvailableOrigins");function hS(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(hS,"validateOriginRef");async function jw(e,t){let n=Mw(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(hS(t.defaultOriginRef,n),t.behaviours)for(let c of t.behaviours)hS(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 gS(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(jw,"handleCdnOriginSelection");async function zw(e,t){await ry(e,p$,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 jw(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(zw,"cdnGenerator");var DJ=zw;export{zw as cdnGenerator,DJ 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(jw,"handleCdnOriginSelection");async function zw(e,t){await ry(e,p$,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 jw(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(zw,"cdnGenerator");var MJ=zw;export{zw as cdnGenerator,MJ as default};