fjall 15.0.0 → 16.0.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.
- package/bin/.build-source-hash +11 -11
- package/bin/.bundled +2 -2
- package/bin/assets/generators/account/generator.js +1 -1
- package/bin/assets/generators/application/generator.js +1 -1
- package/bin/assets/generators/cdn/generator.js +1 -1
- package/bin/assets/generators/compute/generator.js +1 -1
- package/bin/assets/generators/compute/service/generator.js +1 -1
- package/bin/assets/generators/database/generator.js +1 -1
- package/bin/assets/generators/database/proxy/generator.js +1 -1
- package/bin/assets/generators/domain/generator.js +1 -1
- package/bin/assets/generators/network/generator.js +1 -1
- package/bin/assets/generators/organisation/generator.js +1 -1
- package/bin/assets/generators/shared/files/package.json +2 -2
- package/bin/assets/generators/storage/s3/generator.js +1 -1
- package/bin/assets/generators/tunnel/generator.js +1 -1
- package/bin/fjall.bundle.js +4 -4
- package/package.json +2 -2
package/bin/fjall.bundle.js
CHANGED
|
@@ -7,9 +7,9 @@ const __fjfilename = __fjpath(import.meta.url);
|
|
|
7
7
|
const __fjbinDir = __fjdir(__fjfilename);
|
|
8
8
|
process.env.FJALL_ASSETS_DIR = process.env.FJALL_ASSETS_DIR || __fjjoin(__fjbinDir, "assets");
|
|
9
9
|
process.env.FJALL_BUNDLED = "1";
|
|
10
|
-
globalThis["__FJALL_DEPLOY_CORE_VERSION__"] = "
|
|
10
|
+
globalThis["__FJALL_DEPLOY_CORE_VERSION__"] = "16.0.0";
|
|
11
11
|
|
|
12
|
-
var hfr=Object.create;var Nne=Object.defineProperty;var gfr=Object.getOwnPropertyDescriptor;var yfr=Object.getOwnPropertyNames;var vfr=Object.getPrototypeOf,Sfr=Object.prototype.hasOwnProperty;var Vt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var A=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(n){throw r=[n],n}};var ge=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},Qt=(t,e)=>{for(var r in e)Nne(t,r,{get:e[r],enumerable:!0})},Dlt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of yfr(e))!Sfr.call(t,a)&&a!==r&&Nne(t,a,{get:()=>e[a],enumerable:!(n=gfr(e,a))||n.enumerable});return t};var dc=(t,e,r)=>(r=t!=null?hfr(vfr(t)):{},Dlt(e||!t||!t.__esModule?Nne(r,"default",{value:t,enumerable:!0}):r,t)),mr=t=>Dlt(Nne({},"__esModule",{value:!0}),t);var TM,One=A(()=>{TM={name:"@fjall/cli",version:"15.0.0",repository:{type:"git",url:"git+https://github.com/fjall-tech/fjall.git",directory:"cli"},description:"Fjall CLI helper",private:!0,type:"module",bin:{fjall:"dist/src/cli.js"},files:["dist/"],scripts:{clean:"rm -rf ./dist ./dist.next ./sourcemaps","clean:node":"rm -rf ./node_modules","copy-files":'DEST="${DEST:-dist}"; find generators -type d -name files | while read dir; do mkdir -p "$DEST/$dir" && cp -R "$dir/"* "$DEST/$dir/"; done && cp -R src/proto "./$DEST/src/proto"',build:"rm -rf ./dist.next ./sourcemaps && npx tsc --outDir dist.next && DEST=dist.next npm run copy-files && node ../scripts/minify-dist.mjs dist.next && chmod +x ./dist.next/src/cli.js && rm -rf ./dist && mv ./dist.next ./dist && node ../scripts/stamp-build.mjs",watch:"npm run build && npx tsc-watch","watch:only":'npx tsc-watch --onSuccess "npm run copy-files"',"fjall-cli":"node ./dist/src/cli.js",version:"npx tsx scripts/updateTemplateVersions.ts && node ../scripts/sync-ci-plugin-major.mjs",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json}" "generators/**/*.{ts,tsx,js,jsx,json}"',"format:check":'prettier --check "src/**/*.{ts,tsx,js,jsx,json}" "generators/**/*.{ts,tsx,js,jsx,json}"',lint:"eslint src/ generators/","lint:fix":"eslint src/ generators/ --fix",typecheck:"tsc --noEmit","typecheck:tests":"tsc --noEmit --project tsconfig.test.json","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","typecheck:all":"npm run typecheck && npm run typecheck:tests && npm run typecheck:scripts",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run --config vitest.config.integration.ts","test:integration:watch":"vitest --config vitest.config.integration.ts","test:e2e":"vitest run --config vitest.e2e.config.ts","test:all":"npm run test && npm run test:integration && npm run test:e2e","test:setup":"node scripts/setupTestFixtures.mjs","test:payload-compat":"npx tsx scripts/testPayloadCompatibility.ts","test:payload-compat:e2e":"npx tsx scripts/testPayloadCompatibility.ts --e2e"},engines:{node:">=22.0.0"},author:"",license:"SEE LICENSE IN LICENSE",devDependencies:{"@eslint/js":"^10.0.1","@playwright/test":"^1.62.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/ejs":"^3.1.5","@types/mime-types":"^3.0.1","@types/picomatch":"^4.0.3","@types/prompts":"^2.4.9","@types/proper-lockfile":"^4.1.4","@types/react":"^19.2.17","@types/tar-fs":"^2.0.4","@types/tar-stream":"^3.1.4","@typescript-eslint/eslint-plugin":"^8.65.0","@typescript-eslint/parser":"^8.65.0","@vitest/coverage-v8":"^4.1.10",eslint:"^10.8.0","eslint-plugin-fjall":"file:./eslint-rules","ink-testing-library":"^4.0.0",jsdom:"^30.0.1",prettier:"^3.9.6","react-dom":"^19.2.8","tsc-watch":"^7.2.1",tsx:"^4.23.1","typescript-eslint":"^8.65.0",vitest:"4.1.10"},dependencies:{"@anthropic-ai/sdk":"^0.115.0","@aws-sdk/client-acm":"^3.1098.0","@aws-sdk/client-auto-scaling":"^3.1098.0","@aws-sdk/client-backup":"^3.1098.0","@aws-sdk/client-cloudformation":"^3.1098.0","@aws-sdk/client-cost-explorer":"^3.1098.0","@aws-sdk/client-ec2":"^3.1098.0","@aws-sdk/client-ecr":"^3.1098.0","@aws-sdk/client-ecs":"^3.1098.0","@aws-sdk/client-elasticache":"^3.1098.0","@aws-sdk/client-iam":"^3.1098.0","@aws-sdk/client-identitystore":"^3.1098.0","@aws-sdk/client-lambda":"^3.1098.0","@aws-sdk/client-organizations":"^3.1098.0","@aws-sdk/client-ram":"^3.1098.0","@aws-sdk/client-rds":"^3.1098.0","@aws-sdk/client-route-53":"^3.1098.0","@aws-sdk/client-s3":"^3.1098.0","@aws-sdk/client-secrets-manager":"^3.1098.0","@aws-sdk/client-ssm":"^3.1098.0","@aws-sdk/client-sso":"^3.1098.0","@aws-sdk/client-sso-admin":"^3.1098.0","@aws-sdk/client-sso-oidc":"^3.1098.0","@aws-sdk/client-sts":"^3.1098.0","@fjall/deploy-core":"^15.0.0","@fjall/generator":"^15.0.0","@fjall/util":"^15.0.0","@nx/devkit":"^23.1.0","@opennextjs/aws":"^4.1.0","@smithy/node-http-handler":"^4.9.13","@toon-format/toon":"^4.1.0","aws-cdk":"^2.1134.0",axios:"^1.19.0",chalk:"^6.0.0","cli-cursor":"^5.0.0",commander:"^15.0.0",ejs:"^6.0.1",ink:"^7.1.1","js-yaml":"^5.2.2","mime-types":"^3.0.2",open:"^11.0.0",ora:"^9.4.1",picomatch:"^4.0.5",prompts:"^2.4.2","proper-lockfile":"^4.1.2",protobufjs:"^8.7.1",react:"^19.2.8","tar-fs":"^3.1.3",typescript:"^6.0.3","update-check":"^1.5.4",zod:"^4.4.3"}}});import{join as $h,dirname as Nlt,normalize as wfr}from"node:path";import{readFileSync as Afr,existsSync as Cfr}from"node:fs";function DP(t,e){let r=wfr(t);if(r.includes("..")||r.startsWith("/"))throw new Error(`Invalid ${e}: path traversal is not allowed`)}function Sz(){return _P}function xfr(t){let e=Nlt(t);return Nlt(e)||"."}function $ne(t){if(!Cfr(t))throw new Error(`Infrastructure file not found: ${t}`);let e=Afr(t,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!e||!e[1])throw new Error(`Could not find appName in infrastructure file: ${t}. Expected format: const appName = "yourAppName";`);return e[1]}function om(t){let e=$h(t,ga);return $ne(e)}function Ri(t){return DP(t,"app name"),$h(_P,t,ga)}function En(t){return DP(t,"app name"),$h(_P,t)}function kM(t,e){return $h(e??process.cwd(),En(t))}function My(t){return DP(t,"component name"),$h(_P,t)}function Tfr(t){return DP(t,"deployment type"),$h(_P,t,"logs")}function kfr(t){return DP(t,"deployment type"),$h(_P,t,"logs","cloudformation")}function Mne(){return $h(_P,"domains")}function Wa(t){return DP(t,"domain name"),$h(Mne(),t)}function xd(t){return $h(Wa(t),ga)}function Ifr(t){return $h(Wa(t),Pfr)}function Ly(t){return $h(t,Rfr)}var Efr,Au,_P,ga,Pfr,Rfr,wr=A(()=>{"use strict";Efr=Object.defineProperty,Au=(t,e)=>Efr(t,"name",{value:e,configurable:!0}),_P="fjall";Au(DP,"assertNoTraversal");Au(Sz,"getFjallPath");Au(xfr,"getProjectRoot");Au($ne,"getAppNameFromInfrastructure");Au(om,"getAppName");Au(Ri,"getInfrastructurePath");Au(En,"getAppPath");Au(kM,"resolveAppScaffoldPath");Au(My,"getOrganisationComponentPath");Au(Tfr,"getDeploymentLogsPath");Au(kfr,"getCloudFormationLogsPath");Au(Mne,"getDomainsDir");Au(Wa,"getDomainComponentPath");Au(xd,"getDomainInfrastructurePath");Au(Ifr,"getDomainZoneFilePath");ga="infrastructure.ts",Pfr="zone.bind",Rfr="cdk.out";Au(Ly,"getCdkOutPath")});function Dr(t){return t.replace(/[-_](.)/g,(e,r)=>r.toUpperCase()).replace(/^./,e=>e.toUpperCase())}function mn(t){return t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function qC(t){return mn(t).replace(/-/g,"_")}function DTe(t){return mn(t).replace(/-/g,"_").toUpperCase()}function hf(t){return t.length===0?t:t.charAt(0).toUpperCase()+t.slice(1)}function bz(t){return t.split(".").join("")}function HC(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"")}function NTe(t){let e=t.replace(new RegExp("\\P{ASCII}","gu"),"");return HC(e)===HC(t)&&HC(t)!==""}var _fr,KC,Iw=A(()=>{"use strict";_fr=Object.defineProperty,KC=(t,e)=>_fr(t,"name",{value:e,configurable:!0});KC(Dr,"toPascalCase");KC(mn,"toKebab");KC(qC,"toValidDatabaseName");KC(DTe,"toScreamingSnake");KC(hf,"capitalise");KC(bz,"getSafeZoneName");KC(HC,"accountConstructKey");KC(NTe,"hasAsciiStableConstructKey")});function fn(t){return`${Dr(t.split(".").join(""))}Domain`}function YC(t){return`${t}UsEast1Certificates`}function To(t){let e=t.replace(/\./g,"-");return{hostedZoneId:`${e}-hosted-zone-id`,certificateArn:`${e}-certificate-arn`,certificateHosts:`${e}-certificate-hosts`,usEast1CertificateArn:`${e}-us-east-1-certificate-arn`,usEast1CertificateHosts:`${e}-us-east-1-certificate-hosts`,delegationRoleArn:`${e}-delegation-role-arn`,nameservers:`${e}-nameservers`}}function Ez(t){let e=[],r=[];for(let n of t){let a=[...r,n];r.length>0&&Buffer.byteLength(JSON.stringify(a),"utf8")>OTe?(e.push(r),r=[n]):r=a}return r.length>0&&e.push(r),e.map(n=>JSON.stringify(n))}function NP(t,e){return`${t}-${e}`}function $Te(t){return typeof t.hostedZoneId=="string"}var Dfr,IM,Lne,Olt,OTe,$lt=A(()=>{"use strict";Iw();Dfr=Object.defineProperty,IM=(t,e)=>Dfr(t,"name",{value:e,configurable:!0}),Lne="@";IM(fn,"getDomainStackName");IM(YC,"getDomainUsEast1CertificatesStackName");Olt="full";IM(To,"getDomainExportNames");OTe=1e3;IM(Ez,"serialiseHostsChunks");IM(NP,"hostsExportPartName");IM($Te,"isManagedDomainBinding")});var PS,Mlt=A(()=>{"use strict";PS="backupVault"});var PM,ZC,Llt=A(()=>{"use strict";PM="Approval token: ",ZC="Token: "});function OP(t){return`${Dr(t)}ImageTag`}var Nfr,Ofr,Flt=A(()=>{"use strict";Iw();Nfr=Object.defineProperty,Ofr=(t,e)=>Nfr(t,"name",{value:e,configurable:!0});Ofr(OP,"imageTagParameterName")});function RM(t){return Dr(t.replace(/[^A-Za-z0-9-]/g,""))}function MTe(t,e){let r=RM(t);return e===void 0?r:`${r}-${RM(e)}-`}function wz(t,e){return`${MTe(t,e)}AlbDnsName`}function Az(t,e){return`${MTe(t,e)}AlbHostedZoneId`}function Cz(t){return`${RM(t)}CdnDistributionDomainName`}function xz(t){return`${RM(t)}WebsiteEndpoint`}function Tz(t){return`${RM(t)}WebsiteHostedZoneId`}var $fr,$P,jlt=A(()=>{"use strict";Iw();$fr=Object.defineProperty,$P=(t,e)=>$fr(t,"name",{value:e,configurable:!0});$P(RM,"safeExportToken");$P(MTe,"albExportScope");$P(wz,"albDnsExportName");$P(Az,"albHostedZoneIdExportName");$P(Cz,"cdnDomainExportName");$P(xz,"bucketWebsiteEndpointExportName");$P(Tz,"bucketWebsiteHostedZoneIdExportName")});function le(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let l=i.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];p in s||(s[p]=l[p].bind(s))}}let a=r?.Parent??Object;class o extends a{}Object.defineProperty(o,"name",{value:t});function i(s){var c;let l=r?.Parent?new o:this;n(l,s),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}function Ji(t){return t&&Object.assign(MP,t),MP}var Blt,LTe,FTe,Fy,JC,MP,LP=A(()=>{LTe=Object.freeze({status:"aborted"});FTe=Symbol("zod_brand"),Fy=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},JC=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(Blt=globalThis).__zod_globalConfig??(Blt.__zod_globalConfig={});MP=globalThis.__zod_globalConfig});var tt={};Qt(tt,{BIGINT_FORMAT_RANGES:()=>qTe,Class:()=>BTe,NUMBER_FORMAT_RANGES:()=>KTe,aborted:()=>tx,allowsEval:()=>GTe,assert:()=>Bfr,assertEqual:()=>Mfr,assertIs:()=>Ffr,assertNever:()=>jfr,assertNotEqual:()=>Lfr,assignProp:()=>QC,base64ToUint8Array:()=>Vlt,base64urlToUint8Array:()=>nhr,cached:()=>DM,captureStackTrace:()=>jne,cleanEnum:()=>rhr,cleanRegex:()=>Pz,clone:()=>Td,cloneDef:()=>Vfr,createTransparentProxy:()=>qfr,defineLazy:()=>wn,esc:()=>Fne,escapeRegex:()=>Mh,explicitlyAborted:()=>YTe,extend:()=>Jfr,finalizeIssue:()=>kd,floatSafeRemainder:()=>UTe,getElementAtPath:()=>Gfr,getEnumValues:()=>Iz,getLengthableOrigin:()=>Dz,getParsedType:()=>Kfr,getSizableOrigin:()=>_z,hexToUint8Array:()=>ohr,isObject:()=>FP,isPlainObject:()=>ex,issue:()=>NM,joinValues:()=>Ae,jsonStringifyReplacer:()=>_M,merge:()=>Qfr,mergeDefs:()=>Pw,normalizeParams:()=>st,nullish:()=>XC,numKeys:()=>Hfr,objectClone:()=>Ufr,omit:()=>Zfr,optionalKeys:()=>HTe,parsedType:()=>Ze,partial:()=>ehr,pick:()=>Yfr,prefixIssues:()=>im,primitiveTypes:()=>zTe,promiseAllObject:()=>Wfr,propertyKeyTypes:()=>Rz,randomString:()=>zfr,required:()=>thr,safeExtend:()=>Xfr,shallowClone:()=>WTe,slugify:()=>VTe,stringifyPrimitive:()=>qe,uint8ArrayToBase64:()=>Glt,uint8ArrayToBase64url:()=>ahr,uint8ArrayToHex:()=>ihr,unwrapMessage:()=>kz});function Mfr(t){return t}function Lfr(t){return t}function Ffr(t){}function jfr(t){throw new Error("Unexpected value in exhaustive check")}function Bfr(t){}function Iz(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,a])=>e.indexOf(+n)===-1).map(([n,a])=>a)}function Ae(t,e="|"){return t.map(r=>qe(r)).join(e)}function _M(t,e){return typeof e=="bigint"?e.toString():e}function DM(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function XC(t){return t==null}function Pz(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function UTe(t,e){let r=t/e,n=Math.round(r),a=Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<a?0:r-n}function wn(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==Ult)return n===void 0&&(n=Ult,n=r()),n},set(a){Object.defineProperty(t,e,{value:a})},configurable:!0})}function Ufr(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function QC(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Pw(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function Vfr(t){return Pw(t._zod.def)}function Gfr(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Wfr(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let a={};for(let o=0;o<e.length;o++)a[e[o]]=n[o];return a})}function zfr(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Fne(t){return JSON.stringify(t)}function VTe(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function FP(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ex(t){if(FP(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(FP(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function WTe(t){return ex(t)?{...t}:Array.isArray(t)?[...t]:t instanceof Map?new Map(t):t instanceof Set?new Set(t):t}function Hfr(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}function Mh(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Td(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function st(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function qfr(t){let e;return new Proxy({},{get(r,n,a){return e??(e=t()),Reflect.get(e,n,a)},set(r,n,a,o){return e??(e=t()),Reflect.set(e,n,a,o)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,a){return e??(e=t()),Reflect.defineProperty(e,n,a)}})}function qe(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function HTe(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function Yfr(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Pw(t._zod.def,{get shape(){let i={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(i[s]=r.shape[s])}return QC(this,"shape",i),i},checks:[]});return Td(t,o)}function Zfr(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Pw(t._zod.def,{get shape(){let i={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete i[s]}return QC(this,"shape",i),i},checks:[]});return Td(t,o)}function Jfr(t,e){if(!ex(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let o=t._zod.def.shape;for(let i in e)if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let a=Pw(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e};return QC(this,"shape",o),o}});return Td(t,a)}function Xfr(t,e){if(!ex(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pw(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return QC(this,"shape",n),n}});return Td(t,r)}function Qfr(t,e){if(t._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Pw(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return QC(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:e._zod.def.checks??[]});return Td(t,r)}function ehr(t,e,r){let a=e._zod.def.checks;if(a&&a.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let i=Pw(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let l in r){if(!(l in s))throw new Error(`Unrecognized key: "${l}"`);r[l]&&(c[l]=t?new t({type:"optional",innerType:s[l]}):s[l])}else for(let l in s)c[l]=t?new t({type:"optional",innerType:s[l]}):s[l];return QC(this,"shape",c),c},checks:[]});return Td(e,i)}function thr(t,e,r){let n=Pw(e._zod.def,{get shape(){let a=e._zod.def.shape,o={...a};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new t({type:"nonoptional",innerType:a[i]}))}else for(let i in a)o[i]=new t({type:"nonoptional",innerType:a[i]});return QC(this,"shape",o),o}});return Td(e,n)}function tx(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function YTe(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue===!1)return!0;return!1}function im(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function kz(t){return typeof t=="string"?t:t?.message}function kd(t,e,r){let n=t.message?t.message:kz(t.inst?._zod.def?.error?.(t))??kz(e?.error?.(t))??kz(r.customError?.(t))??kz(r.localeError?.(t))??"Invalid input",{inst:a,continue:o,input:i,...s}=t;return s.path??(s.path=[]),s.message=n,e?.reportInput&&(s.input=i),s}function _z(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Dz(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ze(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function NM(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function rhr(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Vlt(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}function Glt(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function nhr(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return Vlt(e+r)}function ahr(t){return Glt(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ohr(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=Number.parseInt(e.slice(n,n+2),16);return r}function ihr(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var Ult,jne,GTe,Kfr,Rz,zTe,KTe,qTe,BTe,Kt=A(()=>{LP();Ult=Symbol("evaluating");jne="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};GTe=DM(()=>{if(MP.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});Kfr=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Rz=new Set(["string","number","symbol"]),zTe=new Set(["string","number","bigint","boolean","symbol","undefined"]);KTe={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]},qTe={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};BTe=class{constructor(...e){}}});function Oz(t,e=r=>r.message){let r={},n=[];for(let a of t.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:r}}function $z(t,e=r=>r.message){let r={_errors:[]},n=(a,o=[])=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(s=>n({issues:s},[...o,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...o,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...o,...i.path]);else{let s=[...o,...i.path];if(s.length===0)r._errors.push(e(i));else{let c=r,l=0;for(;l<s.length;){let u=s[l];l===s.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(e(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}}};return n(t),r}function ZTe(t,e=r=>r.message){let r={errors:[]},n=(a,o=[])=>{var i,s;for(let c of a.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>n({issues:l},[...o,...c.path]));else if(c.code==="invalid_key")n({issues:c.issues},[...o,...c.path]);else if(c.code==="invalid_element")n({issues:c.issues},[...o,...c.path]);else{let l=[...o,...c.path];if(l.length===0){r.errors.push(e(c));continue}let u=r,d=0;for(;d<l.length;){let p=l[d],m=d===l.length-1;typeof p=="string"?(u.properties??(u.properties={}),(i=u.properties)[p]??(i[p]={errors:[]}),u=u.properties[p]):(u.items??(u.items=[]),(s=u.items)[p]??(s[p]={errors:[]}),u=u.items[p]),m&&u.errors.push(e(c)),d++}}};return n(t),r}function zlt(t){let e=[],r=t.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?e.push(`[${n}]`):typeof n=="symbol"?e.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?e.push(`[${JSON.stringify(n)}]`):(e.length&&e.push("."),e.push(n));return e.join("")}function JTe(t){let e=[],r=[...t.issues].sort((n,a)=>(n.path??[]).length-(a.path??[]).length);for(let n of r)e.push(`\u2716 ${n.message}`),n.path?.length&&e.push(` \u2192 at ${zlt(n.path)}`);return e.join(`
|
|
12
|
+
var hfr=Object.create;var Nne=Object.defineProperty;var gfr=Object.getOwnPropertyDescriptor;var yfr=Object.getOwnPropertyNames;var vfr=Object.getPrototypeOf,Sfr=Object.prototype.hasOwnProperty;var Vt=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var A=(t,e,r)=>()=>{if(r)throw r[0];try{return t&&(e=t(t=0)),e}catch(n){throw r=[n],n}};var ge=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},Qt=(t,e)=>{for(var r in e)Nne(t,r,{get:e[r],enumerable:!0})},Dlt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of yfr(e))!Sfr.call(t,a)&&a!==r&&Nne(t,a,{get:()=>e[a],enumerable:!(n=gfr(e,a))||n.enumerable});return t};var dc=(t,e,r)=>(r=t!=null?hfr(vfr(t)):{},Dlt(e||!t||!t.__esModule?Nne(r,"default",{value:t,enumerable:!0}):r,t)),mr=t=>Dlt(Nne({},"__esModule",{value:!0}),t);var TM,One=A(()=>{TM={name:"@fjall/cli",version:"16.0.0",repository:{type:"git",url:"git+https://github.com/fjall-tech/fjall.git",directory:"cli"},description:"Fjall CLI helper",private:!0,type:"module",bin:{fjall:"dist/src/cli.js"},files:["dist/"],scripts:{clean:"rm -rf ./dist ./dist.next ./sourcemaps","clean:node":"rm -rf ./node_modules","copy-files":'DEST="${DEST:-dist}"; find generators -type d -name files | while read dir; do mkdir -p "$DEST/$dir" && cp -R "$dir/"* "$DEST/$dir/"; done && cp -R src/proto "./$DEST/src/proto"',build:"rm -rf ./dist.next ./sourcemaps && npx tsc --outDir dist.next && DEST=dist.next npm run copy-files && node ../scripts/minify-dist.mjs dist.next && chmod +x ./dist.next/src/cli.js && rm -rf ./dist && mv ./dist.next ./dist && node ../scripts/stamp-build.mjs",watch:"npm run build && npx tsc-watch","watch:only":'npx tsc-watch --onSuccess "npm run copy-files"',"fjall-cli":"node ./dist/src/cli.js",version:"npx tsx scripts/updateTemplateVersions.ts && node ../scripts/sync-ci-plugin-major.mjs",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json}" "generators/**/*.{ts,tsx,js,jsx,json}"',"format:check":'prettier --check "src/**/*.{ts,tsx,js,jsx,json}" "generators/**/*.{ts,tsx,js,jsx,json}"',lint:"eslint src/ generators/","lint:fix":"eslint src/ generators/ --fix",typecheck:"tsc --noEmit","typecheck:tests":"tsc --noEmit --project tsconfig.test.json","typecheck:scripts":"tsc --noEmit --project tsconfig.scripts.json","typecheck:all":"npm run typecheck && npm run typecheck:tests && npm run typecheck:scripts",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:integration":"vitest run --config vitest.config.integration.ts","test:integration:watch":"vitest --config vitest.config.integration.ts","test:e2e":"vitest run --config vitest.e2e.config.ts","test:all":"npm run test && npm run test:integration && npm run test:e2e","test:setup":"node scripts/setupTestFixtures.mjs","test:payload-compat":"npx tsx scripts/testPayloadCompatibility.ts","test:payload-compat:e2e":"npx tsx scripts/testPayloadCompatibility.ts --e2e"},engines:{node:">=22.0.0"},author:"",license:"SEE LICENSE IN LICENSE",devDependencies:{"@eslint/js":"^10.0.1","@playwright/test":"^1.62.0","@testing-library/dom":"^10.4.1","@testing-library/react":"^16.3.2","@types/ejs":"^3.1.5","@types/mime-types":"^3.0.1","@types/picomatch":"^4.0.3","@types/prompts":"^2.4.9","@types/proper-lockfile":"^4.1.4","@types/react":"^19.2.17","@types/tar-fs":"^2.0.4","@types/tar-stream":"^3.1.4","@typescript-eslint/eslint-plugin":"^8.65.0","@typescript-eslint/parser":"^8.65.0","@vitest/coverage-v8":"^4.1.10",eslint:"^10.8.0","eslint-plugin-fjall":"file:./eslint-rules","ink-testing-library":"^4.0.0",jsdom:"^30.0.1",prettier:"^3.9.6","react-dom":"^19.2.8","tsc-watch":"^7.2.1",tsx:"^4.23.1","typescript-eslint":"^8.65.0",vitest:"4.1.10"},dependencies:{"@anthropic-ai/sdk":"^0.115.0","@aws-sdk/client-acm":"^3.1098.0","@aws-sdk/client-auto-scaling":"^3.1098.0","@aws-sdk/client-backup":"^3.1098.0","@aws-sdk/client-cloudformation":"^3.1098.0","@aws-sdk/client-cost-explorer":"^3.1098.0","@aws-sdk/client-ec2":"^3.1098.0","@aws-sdk/client-ecr":"^3.1098.0","@aws-sdk/client-ecs":"^3.1098.0","@aws-sdk/client-elasticache":"^3.1098.0","@aws-sdk/client-iam":"^3.1098.0","@aws-sdk/client-identitystore":"^3.1098.0","@aws-sdk/client-lambda":"^3.1098.0","@aws-sdk/client-organizations":"^3.1098.0","@aws-sdk/client-ram":"^3.1098.0","@aws-sdk/client-rds":"^3.1098.0","@aws-sdk/client-route-53":"^3.1098.0","@aws-sdk/client-s3":"^3.1098.0","@aws-sdk/client-secrets-manager":"^3.1098.0","@aws-sdk/client-ssm":"^3.1098.0","@aws-sdk/client-sso":"^3.1098.0","@aws-sdk/client-sso-admin":"^3.1098.0","@aws-sdk/client-sso-oidc":"^3.1098.0","@aws-sdk/client-sts":"^3.1098.0","@fjall/deploy-core":"^16.0.0","@fjall/generator":"^16.0.0","@fjall/util":"^16.0.0","@nx/devkit":"^23.1.0","@opennextjs/aws":"^4.1.0","@smithy/node-http-handler":"^4.9.13","@toon-format/toon":"^4.1.0","aws-cdk":"^2.1134.0",axios:"^1.19.0",chalk:"^6.0.0","cli-cursor":"^5.0.0",commander:"^15.0.0",ejs:"^6.0.1",ink:"^7.1.1","js-yaml":"^5.2.2","mime-types":"^3.0.2",open:"^11.0.0",ora:"^9.4.1",picomatch:"^4.0.5",prompts:"^2.4.2","proper-lockfile":"^4.1.2",protobufjs:"^8.7.1",react:"^19.2.8","tar-fs":"^3.1.3",typescript:"^6.0.3","update-check":"^1.5.4",zod:"^4.4.3"}}});import{join as $h,dirname as Nlt,normalize as wfr}from"node:path";import{readFileSync as Afr,existsSync as Cfr}from"node:fs";function DP(t,e){let r=wfr(t);if(r.includes("..")||r.startsWith("/"))throw new Error(`Invalid ${e}: path traversal is not allowed`)}function Sz(){return _P}function xfr(t){let e=Nlt(t);return Nlt(e)||"."}function $ne(t){if(!Cfr(t))throw new Error(`Infrastructure file not found: ${t}`);let e=Afr(t,"utf-8").match(/const\s+appName\s*=\s*["']([^"']+)["']/);if(!e||!e[1])throw new Error(`Could not find appName in infrastructure file: ${t}. Expected format: const appName = "yourAppName";`);return e[1]}function om(t){let e=$h(t,ga);return $ne(e)}function Ri(t){return DP(t,"app name"),$h(_P,t,ga)}function En(t){return DP(t,"app name"),$h(_P,t)}function kM(t,e){return $h(e??process.cwd(),En(t))}function My(t){return DP(t,"component name"),$h(_P,t)}function Tfr(t){return DP(t,"deployment type"),$h(_P,t,"logs")}function kfr(t){return DP(t,"deployment type"),$h(_P,t,"logs","cloudformation")}function Mne(){return $h(_P,"domains")}function Wa(t){return DP(t,"domain name"),$h(Mne(),t)}function xd(t){return $h(Wa(t),ga)}function Ifr(t){return $h(Wa(t),Pfr)}function Ly(t){return $h(t,Rfr)}var Efr,Au,_P,ga,Pfr,Rfr,wr=A(()=>{"use strict";Efr=Object.defineProperty,Au=(t,e)=>Efr(t,"name",{value:e,configurable:!0}),_P="fjall";Au(DP,"assertNoTraversal");Au(Sz,"getFjallPath");Au(xfr,"getProjectRoot");Au($ne,"getAppNameFromInfrastructure");Au(om,"getAppName");Au(Ri,"getInfrastructurePath");Au(En,"getAppPath");Au(kM,"resolveAppScaffoldPath");Au(My,"getOrganisationComponentPath");Au(Tfr,"getDeploymentLogsPath");Au(kfr,"getCloudFormationLogsPath");Au(Mne,"getDomainsDir");Au(Wa,"getDomainComponentPath");Au(xd,"getDomainInfrastructurePath");Au(Ifr,"getDomainZoneFilePath");ga="infrastructure.ts",Pfr="zone.bind",Rfr="cdk.out";Au(Ly,"getCdkOutPath")});function Dr(t){return t.replace(/[-_](.)/g,(e,r)=>r.toUpperCase()).replace(/^./,e=>e.toUpperCase())}function mn(t){return t.replace(/([A-Z]+)([A-Z][a-z])/g,"$1-$2").replace(/([a-z\d])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}function qC(t){return mn(t).replace(/-/g,"_")}function DTe(t){return mn(t).replace(/-/g,"_").toUpperCase()}function hf(t){return t.length===0?t:t.charAt(0).toUpperCase()+t.slice(1)}function bz(t){return t.split(".").join("")}function HC(t){return t.toLowerCase().replace(/[^a-z0-9]/g,"")}function NTe(t){let e=t.replace(new RegExp("\\P{ASCII}","gu"),"");return HC(e)===HC(t)&&HC(t)!==""}var _fr,KC,Iw=A(()=>{"use strict";_fr=Object.defineProperty,KC=(t,e)=>_fr(t,"name",{value:e,configurable:!0});KC(Dr,"toPascalCase");KC(mn,"toKebab");KC(qC,"toValidDatabaseName");KC(DTe,"toScreamingSnake");KC(hf,"capitalise");KC(bz,"getSafeZoneName");KC(HC,"accountConstructKey");KC(NTe,"hasAsciiStableConstructKey")});function fn(t){return`${Dr(t.split(".").join(""))}Domain`}function YC(t){return`${t}UsEast1Certificates`}function To(t){let e=t.replace(/\./g,"-");return{hostedZoneId:`${e}-hosted-zone-id`,certificateArn:`${e}-certificate-arn`,certificateHosts:`${e}-certificate-hosts`,usEast1CertificateArn:`${e}-us-east-1-certificate-arn`,usEast1CertificateHosts:`${e}-us-east-1-certificate-hosts`,delegationRoleArn:`${e}-delegation-role-arn`,nameservers:`${e}-nameservers`}}function Ez(t){let e=[],r=[];for(let n of t){let a=[...r,n];r.length>0&&Buffer.byteLength(JSON.stringify(a),"utf8")>OTe?(e.push(r),r=[n]):r=a}return r.length>0&&e.push(r),e.map(n=>JSON.stringify(n))}function NP(t,e){return`${t}-${e}`}function $Te(t){return typeof t.hostedZoneId=="string"}var Dfr,IM,Lne,Olt,OTe,$lt=A(()=>{"use strict";Iw();Dfr=Object.defineProperty,IM=(t,e)=>Dfr(t,"name",{value:e,configurable:!0}),Lne="@";IM(fn,"getDomainStackName");IM(YC,"getDomainUsEast1CertificatesStackName");Olt="full";IM(To,"getDomainExportNames");OTe=1e3;IM(Ez,"serialiseHostsChunks");IM(NP,"hostsExportPartName");IM($Te,"isManagedDomainBinding")});var PS,Mlt=A(()=>{"use strict";PS="backupVault"});var PM,ZC,Llt=A(()=>{"use strict";PM="Approval token: ",ZC="Token: "});function OP(t){return`${Dr(t)}ImageTag`}var Nfr,Ofr,Flt=A(()=>{"use strict";Iw();Nfr=Object.defineProperty,Ofr=(t,e)=>Nfr(t,"name",{value:e,configurable:!0});Ofr(OP,"imageTagParameterName")});function RM(t){return Dr(t.replace(/[^A-Za-z0-9-]/g,""))}function MTe(t,e){let r=RM(t);return e===void 0?r:`${r}-${RM(e)}-`}function wz(t,e){return`${MTe(t,e)}AlbDnsName`}function Az(t,e){return`${MTe(t,e)}AlbHostedZoneId`}function Cz(t){return`${RM(t)}CdnDistributionDomainName`}function xz(t){return`${RM(t)}WebsiteEndpoint`}function Tz(t){return`${RM(t)}WebsiteHostedZoneId`}var $fr,$P,jlt=A(()=>{"use strict";Iw();$fr=Object.defineProperty,$P=(t,e)=>$fr(t,"name",{value:e,configurable:!0});$P(RM,"safeExportToken");$P(MTe,"albExportScope");$P(wz,"albDnsExportName");$P(Az,"albHostedZoneIdExportName");$P(Cz,"cdnDomainExportName");$P(xz,"bucketWebsiteEndpointExportName");$P(Tz,"bucketWebsiteHostedZoneIdExportName")});function le(t,e,r){function n(s,c){if(s._zod||Object.defineProperty(s,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),s._zod.traits.has(t))return;s._zod.traits.add(t),e(s,c);let l=i.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];p in s||(s[p]=l[p].bind(s))}}let a=r?.Parent??Object;class o extends a{}Object.defineProperty(o,"name",{value:t});function i(s){var c;let l=r?.Parent?new o:this;n(l,s),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(i,"init",{value:n}),Object.defineProperty(i,Symbol.hasInstance,{value:s=>r?.Parent&&s instanceof r.Parent?!0:s?._zod?.traits?.has(t)}),Object.defineProperty(i,"name",{value:t}),i}function Ji(t){return t&&Object.assign(MP,t),MP}var Blt,LTe,FTe,Fy,JC,MP,LP=A(()=>{LTe=Object.freeze({status:"aborted"});FTe=Symbol("zod_brand"),Fy=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},JC=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}};(Blt=globalThis).__zod_globalConfig??(Blt.__zod_globalConfig={});MP=globalThis.__zod_globalConfig});var tt={};Qt(tt,{BIGINT_FORMAT_RANGES:()=>qTe,Class:()=>BTe,NUMBER_FORMAT_RANGES:()=>KTe,aborted:()=>tx,allowsEval:()=>GTe,assert:()=>Bfr,assertEqual:()=>Mfr,assertIs:()=>Ffr,assertNever:()=>jfr,assertNotEqual:()=>Lfr,assignProp:()=>QC,base64ToUint8Array:()=>Vlt,base64urlToUint8Array:()=>nhr,cached:()=>DM,captureStackTrace:()=>jne,cleanEnum:()=>rhr,cleanRegex:()=>Pz,clone:()=>Td,cloneDef:()=>Vfr,createTransparentProxy:()=>qfr,defineLazy:()=>wn,esc:()=>Fne,escapeRegex:()=>Mh,explicitlyAborted:()=>YTe,extend:()=>Jfr,finalizeIssue:()=>kd,floatSafeRemainder:()=>UTe,getElementAtPath:()=>Gfr,getEnumValues:()=>Iz,getLengthableOrigin:()=>Dz,getParsedType:()=>Kfr,getSizableOrigin:()=>_z,hexToUint8Array:()=>ohr,isObject:()=>FP,isPlainObject:()=>ex,issue:()=>NM,joinValues:()=>Ae,jsonStringifyReplacer:()=>_M,merge:()=>Qfr,mergeDefs:()=>Pw,normalizeParams:()=>st,nullish:()=>XC,numKeys:()=>Hfr,objectClone:()=>Ufr,omit:()=>Zfr,optionalKeys:()=>HTe,parsedType:()=>Ze,partial:()=>ehr,pick:()=>Yfr,prefixIssues:()=>im,primitiveTypes:()=>zTe,promiseAllObject:()=>Wfr,propertyKeyTypes:()=>Rz,randomString:()=>zfr,required:()=>thr,safeExtend:()=>Xfr,shallowClone:()=>WTe,slugify:()=>VTe,stringifyPrimitive:()=>qe,uint8ArrayToBase64:()=>Glt,uint8ArrayToBase64url:()=>ahr,uint8ArrayToHex:()=>ihr,unwrapMessage:()=>kz});function Mfr(t){return t}function Lfr(t){return t}function Ffr(t){}function jfr(t){throw new Error("Unexpected value in exhaustive check")}function Bfr(t){}function Iz(t){let e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,a])=>e.indexOf(+n)===-1).map(([n,a])=>a)}function Ae(t,e="|"){return t.map(r=>qe(r)).join(e)}function _M(t,e){return typeof e=="bigint"?e.toString():e}function DM(t){return{get value(){{let r=t();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function XC(t){return t==null}function Pz(t){let e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function UTe(t,e){let r=t/e,n=Math.round(r),a=Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<a?0:r-n}function wn(t,e,r){let n;Object.defineProperty(t,e,{get(){if(n!==Ult)return n===void 0&&(n=Ult,n=r()),n},set(a){Object.defineProperty(t,e,{value:a})},configurable:!0})}function Ufr(t){return Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t))}function QC(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Pw(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function Vfr(t){return Pw(t._zod.def)}function Gfr(t,e){return e?e.reduce((r,n)=>r?.[n],t):t}function Wfr(t){let e=Object.keys(t),r=e.map(n=>t[n]);return Promise.all(r).then(n=>{let a={};for(let o=0;o<e.length;o++)a[e[o]]=n[o];return a})}function zfr(t=10){let e="abcdefghijklmnopqrstuvwxyz",r="";for(let n=0;n<t;n++)r+=e[Math.floor(Math.random()*e.length)];return r}function Fne(t){return JSON.stringify(t)}function VTe(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function FP(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function ex(t){if(FP(t)===!1)return!1;let e=t.constructor;if(e===void 0||typeof e!="function")return!0;let r=e.prototype;return!(FP(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function WTe(t){return ex(t)?{...t}:Array.isArray(t)?[...t]:t instanceof Map?new Map(t):t instanceof Set?new Set(t):t}function Hfr(t){let e=0;for(let r in t)Object.prototype.hasOwnProperty.call(t,r)&&e++;return e}function Mh(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Td(t,e,r){let n=new t._zod.constr(e??t._zod.def);return(!e||r?.parent)&&(n._zod.parent=t),n}function st(t){let e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if(e?.message!==void 0){if(e?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function qfr(t){let e;return new Proxy({},{get(r,n,a){return e??(e=t()),Reflect.get(e,n,a)},set(r,n,a,o){return e??(e=t()),Reflect.set(e,n,a,o)},has(r,n){return e??(e=t()),Reflect.has(e,n)},deleteProperty(r,n){return e??(e=t()),Reflect.deleteProperty(e,n)},ownKeys(r){return e??(e=t()),Reflect.ownKeys(e)},getOwnPropertyDescriptor(r,n){return e??(e=t()),Reflect.getOwnPropertyDescriptor(e,n)},defineProperty(r,n,a){return e??(e=t()),Reflect.defineProperty(e,n,a)}})}function qe(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function HTe(t){return Object.keys(t).filter(e=>t[e]._zod.optin==="optional"&&t[e]._zod.optout==="optional")}function Yfr(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let o=Pw(t._zod.def,{get shape(){let i={};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&(i[s]=r.shape[s])}return QC(this,"shape",i),i},checks:[]});return Td(t,o)}function Zfr(t,e){let r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let o=Pw(t._zod.def,{get shape(){let i={...t._zod.def.shape};for(let s in e){if(!(s in r.shape))throw new Error(`Unrecognized key: "${s}"`);e[s]&&delete i[s]}return QC(this,"shape",i),i},checks:[]});return Td(t,o)}function Jfr(t,e){if(!ex(e))throw new Error("Invalid input to extend: expected a plain object");let r=t._zod.def.checks;if(r&&r.length>0){let o=t._zod.def.shape;for(let i in e)if(Object.getOwnPropertyDescriptor(o,i)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let a=Pw(t._zod.def,{get shape(){let o={...t._zod.def.shape,...e};return QC(this,"shape",o),o}});return Td(t,a)}function Xfr(t,e){if(!ex(e))throw new Error("Invalid input to safeExtend: expected a plain object");let r=Pw(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e};return QC(this,"shape",n),n}});return Td(t,r)}function Qfr(t,e){if(t._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Pw(t._zod.def,{get shape(){let n={...t._zod.def.shape,...e._zod.def.shape};return QC(this,"shape",n),n},get catchall(){return e._zod.def.catchall},checks:e._zod.def.checks??[]});return Td(t,r)}function ehr(t,e,r){let a=e._zod.def.checks;if(a&&a.length>0)throw new Error(".partial() cannot be used on object schemas containing refinements");let i=Pw(e._zod.def,{get shape(){let s=e._zod.def.shape,c={...s};if(r)for(let l in r){if(!(l in s))throw new Error(`Unrecognized key: "${l}"`);r[l]&&(c[l]=t?new t({type:"optional",innerType:s[l]}):s[l])}else for(let l in s)c[l]=t?new t({type:"optional",innerType:s[l]}):s[l];return QC(this,"shape",c),c},checks:[]});return Td(e,i)}function thr(t,e,r){let n=Pw(e._zod.def,{get shape(){let a=e._zod.def.shape,o={...a};if(r)for(let i in r){if(!(i in o))throw new Error(`Unrecognized key: "${i}"`);r[i]&&(o[i]=new t({type:"nonoptional",innerType:a[i]}))}else for(let i in a)o[i]=new t({type:"nonoptional",innerType:a[i]});return QC(this,"shape",o),o}});return Td(e,n)}function tx(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue!==!0)return!0;return!1}function YTe(t,e=0){if(t.aborted===!0)return!0;for(let r=e;r<t.issues.length;r++)if(t.issues[r]?.continue===!1)return!0;return!1}function im(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function kz(t){return typeof t=="string"?t:t?.message}function kd(t,e,r){let n=t.message?t.message:kz(t.inst?._zod.def?.error?.(t))??kz(e?.error?.(t))??kz(r.customError?.(t))??kz(r.localeError?.(t))??"Invalid input",{inst:a,continue:o,input:i,...s}=t;return s.path??(s.path=[]),s.message=n,e?.reportInput&&(s.input=i),s}function _z(t){return t instanceof Set?"set":t instanceof Map?"map":t instanceof File?"file":"unknown"}function Dz(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function Ze(t){let e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";let r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function NM(...t){let[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function rhr(t){return Object.entries(t).filter(([e,r])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function Vlt(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}function Glt(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return btoa(e)}function nhr(t){let e=t.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-e.length%4)%4);return Vlt(e+r)}function ahr(t){return Glt(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function ohr(t){let e=t.replace(/^0x/,"");if(e.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)r[n/2]=Number.parseInt(e.slice(n,n+2),16);return r}function ihr(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}var Ult,jne,GTe,Kfr,Rz,zTe,KTe,qTe,BTe,Kt=A(()=>{LP();Ult=Symbol("evaluating");jne="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};GTe=DM(()=>{if(MP.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let t=Function;return new t(""),!0}catch{return!1}});Kfr=t=>{let e=typeof t;switch(e){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(t)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(t)?"array":t===null?"null":t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?"promise":typeof Map<"u"&&t instanceof Map?"map":typeof Set<"u"&&t instanceof Set?"set":typeof Date<"u"&&t instanceof Date?"date":typeof File<"u"&&t instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${e}`)}},Rz=new Set(["string","number","symbol"]),zTe=new Set(["string","number","bigint","boolean","symbol","undefined"]);KTe={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]},qTe={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};BTe=class{constructor(...e){}}});function Oz(t,e=r=>r.message){let r={},n=[];for(let a of t.issues)a.path.length>0?(r[a.path[0]]=r[a.path[0]]||[],r[a.path[0]].push(e(a))):n.push(e(a));return{formErrors:n,fieldErrors:r}}function $z(t,e=r=>r.message){let r={_errors:[]},n=(a,o=[])=>{for(let i of a.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map(s=>n({issues:s},[...o,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...o,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...o,...i.path]);else{let s=[...o,...i.path];if(s.length===0)r._errors.push(e(i));else{let c=r,l=0;for(;l<s.length;){let u=s[l];l===s.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(e(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}}};return n(t),r}function ZTe(t,e=r=>r.message){let r={errors:[]},n=(a,o=[])=>{var i,s;for(let c of a.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(l=>n({issues:l},[...o,...c.path]));else if(c.code==="invalid_key")n({issues:c.issues},[...o,...c.path]);else if(c.code==="invalid_element")n({issues:c.issues},[...o,...c.path]);else{let l=[...o,...c.path];if(l.length===0){r.errors.push(e(c));continue}let u=r,d=0;for(;d<l.length;){let p=l[d],m=d===l.length-1;typeof p=="string"?(u.properties??(u.properties={}),(i=u.properties)[p]??(i[p]={errors:[]}),u=u.properties[p]):(u.items??(u.items=[]),(s=u.items)[p]??(s[p]={errors:[]}),u=u.items[p]),m&&u.errors.push(e(c)),d++}}};return n(t),r}function zlt(t){let e=[],r=t.map(n=>typeof n=="object"?n.key:n);for(let n of r)typeof n=="number"?e.push(`[${n}]`):typeof n=="symbol"?e.push(`[${JSON.stringify(String(n))}]`):/[^\w$]/.test(n)?e.push(`[${JSON.stringify(n)}]`):(e.length&&e.push("."),e.push(n));return e.join("")}function JTe(t){let e=[],r=[...t.issues].sort((n,a)=>(n.path??[]).length-(a.path??[]).length);for(let n of r)e.push(`\u2716 ${n.message}`),n.path?.length&&e.push(` \u2192 at ${zlt(n.path)}`);return e.join(`
|
|
13
13
|
`)}var Wlt,Nz,sm,XTe=A(()=>{LP();Kt();Wlt=(t,e)=>{t.name="$ZodError",Object.defineProperty(t,"_zod",{value:t._zod,enumerable:!1}),Object.defineProperty(t,"issues",{value:e,enumerable:!1}),t.message=JSON.stringify(e,_M,2),Object.defineProperty(t,"toString",{value:()=>t.message,enumerable:!1})},Nz=le("$ZodError",Wlt),sm=le("$ZodError",Wlt,{Parent:Error})});var OM,Bne,$M,Une,MM,QTe,LM,eke,Vne,chr,Gne,lhr,Wne,uhr,zne,dhr,Hne,phr,Kne,mhr,qne,fhr,Yne,hhr,tke=A(()=>{LP();XTe();Kt();OM=t=>(e,r,n,a)=>{let o=n?{...n,async:!1}:{async:!1},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new Fy;if(i.issues.length){let s=new(a?.Err??t)(i.issues.map(c=>kd(c,o,Ji())));throw jne(s,a?.callee),s}return i.value},Bne=OM(sm),$M=t=>async(e,r,n,a)=>{let o=n?{...n,async:!0}:{async:!0},i=e._zod.run({value:r,issues:[]},o);if(i instanceof Promise&&(i=await i),i.issues.length){let s=new(a?.Err??t)(i.issues.map(c=>kd(c,o,Ji())));throw jne(s,a?.callee),s}return i.value},Une=$M(sm),MM=t=>(e,r,n)=>{let a=n?{...n,async:!1}:{async:!1},o=e._zod.run({value:r,issues:[]},a);if(o instanceof Promise)throw new Fy;return o.issues.length?{success:!1,error:new(t??Nz)(o.issues.map(i=>kd(i,a,Ji())))}:{success:!0,data:o.value}},QTe=MM(sm),LM=t=>async(e,r,n)=>{let a=n?{...n,async:!0}:{async:!0},o=e._zod.run({value:r,issues:[]},a);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new t(o.issues.map(i=>kd(i,a,Ji())))}:{success:!0,data:o.value}},eke=LM(sm),Vne=t=>(e,r,n)=>{let a=n?{...n,direction:"backward"}:{direction:"backward"};return OM(t)(e,r,a)},chr=Vne(sm),Gne=t=>(e,r,n)=>OM(t)(e,r,n),lhr=Gne(sm),Wne=t=>async(e,r,n)=>{let a=n?{...n,direction:"backward"}:{direction:"backward"};return $M(t)(e,r,a)},uhr=Wne(sm),zne=t=>async(e,r,n)=>$M(t)(e,r,n),dhr=zne(sm),Hne=t=>(e,r,n)=>{let a=n?{...n,direction:"backward"}:{direction:"backward"};return MM(t)(e,r,a)},phr=Hne(sm),Kne=t=>(e,r,n)=>MM(t)(e,r,n),mhr=Kne(sm),qne=t=>async(e,r,n)=>{let a=n?{...n,direction:"backward"}:{direction:"backward"};return LM(t)(e,r,a)},fhr=qne(sm),Yne=t=>async(e,r,n)=>LM(t)(e,r,n),hhr=Yne(sm)});var gf={};Qt(gf,{base64:()=>yke,base64url:()=>Zne,bigint:()=>Cke,boolean:()=>Tke,browserEmail:()=>Ahr,cidrv4:()=>hke,cidrv6:()=>gke,cuid:()=>rke,cuid2:()=>nke,date:()=>bke,datetime:()=>wke,domain:()=>Thr,duration:()=>cke,e164:()=>Ske,email:()=>uke,emoji:()=>dke,extendedDuration:()=>ghr,guid:()=>lke,hex:()=>khr,hostname:()=>xhr,html5Email:()=>bhr,httpProtocol:()=>vke,idnEmail:()=>whr,integer:()=>xke,ipv4:()=>pke,ipv6:()=>mke,ksuid:()=>ike,lowercase:()=>Pke,mac:()=>fke,md5_base64:()=>Phr,md5_base64url:()=>Rhr,md5_hex:()=>Ihr,nanoid:()=>ske,null:()=>kke,number:()=>Jne,rfc5322Email:()=>Ehr,sha1_base64:()=>Dhr,sha1_base64url:()=>Nhr,sha1_hex:()=>_hr,sha256_base64:()=>$hr,sha256_base64url:()=>Mhr,sha256_hex:()=>Ohr,sha384_base64:()=>Fhr,sha384_base64url:()=>jhr,sha384_hex:()=>Lhr,sha512_base64:()=>Uhr,sha512_base64url:()=>Vhr,sha512_hex:()=>Bhr,string:()=>Ake,time:()=>Eke,ulid:()=>ake,undefined:()=>Ike,unicodeEmail:()=>Hlt,uppercase:()=>Rke,uuid:()=>jP,uuid4:()=>yhr,uuid6:()=>vhr,uuid7:()=>Shr,xid:()=>oke});function dke(){return new RegExp(Chr,"u")}function qlt(t){let e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Eke(t){return new RegExp(`^${qlt(t)}$`)}function wke(t){let e=qlt({precision:t.precision}),r=["Z"];t.local&&r.push(""),t.offset&&r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${e}(?:${r.join("|")})`;return new RegExp(`^${Klt}T(?:${n})$`)}function Mz(t,e){return new RegExp(`^[A-Za-z0-9+/]{${t}}${e}$`)}function Lz(t){return new RegExp(`^[A-Za-z0-9_-]{${t}}$`)}var rke,nke,ake,oke,ike,ske,cke,ghr,lke,jP,yhr,vhr,Shr,uke,bhr,Ehr,Hlt,whr,Ahr,Chr,pke,mke,fke,hke,gke,yke,Zne,xhr,Thr,vke,Ske,Klt,bke,Ake,Cke,xke,Jne,Tke,kke,Ike,Pke,Rke,khr,Ihr,Phr,Rhr,_hr,Dhr,Nhr,Ohr,$hr,Mhr,Lhr,Fhr,jhr,Bhr,Uhr,Vhr,Xne=A(()=>{Kt();rke=/^[cC][0-9a-z]{6,}$/,nke=/^[0-9a-z]+$/,ake=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,oke=/^[0-9a-vA-V]{20}$/,ike=/^[A-Za-z0-9]{27}$/,ske=/^[a-zA-Z0-9_-]{21}$/,cke=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ghr=/^[-+]?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)?)??$/,lke=/^([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})$/,jP=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[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)$/,yhr=jP(4),vhr=jP(6),Shr=jP(7),uke=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,bhr=/^[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])?)*$/,Ehr=/^(([^<>()\[\]\\.,;:\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,}))$/,Hlt=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,whr=Hlt,Ahr=/^[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])?)*$/,Chr="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";pke=/^(?:(?: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])$/,mke=/^(([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}|:))$/,fke=t=>{let e=Mh(t??":");return new RegExp(`^(?:[0-9A-F]{2}${e}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${e}){5}[0-9a-f]{2}$`)},hke=/^((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])$/,gke=/^(([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])$/,yke=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Zne=/^[A-Za-z0-9_-]*$/,xhr=/^(?=.{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])?)*\.?$/,Thr=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,vke=/^https?$/,Ske=/^\+[1-9]\d{6,14}$/,Klt="(?:(?:\\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])))",bke=new RegExp(`^${Klt}$`);Ake=t=>{let e=t?`[\\s\\S]{${t?.minimum??0},${t?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${e}$`)},Cke=/^-?\d+n?$/,xke=/^-?\d+$/,Jne=/^-?\d+(?:\.\d+)?$/,Tke=/^(?:true|false)$/i,kke=/^null$/i,Ike=/^undefined$/i,Pke=/^[^A-Z]*$/,Rke=/^[^a-z]*$/,khr=/^[0-9a-fA-F]*$/;Ihr=/^[0-9a-fA-F]{32}$/,Phr=Mz(22,"=="),Rhr=Lz(22),_hr=/^[0-9a-fA-F]{40}$/,Dhr=Mz(27,"="),Nhr=Lz(27),Ohr=/^[0-9a-fA-F]{64}$/,$hr=Mz(43,"="),Mhr=Lz(43),Lhr=/^[0-9a-fA-F]{96}$/,Fhr=Mz(64,""),jhr=Lz(64),Bhr=/^[0-9a-fA-F]{128}$/,Uhr=Mz(86,"=="),Vhr=Lz(86)});function Ylt(t,e,r){t.issues.length&&e.issues.push(...im(r,t.issues))}var go,Zlt,Qne,eae,_ke,Dke,Nke,Oke,$ke,Mke,Lke,Fke,jke,FM,Bke,Uke,Vke,Gke,Wke,zke,Hke,Kke,qke,tae=A(()=>{LP();Xne();Kt();go=le("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),Zlt={number:"number",bigint:"bigint",object:"date"},Qne=le("$ZodCheckLessThan",(t,e)=>{go.init(t,e);let r=Zlt[typeof e.value];t._zod.onattach.push(n=>{let a=n._zod.bag,o=(e.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;e.value<o&&(e.inclusive?a.maximum=e.value:a.exclusiveMaximum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),eae=le("$ZodCheckGreaterThan",(t,e)=>{go.init(t,e);let r=Zlt[typeof e.value];t._zod.onattach.push(n=>{let a=n._zod.bag,o=(e.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;e.value>o&&(e.inclusive?a.minimum=e.value:a.exclusiveMinimum=e.value)}),t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),_ke=le("$ZodCheckMultipleOf",(t,e)=>{go.init(t,e),t._zod.onattach.push(r=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=e.value)}),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?r.value%e.value===BigInt(0):UTe(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),Dke=le("$ZodCheckNumberFormat",(t,e)=>{go.init(t,e),e.format=e.format||"float64";let r=e.format?.includes("int"),n=r?"int":"number",[a,o]=KTe[e.format];t._zod.onattach.push(i=>{let s=i._zod.bag;s.format=e.format,s.minimum=a,s.maximum=o,r&&(s.pattern=xke)}),t._zod.check=i=>{let s=i.value;if(r){if(!Number.isInteger(s)){i.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:s,inst:t});return}if(!Number.isSafeInteger(s)){s>0?i.issues.push({input:s,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):i.issues.push({input:s,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}s<a&&i.issues.push({origin:"number",input:s,code:"too_small",minimum:a,inclusive:!0,inst:t,continue:!e.abort}),s>o&&i.issues.push({origin:"number",input:s,code:"too_big",maximum:o,inclusive:!0,inst:t,continue:!e.abort})}}),Nke=le("$ZodCheckBigIntFormat",(t,e)=>{go.init(t,e);let[r,n]=qTe[e.format];t._zod.onattach.push(a=>{let o=a._zod.bag;o.format=e.format,o.minimum=r,o.maximum=n}),t._zod.check=a=>{let o=a.value;o<r&&a.issues.push({origin:"bigint",input:o,code:"too_small",minimum:r,inclusive:!0,inst:t,continue:!e.abort}),o>n&&a.issues.push({origin:"bigint",input:o,code:"too_big",maximum:n,inclusive:!0,inst:t,continue:!e.abort})}}),Oke=le("$ZodCheckMaxSize",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.size!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<a&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let a=n.value;a.size<=e.maximum||n.issues.push({origin:_z(a),code:"too_big",maximum:e.maximum,inclusive:!0,input:a,inst:t,continue:!e.abort})}}),$ke=le("$ZodCheckMinSize",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.size!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>a&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let a=n.value;a.size>=e.minimum||n.issues.push({origin:_z(a),code:"too_small",minimum:e.minimum,inclusive:!0,input:a,inst:t,continue:!e.abort})}}),Mke=le("$ZodCheckSizeEquals",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.size!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag;a.minimum=e.size,a.maximum=e.size,a.size=e.size}),t._zod.check=n=>{let a=n.value,o=a.size;if(o===e.size)return;let i=o>e.size;n.issues.push({origin:_z(a),...i?{code:"too_big",maximum:e.size}:{code:"too_small",minimum:e.size},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),Lke=le("$ZodCheckMaxLength",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.length!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;e.maximum<a&&(n._zod.bag.maximum=e.maximum)}),t._zod.check=n=>{let a=n.value;if(a.length<=e.maximum)return;let i=Dz(a);n.issues.push({origin:i,code:"too_big",maximum:e.maximum,inclusive:!0,input:a,inst:t,continue:!e.abort})}}),Fke=le("$ZodCheckMinLength",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.length!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;e.minimum>a&&(n._zod.bag.minimum=e.minimum)}),t._zod.check=n=>{let a=n.value;if(a.length>=e.minimum)return;let i=Dz(a);n.issues.push({origin:i,code:"too_small",minimum:e.minimum,inclusive:!0,input:a,inst:t,continue:!e.abort})}}),jke=le("$ZodCheckLengthEquals",(t,e)=>{var r;go.init(t,e),(r=t._zod.def).when??(r.when=n=>{let a=n.value;return!XC(a)&&a.length!==void 0}),t._zod.onattach.push(n=>{let a=n._zod.bag;a.minimum=e.length,a.maximum=e.length,a.length=e.length}),t._zod.check=n=>{let a=n.value,o=a.length;if(o===e.length)return;let i=Dz(a),s=o>e.length;n.issues.push({origin:i,...s?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),FM=le("$ZodCheckStringFormat",(t,e)=>{var r,n;go.init(t,e),t._zod.onattach.push(a=>{let o=a._zod.bag;o.format=e.format,e.pattern&&(o.patterns??(o.patterns=new Set),o.patterns.add(e.pattern))}),e.pattern?(r=t._zod).check??(r.check=a=>{e.pattern.lastIndex=0,!e.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:e.format,input:a.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),Bke=le("$ZodCheckRegex",(t,e)=>{FM.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),Uke=le("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=Pke),FM.init(t,e)}),Vke=le("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=Rke),FM.init(t,e)}),Gke=le("$ZodCheckIncludes",(t,e)=>{go.init(t,e);let r=Mh(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position}}${r}`:r);e.pattern=n,t._zod.onattach.push(a=>{let o=a._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),t._zod.check=a=>{a.value.includes(e.includes,e.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:a.value,inst:t,continue:!e.abort})}}),Wke=le("$ZodCheckStartsWith",(t,e)=>{go.init(t,e);let r=new RegExp(`^${Mh(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),zke=le("$ZodCheckEndsWith",(t,e)=>{go.init(t,e);let r=new RegExp(`.*${Mh(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.onattach.push(n=>{let a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(r)}),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}});Hke=le("$ZodCheckProperty",(t,e)=>{go.init(t,e),t._zod.check=r=>{let n=e.schema._zod.run({value:r.value[e.property],issues:[]},{});if(n instanceof Promise)return n.then(a=>Ylt(a,r,e.property));Ylt(n,r,e.property)}}),Kke=le("$ZodCheckMimeType",(t,e)=>{go.init(t,e);let r=new Set(e.mime);t._zod.onattach.push(n=>{n._zod.bag.mime=e.mime}),t._zod.check=n=>{r.has(n.value.type)||n.issues.push({code:"invalid_value",values:e.mime,input:n.value.type,inst:t,continue:!e.abort})}}),qke=le("$ZodCheckOverwrite",(t,e)=>{go.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}})});var Fz,Yke=A(()=>{Fz=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let n=e.split(`
|
|
14
14
|
`).filter(i=>i),a=Math.min(...n.map(i=>i.length-i.trimStart().length)),o=n.map(i=>i.slice(a)).map(i=>" ".repeat(this.indent*2)+i);for(let i of o)this.content.push(i)}compile(){let e=Function,r=this?.args,a=[...(this?.content??[""]).map(o=>` ${o}`)];return new e(...r,a.join(`
|
|
15
15
|
`))}}});var Zke,Jke=A(()=>{Zke={major:4,minor:4,patch:3}});function SIe(t){if(t==="")return!0;if(/\s/.test(t)||t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}function put(t){if(!Zne.test(t))return!1;let e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return SIe(r)}function mut(t,e=null){try{let r=t.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let a=JSON.parse(atob(n));return!("typ"in a&&a?.typ!=="JWT"||!a.alg||e&&(!("alg"in a)||a.alg!==e))}catch{return!1}}function Xlt(t,e,r){t.issues.length&&e.issues.push(...im(r,t.issues)),e.value[r]=t.value}function oae(t,e,r,n,a,o){let i=r in n;if(t.issues.length){if(a&&o&&!i)return;e.issues.push(...im(r,t.issues))}if(!i&&!a){t.issues.length||e.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}t.value===void 0?i&&(e.value[r]=void 0):e.value[r]=t.value}function fut(t){let e=Object.keys(t.shape);for(let n of e)if(!t.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=HTe(t.shape);return{...t,keys:e,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(r)}}function hut(t,e,r,n,a,o){let i=[],s=a.keySet,c=a.catchall._zod,l=c.def.type,u=c.optin==="optional",d=c.optout==="optional";for(let p in e){if(p==="__proto__"||s.has(p))continue;if(l==="never"){i.push(p);continue}let m=c.run({value:e[p],issues:[]},n);m instanceof Promise?t.push(m.then(f=>oae(f,r,p,e,u,d))):oae(m,r,p,e,u,d)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:e,inst:o}),t.length?Promise.all(t).then(()=>r):r}function Qlt(t,e,r,n){for(let o of t)if(o.issues.length===0)return e.value=o.value,e;let a=t.filter(o=>!tx(o));return a.length===1?(e.value=a[0].value,a[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(i=>kd(i,n,Ji())))}),e)}function eut(t,e,r,n){let a=t.filter(o=>o.issues.length===0);return a.length===1?(e.value=a[0].value,e):(a.length===0?e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(o=>o.issues.map(i=>kd(i,n,Ji())))}):e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:[],inclusive:!1}),e)}function Xke(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(ex(t)&&ex(e)){let r=Object.keys(e),n=Object.keys(t).filter(o=>r.indexOf(o)!==-1),a={...t,...e};for(let o of n){let i=Xke(t[o],e[o]);if(!i.valid)return{valid:!1,mergeErrorPath:[o,...i.mergeErrorPath]};a[o]=i.data}return{valid:!0,data:a}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<t.length;n++){let a=t[n],o=e[n],i=Xke(a,o);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function tut(t,e,r){let n=new Map,a;for(let s of e.issues)if(s.code==="unrecognized_keys"){a??(a=s);for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).l=!0}else t.issues.push(s);for(let s of r.issues)if(s.code==="unrecognized_keys")for(let c of s.keys)n.has(c)||n.set(c,{}),n.get(c).r=!0;else t.issues.push(s);let o=[...n].filter(([,s])=>s.l&&s.r).map(([s])=>s);if(o.length&&a&&t.issues.push({...a,keys:o}),tx(t))return t;let i=Xke(e.value,r.value);if(!i.valid)throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(i.mergeErrorPath)}`);return t.value=i.data,t}function rut(t,e){for(let r=t.length-1;r>=0;r--)if(t[r]._zod[e]!=="optional")return r+1;return 0}function nut(t,e,r){t.issues.length&&e.issues.push(...im(r,t.issues)),e.value[r]=t.value}function aut(t,e,r,n,a){for(let o=0;o<r.length;o++){let i=t[o],s=o<n.length;if(i.issues.length){if(!s&&o>=a){e.value.length=o;break}e.issues.push(...im(o,i.issues))}e.value[o]=i.value}for(let o=e.value.length-1;o>=n.length&&(r[o]._zod.optout==="optional"&&e.value[o]===void 0);o--)e.value.length=o;return e}function out(t,e,r,n,a,o,i){t.issues.length&&(Rz.has(typeof n)?r.issues.push(...im(n,t.issues)):r.issues.push({code:"invalid_key",origin:"map",input:a,inst:o,issues:t.issues.map(s=>kd(s,i,Ji()))})),e.issues.length&&(Rz.has(typeof n)?r.issues.push(...im(n,e.issues)):r.issues.push({origin:"map",code:"invalid_element",input:a,inst:o,key:n,issues:e.issues.map(s=>kd(s,i,Ji()))})),r.value.set(t.value,e.value)}function iut(t,e){t.issues.length&&e.issues.push(...t.issues),e.value.add(t.value)}function sut(t,e){return e===void 0&&(t.issues.length||t.fallback)?{issues:[],value:void 0}:t}function cut(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}function lut(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function rae(t,e,r){return t.issues.length?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues,fallback:t.fallback},r)}function nae(t,e,r){if(t.issues.length)return t.aborted=!0,t;if((r.direction||"forward")==="forward"){let a=e.transform(t.value,t);return a instanceof Promise?a.then(o=>aae(t,o,e.out,r)):aae(t,a,e.out,r)}else{let a=e.reverseTransform(t.value,t);return a instanceof Promise?a.then(o=>aae(t,o,e.in,r)):aae(t,a,e.in,r)}}function aae(t,e,r,n){return t.issues.length?(t.aborted=!0,t):r._zod.run({value:e,issues:t.issues},n)}function uut(t){return t.value=Object.freeze(t.value),t}function dut(t,e,r,n){if(!t){let a={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(a.params=n._zod.def.params),e.issues.push(NM(a))}}var Lr,BP,no,Qke,eIe,tIe,rIe,nIe,aIe,oIe,iIe,sIe,cIe,lIe,uIe,dIe,pIe,mIe,fIe,hIe,gIe,yIe,vIe,bIe,EIe,wIe,AIe,CIe,iae,xIe,jz,sae,TIe,kIe,IIe,PIe,RIe,_Ie,DIe,NIe,OIe,$Ie,gut,MIe,Bz,LIe,FIe,jIe,cae,BIe,UIe,VIe,GIe,WIe,zIe,HIe,lae,KIe,qIe,YIe,ZIe,JIe,XIe,QIe,ePe,uae,Uz,tPe,rPe,nPe,aPe,oPe,iPe,sPe,cPe=A(()=>{tae();LP();Yke();tke();Xne();Kt();Jke();Kt();Lr=le("$ZodType",(t,e)=>{var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=Zke;let n=[...t._zod.def.checks??[]];t._zod.traits.has("$ZodCheck")&&n.unshift(t);for(let a of n)for(let o of a._zod.onattach)o(t);if(n.length===0)(r=t._zod).deferred??(r.deferred=[]),t._zod.deferred?.push(()=>{t._zod.run=t._zod.parse});else{let a=(i,s,c)=>{let l=tx(i),u;for(let d of s){if(d._zod.def.when){if(YTe(i)||!d._zod.def.when(i))continue}else if(l)continue;let p=i.issues.length,m=d._zod.check(i);if(m instanceof Promise&&c?.async===!1)throw new Fy;if(u||m instanceof Promise)u=(u??Promise.resolve()).then(async()=>{await m,i.issues.length!==p&&(l||(l=tx(i,p)))});else{if(i.issues.length===p)continue;l||(l=tx(i,p))}}return u?u.then(()=>i):i},o=(i,s,c)=>{if(tx(i))return i.aborted=!0,i;let l=a(s,n,c);if(l instanceof Promise){if(c.async===!1)throw new Fy;return l.then(u=>t._zod.parse(u,c))}return t._zod.parse(l,c)};t._zod.run=(i,s)=>{if(s.skipChecks)return t._zod.parse(i,s);if(s.direction==="backward"){let l=t._zod.parse({value:i.value,issues:[]},{...s,skipChecks:!0});return l instanceof Promise?l.then(u=>o(u,i,s)):o(l,i,s)}let c=t._zod.parse(i,s);if(c instanceof Promise){if(s.async===!1)throw new Fy;return c.then(l=>a(l,n,s))}return a(c,n,s)}}wn(t,"~standard",()=>({validate:a=>{try{let o=QTe(t,a);return o.success?{value:o.data}:{issues:o.error?.issues}}catch{return eke(t,a).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),BP=le("$ZodString",(t,e)=>{Lr.init(t,e),t._zod.pattern=[...t?._zod.bag?.patterns??[]].pop()??Ake(t._zod.bag),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),no=le("$ZodStringFormat",(t,e)=>{FM.init(t,e),BP.init(t,e)}),Qke=le("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=lke),no.init(t,e)}),eIe=le("$ZodUUID",(t,e)=>{if(e.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=jP(n))}else e.pattern??(e.pattern=jP());no.init(t,e)}),tIe=le("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=uke),no.init(t,e)}),rIe=le("$ZodURL",(t,e)=>{no.init(t,e),t._zod.check=r=>{try{let n=r.value.trim();if(!e.normalize&&e.protocol?.source===vke.source&&!/^https?:\/\//i.test(n)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:t,continue:!e.abort});return}let a=new URL(n);e.hostname&&(e.hostname.lastIndex=0,e.hostname.test(a.hostname)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort})),e.protocol&&(e.protocol.lastIndex=0,e.protocol.test(a.protocol.endsWith(":")?a.protocol.slice(0,-1):a.protocol)||r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort})),e.normalize?r.value=a.href:r.value=n;return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),nIe=le("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=dke()),no.init(t,e)}),aIe=le("$ZodNanoID",(t,e)=>{e.pattern??(e.pattern=ske),no.init(t,e)}),oIe=le("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=rke),no.init(t,e)}),iIe=le("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=nke),no.init(t,e)}),sIe=le("$ZodULID",(t,e)=>{e.pattern??(e.pattern=ake),no.init(t,e)}),cIe=le("$ZodXID",(t,e)=>{e.pattern??(e.pattern=oke),no.init(t,e)}),lIe=le("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=ike),no.init(t,e)}),uIe=le("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=wke(e)),no.init(t,e)}),dIe=le("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=bke),no.init(t,e)}),pIe=le("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=Eke(e)),no.init(t,e)}),mIe=le("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=cke),no.init(t,e)}),fIe=le("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=pke),no.init(t,e),t._zod.bag.format="ipv4"}),hIe=le("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=mke),no.init(t,e),t._zod.bag.format="ipv6",t._zod.check=r=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}}),gIe=le("$ZodMAC",(t,e)=>{e.pattern??(e.pattern=fke(e.delimiter)),no.init(t,e),t._zod.bag.format="mac"}),yIe=le("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=hke),no.init(t,e)}),vIe=le("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=gke),no.init(t,e),t._zod.check=r=>{let n=r.value.split("/");try{if(n.length!==2)throw new Error;let[a,o]=n;if(!o)throw new Error;let i=Number(o);if(`${i}`!==o)throw new Error;if(i<0||i>128)throw new Error;new URL(`http://[${a}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}}});bIe=le("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=yke),no.init(t,e),t._zod.bag.contentEncoding="base64",t._zod.check=r=>{SIe(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}});EIe=le("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Zne),no.init(t,e),t._zod.bag.contentEncoding="base64url",t._zod.check=r=>{put(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),wIe=le("$ZodE164",(t,e)=>{e.pattern??(e.pattern=Ske),no.init(t,e)});AIe=le("$ZodJWT",(t,e)=>{no.init(t,e),t._zod.check=r=>{mut(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),CIe=le("$ZodCustomStringFormat",(t,e)=>{no.init(t,e),t._zod.check=r=>{e.fn(r.value)||r.issues.push({code:"invalid_format",format:e.format,input:r.value,inst:t,continue:!e.abort})}}),iae=le("$ZodNumber",(t,e)=>{Lr.init(t,e),t._zod.pattern=t._zod.bag.pattern??Jne,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}let a=r.value;if(typeof a=="number"&&!Number.isNaN(a)&&Number.isFinite(a))return r;let o=typeof a=="number"?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:t,...o?{received:o}:{}}),r}}),xIe=le("$ZodNumberFormat",(t,e)=>{Dke.init(t,e),iae.init(t,e)}),jz=le("$ZodBoolean",(t,e)=>{Lr.init(t,e),t._zod.pattern=Tke,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}let a=r.value;return typeof a=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:a,inst:t}),r}}),sae=le("$ZodBigInt",(t,e)=>{Lr.init(t,e),t._zod.pattern=Cke,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=BigInt(r.value)}catch{}return typeof r.value=="bigint"||r.issues.push({expected:"bigint",code:"invalid_type",input:r.value,inst:t}),r}}),TIe=le("$ZodBigIntFormat",(t,e)=>{Nke.init(t,e),sae.init(t,e)}),kIe=le("$ZodSymbol",(t,e)=>{Lr.init(t,e),t._zod.parse=(r,n)=>{let a=r.value;return typeof a=="symbol"||r.issues.push({expected:"symbol",code:"invalid_type",input:a,inst:t}),r}}),IIe=le("$ZodUndefined",(t,e)=>{Lr.init(t,e),t._zod.pattern=Ike,t._zod.values=new Set([void 0]),t._zod.parse=(r,n)=>{let a=r.value;return typeof a>"u"||r.issues.push({expected:"undefined",code:"invalid_type",input:a,inst:t}),r}}),PIe=le("$ZodNull",(t,e)=>{Lr.init(t,e),t._zod.pattern=kke,t._zod.values=new Set([null]),t._zod.parse=(r,n)=>{let a=r.value;return a===null||r.issues.push({expected:"null",code:"invalid_type",input:a,inst:t}),r}}),RIe=le("$ZodAny",(t,e)=>{Lr.init(t,e),t._zod.parse=r=>r}),_Ie=le("$ZodUnknown",(t,e)=>{Lr.init(t,e),t._zod.parse=r=>r}),DIe=le("$ZodNever",(t,e)=>{Lr.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)}),NIe=le("$ZodVoid",(t,e)=>{Lr.init(t,e),t._zod.parse=(r,n)=>{let a=r.value;return typeof a>"u"||r.issues.push({expected:"void",code:"invalid_type",input:a,inst:t}),r}}),OIe=le("$ZodDate",(t,e)=>{Lr.init(t,e),t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=new Date(r.value)}catch{}let a=r.value,o=a instanceof Date;return o&&!Number.isNaN(a.getTime())||r.issues.push({expected:"date",code:"invalid_type",input:a,...o?{received:"Invalid Date"}:{},inst:t}),r}});$Ie=le("$ZodArray",(t,e)=>{Lr.init(t,e),t._zod.parse=(r,n)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:t}),r;r.value=Array(a.length);let o=[];for(let i=0;i<a.length;i++){let s=a[i],c=e.element._zod.run({value:s,issues:[]},n);c instanceof Promise?o.push(c.then(l=>Xlt(l,r,i))):Xlt(c,r,i)}return o.length?Promise.all(o).then(()=>r):r}});gut=le("$ZodObject",(t,e)=>{if(Lr.init(t,e),!Object.getOwnPropertyDescriptor(e,"shape")?.get){let s=e.shape;Object.defineProperty(e,"shape",{get:()=>{let c={...s};return Object.defineProperty(e,"shape",{value:c}),c}})}let n=DM(()=>fut(e));wn(t._zod,"propValues",()=>{let s=e.shape,c={};for(let l in s){let u=s[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let a=FP,o=e.catchall,i;t._zod.parse=(s,c)=>{i??(i=n.value);let l=s.value;if(!a(l))return s.issues.push({expected:"object",code:"invalid_type",input:l,inst:t}),s;s.value={};let u=[],d=i.shape;for(let p of i.keys){let m=d[p],f=m._zod.optin==="optional",y=m._zod.optout==="optional",v=m._zod.run({value:l[p],issues:[]},c);v instanceof Promise?u.push(v.then(S=>oae(S,s,p,l,f,y))):oae(v,s,p,l,f,y)}return o?hut(u,l,s,c,n.value,t):u.length?Promise.all(u).then(()=>s):s}}),MIe=le("$ZodObjectJIT",(t,e)=>{gut.init(t,e);let r=t._zod.parse,n=DM(()=>fut(e)),a=p=>{let m=new Fz(["shape","payload","ctx"]),f=n.value,y=C=>{let x=Fne(C);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};m.write("const input = payload.value;");let v=Object.create(null),S=0;for(let C of f.keys)v[C]=`key_${S++}`;m.write("const newResult = {};");for(let C of f.keys){let x=v[C],k=Fne(C),P=p[C],I=P?._zod?.optin==="optional",N=P?._zod?.optout==="optional";m.write(`const ${x} = ${y(C)};`),I&&N?m.write(`
|
|
@@ -155,7 +155,7 @@ ${d}\r
|
|
|
155
155
|
`)}d.push(null)}),d}async function MCr(t,e){let r=0,n=[],a=t.getReader(),o=!1;for(;!o;){let{done:c,value:l}=await a.read();if(l&&(n.push(l),r+=l?.byteLength??0),r>=e)break;o=c}a.releaseLock();let i=new Uint8Array(Math.min(e,r)),s=0;for(let c of n){if(c.byteLength>i.byteLength-s){i.set(c.subarray(0,i.byteLength-s),s);break}else i.set(c,s);s+=c.length}return i}var LCr=(t,e)=>zS(t)?MCr(t,e):new Promise((r,n)=>{let a=new FCr;a.limit=e,t.pipe(a),t.on("error",o=>{a.end(),n(o)}),a.on("error",n),a.on("finish",function(){let o=Ese(this.buffers);r(o)})}),FCr=class extends lvt{buffers=[];limit=1/0;bytesBuffered=0;_write(e,r,n){if(this.buffers.push(e),this.bytesBuffered+=e.byteLength??0,this.bytesBuffered>=this.limit){let a=this.bytesBuffered-this.limit,o=this.buffers[this.buffers.length-1];this.buffers[this.buffers.length-1]=o.subarray(0,o.byteLength-a),this.emit("finish")}n()}},jCr=t=>{if(typeof t=="string")return t;if(typeof t!="object"||typeof t.byteOffset!="number"||typeof t.byteLength!="number")throw new Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return new TextDecoder("utf-8").decode(t)},BCr=async t=>wse(t)?Dvt(t):Nvt(t);async function Dvt(t){return t.arrayBuffer().then(e=>new Uint8Array(e))}async function Nvt(t){let e=[],r=t.getReader(),n=0;for(;;){let{done:a,value:o}=await r.read();if(o&&(e.push(o),n+=o.length),a)break}return Ese(e,n)}var ivt="The stream has already been transformed.",UCr=t=>{if(!svt(t)&&!zS(t)){let a=t?.__proto__?.constructor?.name||t;throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${a}`)}let e=!1,r=async()=>{if(e)throw new Error(ivt);return e=!0,await BCr(t)},n=a=>{if(typeof a.stream!="function")throw new Error(`Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.
|
|
156
156
|
If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body`);return a.stream()};return Object.assign(t,{transformToByteArray:r,transformToString:async a=>{let o=await r();if(a==="base64")return Pvt(o);if(a==="hex")return Evt(o);if(a===void 0||a==="utf8"||a==="utf-8")return jCr(o);if(typeof TextDecoder=="function")return new TextDecoder(a).decode(o);throw new Error("TextDecoder is not available, please make sure polyfill is provided.")},transformToWebStream:()=>{if(e)throw new Error(ivt);if(e=!0,svt(t))return n(t);if(zS(t))return t;throw new Error(`Cannot transform payload to web stream, got ${t}`)}})},svt=t=>typeof Blob=="function"&&t instanceof Blob,Ovt=t=>wse(t)?Dvt(t):zS(t)?Nvt(t):new Promise((e,r)=>{let n=new i1e,a=t;a.pipe(n),a.on("error",o=>{n.end(),r(o)}),n.on("error",r),n.on("finish",function(){let o=Ese(this.bufferedBytes);e(o)})}),i1e=class extends lvt{bufferedBytes=[];_write(e,r,n){this.bufferedBytes.push(e),n()}},cvt="The stream has already been transformed.",VCr=t=>{if(!(t instanceof zL))try{return UCr(t)}catch{let a=t?.__proto__?.constructor?.name||t;throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${a}`)}let e=!1,r=async()=>{if(e)throw new Error(cvt);return e=!0,await Ovt(t)};return Object.assign(t,{transformToByteArray:r,transformToString:async n=>{let a=await r();return n===void 0||Buffer.isEncoding(n)?KL(a.buffer,a.byteOffset,a.byteLength).toString(n):new TextDecoder(n).decode(a)},transformToWebStream:()=>{if(e)throw new Error(cvt);if(t.readableFlowing!==null)throw new Error("The stream has been consumed by other callbacks.");if(typeof zL.toWeb!="function")throw new Error("Readable.toWeb() is not supported. Please ensure a polyfill is available.");return e=!0,zL.toWeb(t)}})};async function GCr(t){return typeof t.stream=="function"&&(t=t.stream()),t.tee()}async function WCr(t){if(zS(t)||wse(t))return GCr(t);let e=new rvt,r=new rvt;return t.pipe(e),t.pipe(r),[e,r]}var s1e=class extends I0r(pvt,bse,c1e,dvt){},zCr=E0r,$vt=P0r(zCr),HCr=$vt;Ct.ChecksumStream=kvt;Ct.Hash=a1e;Ct.LazyJsonString=RR;Ct.NumericValue=vse;Ct.Uint8ArrayBlobAdapter=s1e;Ct._parseEpochTimestamp=yCr;Ct._parseRfc3339DateTimeWithOffset=vCr;Ct._parseRfc7231DateTime=SCr;Ct.calculateBodyLength=CCr;Ct.concatBytes=Ese;Ct.copyDocumentWithTransform=R0r;Ct.createBufferedReadable=NCr;Ct.createChecksumStream=_Cr;Ct.dateToUtcString=K0r;Ct.deserializerMiddleware=Avt;Ct.deserializerMiddlewareOption=xvt;Ct.expectBoolean=D0r;Ct.expectByte=r1e;Ct.expectFloat32=gse;Ct.expectInt=O0r;Ct.expectInt32=e1e;Ct.expectLong=NH;Ct.expectNonNull=M0r;Ct.expectNumber=DH;Ct.expectObject=mvt;Ct.expectShort=t1e;Ct.expectString=L0r;Ct.expectUnion=F0r;Ct.fromArrayBuffer=KL;Ct.fromBase64=dvt;Ct.fromHex=ACr;Ct.fromString=Sse;Ct.fromUtf8=bse;Ct.generateIdempotencyToken=HCr;Ct.getAwsChunkedEncodingStream=$Cr;Ct.getSerdePlugin=xCr;Ct.handleFloat=U0r;Ct.headStream=LCr;Ct.isArrayBuffer=uvt;Ct.isBlob=wse;Ct.isReadableStream=zS;Ct.limitedParseDouble=d1e;Ct.limitedParseFloat=V0r;Ct.limitedParseFloat32=G0r;Ct.logger=OH;Ct.nv=wCr;Ct.parseBoolean=_0r;Ct.parseEpochTimestamp=rCr;Ct.parseRfc3339DateTime=Y0r;Ct.parseRfc3339DateTimeWithOffset=J0r;Ct.parseRfc7231DateTime=tCr;Ct.quoteHeader=dCr;Ct.sdkStreamMixin=VCr;Ct.serializerMiddleware=Cvt;Ct.serializerMiddlewareOption=Tvt;Ct.splitEvery=bCr;Ct.splitHeader=ECr;Ct.splitStream=WCr;Ct.streamCollector=Ovt;Ct.strictParseByte=yvt;Ct.strictParseDouble=u1e;Ct.strictParseFloat=j0r;Ct.strictParseFloat32=fvt;Ct.strictParseInt=W0r;Ct.strictParseInt32=z0r;Ct.strictParseLong=gvt;Ct.strictParseShort=qL;Ct.toBase64=c1e;Ct.toHex=Evt;Ct.toUint8Array=wvt;Ct.toUtf8=pvt;Ct.v4=$vt});var Hvt=ge(Bd=>{var{createReadStream:KCr}=Vt("node:fs"),{Writable:qCr}=Vt("node:stream"),{toUint8Array:JL,concatBytes:YCr}=Ase(),{createHash:MH,createHmac:ZCr}=Vt("node:crypto"),Mvt=Vt("node:zlib");async function Uvt(t,e,r=1024*1024){let n=t.size,a=0;for(;a<n;){let o=t.slice(a,Math.min(n,a+r));e(new Uint8Array(await o.arrayBuffer())),a+=o.size}}var JCr=async function(e,r){let n=new e;return await Uvt(r,a=>{n.update(a)}),n.digest()},xse=class extends qCr{hash;constructor(e,r){super(r),this.hash=e}_write(e,r,n){try{this.hash.update(JL(e))}catch(a){return n(a)}n()}},XCr=(t,e)=>new Promise((r,n)=>{if(!QCr(e)){n(new Error("Unable to calculate hash for non-file streams."));return}let a=KCr(e.path,{start:e.start,end:e.end}),o=new t,i=new xse(o);a.pipe(i),a.on("error",s=>{i.end(),n(s)}),i.on("error",n),i.on("finish",function(){o.digest().then(r).catch(n)})}),QCr=t=>typeof t.path=="string",exr=(t,e)=>{if(e.readableFlowing!==null)throw new Error("Unable to calculate hash for flowing readable stream");let r=new t,n=new xse(r);return e.pipe(n),new Promise((a,o)=>{e.on("error",i=>{n.end(),o(i)}),n.on("error",o),n.on("finish",()=>{r.digest().then(a).catch(o)})})},Tse=class{digestLength=16;state=Uint32Array.from(Lvt);writeBuffer=new DataView(new ArrayBuffer(64));bufferLength=0;bytesHashed=0;update(e){let r=JL(e),n=0,a=r.byteLength;for(this.bytesHashed+=a;a>0;)this.writeBuffer.setUint8(this.bufferLength++,r[n++]),--a,this.bufferLength===64&&(g1e(this.state,this.writeBuffer),this.bufferLength=0)}async digest(){let e=Uint32Array.from(this.state),r=new DataView(this.writeBuffer.buffer.slice(0)),n=this.bufferLength,a=this.bytesHashed*8;if(r.setUint8(n++,128),this.bufferLength%64>=56){for(let s=n;s<64;++s)r.setUint8(s,0);g1e(e,r),n=0}for(let s=n;s<56;++s)r.setUint8(s,0);r.setUint32(56,a>>>0,!0),r.setUint32(60,Math.floor(a/2**32),!0),g1e(e,r);let o=new Uint8Array(16),i=new DataView(o.buffer);for(let s=0;s<4;++s)i.setUint32(s*4,e[s],!0);return o}reset(){this.state.set(Lvt),this.writeBuffer=new DataView(new ArrayBuffer(64)),this.bufferLength=0,this.bytesHashed=0}},Lvt=[1732584193,4023233417,2562383102,271733878],Px=4294967295,txr=Uint8Array.of(7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21),rxr=Array.from({length:64},(t,e)=>Math.abs(Math.sin(e+1))*2**32>>>0);function g1e(t,e){let r=t[0],n=t[1],a=t[2],o=t[3];for(let i=0;i<64;++i){let s,c;i<16?(s=n&a|~n&o,c=i):i<32?(s=o&n|a&~o,c=(5*i+1)%16):i<48?(s=n^a^o,c=(3*i+5)%16):(s=a^(n|~o),c=7*i%16);let l=e.getUint32(c*4,!0),u=o;o=a,a=n;let d=txr[(i>>4)*4+(i&3)],p=(r+s&Px)+(l+rxr[i]&Px)&Px;n=n+((p<<d|p>>>32-d)>>>0)&Px,r=u}t[0]=t[0]+r&Px,t[1]=t[1]+n&Px,t[2]=t[2]+a&Px,t[3]=t[3]+o&Px}var nxr=(()=>{try{return MH("md5"),!0}catch{return!1}})(),Vvt=nxr?axr():Tse;function axr(){return class{digestLength=16;hash=MH("md5");update(e){this.hash.update(JL(e))}async digest(){let e=this.hash.copy().digest();return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}reset(){this.hash=MH("md5")}}}var Gvt=new Uint32Array(256);for(let t=0;t<256;++t){let e=t;for(let r=0;r<8;++r)e=e&1?3988292384^e>>>1:e>>>1;Gvt[t]=e>>>0}var y1e=4294967295,kse=class{digestLength=4;checksum=y1e;update(e){for(let r=0;r<e.length;++r)this.checksum=this.checksum>>>8^Gvt[(this.checksum^e[r])&255]}digestSync(){return(this.checksum^y1e)>>>0}async digest(){let e=this.digestSync(),r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!1),r}reset(){this.checksum=y1e}},Fvt=typeof Mvt.crc32=="function"?Mvt.crc32:void 0,Wvt=Fvt?oxr(Fvt):kse;function oxr(t){return class{digestLength=4;value=0;update(r){this.value=t(r,this.value)}digestSync(){return this.value>>>0}async digest(){let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,this.digestSync(),!1),r}reset(){this.value=0}}}var Ul=64,jvt=32,ixr=2**53-1,XL=class t{digestLength=jvt;state=Int32Array.from(Bvt);w;buffer=new Uint8Array(64);bufferLength=0;bytesHashed=0;finished=!1;inner;outer;constructor(e){if(e){let r=t.normalizeKey(e);this.inner=new t,this.outer=new t;let{inner:n,outer:a}=this,o=new Uint8Array(Ul*2);for(let i=0;i<Ul;++i)o[i]=54^r[i],o[i+Ul]=92^r[i];n.update(o.subarray(0,Ul)),a.update(o.subarray(Ul))}}update(e){if(this.finished)throw new Error("Attempted to update an already finished HMAC.");if(this.inner){this.inner.update(e);return}let r=JL(e),n=0,{byteLength:a}=r;if(this.bytesHashed+=a,this.bytesHashed*8>ixr)throw new Error("Cannot hash more than 2^53 - 1 bits");for(;a>0;)this.buffer[this.bufferLength++]=r[n++],a--,this.bufferLength===Ul&&(this.hashBuffer(),this.bufferLength=0)}async digest(){let{inner:e,outer:r}=this;if(e&&r){if(this.finished)throw new Error("Attempted to digest an already finished HMAC.");this.finished=!0;let n=e.digestSync();return r.update(n),r.digestSync()}return this.digestSync()}reset(){this.state=Int32Array.from(Bvt),this.buffer=new Uint8Array(64),this.bufferLength=0,this.bytesHashed=0}digestSync(){let e=this.state.slice(),r=this.buffer.slice(),n=this.bufferLength,a=this.bytesHashed*8,o=new DataView(r.buffer,r.byteOffset,r.byteLength);if(o.setUint8(n++,128),(n-1)%Ul>=Ul-8){for(let s=n;s<Ul;++s)o.setUint8(s,0);this.hashBufferWith(e,r),n=0}for(let s=n;s<Ul-8;++s)o.setUint8(s,0);o.setUint32(Ul-8,Math.floor(a/4294967296),!1),o.setUint32(Ul-4,a,!1),this.hashBufferWith(e,r);let i=new Uint8Array(jvt);for(let s=0;s<8;++s)i[s*4]=e[s]>>>24&255,i[s*4+1]=e[s]>>>16&255,i[s*4+2]=e[s]>>>8&255,i[s*4+3]=e[s]>>>0&255;return i}static normalizeKey(e){let r=JL(e);if(r.byteLength>Ul){let n=new t;n.update(r);let a=n.digestSync(),o=new Uint8Array(Ul);return o.set(a),o}if(r.byteLength<Ul){let n=new Uint8Array(Ul);return n.set(r),n}return r}hashBuffer(){this.hashBufferWith(this.state,this.buffer)}hashBufferWith(e,r){let n=this.w??=new Int32Array(64),a=e[0],o=e[1],i=e[2],s=e[3],c=e[4],l=e[5],u=e[6],d=e[7];for(let p=0;p<Ul;++p){if(p<16)n[p]=(r[p*4]&255)<<24|(r[p*4+1]&255)<<16|(r[p*4+2]&255)<<8|r[p*4+3]&255;else{let y=n[p-2],v=(y>>>17|y<<15)^(y>>>19|y<<13)^y>>>10;y=n[p-15];let S=(y>>>7|y<<25)^(y>>>18|y<<14)^y>>>3;n[p]=(v+n[p-7]|0)+(S+n[p-16]|0)}let m=(((c>>>6|c<<26)^(c>>>11|c<<21)^(c>>>25|c<<7))+(c&l^~c&u)|0)+(d+(sxr[p]+n[p]|0)|0)|0,f=((a>>>2|a<<30)^(a>>>13|a<<19)^(a>>>22|a<<10))+(a&o^a&i^o&i)|0;d=u,u=l,l=c,c=s+m|0,s=i,i=o,o=a,a=m+f|0}e[0]+=a,e[1]+=o,e[2]+=i,e[3]+=s,e[4]+=c,e[5]+=l,e[6]+=u,e[7]+=d}},Bvt=new Int32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),sxr=new Int32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),cxr=(()=>{try{return MH("sha256"),!0}catch{return!1}})(),zvt=cxr?lxr():XL;function lxr(){return class{digestLength=32;secret;hash;isHmac;finished=!1;constructor(e){this.secret=e,this.isHmac=!!e,this.hash=this.createHash()}update(e){if(this.finished)throw new Error("Attempted to update an already finished hash.");this.hash.update(e)}async digest(){let e;return this.isHmac?(this.finished=!0,e=this.hash.digest()):e=this.hash.copy().digest(),new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}reset(){this.hash=this.createHash(),this.finished=!1}createHash(){return this.secret?ZCr("sha256",uxr(this.secret)):MH("sha256")}}}function uxr(t){return typeof t=="string"?t:ArrayBuffer.isView(t)?Buffer.from(t.buffer,t.byteOffset,t.byteLength):Buffer.from(t)}var{digest:dxr,sign:pxr,importKey:mxr}=globalThis?.crypto?.subtle??{},Cse=typeof dxr=="function"&&typeof pxr=="function"&&typeof mxr=="function"?globalThis.crypto.subtle:void 0,fxr=8*1024*1024,v1e=class{digestLength=32;secret;pending=[];pendingBytes=0;fallback;finished=!1;constructor(e){e&&(this.secret=JL(e))}update(e){if(this.finished)throw new Error("Attempted to update an already finished HMAC.");if(this.fallback){this.fallback.update(e);return}this.pending.push(e.slice()),this.pendingBytes+=e.byteLength,this.pendingBytes>=fxr&&this.switchToFallback()}async digest(){if(this.fallback)return this.fallback.digest();if(this.secret&&this.finished)throw new Error("Attempted to digest an already finished HMAC.");let e=YCr(this.pending);if(Cse){if(this.secret){this.finished=!0;let a=await Cse.importKey("raw",this.secret,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),o=await Cse.sign("HMAC",a,e);return new Uint8Array(o)}let n=await Cse.digest("SHA-256",e);return new Uint8Array(n)}let r=new XL(this.secret);return r.update(e),r.digest()}reset(){this.pending=[],this.pendingBytes=0,this.fallback=void 0,this.finished=!1}switchToFallback(){let e=new XL(this.secret);for(let r of this.pending)e.update(r);this.fallback=e,this.pending=[],this.pendingBytes=0}};Bd.Crc32=Wvt;Bd.Crc32Js=kse;Bd.Crc32Node=Wvt;Bd.Md5=Vvt;Bd.Md5Js=Tse;Bd.Md5Node=Vvt;Bd.Sha256=zvt;Bd.Sha256Js=XL;Bd.Sha256Node=zvt;Bd.Sha256WebCrypto=v1e;Bd.blobHasher=JCr;Bd.blobReader=Uvt;Bd.fileStreamHasher=XCr;Bd.readableStreamHasher=exr});var Xvt=ge(hc=>{var{Crc32:Yvt}=Hvt(),{toHex:QL,fromHex:hxr,toUtf8:gxr,fromUtf8:yxr}=Ase(),{Readable:vxr}=Vt("node:stream"),{TypeRegistry:Sxr}=ase(),eF=class t{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776e3||e<-9223372036854776e3)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let r=new Uint8Array(8);for(let n=7,a=Math.abs(Math.round(e));n>-1&&a>0;n--,a/=256)r[n]=a;return e<0&&Kvt(r),new t(r)}valueOf(){let e=this.bytes.slice(0),r=e[0]&128;return r&&Kvt(e),parseInt(QL(e),16)*(r?-1:1)}toString(){return String(this.valueOf())}};function Kvt(t){for(let e=0;e<8;e++)t[e]^=255;for(let e=7;e>-1&&(t[e]++,t[e]===0);e--);}var Ise=class{toUtf8;fromUtf8;constructor(e,r){this.toUtf8=e,this.fromUtf8=r}format(e){let r=[];for(let o of Object.keys(e)){let i=this.fromUtf8(o);r.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[o]))}let n=new Uint8Array(r.reduce((o,i)=>o+i.byteLength,0)),a=0;for(let o of r)n.set(o,a),a+=o.byteLength;return n}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?Qi.boolTrue:Qi.boolFalse]);case"byte":return Uint8Array.from([Qi.byte,e.value]);case"short":let r=new DataView(new ArrayBuffer(3));return r.setUint8(0,Qi.short),r.setInt16(1,e.value,!1),new Uint8Array(r.buffer);case"integer":let n=new DataView(new ArrayBuffer(5));return n.setUint8(0,Qi.integer),n.setInt32(1,e.value,!1),new Uint8Array(n.buffer);case"long":let a=new Uint8Array(9);return a[0]=Qi.long,a.set(e.value.bytes,1),a;case"binary":let o=new DataView(new ArrayBuffer(3+e.value.byteLength));o.setUint8(0,Qi.byteArray),o.setUint16(1,e.value.byteLength,!1);let i=new Uint8Array(o.buffer);return i.set(e.value,3),i;case"string":let s=this.fromUtf8(e.value),c=new DataView(new ArrayBuffer(3+s.byteLength));c.setUint8(0,Qi.string),c.setUint16(1,s.byteLength,!1);let l=new Uint8Array(c.buffer);return l.set(s,3),l;case"timestamp":let u=new Uint8Array(9);return u[0]=Qi.timestamp,u.set(eF.fromNumber(e.value.valueOf()).bytes,1),u;case"uuid":if(!Ixr.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);let d=new Uint8Array(17);return d[0]=Qi.uuid,d.set(hxr(e.value.replace(/-/g,"")),1),d}}parse(e){let r={},n=0;for(;n<e.byteLength;){let a=e.getUint8(n++),o=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,a));switch(n+=a,e.getUint8(n++)){case Qi.boolTrue:r[o]={type:qvt,value:!0};break;case Qi.boolFalse:r[o]={type:qvt,value:!1};break;case Qi.byte:r[o]={type:bxr,value:e.getInt8(n++)};break;case Qi.short:r[o]={type:Exr,value:e.getInt16(n,!1)},n+=2;break;case Qi.integer:r[o]={type:wxr,value:e.getInt32(n,!1)},n+=4;break;case Qi.long:r[o]={type:Axr,value:new eF(new Uint8Array(e.buffer,e.byteOffset+n,8))},n+=8;break;case Qi.byteArray:let i=e.getUint16(n,!1);n+=2,r[o]={type:Cxr,value:new Uint8Array(e.buffer,e.byteOffset+n,i)},n+=i;break;case Qi.string:let s=e.getUint16(n,!1);n+=2,r[o]={type:xxr,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+n,s))},n+=s;break;case Qi.timestamp:r[o]={type:Txr,value:new Date(new eF(new Uint8Array(e.buffer,e.byteOffset+n,8)).valueOf())},n+=8;break;case Qi.uuid:let c=new Uint8Array(e.buffer,e.byteOffset+n,16);n+=16,r[o]={type:kxr,value:`${QL(c.subarray(0,4))}-${QL(c.subarray(4,6))}-${QL(c.subarray(6,8))}-${QL(c.subarray(8,10))}-${QL(c.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return r}},Qi;(function(t){t[t.boolTrue=0]="boolTrue",t[t.boolFalse=1]="boolFalse",t[t.byte=2]="byte",t[t.short=3]="short",t[t.integer=4]="integer",t[t.long=5]="long",t[t.byteArray=6]="byteArray",t[t.string=7]="string",t[t.timestamp=8]="timestamp",t[t.uuid=9]="uuid"})(Qi||(Qi={}));var qvt="boolean",bxr="byte",Exr="short",wxr="integer",Axr="long",Cxr="binary",xxr="string",Txr="timestamp",kxr="uuid",Ixr=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/,Zvt=4,Rx=Zvt*2,_R=4,Pxr=Rx+_R*2;function Rxr({byteLength:t,byteOffset:e,buffer:r}){if(t<Pxr)throw new Error("Provided message too short to accommodate event stream message overhead");let n=new DataView(r,e,t),a=n.getUint32(0,!1);if(t!==a)throw new Error("Reported message length does not match received message length");let o=n.getUint32(Zvt,!1),i=n.getUint32(Rx,!1),s=n.getUint32(t-_R,!1),c=new Yvt;if(c.update(new Uint8Array(r,e,Rx)),i!==c.digestSync())throw new Error(`The prelude checksum specified in the message (${i}) does not match the calculated CRC32 checksum (${c.digestSync()})`);if(c.update(new Uint8Array(r,e+Rx,t-(Rx+_R))),s!==c.digestSync())throw new Error(`The message checksum (${c.digestSync()}) did not match the expected value of ${s}`);return{headers:new DataView(r,e+Rx+_R,o),body:new Uint8Array(r,e+Rx+_R+o,a-o-(Rx+_R+_R))}}var Pse=class{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,r){this.headerMarshaller=new Ise(e,r),this.messageBuffer=[],this.isEndOfStream=!1}feed(e){this.messageBuffer.push(this.decode(e))}endOfStream(){this.isEndOfStream=!0}getMessage(){let e=this.messageBuffer.pop(),r=this.isEndOfStream;return{getMessage(){return e},isEndOfStream(){return r}}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let r=this.isEndOfStream;return{getMessages(){return e},isEndOfStream(){return r}}}encode({headers:e,body:r}){let n=this.headerMarshaller.format(e),a=n.byteLength+r.byteLength+16,o=new Uint8Array(a),i=new DataView(o.buffer,o.byteOffset,o.byteLength),s=new Yvt;return i.setUint32(0,a,!1),i.setUint32(4,n.byteLength,!1),s.update(o.subarray(0,8)),i.setUint32(8,s.digestSync(),!1),o.set(n,12),o.set(r,n.byteLength+12),s.update(o.subarray(8,a-4)),i.setUint32(a-4,s.digestSync(),!1),o}decode(e){let{headers:r,body:n}=Rxr(e);return{headers:this.headerMarshaller.parse(r),body:n}}formatHeaders(e){return this.headerMarshaller.format(e)}},Rse=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.decoder.decode(e)}},_se=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream)yield this.options.encoder.encode(e);this.options.includeEndFrame&&(yield new Uint8Array(0))}},Dse=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream){let r=await this.options.deserializer(e);r!==void 0&&(yield r)}}},Nse=class{options;constructor(e){this.options=e}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.serializer(e)}};function Jvt(t){let e=0,r=0,n=null,a=null,o=s=>{if(typeof s!="number")throw new Error("Attempted to allocate an event message where size was not a number: "+s);e=s,r=4,n=new Uint8Array(s),new DataView(n.buffer).setUint32(0,s,!1)},i=async function*(){let s=t[Symbol.asyncIterator]();for(;;){let{value:c,done:l}=await s.next();if(l){if(e)if(e===r)yield n;else throw new Error("Truncated event message received.");else return;return}let u=c.length,d=0;for(;d<u;){if(!n){let m=u-d;a||(a=new Uint8Array(4));let f=Math.min(4-r,m);if(a.set(c.slice(d,d+f),r),r+=f,d+=f,r<4)break;o(new DataView(a.buffer).getUint32(0,!1)),a=null}let p=Math.min(e-r,u-d);n.set(c.slice(d,d+p),r),r+=p,d+=p,e&&e===r&&(yield n,n=null,e=0,r=0)}}};return{[Symbol.asyncIterator]:i}}function _xr(t,e){let r=b1e(e.deserializer,e.toUtf8);return{[Symbol.asyncIterator]:async function*(){for await(let n of t){let a=e.eventStreamCodec.decode(n),o=await r(a);o!==void 0&&(yield o)}}}}function b1e(t,e){return async function(r){let{value:n}=r.headers[":message-type"];if(n==="error"){let a=new Error(r.headers[":error-message"].value||"UnknownError");throw a.name=r.headers[":error-code"].value,a}else if(n==="exception"){let a=r.headers[":exception-type"].value,o={[a]:r},i=await t(o);if(i.$unknown){let s=new Error(e(r.body));throw s.name=a,s}throw i[a]}else if(n==="event"){let a={[r.headers[":event-type"].value]:r},o=await t(a);return o.$unknown?void 0:o}else throw Error(`Unrecognizable event type: ${r.headers[":event-type"].value}`)}}var E1e=class{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:r}){this.eventStreamCodec=new Pse(e,r),this.utfEncoder=e}deserialize(e,r){let n=Jvt(e);return new Dse({messageStream:new Rse({inputStream:n,decoder:this.eventStreamCodec}),deserializer:b1e(r,this.utfEncoder)})}serialize(e,r){return new _se({messageStream:new Nse({inputStream:e,serializer:r}),encoder:this.eventStreamCodec,includeEndFrame:!0})}},Dxr=t=>new E1e(t),Ose=class{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:r}){this.universalMarshaller=new E1e({utf8Decoder:r,utf8Encoder:e})}deserialize(e,r){let n=typeof e[Symbol.asyncIterator]=="function"?e:Oxr(e);return this.universalMarshaller.deserialize(n,r)}serialize(e,r){return vxr.from(this.universalMarshaller.serialize(e,r))}},Nxr=t=>new Ose(t);async function*Oxr(t){let e=!1,r=!1,n=new Array;for(t.on("error",a=>{if(e||(e=!0),a)throw a}),t.on("data",a=>{n.push(a)}),t.on("end",()=>{e=!0});!r;){let a=await new Promise(o=>setTimeout(()=>o(n.shift()),0));a&&(yield a),r=e&&n.length===0}}var $xr=t=>({[Symbol.asyncIterator]:async function*(){let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)return;yield n}}finally{e.releaseLock()}}}),Mxr=t=>{let e=t[Symbol.asyncIterator]();return new ReadableStream({async pull(r){let{done:n,value:a}=await e.next();if(n)return r.close();r.enqueue(a)}})},Lxr=t=>Object.assign(t,{eventStreamMarshaller:t.eventStreamSerdeProvider(t)}),S1e=class{marshaller;serializer;deserializer;serdeContext;defaultContentType;compositeErrorRegistry;constructor({marshaller:e,serializer:r,deserializer:n,serdeContext:a,defaultContentType:o,compositeErrorRegistry:i}){this.marshaller=e,this.serializer=r,this.deserializer=n,this.serdeContext=a,this.defaultContentType=o,this.compositeErrorRegistry=i}async serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n}){let a=this.marshaller,o=r.getEventStreamMember(),i=r.getMemberSchema(o),s=this.serializer,c=this.defaultContentType,l=Symbol("initialRequestMarker"),u={async*[Symbol.asyncIterator](){if(n){let d={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:c}};s.write(r,n);let p=s.flush();yield{[l]:!0,headers:d,body:p}}for await(let d of e)yield d}};return a.serialize(u,d=>{if(d[l])return{headers:d.headers,body:d.body};let p="";for(let w in d)if(w!=="__type"){p=w;break}let{additionalHeaders:m,body:f,eventType:y,explicitPayloadContentType:v}=this.writeEventBody(p,i,d);return{headers:{":event-type":{type:"string",value:y},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:v??c},...m},body:f}})}async deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n}){let a=this.marshaller,o=r.getEventStreamMember(),s=r.getMemberSchema(o).getMemberSchemas(),c=Symbol("initialResponseMarker"),l=a.deserialize(e.body,async p=>{let m="";for(let y in p)if(y!=="__type"){m=y;break}let f=p[m].body;if(m==="initial-response"){let y=await this.deserializer.read(r,f);return delete y[o],{[c]:!0,...y}}else if(m in s){let y=s[m];if(y.isStructSchema()){let v={},S=!1;for(let[w,C]of y.structIterator()){let{eventHeader:x,eventPayload:k}=C.getMergedTraits();if(S=S||!!(x||k),k)C.isBlobSchema()?v[w]=f:C.isStringSchema()?v[w]=(this.serdeContext?.utf8Encoder??gxr)(f):C.isStructSchema()&&(v[w]=await this.deserializer.read(C,f));else if(x){let P=p[m].headers[w]?.value;P!=null&&(C.isNumericSchema()?P&&typeof P=="object"&&"bytes"in P?v[w]=BigInt(P.toString()):v[w]=Number(P):v[w]=P)}}return{[m]:await this.readEventMember(y,f,S,v)}}return{[m]:await this.deserializer.read(y,f)}}else return{$unknown:p}}),u=l[Symbol.asyncIterator](),d=await u.next();if(d.done)return l;if(d.value?.[c]){if(!r)throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(let p in d.value)n[p]=d.value[p]}return{async*[Symbol.asyncIterator](){for(d?.value?.[c]||(yield d.value);;){let{done:p,value:m}=await u.next();if(p)break;yield m}}}}async readEventMember(e,r,n,a){let o,i=e.getSchema();if(Array.isArray(i)&&i[0]===-3){let c=i[1],l=Sxr.for(c);this.compositeErrorRegistry?.copyFrom(l),o=(this.compositeErrorRegistry??l)?.getErrorCtor(i)}let s=n?a:r.byteLength===0?{}:await this.deserializer.read(e,r);if(o){let c=s.message??s.Message??"Unknown",l={},u=e.getMergedTraits().error;return u&&(l.$fault=u),Object.assign(new o({}),l,{message:c},s)}return s}writeEventBody(e,r,n){let a=this.serializer,o=e,i=null,s,c=r.getSchema()[4].includes(e),l={};if(c){let p=r.getMemberSchema(e);if(p.isStructSchema()){for(let[m,f]of p.structIterator()){let{eventHeader:y,eventPayload:v}=f.getMergedTraits();if(v)i=m;else if(y){let S=n[e][m],w="binary";f.isNumericSchema()?(-2)**31<=S&&S<=2**31-1?w="integer":w="long":f.isTimestampSchema()?w="timestamp":f.isStringSchema()?w="string":f.isBooleanSchema()&&(w="boolean"),S!=null&&(l[m]={type:w,value:S},delete n[e][m])}}if(i!==null){let m=p.getMemberSchema(i);m.isBlobSchema()?s="application/octet-stream":m.isStringSchema()&&(s="text/plain"),a.write(m,n[e][i])}else a.write(p,n[e])}else if(p.isUnitSchema())a.write(p,{});else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}else{let[p,m]=n[e];o=p,a.write(15,m)}let u=a.flush()??new Uint8Array;return{body:typeof u=="string"?(this.serdeContext?.utf8Decoder??yxr)(u):u,eventType:o,explicitPayloadContentType:s,additionalHeaders:l}}};hc.EventStreamCodec=Pse;hc.EventStreamMarshaller=Ose;hc.EventStreamSerde=S1e;hc.HeaderMarshaller=Ise;hc.Int64=eF;hc.MessageDecoderStream=Rse;hc.MessageEncoderStream=_se;hc.SmithyMessageDecoderStream=Dse;hc.SmithyMessageEncoderStream=Nse;hc.UniversalEventStreamMarshaller=E1e;hc.eventStreamSerdeProvider=Nxr;hc.getChunkedStream=Jvt;hc.getMessageUnmarshaller=b1e;hc.getUnmarshalledStream=_xr;hc.iterableToReadableStream=Mxr;hc.readableStreamToIterable=$xr;hc.resolveEventStreamSerdeConfig=Lxr;hc.universalEventStreamSerdeProvider=Dxr});var dSt=ge(Na=>{var{Uint8ArrayBlobAdapter:w1e,sdkStreamMixin:Fxr,splitEvery:jxr,splitHeader:rSt,fromBase64:Qvt,_parseEpochTimestamp:Bxr,_parseRfc7231DateTime:Uxr,_parseRfc3339DateTimeWithOffset:Vxr,LazyJsonString:nSt,NumericValue:Gxr,toUtf8:aSt,fromUtf8:Wxr,generateIdempotencyToken:zxr,toBase64:eSt,dateToUtcString:Hxr,quoteHeader:Kxr}=Ase(),{TypeRegistry:qxr,NormalizedSchema:HS,translateTraits:oSt}=ase(),{HttpRequest:tF,HttpResponse:iSt,isValidHostname:sSt}=xx(),{parseQueryString:Yxr,parseUrl:Zxr}=xx();Na.HttpRequest=tF;Na.HttpResponse=iSt;Na.isValidHostname=sSt;Na.parseQueryString=Yxr;Na.parseUrl=Zxr;var{FieldPosition:Jxr}=(GL(),mr(VL)),DR=async(t=new Uint8Array,e)=>{if(t instanceof Uint8Array)return w1e.mutate(t);if(!t)return w1e.mutate(new Uint8Array);let r=e.streamCollector(t);return w1e.mutate(await r)};function FH(t){return encodeURIComponent(t).replace(/[!'()*]/g,function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})}var NR=class{serdeContext;setSerdeContext(e){this.serdeContext=e}},jH=class extends NR{options;compositeErrorRegistry;constructor(e){super(),this.options=e,this.compositeErrorRegistry=qxr.for(e.defaultNamespace);for(let r of e.errorTypeRegistries??[])this.compositeErrorRegistry.copyFrom(r)}getRequestType(){return tF}getResponseType(){return iSt}setSerdeContext(e){this.serdeContext=e,this.serializer.setSerdeContext(e),this.deserializer.setSerdeContext(e),this.getPayloadCodec()&&this.getPayloadCodec().setSerdeContext(e)}updateServiceEndpoint(e,r){if("url"in r){e.protocol=r.url.protocol,e.hostname=r.url.hostname,e.port=r.url.port?Number(r.url.port):void 0,e.path=r.url.pathname,e.fragment=r.url.hash||void 0,e.username=r.url.username||void 0,e.password=r.url.password||void 0,e.query||(e.query={});for(let[n,a]of r.url.searchParams.entries())e.query[n]=a;if(r.headers)for(let n in r.headers)e.headers[n]=r.headers[n].join(", ");return e}else{if(e.protocol=r.protocol,e.hostname=r.hostname,e.port=r.port?Number(r.port):void 0,e.path=r.path,e.query={...r.query},r.headers)for(let n in r.headers)e.headers[n]=r.headers[n];return e}}setHostPrefix(e,r,n){if(this.serdeContext?.disableHostPrefix)return;let a=HS.of(r.input),o=oSt(r.traits??{});if(o.endpoint){let i=o.endpoint?.[0];if(typeof i=="string"){for(let[s,c]of a.structIterator()){if(!c.getMergedTraits().hostLabel)continue;let l=n[s];if(typeof l!="string")throw new Error(`@smithy/core/schema - ${s} in input must be a string as hostLabel.`);i=i.replace(`{${s}}`,l)}if(e.hostname=i+e.hostname,!sSt(e.hostname))throw new Error(`[${e.hostname}] is not a valid hostname.`)}}}deserializeMetadata(e){return{httpStatusCode:e.statusCode,requestId:e.headers["x-amzn-requestid"]??e.headers["x-amzn-request-id"]??e.headers["x-amz-request-id"],extendedRequestId:e.headers["x-amz-id-2"],cfId:e.headers["x-amz-cf-id"]}}async serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n}){return(await this.loadEventStreamCapability()).serializeEventStream({eventStream:e,requestSchema:r,initialRequest:n})}async deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n}){return(await this.loadEventStreamCapability()).deserializeEventStream({response:e,responseSchema:r,initialResponseContainer:n})}async loadEventStreamCapability(){let{EventStreamSerde:e,eventStreamSerdeProvider:r}=Xvt(),n=this.resolveEventStreamMarshaller(r);return new e({marshaller:n,serializer:this.serializer,deserializer:this.deserializer,serdeContext:this.serdeContext,defaultContentType:this.getDefaultContentType(),compositeErrorRegistry:this.compositeErrorRegistry})}resolveEventStreamMarshaller(e){let r=this.serdeContext;return r.eventStreamMarshaller?r.eventStreamMarshaller:e(this.serdeContext)}getDefaultContentType(){throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`)}async deserializeHttpMessage(e,r,n,a,o){return[]}getEventStreamMarshaller(){let e=this.serdeContext;if(!e.eventStreamMarshaller)throw new Error("@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.");return e.eventStreamMarshaller}},A1e=class extends jH{async serializeRequest(e,r,n){let a=r&&typeof r=="object"?r:{},o=this.serializer,i={},s={},c=await n.endpoint(),l=HS.of(e?.input),u=[],d=[],p=!1,m,f=new tF({protocol:"",hostname:"",port:void 0,path:"",fragment:void 0,query:i,headers:s,body:void 0});if(c){this.updateServiceEndpoint(f,c),this.setHostPrefix(f,e,a);let y=oSt(e.traits);if(y.http){f.method=y.http[0];let[v,S]=y.http[1].split("?");f.path=="/"?f.path=v:f.path+=v;let w=new URLSearchParams(S??"");for(let[C,x]of w)i[C]=x}}for(let[y,v]of l.structIterator()){let S=v.getMergedTraits()??{},w=a[y];if(w==null&&!v.isIdempotencyToken()){if(S.httpLabel&&(f.path.includes(`{${y}+}`)||f.path.includes(`{${y}}`)))throw new Error(`No value provided for input HTTP label: ${y}.`);continue}if(S.httpPayload)v.isStreaming()?v.isStructSchema()?a[y]&&(m=await this.serializeEventStream({eventStream:a[y],requestSchema:l})):m=w:(o.write(v,w),m=o.flush());else if(S.httpLabel){o.write(v,w);let C=o.flush();f.path.includes(`{${y}+}`)?f.path=f.path.replace(`{${y}+}`,C.split("/").map(FH).join("/")):f.path.includes(`{${y}}`)&&(f.path=f.path.replace(`{${y}}`,FH(C)))}else if(S.httpHeader)o.write(v,w),s[S.httpHeader.toLowerCase()]=String(o.flush());else if(typeof S.httpPrefixHeaders=="string")for(let C in w){let x=w[C],k=S.httpPrefixHeaders+C;o.write([v.getValueSchema(),{httpHeader:k}],x),s[k.toLowerCase()]=o.flush()}else S.httpQuery||S.httpQueryParams?this.serializeQuery(v,w,i):(p=!0,u.push(y),d.push(v))}if(p&&a){let[y,v]=(l.getName(!0)??"#Unknown").split("#"),S=l.getSchema()[6],w=[3,y,v,l.getMergedTraits(),u,d,void 0];S?w[6]=S:w.pop(),o.write(w,a),m=o.flush()}return f.headers=s,f.query=i,f.body=m,f}serializeQuery(e,r,n){let a=this.serializer,o=e.getMergedTraits();if(o.httpQueryParams){for(let i in r)if(!(i in n)){let s=r[i],c=e.getValueSchema();Object.assign(c.getMergedTraits(),{...o,httpQuery:i,httpQueryParams:void 0}),this.serializeQuery(c,s,n)}return}if(e.isListSchema()){let i=!!e.getMergedTraits().sparse,s=[];for(let c of r){a.write([e.getValueSchema(),o],c);let l=a.flush();(i||l!==void 0)&&s.push(l)}n[o.httpQuery]=s}else a.write([e,o],r),n[o.httpQuery]=a.flush()}async deserializeResponse(e,r,n){let a=this.deserializer,o=HS.of(e.output),i={};if(n.statusCode>=300){let c=await DR(n.body,r);throw c.byteLength>0&&Object.assign(i,await a.read(15,c)),await this.handleError(e,r,n,i,this.deserializeMetadata(n)),new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.")}for(let c in n.headers){let l=n.headers[c];delete n.headers[c],n.headers[c.toLowerCase()]=l}let s=await this.deserializeHttpMessage(o,r,n,i);if(s.length){let c=await DR(n.body,r);if(c.byteLength>0){let l=await a.read(o,c);for(let u of s)l[u]!=null&&(i[u]=l[u])}}else s.discardResponseBody&&await DR(n.body,r);return i.$metadata=this.deserializeMetadata(n),i}async deserializeHttpMessage(e,r,n,a,o){let i;a instanceof Set?i=o:i=a;let s=!0,c=this.deserializer,l=HS.of(e),u=[];for(let[d,p]of l.structIterator()){let m=p.getMemberTraits();if(m.httpPayload){if(s=!1,p.isStreaming())p.isStructSchema()?i[d]=await this.deserializeEventStream({response:n,responseSchema:l}):i[d]=Fxr(n.body);else if(n.body){let y=await DR(n.body,r);y.byteLength>0&&(i[d]=await c.read(p,y))}}else if(m.httpHeader){let f=String(m.httpHeader).toLowerCase(),y=n.headers[f];if(y!=null)if(p.isListSchema()){let v=p.getValueSchema();v.getMergedTraits().httpHeader=f;let S;v.isTimestampSchema()&&v.getSchema()===4?S=jxr(y,",",2):S=rSt(y);let w=[];for(let C of S)w.push(await c.read(v,C.trim()));i[d]=w}else i[d]=await c.read(p,y)}else if(m.httpPrefixHeaders!==void 0){i[d]={};for(let f in n.headers)if(f.startsWith(m.httpPrefixHeaders)){let y=n.headers[f],v=p.getValueSchema();v.getMergedTraits().httpHeader=f,i[d][f.slice(m.httpPrefixHeaders.length)]=await c.read(v,y)}}else m.httpResponseCode?i[d]=n.statusCode:u.push(d)}return u.discardResponseBody=s,u}},C1e=class extends jH{async serializeRequest(e,r,n){let a=this.serializer,o={},i={},s=await n.endpoint(),c=HS.of(e?.input),l=c.getSchema(),u,d=r&&typeof r=="object"?r:{},p=new tF({protocol:"",hostname:"",port:void 0,path:"/",fragment:void 0,query:o,headers:i,body:void 0});if(s&&(this.updateServiceEndpoint(p,s),this.setHostPrefix(p,e,d)),d){let m=c.getEventStreamMember();if(m){if(d[m]){let f={};for(let[y,v]of c.structIterator())y!==m&&d[y]&&(a.write(v,d[y]),f[y]=a.flush());u=await this.serializeEventStream({eventStream:d[m],requestSchema:c,initialRequest:f})}}else a.write(l,d),u=a.flush()}return p.headers=Object.assign(p.headers,i),p.query=o,p.body=u,p.method="POST",p}async deserializeResponse(e,r,n){let a=this.deserializer,o=HS.of(e.output),i={};if(n.statusCode>=300){let c=await DR(n.body,r);throw c.byteLength>0&&Object.assign(i,await a.read(15,c)),await this.handleError(e,r,n,i,this.deserializeMetadata(n)),new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.")}for(let c in n.headers){let l=n.headers[c];delete n.headers[c],n.headers[c.toLowerCase()]=l}let s=o.getEventStreamMember();if(s)i[s]=await this.deserializeEventStream({response:n,responseSchema:o,initialResponseContainer:i});else{let c=await DR(n.body,r);c.byteLength>0&&Object.assign(i,await a.read(o,c))}return i.$metadata=this.deserializeMetadata(n),i}},cSt=(t,e,r,n,a,o)=>{if(e!=null&&e[r]!==void 0){let i=n();if(i==null||i.length<=0)throw new Error("Empty value provided for input HTTP label: "+r+".");t=t.replace(a,o?i.split("/").map(s=>FH(s)).join("/"):FH(i))}else throw new Error("No value provided for input HTTP label: "+r+".");return t};function Xxr(t,e){return new $se(t,e)}var $se=class{input;context;query={};method="";headers={};path="";body=null;hostname="";resolvePathStack=[];constructor(e,r){this.input=e,this.context=r}async build(){let{hostname:e,protocol:r="https",port:n,path:a}=await this.context.endpoint();this.path=a;for(let o of this.resolvePathStack)o(this.path);return new tF({protocol:r,hostname:this.hostname||e,port:n,method:this.method,path:this.path,query:this.query,body:this.body,headers:this.headers})}hn(e){return this.hostname=e,this}bp(e){return this.resolvePathStack.push(r=>{this.path=`${r?.endsWith("/")?r.slice(0,-1):r||""}`+e}),this}p(e,r,n,a){return this.resolvePathStack.push(o=>{this.path=cSt(o,this.input,e,r,n,a)}),this}h(e){return this.headers=e,this}q(e){return this.query=e,this}b(e){return this.body=e,this}m(e){return this.method=e,this}};function P1e(t,e){if(e.timestampFormat.useTrait&&t.isTimestampSchema()&&(t.getSchema()===5||t.getSchema()===6||t.getSchema()===7))return t.getSchema();let{httpLabel:r,httpPrefixHeaders:n,httpHeader:a,httpQuery:o}=t.getMergedTraits();return(e.httpBindings?typeof n=="string"||a?6:o||r?5:void 0:void 0)??e.timestampFormat.default}var Mse=class extends NR{settings;constructor(e){super(),this.settings=e}read(e,r){let n=HS.of(e);if(n.isListSchema())return rSt(r).map(a=>this.read(n.getValueSchema(),a));if(n.isBlobSchema())return(this.serdeContext?.base64Decoder??Qvt)(r);if(n.isTimestampSchema())switch(P1e(n,this.settings)){case 5:return Vxr(r);case 6:return Uxr(r);case 7:return Bxr(r);default:return console.warn("Missing timestamp format, parsing value with Date constructor:",r),new Date(r)}if(n.isStringSchema()){let a=n.getMergedTraits().mediaType,o=r;if(a)return n.getMergedTraits().httpHeader&&(o=this.base64ToUtf8(o)),(a==="application/json"||a.endsWith("+json"))&&(o=nSt.from(o)),o}return n.isNumericSchema()?Number(r):n.isBigIntegerSchema()?BigInt(r):n.isBigDecimalSchema()?new Gxr(r,"bigDecimal"):n.isBooleanSchema()?String(r).toLowerCase()==="true":r}base64ToUtf8(e){return(this.serdeContext?.utf8Encoder??aSt)((this.serdeContext?.base64Decoder??Qvt)(e))}},x1e=class extends NR{codecDeserializer;stringDeserializer;constructor(e,r){super(),this.codecDeserializer=e,this.stringDeserializer=new Mse(r)}setSerdeContext(e){this.stringDeserializer.setSerdeContext(e),this.codecDeserializer.setSerdeContext(e),this.serdeContext=e}read(e,r){let n=HS.of(e),a=n.getMergedTraits(),o=this.serdeContext?.utf8Encoder??aSt;if(a.httpHeader||a.httpResponseCode)return this.stringDeserializer.read(n,o(r));if(a.httpPayload){if(n.isBlobSchema()){let i=this.serdeContext?.utf8Decoder??Wxr;return typeof r=="string"?i(r):r}else if(n.isStringSchema())return"byteLength"in r?o(r):r}return this.codecDeserializer.read(n,r)}},Lse=class extends NR{settings;stringBuffer="";constructor(e){super(),this.settings=e}write(e,r){let n=HS.of(e);switch(typeof r){case"object":if(r===null){this.stringBuffer="null";return}if(n.isTimestampSchema()){if(!(r instanceof Date))throw new Error(`@smithy/core/protocols - received non-Date value ${r} when schema expected Date in ${n.getName(!0)}`);switch(P1e(n,this.settings)){case 5:this.stringBuffer=r.toISOString().replace(".000Z","Z");break;case 6:this.stringBuffer=Hxr(r);break;case 7:this.stringBuffer=String(r.getTime()/1e3);break;default:console.warn("Missing timestamp format, using epoch seconds",r),this.stringBuffer=String(r.getTime()/1e3)}return}if(n.isBlobSchema()&&"byteLength"in r){this.stringBuffer=(this.serdeContext?.base64Encoder??eSt)(r);return}if(n.isListSchema()&&Array.isArray(r)){let i="";for(let s of r){this.write([n.getValueSchema(),n.getMergedTraits()],s);let c=this.flush(),l=n.getValueSchema().isTimestampSchema()?c:Kxr(c);i!==""&&(i+=", "),i+=l}this.stringBuffer=i;return}this.stringBuffer=JSON.stringify(r,null,2);break;case"string":let a=n.getMergedTraits().mediaType,o=r;if(a&&((a==="application/json"||a.endsWith("+json"))&&(o=nSt.from(o)),n.getMergedTraits().httpHeader)){this.stringBuffer=(this.serdeContext?.base64Encoder??eSt)(o.toString());return}this.stringBuffer=r;break;default:n.isIdempotencyToken()?this.stringBuffer=zxr():this.stringBuffer=String(r)}}flush(){let e=this.stringBuffer;return this.stringBuffer="",e}},T1e=class{codecSerializer;stringSerializer;buffer;constructor(e,r,n=new Lse(r)){this.codecSerializer=e,this.stringSerializer=n}setSerdeContext(e){this.codecSerializer.setSerdeContext(e),this.stringSerializer.setSerdeContext(e)}write(e,r){let n=HS.of(e),a=n.getMergedTraits();if(a.httpHeader||a.httpLabel||a.httpQuery){this.stringSerializer.write(n,r),this.buffer=this.stringSerializer.flush();return}return this.codecSerializer.write(n,r)}flush(){if(this.buffer!==void 0){let e=this.buffer;return this.buffer=void 0,e}return this.codecSerializer.flush()}},k1e=class{name;kind;values;constructor({name:e,kind:r=Jxr.HEADER,values:n=[]}){this.name=e,this.kind=r,this.values=n}add(e){this.values.push(e)}set(e){this.values=e}remove(e){this.values=this.values.filter(r=>r!==e)}toString(){return this.values.map(e=>e.includes(",")||e.includes(" ")?`"${e}"`:e).join(", ")}get(){return this.values}},I1e=class{entries={};encoding;constructor({fields:e=[],encoding:r="utf-8"}){e.forEach(this.setField.bind(this)),this.encoding=r}setField(e){this.entries[e.name.toLowerCase()]=e}getField(e){return this.entries[e.toLowerCase()]}removeField(e){delete this.entries[e.toLowerCase()]}getByType(e){return Object.values(this.entries).filter(r=>r.kind===e)}},Qxr=t=>({setHttpHandler(e){t.httpHandler=e},httpHandler(){return t.httpHandler},updateHttpClientConfig(e,r){t.httpHandler?.updateHttpClientConfig(e,r)},httpHandlerConfigs(){return t.httpHandler.httpHandlerConfigs()}}),eTr=t=>({httpHandler:t.httpHandler()}),tSt="content-length";function lSt(t){return e=>async r=>{let n=r.request;if(tF.isInstance(n)){let{body:a,headers:o}=n;if(a&&Object.keys(o).map(i=>i.toLowerCase()).indexOf(tSt)===-1)try{let i=t(a);n.headers={...n.headers,[tSt]:String(i)}}catch{}}return e({...r,request:n})}}var uSt={step:"build",tags:["SET_CONTENT_LENGTH","CONTENT_LENGTH"],name:"contentLengthMiddleware",override:!0},tTr=t=>({applyToStack:e=>{e.add(lSt(t.bodyLengthChecker),uSt)}}),LH=t=>encodeURIComponent(t).replace(/[!'()*]/g,rTr),rTr=t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`,nTr=t=>t.split("/").map(LH).join("/");function aTr(t){let e=[];for(let r of Object.keys(t).sort()){let n=t[r];if(r=LH(r),Array.isArray(n))for(let a=0,o=n.length;a<o;a++)e.push(`${r}=${LH(n[a])}`);else{let a=r;(n||typeof n=="string")&&(a+=`=${LH(n)}`),e.push(a)}}return e.join("&")}Na.Field=k1e;Na.Fields=I1e;Na.FromStringShapeDeserializer=Mse;Na.HttpBindingProtocol=A1e;Na.HttpInterceptingShapeDeserializer=x1e;Na.HttpInterceptingShapeSerializer=T1e;Na.HttpProtocol=jH;Na.RequestBuilder=$se;Na.RpcProtocol=C1e;Na.SerdeContext=NR;Na.ToStringShapeSerializer=Lse;Na.buildQueryString=aTr;Na.collectBody=DR;Na.contentLengthMiddleware=lSt;Na.contentLengthMiddlewareOptions=uSt;Na.determineTimestampFormat=P1e;Na.escapeUri=LH;Na.escapeUriPath=nTr;Na.extendedEncodeURIComponent=FH;Na.getContentLengthPlugin=tTr;Na.getHttpHandlerExtensionConfiguration=Qxr;Na.requestBuilder=Xxr;Na.resolveHttpHandlerRuntimeConfig=eTr;Na.resolvedPath=cSt});function R1e(t){let e=t&&typeof t=="object"&&"reason"in t?t.reason:void 0;if(e){if(e instanceof Error){let a=new Error("Request aborted");return a.name="AbortError",a.cause=e,a}let n=new Error(String(e));return n.name="AbortError",n}let r=new Error("Request aborted");return r.name="AbortError",r}var pSt=A(()=>{});var mSt,fSt=A(()=>{mSt=["ECONNRESET","EPIPE","ETIMEDOUT"]});var hSt,gSt=A(()=>{hSt=t=>{let e={};for(let r in t){let n=t[r];e[r]=Array.isArray(n)?n.join(","):n}return e}});import BH from"node:https";var ySt=A(()=>{});var Di,OR=A(()=>{Di={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t)}});var vSt,SSt,bSt=A(()=>{OR();vSt=1e3,SSt=(t,e,r=0)=>{if(!r)return-1;let n=a=>{let o=Di.setTimeout(()=>{t.destroy(),e(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${r} ms.`),{name:"TimeoutError"}))},r-a),i=s=>{s?.connecting?s.on("connect",()=>{Di.clearTimeout(o)}):Di.clearTimeout(o)};t.socket?i(t.socket):t.on("socket",i)};return r<2e3?(n(0),0):Di.setTimeout(n.bind(null,vSt),vSt)}});var ESt,wSt=A(()=>{OR();ESt=(t,e,r=0,n,a)=>r?Di.setTimeout(()=>{let o=`@smithy/node-http-handler - [${n?"ERROR":"WARN"}] a request has exceeded the configured ${r} ms requestTimeout.`;if(n){let i=Object.assign(new Error(o),{name:"TimeoutError",code:"ETIMEDOUT"});t.destroy(i),e(i)}else o+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",a?.warn?.(o)},r):-1});var oTr,ASt,CSt=A(()=>{OR();oTr=3e3,ASt=(t,{keepAlive:e,keepAliveMsecs:r},n=oTr)=>{if(e!==!0)return-1;let a=()=>{t.socket?t.socket.setKeepAlive(e,r||0):t.on("socket",o=>{o.setKeepAlive(e,r||0)})};return n===0?(a(),0):Di.setTimeout(a,n)}});var xSt,TSt,kSt=A(()=>{OR();xSt=3e3,TSt=(t,e,r=0)=>{let n=a=>{let o=r-a,i=()=>{t.destroy(),e(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${r} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};t.socket?(t.socket.setTimeout(o,i),t.on("close",()=>t.socket?.removeListener("timeout",i))):t.setTimeout(o,i)};return 0<r&&r<6e3?(n(0),0):Di.setTimeout(n.bind(null,r===0?0:xSt),xSt)}});import{Readable as iTr}from"node:stream";async function PSt(t,e,r=ISt,n=!1){let a=e.headers,o=a?a.Expect||a.expect:void 0,i=-1,s=!0;!n&&o==="100-continue"&&(s=await Promise.race([new Promise(c=>{i=Number(Di.setTimeout(()=>c(!0),Math.max(ISt,r)))}),new Promise(c=>{t.on("continue",()=>{Di.clearTimeout(i),c(!0)}),t.on("response",()=>{Di.clearTimeout(i),c(!1)}),t.on("error",()=>{Di.clearTimeout(i),c(!1)})})])),s&&sTr(t,e.body)}function sTr(t,e){if(e instanceof iTr){e.pipe(t);return}if(e){let r=Buffer.isBuffer(e);if(r||typeof e=="string"){r&&e.byteLength===0?t.end():t.end(e);return}let a=e;if(typeof a=="object"&&a.buffer&&typeof a.byteOffset=="number"&&typeof a.byteLength=="number"){t.end(Buffer.from(a.buffer,a.byteOffset,a.byteLength));return}t.end(Buffer.from(e));return}t.end()}var ISt,RSt=A(()=>{OR();ISt=6e3});var jse,Fse,_St,Yn,DSt=A(()=>{jse=dc(dSt());pSt();fSt();gSt();ySt();bSt();wSt();CSt();kSt();OR();RSt();Yn=class t{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return typeof e?.handle=="function"?e:new t(e)}static checkSocketUsage(e,r,n=console){let{sockets:a,requests:o,maxSockets:i}=e;if(typeof i!="number"||i===1/0||Date.now()-15e3<r)return r;if(a&&o)for(let c in a){let l=a[c]?.length??0,u=o[c]?.length??0;if(l>=i&&u>=2*i)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${l} and ${u} additional requests are enqueued.
|
|
157
157
|
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
|
|
158
|
-
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return r}constructor(e){this.configProvider=new Promise((r,n)=>{typeof e=="function"?e().then(a=>{r(this.resolveDefaultConfig(a))}).catch(n):r(this.resolveDefaultConfig(e))})}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:r,requestTimeout:n}={}){this.config||(this.config=await this.configProvider);let a=this.config,o=e.protocol==="https:";return!o&&!this.config.httpAgent&&(this.config.httpAgent=await this.config.httpAgentProvider()),new Promise((i,s)=>{let c,l=-1,u=-1,d=-1,p=-1,m=-1,f=()=>{Di.clearTimeout(l),Di.clearTimeout(u),Di.clearTimeout(d),Di.clearTimeout(p),Di.clearTimeout(m)},y=async B=>{await c,f(),i(B)},v=async B=>{await c,f(),s(B)};if(r?.aborted){let B=R1e(r);v(B);return}let S=e.headers,w=S?(S.Expect??S.expect)==="100-continue":!1,C=o?a.httpsAgent:a.httpAgent;w&&!this.externalAgent&&(C=new(o?BH.Agent:Fse)({keepAlive:!1,maxSockets:1/0})),l=Di.setTimeout(()=>{this.socketWarningTimestamp=t.checkSocketUsage(C,this.socketWarningTimestamp,a.logger)},a.socketAcquisitionWarningTimeout??(a.requestTimeout??2e3)+(a.connectionTimeout??1e3));let x=e.query?(0,jse.buildQueryString)(e.query):"",k;if(e.username!=null||e.password!=null){let B=e.username??"",U=e.password??"";k=`${B}:${U}`}let P=e.path;x&&(P+=`?${x}`),e.fragment&&(P+=`#${e.fragment}`);let I=e.hostname??"";I[0]==="["&&I.endsWith("]")?I=e.hostname.slice(1,-1):I=e.hostname;let N={headers:e.headers,host:I,method:e.method,path:P,port:e.port,agent:C,auth:k},O=(o?BH.request:_St)(N,B=>{let U=new jse.HttpResponse({statusCode:B.statusCode||-1,reason:B.statusMessage,headers:hSt(B.headers),body:B});y({response:U})});if(O.on("error",B=>{mSt.includes(B.code)?v(Object.assign(B,{name:"TimeoutError"})):v(B)}),r){let B=()=>{O.destroy();let U=R1e(r);v(U)};if(typeof r.addEventListener=="function"){let U=r;U.addEventListener("abort",B,{once:!0}),O.once("close",()=>U.removeEventListener("abort",B))}else r.onabort=B}let M=n??a.requestTimeout;u=SSt(O,v,a.connectionTimeout),d=ESt(O,v,M,a.throwOnRequestTimeout,a.logger??console),p=TSt(O,v,a.socketTimeout);let L=N.agent;typeof L=="object"&&"keepAlive"in L&&(m=ASt(O,{keepAlive:L.keepAlive,keepAliveMsecs:L.keepAliveMsecs})),c=PSt(O,e,M,this.externalAgent).catch(B=>(f(),s(B)))})}updateHttpClientConfig(e,r){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:r}))}httpHandlerConfigs(){return this.config??{}}resolveDefaultConfig(e){let{requestTimeout:r,connectionTimeout:n,socketTimeout:a,socketAcquisitionWarningTimeout:o,httpAgent:i,httpsAgent:s,throwOnRequestTimeout:c,logger:l}=e||{},u=!0,d=50;return{connectionTimeout:n,requestTimeout:r,socketTimeout:a,socketAcquisitionWarningTimeout:o,throwOnRequestTimeout:c,httpAgentProvider:async()=>{let p=await import("node:http"),{Agent:m,request:f}=p.default??p;return _St=f,Fse=m,i instanceof Fse||typeof i?.destroy=="function"?(this.externalAgent=!0,i):new Fse({keepAlive:u,maxSockets:d,...i})},httpsAgent:s instanceof BH.Agent||typeof s?.destroy=="function"?(this.externalAgent=!0,s):new BH.Agent({keepAlive:u,maxSockets:d,...s}),logger:l}}}});var fm=A(()=>{DSt()});function tA(t){return Array.isArray(t)}function J(t,e=3e4){let r=AbortSignal.timeout(e);return t!==void 0?AbortSignal.any([t,r]):r}function ie(t){return t?.aborted===!0}function At(t){return typeof t=="object"&&t!==null&&"name"in t&&typeof t.name=="string"?t.name:"UnknownError"}function es(t){return t==="AccessDenied"||t===hm.ACCESS_DENIED}var cTr,UH,hm,dt=A(()=>{"use strict";cTr=Object.defineProperty,UH=(t,e)=>cTr(t,"name",{value:e,configurable:!0}),hm={ACCESS_DENIED:"AccessDeniedException",ACCOUNT_ALREADY_REGISTERED:"AccountAlreadyRegisteredException",ACCOUNT_NOT_FOUND:"AccountNotFoundException",CHILD_NOT_FOUND:"ChildNotFoundException",ORGS_NOT_IN_USE:"AWSOrganizationsNotInUseException"};UH(tA,"isOULeaf");UH(J,"composeSdkAbortSignal");UH(ie,"isAborted");UH(At,"extractErrorName");UH(es,"isAccessDenied")});import{STSClient as dTr,AssumeRoleCommand as pTr}from"@aws-sdk/client-sts";var lTr,uTr,NSt,pi,_x=A(()=>{"use strict";fm();dt();lTr=Object.defineProperty,uTr=(t,e)=>lTr(t,"name",{value:e,configurable:!0}),NSt=3e4,pi=class t{static{uTr(this,"SimpleAwsProvider")}credentials;region;accountId;clientCache=new Map;assumeScopedBuildSecretSession;constructor(e,r){this.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken},this.region=e.region,this.accountId=e.accountId,r!==void 0&&(this.assumeScopedBuildSecretSession=async(n,a)=>{let o=await r(n,a);return new t(o)})}getClient(e){let r=e.name,n=this.clientCache.get(r);if(n!==void 0)return n;let a={region:this.region,credentials:this.credentials,requestHandler:new Yn({requestTimeout:NSt})},o=new e(a);return this.clientCache.set(r,o),o}getRegion(){return this.region}getAccountId(){return this.accountId}getCredentials(){return this.credentials}exportToEnv(){process.env.AWS_ACCESS_KEY_ID=this.credentials.accessKeyId,process.env.AWS_SECRET_ACCESS_KEY=this.credentials.secretAccessKey,process.env.AWS_REGION=this.region,this.credentials.sessionToken?process.env.AWS_SESSION_TOKEN=this.credentials.sessionToken:delete process.env.AWS_SESSION_TOKEN}async assumeRole(e,r){let n=(await this.getClient(dTr).send(new pTr({RoleArn:e,RoleSessionName:r}),{abortSignal:J(void 0,NSt)})).Credentials;if(!n?.AccessKeyId||!n?.SecretAccessKey)throw new Error(`AssumeRole for ${e} returned incomplete credentials`);return{accessKeyId:n.AccessKeyId,secretAccessKey:n.SecretAccessKey,sessionToken:n.SessionToken}}}});var VH=A(()=>{"use strict";$()});function GH(t){return t.success===!0}function Mn(t){return t.success===!1}function E(t){return{success:!0,data:t}}function g(t){return{success:!1,error:t}}async function Bse(t){try{let e=await t();return E(e)}catch(e){return g(en(e))}}function Use(t){try{let e=t();return E(e)}catch(e){return g(en(e))}}var mTr,rF,gn=A(()=>{"use strict";VH();mTr=Object.defineProperty,rF=(t,e)=>mTr(t,"name",{value:e,configurable:!0});rF(GH,"isSuccess");rF(Mn,"isFailure");rF(E,"success");rF(g,"failure");rF(Bse,"tryAsync");rF(Use,"trySync")});function Vse(t){let e=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(t);if(!e)return;let r=e[1],n=e[2];if(r===void 0||n===void 0)return;let a=parseInt(r,10);if(!Number.isFinite(a)||a<1)return;let o=n==="minute"||n==="hour"||n==="day";if(!(o&&a!==1)&&!(!o&&a===1))return n==="minute"||n==="minutes"?{everyMs:a*6e4}:n==="hour"||n==="hours"?{everyMs:a*60*6e4}:{everyMs:a*24*60*6e4}}var fTr,hTr,OSt,gTr,jt,$St=A(()=>{"use strict";$();fTr=Object.defineProperty,hTr=(t,e)=>fTr(t,"name",{value:e,configurable:!0}),OSt=/^[a-zA-Z][a-zA-Z0-9-]*$/,gTr=pL.source.replace(/^\^|\$$/g,""),jt=Object.freeze({IDENTIFIER:OSt,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:OSt,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(`^(?:/${gTr})+$`),SECRET_NAME:Fh,SSM_COMPONENT:pL,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_]*$/});hTr(Vse,"parseRateExpression")});var H,MSt=A(()=>{"use strict";$();H=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:Mw,SSM_COMPONENT:E6,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",CONNECTED_RESOURCE_NAME:"Connected resource names must not be empty"},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 zh=A(()=>{"use strict";$St();MSt()});function $R(t){return t?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function aF(t){return Rd.includes(t)}function oF(t){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(t)}function iF(t){if(!t)return nF.slice(0,3);let e=t.toLowerCase().split("-"),r=e[0],n=e.length>1?e[1]:"",a=[];return r&&n&&(a=Rd.filter(o=>o.startsWith(`${r}-${n}`))),a.length===0&&r&&(a=Rd.filter(o=>o.startsWith(`${r}-`))),a.length>0?a.slice(0,3):nF.slice(0,3)}function sF(t){if(aF(t))return!0;let e=iF(t);return oF(t)?`Unknown region. Try: ${e.join(", ")}`:`Invalid format. Try: ${e.join(", ")}`}function zH(t){if(!t||t.trim()==="")return!0;let e=$R(t);for(let r of e){let n=sF(r);if(n!==!0)return n}return!0}function cF(t,e){return t.filter(r=>r!==e)}function _1e(t){return{label:t.city,value:t.code,description:t.optIn?`${t.code} \u2014 opt-in required`:t.code}}function Ud(){return Ls.map(_1e)}function rA(t){return Ls.filter(e=>e.code!==t).map(_1e)}function gm(t){let e=Ls.find(r=>r.code===t);return e?e.city:t}function HH(t){return e=>{let r=$R(e);return cF(r,t)}}var yTr,Hh,vTr,WH,nF,D1e=A(()=>{"use strict";$();$();yTr=Object.defineProperty,Hh=(t,e)=>yTr(t,"name",{value:e,configurable:!0}),vTr=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],WH=Object.freeze(vTr.flatMap(t=>{let e=sx(t);return e?[e]:[]})),nF=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);Hh($R,"parseRegionList");Hh(aF,"isValidRegion");Hh(oF,"isValidRegionFormat");Hh(iF,"getSuggestions");Hh(sF,"validateRegion");Hh(zH,"validateRegionList");Hh(cF,"filterDuplicateRegions");Hh(_1e,"toRegionOption");Hh(Ud,"getRegionOptions");Hh(rA,"getRegionOptionsExcluding");Hh(gm,"getRegionName");Hh(HH,"createRegionFormatter")});var KS,Gse=A(()=>{"use strict";KS="15.0.0"});var KH,nA,Kh,Es,qh,lF,MR=A(()=>{"use strict";KH=["Aurora","Instance","GlobalAurora","ClickHouse"],nA=["FARGATE","FARGATE_SPOT","EC2"],Kh=["standard","resilient","enterprise"],Es=["tinkerer","lightweight","standard","resilient","enterprise"],qh="custom",lF=[...Es,qh]});function Vd(t,e){return t.includes(e)}var STr,bTr,ETr,uF,dF,qH,YH,ZH,N1e,pF,JH,XH,Dx,QH,Wse,LR,mF,qS,FR,eK,O1e,$1e,M1e,wTr,L1e,F1e,tK,rK,zse,Hse,jR,j1e,ATr,CTr,ym,Yh,B1e,U1e,V1e,BR,tl=A(()=>{"use strict";MR();MR();$();MR();MR();STr=Object.defineProperty,bTr=(t,e)=>STr(t,"name",{value:e,configurable:!0}),ETr=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),uF=["ecs","lambda","ec2"],dF=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),qH=["code","container"],YH=Object.freeze({CODE:"code",CONTAINER:"container"}),ZH=["ARM_64","X86_64"],N1e="ARM_64",pF=["NONE","AWS_IAM"],JH=["public","internal"],XH=["CPU","MEMORY"],Dx=["messaging","compute"],QH=["ARM","STANDARD"],Wse=["Instance","Aurora"],LR=["postgresql","mysql"],mF=["web","worker"],qS=["foundation","compliance","hardened"],FR="FARGATE",eK=["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"],O1e=[0,1,5,10,15,30,60];bTr(Vd,"constIncludes");$1e=1,M1e=65535,wTr=Object.freeze({postgresql:5432,mysql:3306}),L1e=128,F1e=10240,tK=1,rK=900,zse=1,Hse=1e3,jR=100,j1e=100,ATr=1,CTr=!1,ym=3e3,Yh="t4g.micro",B1e=30,U1e=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],V1e=["standard","assets","upload","website"],BR=["AES256","KMS"]});function Kse(t,e=jt.IDENTIFIER,r=H.IDENTIFIER){return h.string().min(2,H.IDENTIFIER_MIN_LENGTH).max(50,t).regex(e,r).refine(n=>!n.endsWith("-"),{message:H.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(n=>!n.includes("--"),{message:H.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}function Tf(t){return t.issues.map(e=>`${e.path.length>0?`${e.path.join(".")}: `:""}${e.message}`).join(`
|
|
158
|
+
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return r}constructor(e){this.configProvider=new Promise((r,n)=>{typeof e=="function"?e().then(a=>{r(this.resolveDefaultConfig(a))}).catch(n):r(this.resolveDefaultConfig(e))})}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:r,requestTimeout:n}={}){this.config||(this.config=await this.configProvider);let a=this.config,o=e.protocol==="https:";return!o&&!this.config.httpAgent&&(this.config.httpAgent=await this.config.httpAgentProvider()),new Promise((i,s)=>{let c,l=-1,u=-1,d=-1,p=-1,m=-1,f=()=>{Di.clearTimeout(l),Di.clearTimeout(u),Di.clearTimeout(d),Di.clearTimeout(p),Di.clearTimeout(m)},y=async B=>{await c,f(),i(B)},v=async B=>{await c,f(),s(B)};if(r?.aborted){let B=R1e(r);v(B);return}let S=e.headers,w=S?(S.Expect??S.expect)==="100-continue":!1,C=o?a.httpsAgent:a.httpAgent;w&&!this.externalAgent&&(C=new(o?BH.Agent:Fse)({keepAlive:!1,maxSockets:1/0})),l=Di.setTimeout(()=>{this.socketWarningTimestamp=t.checkSocketUsage(C,this.socketWarningTimestamp,a.logger)},a.socketAcquisitionWarningTimeout??(a.requestTimeout??2e3)+(a.connectionTimeout??1e3));let x=e.query?(0,jse.buildQueryString)(e.query):"",k;if(e.username!=null||e.password!=null){let B=e.username??"",U=e.password??"";k=`${B}:${U}`}let P=e.path;x&&(P+=`?${x}`),e.fragment&&(P+=`#${e.fragment}`);let I=e.hostname??"";I[0]==="["&&I.endsWith("]")?I=e.hostname.slice(1,-1):I=e.hostname;let N={headers:e.headers,host:I,method:e.method,path:P,port:e.port,agent:C,auth:k},O=(o?BH.request:_St)(N,B=>{let U=new jse.HttpResponse({statusCode:B.statusCode||-1,reason:B.statusMessage,headers:hSt(B.headers),body:B});y({response:U})});if(O.on("error",B=>{mSt.includes(B.code)?v(Object.assign(B,{name:"TimeoutError"})):v(B)}),r){let B=()=>{O.destroy();let U=R1e(r);v(U)};if(typeof r.addEventListener=="function"){let U=r;U.addEventListener("abort",B,{once:!0}),O.once("close",()=>U.removeEventListener("abort",B))}else r.onabort=B}let M=n??a.requestTimeout;u=SSt(O,v,a.connectionTimeout),d=ESt(O,v,M,a.throwOnRequestTimeout,a.logger??console),p=TSt(O,v,a.socketTimeout);let L=N.agent;typeof L=="object"&&"keepAlive"in L&&(m=ASt(O,{keepAlive:L.keepAlive,keepAliveMsecs:L.keepAliveMsecs})),c=PSt(O,e,M,this.externalAgent).catch(B=>(f(),s(B)))})}updateHttpClientConfig(e,r){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:r}))}httpHandlerConfigs(){return this.config??{}}resolveDefaultConfig(e){let{requestTimeout:r,connectionTimeout:n,socketTimeout:a,socketAcquisitionWarningTimeout:o,httpAgent:i,httpsAgent:s,throwOnRequestTimeout:c,logger:l}=e||{},u=!0,d=50;return{connectionTimeout:n,requestTimeout:r,socketTimeout:a,socketAcquisitionWarningTimeout:o,throwOnRequestTimeout:c,httpAgentProvider:async()=>{let p=await import("node:http"),{Agent:m,request:f}=p.default??p;return _St=f,Fse=m,i instanceof Fse||typeof i?.destroy=="function"?(this.externalAgent=!0,i):new Fse({keepAlive:u,maxSockets:d,...i})},httpsAgent:s instanceof BH.Agent||typeof s?.destroy=="function"?(this.externalAgent=!0,s):new BH.Agent({keepAlive:u,maxSockets:d,...s}),logger:l}}}});var fm=A(()=>{DSt()});function tA(t){return Array.isArray(t)}function J(t,e=3e4){let r=AbortSignal.timeout(e);return t!==void 0?AbortSignal.any([t,r]):r}function ie(t){return t?.aborted===!0}function At(t){return typeof t=="object"&&t!==null&&"name"in t&&typeof t.name=="string"?t.name:"UnknownError"}function es(t){return t==="AccessDenied"||t===hm.ACCESS_DENIED}var cTr,UH,hm,dt=A(()=>{"use strict";cTr=Object.defineProperty,UH=(t,e)=>cTr(t,"name",{value:e,configurable:!0}),hm={ACCESS_DENIED:"AccessDeniedException",ACCOUNT_ALREADY_REGISTERED:"AccountAlreadyRegisteredException",ACCOUNT_NOT_FOUND:"AccountNotFoundException",CHILD_NOT_FOUND:"ChildNotFoundException",ORGS_NOT_IN_USE:"AWSOrganizationsNotInUseException"};UH(tA,"isOULeaf");UH(J,"composeSdkAbortSignal");UH(ie,"isAborted");UH(At,"extractErrorName");UH(es,"isAccessDenied")});import{STSClient as dTr,AssumeRoleCommand as pTr}from"@aws-sdk/client-sts";var lTr,uTr,NSt,pi,_x=A(()=>{"use strict";fm();dt();lTr=Object.defineProperty,uTr=(t,e)=>lTr(t,"name",{value:e,configurable:!0}),NSt=3e4,pi=class t{static{uTr(this,"SimpleAwsProvider")}credentials;region;accountId;clientCache=new Map;assumeScopedBuildSecretSession;constructor(e,r){this.credentials={accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken},this.region=e.region,this.accountId=e.accountId,r!==void 0&&(this.assumeScopedBuildSecretSession=async(n,a)=>{let o=await r(n,a);return new t(o)})}getClient(e){let r=e.name,n=this.clientCache.get(r);if(n!==void 0)return n;let a={region:this.region,credentials:this.credentials,requestHandler:new Yn({requestTimeout:NSt})},o=new e(a);return this.clientCache.set(r,o),o}getRegion(){return this.region}getAccountId(){return this.accountId}getCredentials(){return this.credentials}exportToEnv(){process.env.AWS_ACCESS_KEY_ID=this.credentials.accessKeyId,process.env.AWS_SECRET_ACCESS_KEY=this.credentials.secretAccessKey,process.env.AWS_REGION=this.region,this.credentials.sessionToken?process.env.AWS_SESSION_TOKEN=this.credentials.sessionToken:delete process.env.AWS_SESSION_TOKEN}async assumeRole(e,r){let n=(await this.getClient(dTr).send(new pTr({RoleArn:e,RoleSessionName:r}),{abortSignal:J(void 0,NSt)})).Credentials;if(!n?.AccessKeyId||!n?.SecretAccessKey)throw new Error(`AssumeRole for ${e} returned incomplete credentials`);return{accessKeyId:n.AccessKeyId,secretAccessKey:n.SecretAccessKey,sessionToken:n.SessionToken}}}});var VH=A(()=>{"use strict";$()});function GH(t){return t.success===!0}function Mn(t){return t.success===!1}function E(t){return{success:!0,data:t}}function g(t){return{success:!1,error:t}}async function Bse(t){try{let e=await t();return E(e)}catch(e){return g(en(e))}}function Use(t){try{let e=t();return E(e)}catch(e){return g(en(e))}}var mTr,rF,gn=A(()=>{"use strict";VH();mTr=Object.defineProperty,rF=(t,e)=>mTr(t,"name",{value:e,configurable:!0});rF(GH,"isSuccess");rF(Mn,"isFailure");rF(E,"success");rF(g,"failure");rF(Bse,"tryAsync");rF(Use,"trySync")});function Vse(t){let e=/^rate\((\d+) (minute|minutes|hour|hours|day|days)\)$/.exec(t);if(!e)return;let r=e[1],n=e[2];if(r===void 0||n===void 0)return;let a=parseInt(r,10);if(!Number.isFinite(a)||a<1)return;let o=n==="minute"||n==="hour"||n==="day";if(!(o&&a!==1)&&!(!o&&a===1))return n==="minute"||n==="minutes"?{everyMs:a*6e4}:n==="hour"||n==="hours"?{everyMs:a*60*6e4}:{everyMs:a*24*60*6e4}}var fTr,hTr,OSt,gTr,jt,$St=A(()=>{"use strict";$();fTr=Object.defineProperty,hTr=(t,e)=>fTr(t,"name",{value:e,configurable:!0}),OSt=/^[a-zA-Z][a-zA-Z0-9-]*$/,gTr=pL.source.replace(/^\^|\$$/g,""),jt=Object.freeze({IDENTIFIER:OSt,NEW_APP_NAME:/^[a-z][a-z0-9-]*$/,RESOURCE_NAME:/^[a-zA-Z][a-zA-Z0-9]*$/,ECS_SERVICE_NAME:OSt,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(`^(?:/${gTr})+$`),SECRET_NAME:Fh,SSM_COMPONENT:pL,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_]*$/});hTr(Vse,"parseRateExpression")});var H,MSt=A(()=>{"use strict";$();H=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:Mw,SSM_COMPONENT:E6,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",CONNECTED_RESOURCE_NAME:"Connected resource names must not be empty"},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 zh=A(()=>{"use strict";$St();MSt()});function $R(t){return t?t.split(",").map(e=>e.trim()).filter(Boolean):[]}function aF(t){return Rd.includes(t)}function oF(t){return/^[a-z]{2}-[a-z]+-[1-9]$/.test(t)}function iF(t){if(!t)return nF.slice(0,3);let e=t.toLowerCase().split("-"),r=e[0],n=e.length>1?e[1]:"",a=[];return r&&n&&(a=Rd.filter(o=>o.startsWith(`${r}-${n}`))),a.length===0&&r&&(a=Rd.filter(o=>o.startsWith(`${r}-`))),a.length>0?a.slice(0,3):nF.slice(0,3)}function sF(t){if(aF(t))return!0;let e=iF(t);return oF(t)?`Unknown region. Try: ${e.join(", ")}`:`Invalid format. Try: ${e.join(", ")}`}function zH(t){if(!t||t.trim()==="")return!0;let e=$R(t);for(let r of e){let n=sF(r);if(n!==!0)return n}return!0}function cF(t,e){return t.filter(r=>r!==e)}function _1e(t){return{label:t.city,value:t.code,description:t.optIn?`${t.code} \u2014 opt-in required`:t.code}}function Ud(){return Ls.map(_1e)}function rA(t){return Ls.filter(e=>e.code!==t).map(_1e)}function gm(t){let e=Ls.find(r=>r.code===t);return e?e.city:t}function HH(t){return e=>{let r=$R(e);return cF(r,t)}}var yTr,Hh,vTr,WH,nF,D1e=A(()=>{"use strict";$();$();yTr=Object.defineProperty,Hh=(t,e)=>yTr(t,"name",{value:e,configurable:!0}),vTr=["us-east-2","us-west-2","us-east-1","eu-west-1","eu-central-1","ap-southeast-1"],WH=Object.freeze(vTr.flatMap(t=>{let e=sx(t);return e?[e]:[]})),nF=Object.freeze(["us-east-2","us-west-2","us-east-1","eu-west-1","ap-southeast-1"]);Hh($R,"parseRegionList");Hh(aF,"isValidRegion");Hh(oF,"isValidRegionFormat");Hh(iF,"getSuggestions");Hh(sF,"validateRegion");Hh(zH,"validateRegionList");Hh(cF,"filterDuplicateRegions");Hh(_1e,"toRegionOption");Hh(Ud,"getRegionOptions");Hh(rA,"getRegionOptionsExcluding");Hh(gm,"getRegionName");Hh(HH,"createRegionFormatter")});var KS,Gse=A(()=>{"use strict";KS="16.0.0"});var KH,nA,Kh,Es,qh,lF,MR=A(()=>{"use strict";KH=["Aurora","Instance","GlobalAurora","ClickHouse"],nA=["FARGATE","FARGATE_SPOT","EC2"],Kh=["standard","resilient","enterprise"],Es=["tinkerer","lightweight","standard","resilient","enterprise"],qh="custom",lF=[...Es,qh]});function Vd(t,e){return t.includes(e)}var STr,bTr,ETr,uF,dF,qH,YH,ZH,N1e,pF,JH,XH,Dx,QH,Wse,LR,mF,qS,FR,eK,O1e,$1e,M1e,wTr,L1e,F1e,tK,rK,zse,Hse,jR,j1e,ATr,CTr,ym,Yh,B1e,U1e,V1e,BR,tl=A(()=>{"use strict";MR();MR();$();MR();MR();STr=Object.defineProperty,bTr=(t,e)=>STr(t,"name",{value:e,configurable:!0}),ETr=Object.freeze({RESOURCE_SUFFIXES:Object.freeze({storage:"Storage",database:"Database",cluster:"Cluster",function:"Function",instance:"Instance",compute:"Compute"})}),uF=["ecs","lambda","ec2"],dF=Object.freeze({ECS:"ecs",LAMBDA:"lambda",EC2:"ec2"}),qH=["code","container"],YH=Object.freeze({CODE:"code",CONTAINER:"container"}),ZH=["ARM_64","X86_64"],N1e="ARM_64",pF=["NONE","AWS_IAM"],JH=["public","internal"],XH=["CPU","MEMORY"],Dx=["messaging","compute"],QH=["ARM","STANDARD"],Wse=["Instance","Aurora"],LR=["postgresql","mysql"],mF=["web","worker"],qS=["foundation","compliance","hardened"],FR="FARGATE",eK=["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"],O1e=[0,1,5,10,15,30,60];bTr(Vd,"constIncludes");$1e=1,M1e=65535,wTr=Object.freeze({postgresql:5432,mysql:3306}),L1e=128,F1e=10240,tK=1,rK=900,zse=1,Hse=1e3,jR=100,j1e=100,ATr=1,CTr=!1,ym=3e3,Yh="t4g.micro",B1e=30,U1e=["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"],V1e=["standard","assets","upload","website"],BR=["AES256","KMS"]});function Kse(t,e=jt.IDENTIFIER,r=H.IDENTIFIER){return h.string().min(2,H.IDENTIFIER_MIN_LENGTH).max(50,t).regex(e,r).refine(n=>!n.endsWith("-"),{message:H.IDENTIFIER_NO_TRAILING_HYPHEN}).refine(n=>!n.includes("--"),{message:H.IDENTIFIER_NO_CONSECUTIVE_HYPHENS})}function Tf(t){return t.issues.map(e=>`${e.path.length>0?`${e.path.join(".")}: `:""}${e.message}`).join(`
|
|
159
159
|
`)}var xTr,nK,Gd,Nx,fF,er,hF,Ox,ya,$x,vm,Vl,LSt,FSt,jSt,BSt,USt,UR,VSt,G1e,TTr,gF,yF,GSt,WSt,W1e,z1e,H1e,vF,Mx,Ko,kTr,Jy=A(()=>{"use strict";Ft();zh();tl();D1e();xTr=Object.defineProperty,nK=(t,e)=>xTr(t,"name",{value:e,configurable:!0}),Gd=nK(t=>h.union([h.literal(!1),t]),"optionalOrDisabled"),Nx={check:nK(t=>t.minCapacity!==void 0&&t.maxCapacity!==void 0?t.minCapacity<=t.maxCapacity:!0,"check"),params:{message:H.CAPACITY_CONSTRAINT.MIN_LTE_MAX,path:["maxCapacity"]}},fF=nK(t=>h.number().int(H.MEMORY_LIMIT.INTEGER).min(t,t===128?H.MEMORY_LIMIT.MIN_128:H.MEMORY_LIMIT.MIN_512).max(30720,H.MEMORY_LIMIT.MAX),"memoryLimitMiBSchema"),er=h.string().min(1,H.REQUIRED.RESOURCE_NAME).max(63,H.MAX_LENGTH.RESOURCE_NAME).regex(jt.RESOURCE_NAME,H.RESOURCE_NAME),hF=h.string().min(1,H.REQUIRED.BUCKET_NAME).max(63,H.MAX_LENGTH.BUCKET_NAME).regex(jt.BUCKET_NAME,H.BUCKET_NAME),Ox=h.string().min(1,H.REQUIRED.DATABASE_NAME).max(63,H.MAX_LENGTH.DATABASE_NAME).regex(jt.DATABASE_NAME,H.DATABASE_NAME);nK(Kse,"identifierSchema");ya=Kse(H.MAX_LENGTH.APP_NAME),$x=Kse(H.MAX_LENGTH.APP_NAME,jt.NEW_APP_NAME,H.NEW_APP_NAME),vm=h.number().int(H.PORT.INTEGER).min($1e,H.PORT.MIN).max(M1e,H.PORT.MAX),Vl=h.object({key:h.string(),sourceText:h.string()}).strict(),LSt=h.object({__identifier:h.string()}).strict(),FSt=h.object({__expression:h.string()}).strict(),jSt=h.object({__call:h.string()}).strict(),BSt=h.union([LSt,FSt,jSt]),USt=h.union([h.string(),h.number(),h.boolean(),BSt]),UR=h.record(h.string().regex(jt.ENV_VAR_NAME,H.ENV_VAR_NAME),USt),VSt=h.object({id:h.string(),name:h.string().optional(),arn:h.string().optional(),field:h.string().optional()}).strict().refine(t=>t.name!==void 0!=(t.arn!==void 0),{message:"secretsImport requires exactly one of `name` or `arn`."}),G1e=h.record(h.string(),VSt),TTr=h.record(h.string(),h.unknown()),gF=h.enum(lF).describe(`Application type must be one of: ${lF.join(", ")}`),yF=h.enum(Od).describe(`OpenNext deployment pattern: ${Od.join(", ")}`),GSt=h.enum(["before-imports","after-imports","after-app-init","after-tags","after-resource","end-of-file"]),WSt=h.enum(["import","app-init","tags","database","compute","storage","network","messaging","cdn","pattern","vpc-peer","vpc-peer-accepter","cross-plan-connection","custom"]),W1e=h.object({sourceText:h.string(),position:GSt,afterManagedResource:h.object({type:WSt,name:h.string().optional()}).strict().optional(),originalLine:h.number().int().optional(),leadingComments:h.array(h.string()).optional(),orphaned:h.boolean().optional(),orphanedComment:h.string().optional()}).strict(),z1e=h.union([h.object({tier:h.enum(Kh)}).strict(),h.literal(!1)]),H1e=h.union([h.object({instanceType:h.string().optional()}).strict(),h.literal(!1)]),vF=Kse(H.MAX_LENGTH.ORGANISATION_NAME),Mx=h.string().regex(jt.EMAIL,H.EMAIL),Ko=h.string().refine(t=>Rd.includes(t),{message:H.REGION}),kTr=h.object({name:vF,email:Mx,accountName:h.string().optional(),primaryRegion:Ko.optional().default(St),secondaryRegions:h.array(Ko).optional(),security:h.enum(qS).optional(),force:h.boolean().optional()}).strict();nK(Tf,"getZodErrorMessage")});var qse,K1e,ITr,q1e,Y1e,Z1e,Yse=A(()=>{"use strict";Ft();zh();qse=h.number().min(1,H.ALARM.PERCENTAGE.MIN).max(100,H.ALARM.PERCENTAGE.MAX),K1e=h.union([qse,h.literal(!1)]),ITr=h.number().min(1,H.ALARM.FREE_STORAGE_GIB.MIN),q1e=h.union([h.literal(!1),h.object({cpuThreshold:K1e.optional(),memoryThreshold:K1e.optional(),runningTasksMinimum:h.number().int().min(0).optional(),http5xxThreshold:K1e.optional()}).strict()]),Y1e=h.union([h.literal(!1),h.object({cpuThreshold:qse.optional(),freeStorageThresholdGiB:ITr.optional(),connectionsThreshold:h.number().int().min(1).optional()}).strict()]),Z1e=h.union([h.literal(!1),h.object({errorRateThreshold:qse.optional(),durationThresholdPercent:qse.optional()}).strict()])});var YS,SF,aK,zSt,HSt,KSt,qSt,oK,iK,sK,YSt,bF,ZSt,EF,JSt,XSt,J1e,QSt,cK,lK,wF,Jse,ebt,tbt,rbt,nbt,abt,PTr,RTr,_Tr,DTr,AF,X1e,NTr,OTr,$Tr,MTr,LTr,Q1e,Lx,FTr,Zse,e$e,jTr,t$e,uK=A(()=>{"use strict";Ft();zh();tl();Jy();Yse();YS=h.number().int(H.BACKUP_RETENTION.INTEGER).min(1,H.BACKUP_RETENTION.MIN).max(35,H.BACKUP_RETENTION.MAX),SF=h.number().int(H.MONITORING_INTERVAL.INTEGER).refine(t=>Vd(O1e,t),{message:H.MONITORING_INTERVAL.VALUES}),aK=h.number().int(H.DATABASE.PORT.INTEGER).min(1024,H.DATABASE.PORT.MIN).max(65535,H.DATABASE.PORT.MAX),zSt=h.enum(KH).describe(`Database type must be one of: ${KH.join(", ")}`),HSt=h.object({maxConnections:h.number().int(H.MAX_CONNECTIONS.INTEGER).min(1,H.MAX_CONNECTIONS.MIN).max(100,H.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:h.number().int(H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:h.number().int(H.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,H.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,H.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:h.boolean().optional()}).strict().describe("RDS Proxy configuration"),KSt=h.object({instanceType:h.string().optional(),availabilityZone:h.string().optional()}).strict().describe("Read replica configuration"),qSt=h.object({automaticallyAfterDays:h.number().int(H.ROTATION.INTEGER).min(1,H.ROTATION.MIN).max(365,H.ROTATION.MAX).optional()}).strict().describe("Secret rotation configuration"),oK=h.object({username:h.string().min(1,H.REQUIRED.USERNAME).max(63,H.USERNAME.MAX_LENGTH).optional(),secretRotation:qSt.optional()}).strict().describe("Database credentials configuration"),iK=Gd(HSt),sK=Gd(KSt),YSt=h.object({scaleWithWriter:h.boolean().optional(),enableDatabaseInsights:h.boolean().optional(),identifierSuffix:h.string().min(1,H.IDENTIFIER_SUFFIX.REQUIRED).max(50,H.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:h.string().optional()}).strict().describe("Configuration for a single Aurora reader instance"),bF=h.object({enableDatabaseInsights:h.boolean().optional(),identifierSuffix:h.string().min(1,H.IDENTIFIER_SUFFIX.REQUIRED).max(50,H.IDENTIFIER_SUFFIX.MAX_LENGTH).optional(),availabilityZone:h.string().optional()}).strict().describe("Configuration for Aurora writer instance"),ZSt=h.object({count:h.number().int(H.READER.COUNT.INTEGER).min(0,H.READER.COUNT.MIN).max(15,H.READER.COUNT.MAX).optional(),instances:h.array(YSt).max(15,H.READER_INSTANCES.MAX).optional(),defaultEnableDatabaseInsights:h.boolean().optional()}).strict().refine(t=>!(t.count!==void 0&&t.instances!==void 0),{message:H.READER_INSTANCES.COUNT_OR_INSTANCES,path:["count"]}).describe("Aurora readers configuration"),EF=Gd(ZSt),JSt=h.object({awsManaged:h.literal(!0)}).strict(),XSt=h.object({useCMK:h.literal(!0)}).strict(),J1e=h.union([JSt,XSt]),QSt=h.object({mode:h.enum(["standard","advanced"]).optional(),encryptionKey:J1e.optional()}).strict().describe("Database Insights configuration"),cK=Gd(QSt),lK=h.object({storageKey:J1e.optional()}).strict().describe("Encryption configuration (DESTRUCTIVE to change storageKey)"),wF=h.object({name:er,type:zSt,databaseName:h.string().min(1,H.REQUIRED.DATABASE_NAME),instanceType:h.string().optional(),allocatedStorage:h.number().optional(),multiAz:h.boolean().optional(),publiclyAccessible:h.boolean().optional(),databaseInsights:cK.optional(),port:aK.optional(),deletionProtection:h.boolean().optional(),proxy:iK.optional(),credentials:oK.optional(),readReplica:sK.optional(),encryption:lK.optional(),writer:bF.optional(),readers:EF.optional(),backupRetention:YS.optional(),preferredMaintenanceWindow:h.string().optional(),monitoringInterval:SF.optional(),primaryRegion:h.string().optional(),secondaryRegions:h.array(h.string()).optional(),globalClusterIdentifier:h.string().optional(),enableGlobalWriteForwarding:h.boolean().optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional(),databaseEngine:h.enum(LR).optional(),engineExpression:h.string().optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional(),alarms:Y1e.optional()}).strict(),Jse=h.object({appName:ya,nameProvidedByFlag:h.boolean().optional(),databaseName:h.string().min(1,H.REQUIRED.DATABASE_NAME).max(63,H.MAX_LENGTH.DATABASE_NAME).regex(jt.DATABASE_NAME,H.DATABASE_NAME),resourceName:er.optional(),connectionConfig:h.object({connectToCompute:h.array(h.string()).optional(),connectToServices:h.array(h.string()).optional()}).strict().optional(),databaseInsights:cK.optional(),port:aK.optional(),proxy:iK.optional(),credentials:oK.optional(),encryption:lK.optional(),deletionProtection:h.boolean().optional()}).strict(),ebt={databaseType:h.literal("Instance"),instanceType:h.string().optional(),multiAz:h.boolean().optional(),readReplica:sK.optional(),publiclyAccessible:h.boolean().optional(),backupRetention:YS.optional(),allocatedStorage:h.number().optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional()},tbt={databaseType:h.literal("Aurora"),writer:bF.optional(),readers:EF.optional(),backupRetention:YS.optional(),preferredMaintenanceWindow:h.string().optional(),monitoringInterval:SF.optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional()},rbt={databaseType:h.literal("GlobalAurora"),primaryRegion:h.string().min(1,H.GLOBAL_AURORA.PRIMARY_REGION_REQUIRED),secondaryRegions:h.array(h.string()).optional(),globalClusterIdentifier:h.string().optional(),enableGlobalWriteForwarding:h.boolean().optional(),writer:bF.optional(),readers:EF.optional(),backupRetention:YS.optional(),preferredMaintenanceWindow:h.string().optional(),monitoringInterval:SF.optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional()},nbt=h.object({appName:ya,nameProvidedByFlag:h.boolean().optional(),databaseName:h.string().min(1,H.REQUIRED.DATABASE_NAME).max(63,H.MAX_LENGTH.DATABASE_NAME).regex(jt.DATABASE_NAME,H.DATABASE_NAME),resourceName:er.optional(),connectionConfig:h.object({connectToCompute:h.array(h.string()).optional(),connectToServices:h.array(h.string()).optional()}).strict().optional()}).strict(),abt={databaseType:h.literal("ClickHouse"),instanceType:h.string().optional(),coldTier:h.union([h.object({mode:h.literal("s3")}).strict(),h.literal(!1)]).optional(),optimiseSchedule:h.union([h.string(),h.literal(!1)]).optional(),backupSchedule:h.union([h.string(),h.literal(!1)]).optional(),backupRetentionDays:YS.optional()},PTr=Jse.extend(ebt).strict(),RTr=Jse.extend(tbt).strict(),_Tr=Jse.extend(rbt).strict(),DTr=nbt.extend(abt).strict(),AF=h.discriminatedUnion("databaseType",[PTr,RTr,_Tr,DTr]),X1e=Jse.extend({resourceName:er}).strict(),NTr=X1e.extend(ebt).strict(),OTr=X1e.extend(tbt).strict(),$Tr=X1e.extend(rbt).strict(),MTr=nbt.extend({resourceName:er}).strict(),LTr=MTr.extend(abt).strict(),Q1e=h.discriminatedUnion("databaseType",[NTr,OTr,$Tr,LTr]),Lx=h.object({appName:ya,databaseName:h.string().min(1,H.REQUIRED.DATABASE_NAME),maxConnections:h.number().int(H.MAX_CONNECTIONS.INTEGER).min(1,H.MAX_CONNECTIONS.MIN).max(100,H.MAX_CONNECTIONS.MAX).optional(),maxIdleConnections:h.number().int(H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.INTEGER).min(0,H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MIN).max(100,H.PROXY_CONFIG.MAX_IDLE_CONNECTIONS.MAX).optional(),connectionBorrowTimeout:h.number().int(H.PROXY_CONFIG.BORROW_TIMEOUT.INTEGER).min(1,H.PROXY_CONFIG.BORROW_TIMEOUT.MIN).max(3600,H.PROXY_CONFIG.BORROW_TIMEOUT.MAX).optional(),requireTLS:h.boolean().optional(),nameProvidedByFlag:h.boolean().optional()}).strict(),FTr=["S","N","B"],Zse=h.object({name:h.string(),type:h.enum(FTr)}).strict(),e$e=h.object({name:er,partitionKey:Zse,sortKey:Zse.optional(),globalSecondaryIndexes:h.array(h.object({indexName:h.string(),partitionKey:Zse,sortKey:Zse.optional()}).strict()).optional(),ttlAttribute:h.string().optional(),stream:h.boolean().optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional()}).strict(),jTr=h.object({mode:h.literal("s3")}).strict(),t$e=h.object({name:er,type:h.literal("ClickHouse"),databaseName:Ox,instanceType:h.string().optional(),coldTier:h.union([jTr,h.literal(!1)]).optional(),optimiseSchedule:h.union([h.string(),h.literal(!1)]).optional(),backupSchedule:h.union([h.string(),h.literal(!1)]).optional(),backupRetentionDays:YS.optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional()}).strict()});var obt,r$e,Xse,ibt,n$e,sbt,cbt,lbt,ubt,dbt,a$e,Fx,o$e,i$e,s$e,Qse,pbt,ece,mbt,fbt,hbt,tce,dK,rce=A(()=>{"use strict";Ft();zh();Jy();obt=h.object({count:h.number().int(H.NAT_GATEWAY.INTEGER).min(0,H.NAT_GATEWAY.MIN).max(3,H.NAT_GATEWAY.MAX).optional()}).strict().describe("NAT gateway configuration"),r$e=Gd(obt),Xse=h.enum(["cloudwatch","s3"]),ibt=h.object({destination:Xse.optional(),retentionDays:h.number().int(H.RETENTION_DAYS.INTEGER).min(1,H.RETENTION_DAYS.MIN).max(365,H.RETENTION_DAYS.MAX).optional(),trafficType:h.enum(["ALL","ACCEPT","REJECT"]).optional()}).strict().describe("VPC flow log configuration"),n$e=Gd(ibt),sbt=h.object({s3:h.boolean().optional(),dynamodb:h.boolean().optional()}).strict().describe("Gateway VPC endpoints (FREE)"),cbt=Gd(sbt),lbt=h.object({ecr:h.boolean().optional(),secretsManager:h.boolean().optional(),kms:h.boolean().optional(),cloudwatchLogs:h.boolean().optional(),ssm:h.boolean().optional(),sts:h.boolean().optional()}).strict().describe("Interface VPC endpoints (cost per hour)"),ubt=Gd(lbt),dbt=h.object({gateway:cbt.optional(),interface:ubt.optional()}).strict().describe("VPC endpoints configuration"),a$e=Gd(dbt),Fx=h.object({maxAzs:h.number().int(H.MAX_AZS.INTEGER).min(1,H.MAX_AZS.MIN).max(3,H.MAX_AZS.MAX).optional(),natGateways:r$e.optional(),flowLogs:n$e.optional(),vpcEndpoints:a$e.optional(),cidrMask:h.number().int(H.CIDR_MASK.INTEGER).min(16,H.CIDR_MASK.MIN).max(28,H.CIDR_MASK.MAX).optional()}).strict(),o$e=h.string().min(1,H.REQUIRED.NETWORK_NAME).max(50,H.MAX_LENGTH.NETWORK_NAME).regex(jt.RESOURCE_NAME,H.RESOURCE_NAME),i$e=Fx.extend({name:o$e}).strict(),s$e=Gd(Fx),Qse=h.object({appName:ya,networkName:o$e.optional(),maxAzs:h.number().int(H.MAX_AZS.INTEGER).min(1,H.MAX_AZS.MIN).max(3,H.MAX_AZS.MAX).optional(),natGateways:r$e.optional(),flowLogs:n$e.optional(),vpcEndpoints:a$e.optional()}).strict(),pbt=jt.CIDR,ece=h.string().regex(pbt,H.CIDR),mbt=h.object({kind:h.literal("database"),resource:h.string().min(1,H.REQUIRED.RESOURCE_REFERENCE),name:er,allowedFromCidrs:h.array(ece),access:h.enum(["read","write","readWrite"]).optional()}).strict(),fbt=h.object({kind:h.literal("ecsService"),resource:h.string().min(1,H.REQUIRED.RESOURCE_REFERENCE),serviceName:h.string().min(1,H.REQUIRED.SERVICE_NAME),name:er,allowedFromCidrs:h.array(ece),port:vm.optional()}).strict(),hbt=h.discriminatedUnion("kind",[mbt,fbt]),tce=h.object({name:er,peerAppName:h.string().min(1,H.REQUIRED.APP_NAME),peerAccountId:h.string().regex(jt.AWS_ACCOUNT_ID,H.AWS_ACCOUNT_ID),peerRegion:h.string().min(1,H.VPC_PEER.REGION_REQUIRED).optional(),peerVpcId:h.string().regex(jt.VPC_ID,H.VPC_ID).optional(),peerVpcCidr:ece.optional(),peerRoleArn:h.string().regex(jt.ROLE_ARN,H.ROLE_ARN).optional(),peerRouteTableIds:h.array(h.string().min(1,H.VPC_PEER.ROUTE_TABLE_ID_REQUIRED)).optional(),localVpcName:h.string().min(1,H.REQUIRED.NETWORK_NAME).optional(),enableDnsResolution:h.boolean().optional()}).strict(),dK=h.object({name:er,requesterAccountIds:h.array(h.string().regex(jt.AWS_ACCOUNT_ID,H.AWS_ACCOUNT_ID)).min(1,H.VPC_PEER.MIN_REQUESTER_ACCOUNTS),localVpcName:h.string().min(1,H.REQUIRED.NETWORK_NAME).optional(),publishToSsm:h.boolean().optional(),exposedResources:h.array(hbt).optional()}).strict()});var pK,nce,CF,VR,c$e=A(()=>{"use strict";Ft();zh();tl();Jy();pK=["storage","cdn","compute"],nce=h.object({sid:h.string().optional(),effect:h.enum(["Allow","Deny"]),principals:h.array(h.string()),actions:h.array(h.string()),resources:h.array(h.string()).optional(),conditions:h.record(h.string(),h.record(h.string(),h.union([h.string(),h.array(h.string())]))).optional()}).strict(),CF=h.object({name:er,bucketName:h.string().optional(),publicReadAccess:h.boolean().optional(),websiteHosting:h.object({indexDocument:h.string(),errorDocument:h.string().optional()}).strict().optional(),backupVaultTier:h.enum(Kh).optional(),versioned:h.boolean().optional(),encryption:h.enum(BR).optional(),kmsKeyArn:h.string().optional(),cors:h.array(h.object({allowedOrigins:h.array(h.string()),allowedMethods:h.array(h.string()),allowedHeaders:h.array(h.string()).optional(),exposedHeaders:h.array(h.string()).optional(),maxAge:h.number().optional()}).strict()).optional(),deployment:h.object({source:h.string(),prune:h.boolean().optional(),cacheControl:h.object({maxAge:h.number().optional(),immutable:h.boolean().optional()}).strict().optional()}).strict().optional(),retain:h.boolean().optional(),resourcePolicyStatements:h.array(nce).optional(),stackPlacement:h.enum(pK).optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional()}).strict().refine(t=>t.encryption!=="KMS"||!!t.kmsKeyArn,{message:H.KMS.KEY_REQUIRED}),VR=h.object({appName:ya,bucketName:hF,nameProvidedByFlag:h.boolean().optional(),storagePreset:h.enum(V1e).optional(),publicReadAccess:h.boolean().optional(),websiteHosting:h.object({indexDocument:h.string(),errorDocument:h.string().optional()}).strict().optional(),backupVaultTier:h.enum(Kh).optional(),versioned:h.boolean().optional(),encryption:h.enum(BR).optional(),kmsKeyArn:h.string().optional(),cors:h.array(h.object({allowedOrigins:h.array(h.string()),allowedMethods:h.array(h.string()),allowedHeaders:h.array(h.string()).optional(),exposedHeaders:h.array(h.string()).optional(),maxAge:h.number().optional()}).strict()).optional(),connectionConfig:h.object({connectToCompute:h.array(h.string()).optional(),connectToServices:h.array(h.string()).optional()}).strict().optional()}).strict().refine(t=>t.encryption!=="KMS"||!!t.kmsKeyArn,{message:H.KMS.KEY_REQUIRED,path:["kmsKeyArn"]})});var ace,xF,oce=A(()=>{"use strict";Ft();zh();Jy();ace=h.enum(["DESTROY","RETAIN"]),xF=h.object({name:er,queueType:h.enum(["standard","fifo"]).default("standard"),visibilityTimeout:h.number().int(H.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,H.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,H.SQS.VISIBILITY_TIMEOUT.MAX).optional(),retentionPeriod:h.number().int(H.SQS.RETENTION_PERIOD.INTEGER).min(60,H.SQS.RETENTION_PERIOD.MIN).max(1209600,H.SQS.RETENTION_PERIOD.MAX).optional(),contentBasedDeduplication:h.boolean().optional(),removalPolicy:ace.optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional()}).strict()});var l$e,TF,u$e,d$e=A(()=>{"use strict";Ft();Jy();l$e=h.object({type:h.literal("basic-auth"),username:h.string().min(1),password:h.string().min(1)}).strict(),TF=h.object({name:er,defaultOriginRef:h.string(),behaviours:h.array(h.object({pathPattern:h.string(),originRef:h.string(),cachePolicy:h.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:h.string().optional(),certificateArn:h.string().optional(),domain:h.string().optional(),originHostname:h.string().optional(),accessGate:h.union([h.literal(!1),l$e]).optional(),extraProperties:h.array(Vl).optional()}).strict(),u$e=h.object({appName:h.string(),name:er.optional(),defaultOriginRef:h.string(),behaviours:h.array(h.object({pathPattern:h.string(),originRef:h.string(),cachePolicy:h.enum(["CACHING_OPTIMIZED","CACHING_DISABLED"]).optional()}).strict()).optional(),customDomain:h.string().optional(),certificateArn:h.string().optional(),domain:h.string().optional(),originHostname:h.string().optional(),accessGate:h.union([h.literal(!1),l$e]).optional(),nameProvidedByFlag:h.boolean().optional()}).strict()});function aA(t){let e=t.split(".")[0]??"";return UTr.has(e)?"ARM":"STANDARD"}function mK(t,e){let r=aA(t);return r!==e?{valid:!1,message:`Instance type '${t}' requires ${r} architecture, but '${e}' AMI was specified. Use a ${r==="ARM"?"Graviton instance (t4g, c6g, r6g, m6g, etc.)":"Intel/AMD instance (t3, c5, r5, m5, etc.)"} instead.`}:{valid:!0}}function m$e(t,e){return aA(t)===e}var BTr,p$e,UTr,ice=A(()=>{"use strict";BTr=Object.defineProperty,p$e=(t,e)=>BTr(t,"name",{value:e,configurable:!0}),UTr=new Set(["t4g","c6g","c6gd","c6gn","c7g","c7gd","c7gn","r6g","r6gd","r7g","r7gd","r8g","r8gd","c8g","c8gd","c8gn","m6g","m6gd","m7g","m7gd","m8g","m8gd","x8g","i8g","a1","x2gd","im4gn","is4gen","i4g","hpc7g"]);p$e(aA,"getArchitectureForInstanceType");p$e(mK,"validateArchitectureMatch");p$e(m$e,"isArchitectureCompatible")});function g$e(t,e){if(e===void 0)return t;let r=e.context??t.context,n=e.target??t.target,a=e.buildArgs??t.buildArgs,o=e.buildSecrets??t.buildSecrets;return{path:e.path??t.path,...r!==void 0&&{context:r},...n!==void 0&&{target:n},...a!==void 0&&{buildArgs:a},...o!==void 0&&{buildSecrets:o}}}function f$e(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function fK(t){if(!f$e(t)||typeof t.path!="string"||t.path.length===0)return;let e=typeof t.context=="string"&&t.context.length>0?t.context:void 0,r=typeof t.target=="string"&&t.target.length>0?t.target:void 0,n=f$e(t.buildArgs)&&Object.keys(t.buildArgs).length>0?t.buildArgs:void 0,a=Array.isArray(t.buildSecrets)&&t.buildSecrets.length>0?t.buildSecrets:void 0,o={path:t.path,...e!==void 0&&{context:e},...r!==void 0&&{target:r},...n!==void 0&&{buildArgs:n},...a!==void 0&&{buildSecrets:a}},i=Zh.safeParse(o);return i.success?i.data:void 0}function GTr(t){if(t===void 0)return;let e=fK(t);return e===void 0?void 0:JSON.stringify(e)}var VTr,sce,kf,kF,h$e,cce,lce,gbt,Zh,ybt,y$e,v$e,S$e,b$e,E$e,w$e,A$e,vbt,Sbt,WTr,uce,GR=A(()=>{"use strict";Ft();Hoe();VTr=Object.defineProperty,sce=(t,e)=>VTr(t,"name",{value:e,configurable:!0}),kf="fjall-manifest.json",kF=1,h$e=1,cce=/^[A-Za-z0-9_.-]+$/,lce=h.object({id:h.string().min(1,"buildSecret id cannot be empty").regex(cce,"buildSecret id may contain only letters, digits, '_', '.', and '-' (no comma, '=', or whitespace, which would break the buildx --secret argv)"),ssm:h.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:h.object({name:h.string().min(1,"secret name cannot be empty").optional(),arn:h.string().min(1,"secret arn cannot be empty").optional(),field:h.string().min(1,"secret field cannot be empty").optional()}).strict().refine(t=>t.name===void 0!=(t.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:h.string().min(1,"env variable name cannot be empty").optional()}).strict().superRefine((t,e)=>{[t.ssm,t.secretsManager,t.env].filter(r=>r!==void 0).length!==1&&e.addIssue({code:h.ZodIssueCode.custom,message:"buildSecret requires exactly one source (ssm, secretsManager, or env)"})}),gbt=h.union([h.string(),h.object({ssm:h.string().min(1,"ssm parameter name cannot be empty").optional(),secretsManager:h.object({name:h.string().min(1,"secret name cannot be empty").optional(),arn:h.string().min(1,"secret arn cannot be empty").optional(),field:h.string().min(1,"secret field cannot be empty").optional()}).strict().refine(t=>t.name===void 0!=(t.arn===void 0),"secretsManager requires exactly one of name or arn").optional(),env:h.string().min(1,"env variable name cannot be empty").optional(),acknowledgePublic:h.boolean().optional()}).strict().superRefine((t,e)=>{[t.ssm,t.secretsManager,t.env].filter(r=>r!==void 0).length!==1&&e.addIssue({code:h.ZodIssueCode.custom,message:"buildArg value requires exactly one source (ssm, secretsManager, or env)"})})]),Zh=h.object({path:h.string(),context:h.string().min(1,"context cannot be empty").optional(),target:h.string().min(1,"target cannot be empty").optional(),buildArgs:h.record(h.string(),gbt).optional(),buildSecrets:h.array(lce).optional()}).strict(),ybt=Zh.partial();sce(g$e,"mergeDockerBuild");sce(f$e,"isRecord");sce(fK,"normaliseDockerBuild");sce(GTr,"dockerBuildFingerprint");y$e=h.object({name:h.string(),clusterName:h.string().optional(),docker:Zh.optional(),containerPort:h.number().optional(),secrets:h.array(h.string()).optional(),ssmSecretsPath:h.string().optional(),importedSecretNames:h.array(h.string()).optional(),schemaGateImageTag:h.string().optional()}).strict(),v$e=h.object({type:h.enum(Od),name:h.string(),source:h.string()}).strict(),S$e=h.object({repositoryName:h.string()}).strict(),b$e=["x86_64","arm64"],E$e=h.object({name:h.string(),secrets:h.array(h.string()).optional(),ssmSecretsPath:h.string().optional(),importedSecretNames:h.array(h.string()).optional(),docker:Zh.optional(),imageKey:h.string().optional(),architecture:h.enum(b$e).optional()}).strict(),w$e=h.object({templateHash:h.string(),synthTimestamp:h.string()}).strict(),A$e=h.object({constructPath:h.string().max(512),group:h.string().max(128),resourceType:h.string().max(256)}).strict(),vbt=h.object({synthesisedBy:h.string().min(1).max(128),minimumEngineVersion:h.string().min(1).max(32),maximumEngineMajor:h.number().int().min(0).optional(),minimumAwsCdkCli:h.string().min(1).max(32).optional()}).strict(),Sbt=h.object({appName:h.string().min(1).max(128),slot:h.string().min(1).max(64),clusterName:h.string().min(1).max(128),anchor:h.string().min(1).max(128),pinned:h.boolean(),currentServiceName:h.string().min(1).max(256),legacyKey:h.string().min(1).max(256),legacyAnchor:h.string().min(1).max(256),legacyServiceName:h.string().min(1).max(512),legacyKeyFields:h.array(h.string().max(64)).max(32)}).strict(),WTr=h.object({constructPath:h.string().min(1).max(512),resourceType:h.string().min(1).max(256),physicalNameHint:h.string().min(1).max(512),policy:h.enum(["retain","snapshot","adopted"]),destroyDisposition:h.enum(["survives","deleted-on-explicit-destroy"]),reason:h.string().min(1).max(1024),costClass:h.enum(["none","storage","fixed-monthly"]),cleanupHint:h.string().min(1).max(1024)}).strict(),uce=h.object({version:h.literal(kF),generatedAt:h.string(),appName:h.string(),services:h.array(y$e),lambdas:h.array(E$e),pattern:v$e.optional(),ecr:S$e.optional(),stacks:h.record(h.string(),w$e),resourceMap:h.record(h.string(),A$e).optional(),engineCompat:vbt.optional(),identityAliases:h.array(Sbt).optional(),residuals:h.array(WTr).optional()}).strict()});function bbt(t){return!(t.image!==void 0&&t.docker!==void 0)}var zTr,HTr,Ebt,wbt,WR,x$e,T$e,dce,gK,Abt,pce,Cbt,mce,fce,k$e,xbt,IF,I$e,hK,Tbt,P$e,PF,R$e,_$e,D$e,RF,N$e,KTr,qTr,YTr,O$e,C$e,yK,vK,hce=A(()=>{"use strict";Ft();zh();tl();ice();Jy();GR();Yse();zTr=Object.defineProperty,HTr=(t,e)=>zTr(t,"name",{value:e,configurable:!0});HTr(bbt,"imageDockerMutexCheck");Ebt=h.number().int(H.CAPACITY.MIN.INTEGER).min(zse,H.GENERATOR_CAPACITY.MIN.MIN).max(Hse,H.GENERATOR_CAPACITY.MIN.MAX),wbt=h.number().int(H.CAPACITY.MAX.INTEGER).min(zse,H.GENERATOR_CAPACITY.MAX.MIN).max(Hse,H.GENERATOR_CAPACITY.MAX.MAX),WR=h.number().int(H.LAMBDA.MEMORY.INTEGER).min(L1e,H.LAMBDA.MEMORY.MIN).max(F1e,H.LAMBDA.MEMORY.MAX).refine(t=>t===128||t%64===0,H.LAMBDA.MEMORY.MULTIPLE),x$e=h.string().regex(jt.LAMBDA_RUNTIME_IDENTIFIER,H.LAMBDA.RUNTIME),T$e=h.number().int(H.CPU.INTEGER).min(256,H.CPU.MIN).max(4096,H.CPU.MAX),dce=h.number().int(H.CAPACITY.DESIRED.INTEGER).min(0,H.CAPACITY.DESIRED.MIN).max(jR,H.CAPACITY.DESIRED.MAX),gK=h.object({connectToDatabase:h.array(h.string()).optional()}).strict(),Abt=h.object({minSize:h.number().int(H.CAPACITY.WARM_POOL.MIN_SIZE.INTEGER).min(0,H.CAPACITY.WARM_POOL.MIN_SIZE.MIN).max(j1e,H.CAPACITY.WARM_POOL.MIN_SIZE.MAX).optional(),reuseOnScaleIn:h.boolean().optional()}).strict(),pce=h.object({instanceType:h.string().optional(),amiHardwareType:h.enum(QH).optional(),minCapacity:h.number().int(H.CAPACITY.MIN.INTEGER).min(0,H.CAPACITY.MIN.MIN_0).max(jR,H.CAPACITY.MIN.MAX).optional(),maxCapacity:h.number().int(H.CAPACITY.MAX.INTEGER).min(1,H.CAPACITY.MAX.MIN_1).max(jR,H.CAPACITY.MAX.MAX).optional(),memoryLimitMiB:fF(128).optional(),warmPool:Abt.optional(),extraProperties:h.array(Vl).optional()}).strict().superRefine((t,e)=>{if(!t.instanceType||!t.amiHardwareType)return;let r=mK(t.instanceType,t.amiHardwareType);r.valid||e.addIssue({code:"custom",message:r.message??H.ARCHITECTURE_MISMATCH,path:["instanceType"]})}).superRefine((t,e)=>{t.minCapacity===0&&!t.warmPool&&e.addIssue({code:"custom",message:H.CAPACITY.WARM_POOL_REQUIRED,path:["minCapacity"]}),t.warmPool?.minSize!==void 0&&t.maxCapacity!==void 0&&t.warmPool.minSize>t.maxCapacity&&e.addIssue({code:"custom",message:H.CAPACITY.WARM_POOL.MIN_SIZE_EXCEEDS_MAX_CAPACITY,path:["warmPool","minSize"]})}),Cbt=h.enum(uF).describe(`Compute type must be one of: ${uF.join(", ")}`),mce=h.enum(nA).describe(`ECS capacity provider must be one of: ${nA.join(", ")}`),fce=h.string().refine(t=>Vd(eK,t),{message:H.INSTANCE_TYPE}),k$e=h.object({sourceType:h.enum(["sqs","dynamodb","eventbridge"]),sourceRef:h.string().describe("Name of the source resource"),batchSize:h.number().int(H.BATCH_SIZE.INTEGER).min(1,H.BATCH_SIZE.MIN).max(1e4,H.BATCH_SIZE.MAX).optional(),startingPosition:h.enum(["TRIM_HORIZON","LATEST"]).optional(),maxBatchingWindow:h.number().int(H.BATCHING_WINDOW.INTEGER).min(0,H.BATCHING_WINDOW.MIN).max(300,H.BATCHING_WINDOW.MAX).optional(),reportBatchItemFailures:h.boolean().optional()}).strict(),xbt=h.object({name:h.string().min(1,H.REQUIRED.CONTAINER_NAME).optional(),image:h.string().optional(),port:vm.optional(),environment:UR.optional(),secretsImport:G1e.optional(),command:h.array(h.string()).optional(),entryPoint:h.array(h.string()).optional(),essential:h.boolean().optional(),healthCheck:h.object({command:h.array(h.string()),interval:h.number().int(H.HEALTH_CHECK.INTERVAL.INTEGER).min(5,H.HEALTH_CHECK.INTERVAL.MIN).max(300,H.HEALTH_CHECK.INTERVAL.MAX).optional(),timeout:h.number().int(H.HEALTH_CHECK.TIMEOUT.INTEGER).min(2,H.HEALTH_CHECK.TIMEOUT.MIN).max(60,H.HEALTH_CHECK.TIMEOUT.MAX).optional(),retries:h.number().int(H.HEALTH_CHECK.RETRIES.INTEGER).min(1,H.HEALTH_CHECK.RETRIES.MIN).max(10,H.HEALTH_CHECK.RETRIES.MAX).optional(),startPeriod:h.number().int(H.HEALTH_CHECK.START_PERIOD.INTEGER).min(0,H.HEALTH_CHECK.START_PERIOD.MIN).max(300,H.HEALTH_CHECK.START_PERIOD.MAX).optional()}).strict().optional(),ssmSecrets:h.array(h.string().regex(jt.SECRET_NAME,H.SECRET_NAME)).optional(),extraProperties:h.array(Vl).optional()}).strict(),IF=h.string().min(1,H.REQUIRED.SERVICE_NAME).max(255,H.MAX_LENGTH.SERVICE_NAME).regex(jt.ECS_SERVICE_NAME,H.ECS_SERVICE_NAME),I$e=h.object({domain:h.string().optional(),loadBalancer:h.union([h.literal(!1),h.enum(JH)]).optional(),directAccess:h.boolean().optional(),extraProperties:h.array(Vl).optional()}).strict().refine(t=>!(t.directAccess&&t.domain),{message:H.DIRECT_ACCESS.NO_DOMAIN,path:["directAccess"]}).refine(t=>!(t.directAccess&&typeof t.loadBalancer=="string"),{message:H.DIRECT_ACCESS.NO_LOAD_BALANCER}).describe("Cluster-level configuration"),hK=h.object({path:h.string().optional(),host:h.string().optional(),priority:h.number().int(H.PRIORITY.INTEGER).min(1,H.PRIORITY.MIN).max(5e4,H.PRIORITY.MAX).optional(),healthCheckPath:h.string().optional()}).strict().describe("Path/host-based routing configuration"),Tbt=h.object({desiredCount:dce.optional(),minCapacity:h.number().int(H.CAPACITY.MIN.INTEGER).min(0,H.CAPACITY.MIN.MIN_0).max(jR,H.CAPACITY.MIN.MAX).optional(),maxCapacity:h.number().int(H.CAPACITY.MAX.INTEGER).min(1,H.CAPACITY.MAX.MIN_1).max(jR,H.CAPACITY.MAX.MAX).optional(),scalingType:h.enum(XH).optional()}).strict().refine(Nx.check,Nx.params).describe("ECS service scaling configuration"),P$e=h.object({name:IF,docker:Zh.optional(),needsDatabaseConnection:h.boolean().optional(),needsStorageConnection:h.boolean().optional(),needsMessagingConnection:h.boolean().optional(),image:h.string().optional(),containers:h.array(xbt).optional(),routing:h.union([hK,h.array(hK).min(1)]).optional(),serviceType:h.enum(mF).optional(),cpu:T$e.optional(),memoryLimitMiB:fF(512).optional(),desiredCount:dce.optional(),scaling:Gd(Tbt).optional(),capacityProvider:mce,ec2Config:pce.optional(),ssmSecretsPath:h.string().regex(jt.SSM_PATH,H.SSM_PATH).optional(),extraProperties:h.array(Vl).optional(),alarms:q1e.optional()}).strict().superRefine((t,e)=>{bbt(t)||e.addIssue({code:"custom",path:["docker"],message:H.IMAGE_DOCKER_MUTEX})}).describe("Configuration for a service in an ECS cluster"),PF=h.object({name:er,type:Cbt,needsConnection:h.boolean(),connectedDatabase:h.array(h.string().min(1,H.REQUIRED.CONNECTED_RESOURCE_NAME)).optional(),connectedStorage:h.array(h.string().min(1,H.REQUIRED.CONNECTED_RESOURCE_NAME)).optional(),connectedMessaging:h.array(h.string().min(1,H.REQUIRED.CONNECTED_RESOURCE_NAME)).optional(),cluster:I$e.optional(),services:h.array(P$e).optional(),docker:Zh.partial().optional(),deployment:h.enum(qH).optional(),codePath:h.string().optional(),timeout:h.number().int(H.LAMBDA.TIMEOUT.INTEGER).min(tK,H.LAMBDA.TIMEOUT.MIN).max(rK,H.LAMBDA.TIMEOUT.MAX).optional(),memory:WR.optional(),handler:h.string().optional(),runtime:x$e.optional(),environment:UR.optional(),secrets:UR.optional(),eventSources:h.array(k$e).optional(),functionUrl:h.object({authType:h.enum(pF)}).strict().optional(),description:h.string().optional(),scheduleExpression:h.string().optional(),scheduleStackPlacement:h.enum(Dx).optional(),architecture:h.enum(ZH).optional(),ephemeralStorageSize:h.number().int(H.EPHEMERAL_STORAGE.INTEGER).min(512,H.EPHEMERAL_STORAGE.MIN).max(10240,H.EPHEMERAL_STORAGE.MAX).optional(),functionName:h.string().optional(),ssmSecrets:h.array(h.string()).optional(),ssmSecretsPath:h.string().optional(),alarms:Z1e.optional(),instanceType:fce.optional(),enableSSH:h.boolean().optional(),keyName:h.string().optional(),userData:h.string().optional(),securityGroups:h.array(h.string()).optional(),variableName:h.string().optional(),extraProperties:h.array(Vl).optional()}).strict().superRefine((t,e)=>{if(t.type==="ecs"&&t.services)for(let r=0;r<t.services.length;r++){let n=t.services[r];n?.ec2Config?.instanceType&&!n.ec2Config.amiHardwareType&&aA(n.ec2Config.instanceType)!=="ARM"&&e.addIssue({code:"custom",message:`Service '${n.name??r}' uses instance type '${n.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",r,"ec2Config","instanceType"]})}t.type==="lambda"&&t.deployment==="container"&&t.architecture==="X86_64"&&e.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"]})}),R$e=h.object({appName:ya,clusterName:er,containerPort:vm,nameProvidedByFlag:h.boolean().optional(),ecrRepository:h.string().optional(),capacityProvider:mce.optional(),useAppEcr:h.boolean().optional(),desiredCount:dce.optional(),cpu:T$e.optional(),memoryLimitMiB:fF(512).optional(),minCapacity:Ebt.optional(),maxCapacity:wbt.optional(),ec2Config:pce.optional(),connectionConfig:gK.optional()}).strict().refine(Nx.check,Nx.params),_$e=h.object({appName:ya,functionName:er,nameProvidedByFlag:h.boolean().optional(),lambdaType:h.enum(["basic","web","custom"]).optional(),ecrRepository:h.string().optional(),timeout:h.number().int(H.LAMBDA.TIMEOUT.INTEGER).min(tK,H.LAMBDA.TIMEOUT.MIN).max(rK,H.LAMBDA.TIMEOUT.MAX).optional(),memory:WR.optional(),enableFunctionUrl:h.boolean().optional(),description:h.string().optional(),enableCors:h.boolean().optional(),corsOrigins:h.string().optional(),corsHeaders:h.string().optional(),corsMethods:h.array(h.enum(U1e)).optional(),corsCredentials:h.boolean().optional(),connectionConfig:gK.optional()}).strict(),D$e=h.object({appName:ya,instanceName:er,nameProvidedByFlag:h.boolean().optional(),instanceType:fce.optional(),enableSSH:h.boolean().optional(),minCapacity:Ebt.optional(),maxCapacity:wbt.optional(),connectionConfig:gK.optional()}).strict().refine(Nx.check,Nx.params),RF=h.object({appName:ya,clusterName:er,serviceName:IF,capacityProvider:mce,containerPort:vm.optional(),cpu:T$e.optional(),memoryLimitMiB:fF(512).optional(),desiredCount:dce.optional(),ec2Config:pce.optional(),routing:h.union([hK,h.array(hK).min(1)]).optional(),docker:Zh.partial().optional(),nameProvidedByFlag:h.boolean().optional(),connectionConfig:gK.optional()}).strict(),N$e=h.object({appName:ya,computeName:er,nameProvidedByFlag:h.boolean().optional(),connectionConfig:gK.optional()}).strict(),KTr=N$e.extend({type:h.literal("ecs"),cluster:I$e.optional(),services:h.array(P$e).min(1,H.SERVICE.MIN_REQUIRED),docker:Zh.partial().optional()}).strict().refine(t=>{let e=t.services.filter(r=>r.containers?.some(n=>n.port));return e.length>1?e.every(r=>(Array.isArray(r.routing)?r.routing:r.routing?[r.routing]:[]).some(n=>n.path||n.host)):!0},{message:H.SERVICE.ROUTING_REQUIRED}).refine(t=>{let e=t.services.map(r=>r.name);return new Set(e).size===e.length},{message:H.SERVICE.UNIQUE_WITHIN_CLUSTER}),qTr=N$e.extend({type:h.literal("lambda"),timeout:h.number().int(H.LAMBDA.TIMEOUT.INTEGER).min(tK,H.LAMBDA.TIMEOUT.MIN).max(rK,H.LAMBDA.TIMEOUT.MAX).optional(),memory:WR.optional(),handler:h.string().optional(),runtime:x$e.optional(),environment:UR.optional(),secrets:UR.optional(),description:h.string().optional(),functionUrl:h.union([h.object({authType:h.enum(pF).optional()}).strict(),h.literal(!1)]).optional(),eventSources:h.array(k$e).optional()}).strict(),YTr=N$e.extend({type:h.literal("ec2"),instanceType:fce.optional(),enableSSH:h.boolean().optional(),keyName:h.string().optional(),userData:h.string().optional(),securityGroups:h.array(h.string()).optional()}).strict(),O$e=h.discriminatedUnion("type",[KTr,qTr,YTr]),C$e=h.object({path:h.string().min(1,H.REQUIRED.ROUTING_PATH),priority:h.number().int(H.PRIORITY.INTEGER).min(1,H.PRIORITY.MIN).max(5e4,H.PRIORITY.MAX).optional()}).strict(),yK=h.object({name:h.string().min(1,H.REQUIRED.SERVICE_NAME).max(255,H.MAX_LENGTH.SERVICE_NAME).regex(jt.RESOURCE_NAME,H.RESOURCE_NAME),serviceType:h.enum(mF).optional(),docker:Zh.partial().optional(),containerPort:vm.optional(),needsDatabaseConnection:h.boolean().optional(),routing:h.union([C$e,h.array(C$e).min(1)]).optional()}).strict().superRefine((t,e)=>{t.serviceType==="worker"&&(t.containerPort!==void 0&&e.addIssue({code:"custom",path:["containerPort"],message:"Worker services are not reachable inbound; remove containerPort."}),t.routing!==void 0&&e.addIssue({code:"custom",path:["routing"],message:"Worker services have no ALB route; remove routing."}))}),vK=h.object({appName:ya,instanceType:h.string().optional()}).strict()});var gce,$$e,M$e,yce,L$e,kbt,F$e,j$e,Ibt,vce,Sce,_F,Pbt,Rbt,_bt,Dbt,DF,NF,jx,B$e,U$e,V$e=A(()=>{"use strict";Ft();zh();uK();hce();tl();$();gce=h.object({memorySize:WR.optional(),timeout:h.number().int(H.LAMBDA.TIMEOUT.INTEGER).min(1,H.LAMBDA.TIMEOUT.MIN).max(900,H.LAMBDA.TIMEOUT.MAX).optional(),ephemeralStorageSize:h.number().int(H.EPHEMERAL_STORAGE.INTEGER).min(512,H.EPHEMERAL_STORAGE.MIN).max(10240,H.EPHEMERAL_STORAGE.MAX).optional()}).strict(),$$e=h.object({type:h.enum(Wse).optional(),databaseName:h.string().optional(),databaseEngine:h.enum(LR).optional(),deletionProtection:h.boolean().optional(),backupRetention:YS.optional(),port:aK.optional(),publiclyAccessible:h.boolean().optional(),allowedIpCidr:h.string().optional(),instanceType:h.string().optional(),allocatedStorage:h.number().int(H.ALLOCATED_STORAGE.INTEGER).min(20,H.ALLOCATED_STORAGE.MIN).max(65536,H.ALLOCATED_STORAGE.MAX).optional(),multiAz:h.boolean().optional(),readReplica:sK.optional(),writer:bF.optional(),readers:EF.optional(),allowVpcAccess:h.boolean().optional(),monitoringInterval:SF.optional(),preferredMaintenanceWindow:h.string().optional(),databaseInsights:cK.optional(),proxy:iK.optional(),credentials:oK.optional(),encryption:lK.optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional()}).strict(),M$e=h.object({server:gce.optional(),imageOptimisation:gce.optional(),revalidation:gce.optional()}).strict(),yce=h.object({versioned:h.boolean().optional()}).strict(),L$e=h.object({assets:yce.optional(),cache:yce.optional(),media:yce.optional()}).strict(),kbt=h.object({visibilityTimeout:h.number().int(H.SQS.VISIBILITY_TIMEOUT.INTEGER).min(0,H.SQS.VISIBILITY_TIMEOUT.MIN).max(43200,H.SQS.VISIBILITY_TIMEOUT.MAX).optional(),messageRetentionPeriod:h.number().int(H.SQS.RETENTION_PERIOD.INTEGER).min(60,H.SQS.RETENTION_PERIOD.MIN).max(1209600,H.SQS.RETENTION_PERIOD.MAX).optional(),maxMessageSize:h.number().int(H.MAX_MESSAGE_SIZE.INTEGER).min(1024,H.MAX_MESSAGE_SIZE.MIN).max(262144,H.MAX_MESSAGE_SIZE.MAX).optional(),deadLetterQueue:h.union([h.literal(!1),h.object({enabled:h.boolean().optional(),maxReceiveCount:h.number().int(H.DLQ.MAX_RECEIVE_COUNT.INTEGER).min(1,H.DLQ.MAX_RECEIVE_COUNT.MIN).max(1e3,H.DLQ.MAX_RECEIVE_COUNT.MAX).optional()}).strict()]).optional()}).strict(),F$e=h.object({revalidationQueue:kbt.optional()}).strict(),j$e=h.object({domainNames:h.array(h.string()).optional(),certificateArn:h.string().optional()}).strict(),Ibt=h.record(h.string().regex(jt.ENV_VAR_NAME,H.ENV_VAR_NAME),h.string()).optional(),vce=h.object({type:h.literal("payload"),name:h.string().min(1,H.REQUIRED.PATTERN_NAME),domain:h.string().optional(),database:$$e.optional(),compute:M$e.optional(),storage:L$e.optional(),messaging:F$e.optional(),cdn:j$e.optional(),environment:Ibt}).strict(),Sce=h.object({type:h.literal("nextjs"),name:h.string().min(1,H.REQUIRED.PATTERN_NAME),domain:h.string().optional(),database:$$e.optional(),compute:M$e.optional(),storage:L$e.optional(),messaging:F$e.optional(),cdn:j$e.optional(),environment:Ibt}).strict(),_F=h.enum(nR),Pbt=h.object({command:h.string().min(1,H.REQUIRED.BUILD_COMMAND),outputDir:h.string().min(1,H.REQUIRED.OUTPUT_DIR)}).strict(),Rbt=h.object({headers:h.boolean().optional(),contentSecurityPolicy:h.string().optional()}).strict(),_bt=h.object({to:h.string().min(1,H.REQUIRED.FORMS_TO).regex(jt.EMAIL,H.EMAIL),from:h.string().regex(jt.EMAIL,H.EMAIL).optional(),corsOrigin:h.string().regex(jt.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),maxConcurrency:h.number().int().min(1).max(100).optional()}).strict(),Dbt=h.object({behaviours:h.array(h.unknown()).optional()}).strict(),DF=h.object({type:h.literal("staticsite"),name:h.string().min(1,H.REQUIRED.PATTERN_NAME),source:h.string().min(1,H.REQUIRED.SOURCE),build:Pbt,routing:_F.optional(),security:Rbt.optional(),domain:h.string().optional(),forms:_bt.optional(),cdn:Dbt.optional()}).strict().superRefine((t,e)=>{if(t.forms===void 0)return;let r=t.domain;if(r===void 0||r===""){e.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 n=t.forms.from;n!==void 0&&!SL(n,r)&&e.addIssue({code:"custom",path:["forms","from"],message:`forms.from must be an address at ${r} (the verified SES identity) \u2014 for example noreply@${r}. Use forms.to for the recipient.`})}),NF=h.discriminatedUnion("type",[vce,Sce,DF]),jx=h.enum(["lightweight","standard","resilient","custom"]),B$e=h.object({type:h.enum(Wse),instanceType:h.string().optional(),backupRetention:YS.optional(),deletionProtection:h.boolean().optional(),encryption:h.union([h.object({useCMK:h.literal(!0)}).strict(),h.literal(!1)]).optional()}).strict(),U$e=h.object({memorySize:WR.optional(),timeout:h.number().int(H.LAMBDA.TIMEOUT.INTEGER).min(1,H.LAMBDA.TIMEOUT.MIN).max(900,H.LAMBDA.TIMEOUT.MAX).optional()}).strict()});var G$e,ZTr,SK,Nbt=A(()=>{"use strict";Ft();zh();Jy();uK();rce();c$e();oce();d$e();hce();uK();V$e();G$e=h.object({appName:ya,type:gF,pattern:yF.optional(),patternConfig:NF.optional(),owner:h.string().optional(),tags:h.record(h.string(),h.string()).optional(),vpcId:h.string().optional(),network:Fx.optional(),backup:z1e.optional(),tunnel:H1e.optional(),additionalNetworks:h.array(i$e).optional(),database:h.array(wF),s3:h.array(CF),compute:h.array(PF),dynamodb:h.array(e$e).optional(),clickhouse:h.array(t$e).optional(),sqs:h.array(xF).optional(),cdn:TF.optional(),customCodeBlocks:h.array(W1e).optional(),additionalManagedImports:h.array(h.object({moduleSpecifier:h.string(),namedImports:h.array(h.string()),defaultImport:h.string().optional()}).strict()).optional()}).strict(),ZTr=h.object({name:ya,type:gF,pattern:yF.optional(),patternTier:jx.optional(),patternDomain:h.string().optional(),source:h.string().min(1,H.REQUIRED.SOURCE).optional(),buildCommand:h.string().min(1,H.REQUIRED.BUILD_COMMAND).optional(),outputDir:h.string().min(1,H.REQUIRED.OUTPUT_DIR).optional(),routing:_F.optional(),formsTo:h.string().min(1,H.REQUIRED.FORMS_TO).regex(jt.EMAIL,H.EMAIL).optional(),corsOrigin:h.string().regex(jt.HTTP_ORIGIN,"corsOrigin must be an exact origin such as https://example.com (no path, no trailing slash)").optional(),customDatabase:B$e.optional(),customCompute:U$e.optional(),region:h.string().optional(),owner:h.string().optional(),includeDatabase:h.boolean().optional(),databaseName:h.string().min(1,H.DATABASE.NAME.REQUIRED).max(63,H.DATABASE.NAME.MAX_LENGTH).optional(),vpcId:h.string().optional(),network:s$e.optional(),services:h.array(yK).optional(),snapshotIdentifier:h.string().optional(),snapshotUsername:h.string().optional()}).strict().superRefine((t,e)=>{t.formsTo!==void 0&&(t.patternDomain!==void 0&&t.patternDomain!==""||e.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"}))}),SK=h.object({name:er,localResource:h.string().min(1),remoteApp:h.string().min(1),remoteResource:h.string().min(1),permission:h.enum(["read","write","read-write"]),remoteArn:h.string().optional()}).strict()});var Obt,JTr,H$e,z$e,K$e,$bt,Mbt,Lbt,bce,W$e,Ece,wce,Fbt=A(()=>{"use strict";Ft();zh();Jy();Obt=["fjall-managed","external","external-manual"],JTr=h.enum(Obt),H$e=["AdministratorAccess","ReadOnlyAccess","Billing","ManagementAccountAccess"],z$e=h.object({givenName:h.string().min(1),familyName:h.string().min(1),displayName:h.string().min(1).optional(),expires:h.string().min(1).optional()}).strict(),K$e=h.object({name:h.string().min(1),path:h.string().min(1).optional()}).strict(),$bt=h.union([h.object({managedPolicyArn:h.string().min(1)}).strict(),h.object({customerManagedPolicy:K$e}).strict()]),Mbt=h.object({managedPolicies:h.array(h.string().min(1)).optional(),inlinePolicy:h.record(h.string(),h.unknown()).optional(),customerManagedPolicies:h.array(K$e).optional(),permissionsBoundary:$bt.optional(),sessionDuration:h.string().min(1).optional(),description:h.string().optional(),accounts:h.union([h.array(h.string().min(1)),h.literal("all")]).optional(),includeManagementAccount:h.boolean().optional(),groups:h.array(h.string().min(1)).optional()}).strict(),Lbt=h.object({description:h.string().optional()}).strict(),bce=h.string().regex(jt.EMAIL,H.EMAIL),W$e={groups:h.record(h.string(),Lbt).optional(),permissionSets:h.record(h.string(),Mbt).optional(),memberships:h.record(h.string(),h.array(bce)).optional(),resolutionVersion:h.number().int().min(1).optional(),defaultPermissionSets:h.boolean().optional()},Ece=h.discriminatedUnion("source",[h.object({...W$e,source:h.literal("fjall-managed"),users:h.record(bce,z$e)}).strict(),h.object({...W$e,source:h.literal("external")}).strict(),h.object({...W$e,source:h.literal("external-manual"),users:h.record(bce,z$e).optional()}).strict()]),wce=h.object({name:er,type:h.literal("organisation").optional(),organisationName:h.string().min(1).optional(),orgEmail:bce.optional(),accounts:h.unknown().optional(),accountIds:h.record(h.string(),h.string()).optional(),identityCentre:h.union([Ece,h.literal(!1)]).optional(),allowedRegions:h.array(h.string().min(1)).optional()}).strict()});var OF=A(()=>{"use strict";Jy();uK();rce();c$e();oce();d$e();hce();V$e();Nbt();Yse();Fbt()});function Bbt(t){let e=jbt.safeParse(t);if(!e.success){let r=e.error.issues.map(n=>` - ${n.path.join(".")||"(root)"}: ${n.message}`).join(`
|
|
160
160
|
`);throw new Error(`Buildkite: invalid props:
|
|
161
161
|
${r}`)}return e.data}var XTr,QTr,ekr,bK,jbt,Ubt=A(()=>{"use strict";Ft();XTr=Object.defineProperty,QTr=(t,e)=>XTr(t,"name",{value:e,configurable:!0}),ekr=[1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1827,3653],bK=h.object({buildkiteQueue:h.string().min(1,"buildkiteQueue cannot be empty").max(100).regex(/^[a-zA-Z0-9-_]+$/,"buildkiteQueue must be alphanumeric with hyphens/underscores"),buildkiteOrgSlug:h.string().min(1,"buildkiteOrgSlug cannot be empty").max(100).regex(/^[a-z0-9-]+$/,"buildkiteOrgSlug must be a lowercase Buildkite organisation slug"),agentTokenSsmParameterName:h.string().min(2).regex(/^\//,"agentTokenSsmParameterName must be a full path (leading /)").optional(),agentTokenKmsKeyArn:h.string().min(1).optional(),fjallApiKeySsmParameterName:h.string().min(2).regex(/^\//,"fjallApiKeySsmParameterName must be a full path (leading /)").optional(),instanceType:h.string().min(1).default("c8g.xlarge"),agentVolumeSizeGib:h.number().int().min(20).max(1e3).default(250),agentMinInstances:h.number().int().min(0).default(0),agentMaxInstances:h.number().int().min(1).default(2),agentsPerInstance:h.number().int().min(1).default(1),spotCapacityPercentage:h.number().int().min(0).max(100).default(0),scaleInIdlePeriodSeconds:h.number().int().min(60).default(600),disconnectAfterUptimeSeconds:h.number().int().min(3600).default(86400),maxInstanceLifetimeDays:h.number().int().min(1).max(365).default(7),terminateInstanceAfterJob:h.boolean().default(!1),purgeBuildsOnDiskFull:h.boolean().default(!0),terminateInstanceOnDiskFull:h.boolean().default(!1),logRetentionDays:h.number().int().min(1).default(30),agentLogRetentionDays:h.literal(ekr).default(7),buildkiteAgentRelease:h.enum(["stable","beta","edge"]).default("stable"),buildkiteAgentTags:h.string().default(""),buildkiteAgentTimestampLines:h.boolean().default(!1),buildkiteAgentExperiments:h.string().default(""),buildkiteAgentTracingBackend:h.enum(["","datadog","opentelemetry"]).default(""),buildkiteAgentCancelGracePeriodSeconds:h.number().int().min(10).default(60),enableSecretsPlugin:h.boolean().default(!0),enableEcrPlugin:h.boolean().default(!1),enableDockerLoginPlugin:h.boolean().default(!1),enableDockerUserNamespaceRemap:h.boolean().default(!0),enableDockerExperimental:h.boolean().default(!1),dockerNetworkingProtocol:h.enum(["ipv4","dualstack"]).default("ipv4"),enableInstanceStorage:h.boolean().default(!1),mountTmpfsAtTmp:h.boolean().default(!0),buildkiteAgentEnableGitMirrors:h.boolean().default(!1),bootstrapScriptUrl:h.string().default(""),agentEnvFileUrl:h.string().default(""),scalerEventSchedulePeriod:h.string().min(1).default("1 minute"),scalerMinPollInterval:h.string().min(1).default("10s"),scaleOutFactor:h.string().min(1).default("1.0"),scaleOutWaitingForJobs:h.boolean().default(!1),rolePermissionsBoundaryArn:h.string().min(1).optional(),alarmSnsTopicArn:h.string().min(1).optional(),applicationId:h.string().min(1).optional(),costAllocationEnvironment:h.string().min(1).optional(),costAllocationOwner:h.string().min(1).optional()}).strict(),jbt=bK.refine(t=>t.agentMinInstances<=t.agentMaxInstances,{message:"agentMinInstances must be <= agentMaxInstances"});QTr(Bbt,"validateBuildkiteProps")});function Vbt(t){return`FjallDeployBoundary${t}`}var tkr,rkr,q$e,Gbt,Wbt,nkr,akr,zbt=A(()=>{"use strict";tkr=Object.defineProperty,rkr=(t,e)=>tkr(t,"name",{value:e,configurable:!0});rkr(Vbt,"deployBoundaryName");q$e={Sid:"FjallInheritAdministratorAccess",Effect:"Allow",Action:"*",Resource:"*"},Gbt=[{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:"*"}],Wbt=[...Gbt,{Sid:"FjallDenyStandingHumanCredentials",Effect:"Deny",Action:["iam:CreateUser","iam:CreateLoginProfile","iam:CreateAccessKey","iam:CreateAccountAlias"],Resource:"*"},{Sid:"FjallDenyDisableConfigRecorder",Effect:"Deny",Action:["config:StopConfigurationRecorder"],Resource:"*"}],nkr=[...Wbt,{Sid:"FjallDenyAccountPasswordPolicyTamper",Effect:"Deny",Action:["iam:UpdateAccountPasswordPolicy","iam:DeleteAccountPasswordPolicy"],Resource:"*"},{Sid:"FjallDenyDisableDefaultEbsEncryption",Effect:"Deny",Action:["ec2:DisableEbsEncryptionByDefault"],Resource:"*"}],akr={foundation:[q$e,...Gbt],compliance:[q$e,...Wbt],hardened:[q$e,...nkr]}});function Tce(t){return`FjallDevDeploy${t}`}function Hbt(t){return`FjallDevProvisioner${t}`}function Kbt(t){return`FjallDevSyncWriter${t}`}function Z$e(t){return`arn:aws:iam::${t}:policy/${qbt}`}function J$e(t){return`org:${t}:dev-provisioner`}function X$e(t){return`org:${t}:dev-sync`}function Ace(t,e){return`org:${t}:acct:${e}`}function Cce(t){return`org:${t}:*`}function Q$e(t,e){return`org:${t}:${e}`}function Zbt(t){let{fjallOrgId:e,providerArn:r,issuerDomain:n,accountTier:a,accountId:o}=t,i=t.machineTrustMode??"expanded",s={[`${n}:aud`]:$F},c;if(i==="account-scoped"){if(a===void 0||!JP(a)||o===void 0)throw new Error(`machineTrustMode "account-scoped" requires a governance accountTier and an accountId (got tier: ${String(a)}, accountId ${o===void 0?"absent":"present"}) \u2014 refusing to fall back to the generic machine subject: a silent fallback would re-widen the trust the \xA74.4a Step-3 contract removes`);c=[Ace(e,o)]}else o!==void 0?c=[Cce(e),Ace(e,o)]:c=Cce(e);return[{Sid:"FjallMachineSubject",Effect:"Allow",Principal:{Federated:r},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...s,[`${n}:sub`]:c}}},{Sid:"FjallUserSubjects",Effect:"Allow",Principal:{Federated:r},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:s,StringLike:{[`${n}:sub`]:`org:${e}:user:*`}}},{Sid:"FjallServiceSubjects",Effect:"Allow",Principal:{Federated:r},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{...s,[`${n}:sub`]:Ybt.map(l=>Q$e(e,l))}}}]}function Jbt(t){let{fjallOrgId:e,providerArn:r,issuerDomain:n,accountId:a}=t;return[{Sid:"FjallDevSubjectsThisAccount",Effect:"Allow",Principal:{Federated:r},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${n}:aud`]:$F},StringLike:{[`${n}:sub`]:`org:${e}:dev:${a}:*`}}}]}function eMe(t){let{providerArn:e,issuerDomain:r,sid:n,subject:a}=t;return[{Sid:n,Effect:"Allow",Principal:{Federated:e},Action:"sts:AssumeRoleWithWebIdentity",Condition:{StringEquals:{[`${r}:aud`]:$F,[`${r}:sub`]:a}}}]}function Xbt(t){return eMe({...t,sid:"FjallDevProvisionerSubject",subject:J$e(t.fjallOrgId)})}function Qbt(t){return eMe({...t,sid:"FjallDevSyncSubject",subject:X$e(t.fjallOrgId)})}function eEt({accountId:t}){return[{Sid:"FjallDevEcsTaggedMutations",Effect:"Allow",Action:["ecs:UpdateService","ecs:DeleteService","ecs:RunTask","ecs:StopTask"],Resource:`arn:aws:ecs:*:${t}:*`,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:*:${t}:*`,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:*:${t}: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:*:${t}:*`,Condition:{StringEquals:{"aws:ResourceTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTaggedCreates",Effect:"Allow",Action:["elasticloadbalancing:CreateTargetGroup","elasticloadbalancing:CreateRule"],Resource:`arn:aws:elasticloadbalancing:*:${t}:*`,Condition:{StringEquals:{"aws:RequestTag/fjall:dev":"true"}}},{Sid:"FjallDevElbTagOnCreate",Effect:"Allow",Action:["elasticloadbalancing:AddTags"],Resource:`arn:aws:elasticloadbalancing:*:${t}:*`,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:*:${t}:parameter/fjall/dev/*`},{Sid:"FjallDevLogsMutations",Effect:"Allow",Action:["logs:PutRetentionPolicy","logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${t}:log-group:/fjall/dev/*`},{Sid:"FjallDevLogsTaggedCreate",Effect:"Allow",Action:["logs:CreateLogGroup","logs:TagResource"],Resource:`arn:aws:logs:*:${t}: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:*:${t}: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:*:${t}:key/*`,Condition:{"ForAnyValue:StringLike":{"kms:ResourceAliases":"alias/fjall-dev-*"}}},{Sid:"FjallDevKmsSsmSecureString",Effect:"Allow",Action:["kms:Encrypt","kms:Decrypt","kms:GenerateDataKey"],Resource:`arn:aws:kms:*:${t}: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:*:${t}:repository/*`},{Sid:"FjallDevPassDevPathRoles",Effect:"Allow",Action:["iam:PassRole"],Resource:`arn:aws:iam::${t}:role/fjall/dev/*`}]}function tEt({accountId:t}){return[{Sid:"FjallDevProvisionerBoundedRoleWrites",Effect:"Allow",Action:["iam:CreateRole","iam:PutRolePolicy","iam:AttachRolePolicy"],Resource:`arn:aws:iam::${t}:role/fjall/dev/*`,Condition:{StringEquals:{"iam:PermissionsBoundary":Z$e(t)}}},{Sid:"FjallDevProvisionerPathRoleOps",Effect:"Allow",Action:["iam:DeleteRole","iam:DeleteRolePolicy","iam:DetachRolePolicy","iam:ListRolePolicies","iam:TagRole"],Resource:`arn:aws:iam::${t}:role/fjall/dev/*`},{Sid:"FjallDevProvisionerListRoles",Effect:"Allow",Action:["iam:ListRoles"],Resource:"*"},{Sid:"FjallDevProvisionerDevMasterSecrets",Effect:"Allow",Action:["secretsmanager:GetSecretValue"],Resource:`arn:aws:secretsmanager:*:${t}:secret:fjall-dev-*`},{Sid:"FjallDevProvisionerKmsDecryptViaSecretsManager",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${t}: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:*:${t}: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:*:${t}:parameter/fjall/dev/*`},{Sid:"FjallDevProvisionerLogsTeardown",Effect:"Allow",Action:["logs:DeleteLogGroup"],Resource:`arn:aws:logs:*:${t}: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:*:${t}:*`,`arn:aws:elasticloadbalancing:*:${t}:*`],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:*:${t}:repository/*`},{Sid:"FjallDevProvisionerSsmReadAll",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${t}:parameter/*`},{Sid:"FjallDevProvisionerKmsDecryptViaSsm",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${t}:key/*`,Condition:{StringLike:{"kms:ViaService":"ssm.*.amazonaws.com"}}}]}function rEt({accountId:t}){return[{Sid:"FjallDevSyncPrefixReadWrite",Effect:"Allow",Action:["s3:GetObject","s3:PutObject"],Resource:`arn:aws:s3:::fjall-dev-sync-${t}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":t}}}]}function nEt({accountId:t}){return[{Sid:"FjallDevBoundarySsmDevRead",Effect:"Allow",Action:["ssm:GetParameter*"],Resource:`arn:aws:ssm:*:${t}:parameter/fjall/dev/*`},{Sid:"FjallDevBoundaryKmsDecryptDevAlias",Effect:"Allow",Action:["kms:Decrypt"],Resource:`arn:aws:kms:*:${t}: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-${t}-*/*`,Condition:{StringEquals:{"aws:ResourceAccount":t}}},{Sid:"FjallDevBoundarySlotLogs",Effect:"Allow",Action:["logs:CreateLogStream","logs:PutLogEvents"],Resource:`arn:aws:logs:*:${t}:log-group:/fjall/dev/*`},{Sid:"FjallDevBoundarySyncQueue",Effect:"Allow",Action:["sqs:ReceiveMessage","sqs:DeleteMessage","sqs:GetQueueUrl"],Resource:`arn:aws:sqs:*:${t}:fjall-dev-sync-${t}-*`}]}var okr,rl,xce,$F,Y$e,ikr,skr,ckr,qbt,Ybt,aEt=A(()=>{"use strict";$();okr=Object.defineProperty,rl=(t,e)=>okr(t,"name",{value:e,configurable:!0}),xce="fjall.io",$F="sts.amazonaws.com",Y$e="0000000000000000000000000000000000000000";rl(Tce,"devDeployRoleName");rl(Hbt,"devProvisionerRoleName");rl(Kbt,"devSyncWriterRoleName");ikr="FjallDevDeployPolicy",skr="FjallDevProvisionerPolicy",ckr="FjallDevSyncWriterPolicy",qbt="FjallDevBoundary";rl(Z$e,"devBoundaryPolicyArn");rl(J$e,"devProvisionerSubject");rl(X$e,"devSyncSubject");rl(Ace,"deployAccountSubject");rl(Cce,"genericMachineSubject");Ybt=["discovery","connection","org-setup","dev-substrate-setup"];rl(Q$e,"serviceSubject");rl(Zbt,"buildNarrowedDeployTrustStatements");rl(Jbt,"buildDevDeployTrustStatements");rl(eMe,"buildServiceSubjectTrustStatements");rl(Xbt,"buildDevProvisionerTrustStatements");rl(Qbt,"buildDevSyncWriterTrustStatements");rl(eEt,"buildDevDeployPolicyStatements");rl(tEt,"buildDevProvisionerPolicyStatements");rl(rEt,"buildDevSyncWriterPolicyStatements");rl(nEt,"buildDevBoundaryStatements")});var kce=A(()=>{"use strict";OF();Ubt();tl();zbt();aEt();ice()});function Tr(t){return JSON.stringify(t)}function EK(t){return t.map(Tr).join(", ")}function zR(t=" "){return`
|
|
@@ -2678,7 +2678,7 @@ Failed: ${b(T(i.error))}`)),Je(i)}catch(o){Re(en(o))}})}sM(MCe,"reconnect");asyn
|
|
|
2678
2678
|
`);throw new Error(`Multiple disconnected AWS accounts \u2014 specify which to reconnect:
|
|
2679
2679
|
${o}
|
|
2680
2680
|
|
|
2681
|
-
Run: fjall reconnect <awsAccountId>`)}let a=n[0];if(!a)throw new Error("No disconnected AWS accounts to reconnect.");return e.line(`Reconnecting the disconnected account: ${a.accountName??a.awsAccountId} (${a.awsAccountId})`),a.awsAccountId}sM(xlr,"resolveReconnectTarget");Me();nr();oe();Ys();var w_n=Object.defineProperty,Tlr=(t,e)=>w_n(t,"name",{value:e,configurable:!0});async function klr(t,e){return e.interactive&&e.confirm?e.confirm():e.fallbackValue}Tlr(klr,"confirmDialog");async function Ilr(t,e){return e.interactive&&e.select?e.select():e.defaultValue}Tlr(Ilr,"selectDialog");cs();VX();nAe();OX();UX();PQ();nwe();oe();Fn();Ys();var A_n=Object.defineProperty,C_n=(t,e)=>A_n(t,"name",{value:e,configurable:!0});function Pi(){let t=at.fromCredentials();return t?E(t):g(new ft("Not authenticated. Run `fjall login` first.","not_authenticated","/api/tokens"))}C_n(Pi,"requireAuthenticatedClient");var x_n=Object.defineProperty,Plr=(t,e)=>x_n(t,"name",{value:e,configurable:!0});function Rlr(t){let e={};return t.applicationIds&&t.applicationIds.length>0&&(e.applicationIds=t.applicationIds),t.environmentNames&&t.environmentNames.length>0&&(e.environmentNames=t.environmentNames),t.accountIds&&t.accountIds.length>0&&(e.accountIds=t.accountIds),{name:t.name,scopes:t.scopes,expiresAt:t.expiresAt,...Object.keys(e).length>0&&{resourceConstraints:e},...t.sourceTag!==void 0&&{sourceTag:t.sourceTag},...t.confirmProductionDestroy===!0&&{confirmProductionDestroy:!0}}}Plr(Rlr,"buildPayload");async function Dre(t){let e=Pi();return e.success?e.data.createToken(Rlr(t)):e}Plr(Dre,"userTokenCreateOperation");var T_n=Object.defineProperty,k_n=(t,e)=>T_n(t,"name",{value:e,configurable:!0});async function Nre(){let t=Pi();return t.success?t.data.listTokens():t}k_n(Nre,"userTokenListOperation");var I_n=Object.defineProperty,P_n=(t,e)=>I_n(t,"name",{value:e,configurable:!0});async function Ore(t){let e=Pi();return e.success?e.data.revokeToken(t.id,t.reason):e}P_n(Ore,"userTokenRevokeOperation");var R_n=Object.defineProperty,__n=(t,e)=>R_n(t,"name",{value:e,configurable:!0});async function $re(t){let e=Pi();return e.success?e.data.getToken(t):e}__n($re,"userTokenShowOperation");oe();Ys();SE();var D_n=Object.defineProperty,_lr=(t,e)=>D_n(t,"name",{value:e,configurable:!0});function Dlr(t){let e={};return t.applicationIds&&t.applicationIds.length>0&&(e.applicationIds=t.applicationIds),t.environmentNames&&t.environmentNames.length>0&&(e.environmentNames=t.environmentNames),t.accountIds&&t.accountIds.length>0&&(e.accountIds=t.accountIds),{name:t.name,expiresAt:t.expiresAt,...Object.keys(e).length>0&&{resourceConstraints:e},...t.sourceTag!==void 0&&{sourceTag:t.sourceTag}}}_lr(Dlr,"buildPayload");async function cM(t){let e=Pi();if(!e.success)return e;let r=await e.data.createDeployToken(Dlr(t));return!r.success&&r.error.statusCode===403?g(new ft(`${r.error.message} ${RN()}`,r.error.errorType,r.error.endpoint,r.error.statusCode)):r}_lr(cM,"ciTokenCreateOperation");oe();SE();var N_n=Object.defineProperty,O_n=(t,e)=>N_n(t,"name",{value:e,configurable:!0});async function Mre(){let t=Pi();if(!t.success)return t;let e=await t.data.listTokens();return e.success?E({tokens:e.data.tokens.filter(kk)}):e}O_n(Mre,"ciTokenListOperation");var $_n=Object.defineProperty,M_n=(t,e)=>$_n(t,"name",{value:e,configurable:!0});async function lM(t){let e=Pi();return e.success?e.data.revokeToken(t.id,t.reason):e}M_n(lM,"ciTokenRevokeOperation");oe();SE();var L_n=Object.defineProperty,F_n=(t,e)=>L_n(t,"name",{value:e,configurable:!0});async function Lre(){let t=Pi();if(!t.success)return t;let e=await t.data.listTokens();if(!e.success)return e;let r=e.data.tokens.filter(kk),n=0,a=0,o=0;for(let i of r){let s=Yg(i);s==="revoked"?o++:s==="expired"?a++:n++}return E({totalDeployTokens:r.length,activeDeployTokens:n,expiredDeployTokens:a,revokedDeployTokens:o,ready:n>0})}F_n(Lre,"ciStatusOperation");oe();SE();var j_n=Object.defineProperty,LCe=(t,e)=>j_n(t,"name",{value:e,configurable:!0}),B_n={credential:"Credential present",principal:"Deploy principal",expiry:"Token expiry",application:"Application resolves"},U_n=336*60*60*1e3,KW="Mint a deploy token in the fjall web app (Settings \u2192 CI/CD Tokens)";function lc(t,e,r,n){return{id:t,label:B_n[t],status:e,...r!==void 0&&{detail:r},...n!==void 0&&{fix:n}}}LCe(lc,"check");function Nlr(){let t=process.env.FJALL_API_KEY;return t===void 0||t===""?"stored login session":t.startsWith(j5e)?`${j5e} deploy token via FJALL_API_KEY`:"API key via FJALL_API_KEY"}LCe(Nlr,"describeCredentialSource");async function Fre(t={}){let e=[],r=LCe(s=>{s&&e.push(lc("principal","skip","No credential to inspect")),e.push(lc("expiry","skip","No token expiry to check")),t.app!==void 0&&e.push(lc("application","skip","No credential to resolve with"))},"skipRest"),n=Pi();if(!n.success)return e.push(lc("credential","fail","No credentials found (FJALL_API_KEY unset and no stored login)",`Set FJALL_API_KEY to a deploy token (${KW}), or run fjall login`)),r(!0),E({checks:e,passed:!1});let a=n.data;e.push(lc("credential","pass",`Using ${Nlr()}`));let o=await a.getSelfToken(),i;if(o.success?(i=o.data.expiresAt,kk(o.data)?e.push(lc("principal","pass",`Deploy principal (scopes: ${o.data.scopes.join(", ")})`)):e.push(lc("principal","warn","Authenticated as a personal/agent token, not a CI deploy principal",`${KW}, then set FJALL_API_KEY to it`))):o.error.errorType==="not_found"?e.push(lc("principal","warn","Authenticated via a login session, not a token \u2014 CI needs FJALL_API_KEY",KW)):o.error.errorType==="not_authenticated"||o.error.statusCode===401?e.push(lc("principal","fail",`Credential rejected by the API: ${o.error.message}`,`The token may be expired or revoked \u2014 ${KW}`)):e.push(lc("principal","fail",`Could not verify the credential: ${o.error.message}`)),i===void 0)e.push(lc("expiry","skip","No token expiry to check"));else{let s=new Date(i).getTime()-Date.now();if(Number.isNaN(s)||s<=0)e.push(lc("expiry","fail",`Token expired at ${i}`,KW));else if(s<U_n){let c=Math.max(1,Math.floor(s/864e5));e.push(lc("expiry","warn",`Token expires in ${c} day${c===1?"":"s"} (${i})`,`Rotate soon \u2014 ${KW}`))}else e.push(lc("expiry","pass",`Token valid until ${i}`))}if(t.app===void 0)e.push(lc("application","skip","Pass --app <name> to verify an application resolves"));else{let s=await a.getApplicationByName(t.app);s.success?e.push(lc("application","pass",`Application "${t.app}" resolved (id: ${s.data.application.id})`)):s.error.errorType==="not_found"?e.push(lc("application","fail",`Application "${t.app}" not found for this organisation`,"Check the name, or register the app first (fjall create app)")):s.error.errorType==="permission_denied"||s.error.statusCode===403?e.push(lc("application","fail",`The current principal is not authorised for "${t.app}"`,"Mint a deploy token scoped to this application in the fjall web app (Settings \u2192 CI/CD Tokens)")):e.push(lc("application","fail",`Could not resolve "${t.app}": ${s.error.message}`))}return E({checks:e,passed:!e.some(s=>s.status==="fail")})}LCe(Fre,"ciVerifyOperation");fi();$();oe();v0();ih();_Z();import{existsSync as Glr,mkdirSync as X_n}from"node:fs";import{dirname as Q_n,join as eDn,relative as tDn,resolve as rDn}from"node:path";$();oe();Ys();_n();Ja();var V_n=Object.defineProperty,CS=(t,e)=>V_n(t,"name",{value:e,configurable:!0}),Olr="NONE",Uit="MALFORMED",G_n="unknown:",$lr="Unconstrained: this token is not limited to any application, environment or AWS account in the organisation.",Mlr="Stored constraints do not match {applicationIds?, environmentNames?, accountIds?} string arrays \u2014 enforcement ignores what it cannot parse. Re-mint the token with the constraints you intend.",FCe=["environmentNames","accountIds","applicationIds"];function Llr(t){return Array.isArray(t)&&t.length>0&&t.every(e=>typeof e=="string"&&e.trim().length>0)}CS(Llr,"isNonEmptyStringArray");function Flr(t){return FCe.includes(t)}CS(Flr,"isKnownAxis");function _y(t){if(t==null)return{kind:"none"};if(typeof t!="object"||Array.isArray(t))return{kind:"malformed"};let e={environmentNames:[],accountIds:[],applicationIds:[]};for(let[r,n]of Object.entries(t)){if(!Flr(r))return{kind:"malformed"};if(n!==void 0){if(!Llr(n))return{kind:"malformed"};e[r]=n}}return FCe.some(r=>e[r].length>0)?{kind:"constrained",axes:e}:{kind:"none"}}CS(_y,"parseTokenConstraints");function jlr(t,e){let r=e.get(t);if(r===void 0)return`${G_n}${t}`;let n=r.accountName?.trim();return n!==void 0&&n.length>0?`${n}(${r.awsAccountId})`:r.awsAccountId}CS(jlr,"labelAccountConstraint");function $C(t){return t.kind==="constrained"&&t.axes.accountIds.length>0}CS($C,"hasAccountConstraint");function Vit(t,e){let r=e.get(t);if(r===void 0)return`${t} (no matching connected account)`;let n=r.accountName?.trim(),a=n!==void 0&&n.length>0?`${n}, ${r.awsAccountId}`:r.awsAccountId;return`${t} (${a})`}CS(Vit,"annotateAccountCuid");function MC(t,e){if(t.kind==="malformed")return Uit;if(t.kind==="none")return Olr;let r=[];if(t.axes.environmentNames.length>0&&r.push(`env=${t.axes.environmentNames.join(",")}`),t.axes.accountIds.length>0){let n=e===void 0?String(t.axes.accountIds.length):t.axes.accountIds.map(a=>jlr(a,e)).join(",");r.push(`acct=${n}`)}return t.axes.applicationIds.length>0&&r.push(`app=${t.axes.applicationIds.length}`),r.join(" ")}CS(MC,"summariseTokenConstraints");function Git(t){return new Map(t.map(e=>[e.id,{awsAccountId:e.awsAccountId,accountName:e.accountName}]))}CS(Git,"buildAccountLookup");function jre(t,e){return t.kind==="malformed"?Uit:t.kind==="none"?"":t.axes[e].join(",")}CS(jre,"constraintAxisCell");function Wit(t){return JSON.stringify(t)??String(t)}CS(Wit,"formatRawConstraints");function qW(t){let e=R.colours;return t===Olr?z.hex(e.warning).bold(t):t===Uit?z.hex(e.error).bold(t):t}CS(qW,"emphasiseConstraintSummary");var W_n=Object.defineProperty,jCe=(t,e)=>W_n(t,"name",{value:e,configurable:!0}),z_n=/^\d{12}$/,zit="/api/aws-accounts";function Bre(t){let e=t.accountName??"(unnamed)",r=t.environment!==null?`, stage ${t.environment}`:"";return`${e} (${t.awsAccountId}${r})`}jCe(Bre,"describeAccount");async function BCe(t,e){let r=await t.getAwsAccounts();if(!r.success)return r;let n=r.data.accounts,a=n.length>0?`Connected accounts: ${n.map(Bre).join(", ")}.`:"No AWS accounts are connected \u2014 connect one first (`fjall connect`).",o=[];for(let i of e){let s=i.trim(),c=n.filter(S=>S.awsAccountId===s),l=n.filter(S=>S.accountName!==null&&S.accountName.toLowerCase()===s.toLowerCase()),u=z_n.test(s),d=u?c:l,p=d===c?l:c,m=d.length>0?d:p,f=d.length>0?p.filter(S=>!d.includes(S)):[],[y,...v]=m;if(y===void 0)return g(new ft(b(`Account "${s}" matches no connected AWS account (by name or 12-digit AWS account id). ${a}`),"not_found",zit));if(f.length>0)return g(new ft(b(`Account "${s}" is ambiguous across forms \u2014 it is the 12-digit AWS account id of ${c.map(Bre).join(", ")} and also the name of ${l.map(Bre).join(", ")}. Neither form names one row here: rename the connected account called "${s}" so the two stop colliding.`),"api_error",zit));if(v.length>0){let S=m===l&&!u?"Pass the 12-digit AWS account id instead.":"Neither form separates them \u2014 rename or disconnect the duplicate row.";return g(new ft(b(`Account "${s}" is ambiguous \u2014 it matches ${m.length} connected accounts: ${m.map(Bre).join(", ")}. ${S}`),"api_error",zit))}o.includes(y.id)||o.push(y.id)}return E(o)}jCe(BCe,"resolveAccountConstraints");async function LC(){let t=Pi();if(!t.success)return;let e=await t.data.getAwsAccounts();if(e.success)return Git(e.data.accounts)}jCe(LC,"loadAccountLookup");async function Ure(t){if(t===void 0||t.length===0)return E(void 0);let e=Pi();return e.success?BCe(e.data,t):e}jCe(Ure,"resolveAccountFlagInputs");qit();SE();var q_n=Object.defineProperty,Yit=(t,e)=>q_n(t,"name",{value:e,configurable:!0}),xS="FJALL_API_KEY";var Y_n="fjall-tech/fjall-deploy#v5",Z_n="fjall-tech/fjall-deploy-action@v5",Ulr=".github/workflows/fjall-deploy.yml",Vlr=".buildkite/pipeline.yml";function Zit(t){return`# Generated by \`fjall ci setup\` \u2014 deploys ${t.app} on every push to main.
|
|
2681
|
+
Run: fjall reconnect <awsAccountId>`)}let a=n[0];if(!a)throw new Error("No disconnected AWS accounts to reconnect.");return e.line(`Reconnecting the disconnected account: ${a.accountName??a.awsAccountId} (${a.awsAccountId})`),a.awsAccountId}sM(xlr,"resolveReconnectTarget");Me();nr();oe();Ys();var w_n=Object.defineProperty,Tlr=(t,e)=>w_n(t,"name",{value:e,configurable:!0});async function klr(t,e){return e.interactive&&e.confirm?e.confirm():e.fallbackValue}Tlr(klr,"confirmDialog");async function Ilr(t,e){return e.interactive&&e.select?e.select():e.defaultValue}Tlr(Ilr,"selectDialog");cs();VX();nAe();OX();UX();PQ();nwe();oe();Fn();Ys();var A_n=Object.defineProperty,C_n=(t,e)=>A_n(t,"name",{value:e,configurable:!0});function Pi(){let t=at.fromCredentials();return t?E(t):g(new ft("Not authenticated. Run `fjall login` first.","not_authenticated","/api/tokens"))}C_n(Pi,"requireAuthenticatedClient");var x_n=Object.defineProperty,Plr=(t,e)=>x_n(t,"name",{value:e,configurable:!0});function Rlr(t){let e={};return t.applicationIds&&t.applicationIds.length>0&&(e.applicationIds=t.applicationIds),t.environmentNames&&t.environmentNames.length>0&&(e.environmentNames=t.environmentNames),t.accountIds&&t.accountIds.length>0&&(e.accountIds=t.accountIds),{name:t.name,scopes:t.scopes,expiresAt:t.expiresAt,...Object.keys(e).length>0&&{resourceConstraints:e},...t.sourceTag!==void 0&&{sourceTag:t.sourceTag},...t.confirmProductionDestroy===!0&&{confirmProductionDestroy:!0}}}Plr(Rlr,"buildPayload");async function Dre(t){let e=Pi();return e.success?e.data.createToken(Rlr(t)):e}Plr(Dre,"userTokenCreateOperation");var T_n=Object.defineProperty,k_n=(t,e)=>T_n(t,"name",{value:e,configurable:!0});async function Nre(){let t=Pi();return t.success?t.data.listTokens():t}k_n(Nre,"userTokenListOperation");var I_n=Object.defineProperty,P_n=(t,e)=>I_n(t,"name",{value:e,configurable:!0});async function Ore(t){let e=Pi();return e.success?e.data.revokeToken(t.id,t.reason):e}P_n(Ore,"userTokenRevokeOperation");var R_n=Object.defineProperty,__n=(t,e)=>R_n(t,"name",{value:e,configurable:!0});async function $re(t){let e=Pi();return e.success?e.data.getToken(t):e}__n($re,"userTokenShowOperation");oe();Ys();SE();var D_n=Object.defineProperty,_lr=(t,e)=>D_n(t,"name",{value:e,configurable:!0});function Dlr(t){let e={};return t.applicationIds&&t.applicationIds.length>0&&(e.applicationIds=t.applicationIds),t.environmentNames&&t.environmentNames.length>0&&(e.environmentNames=t.environmentNames),t.accountIds&&t.accountIds.length>0&&(e.accountIds=t.accountIds),{name:t.name,expiresAt:t.expiresAt,...Object.keys(e).length>0&&{resourceConstraints:e},...t.sourceTag!==void 0&&{sourceTag:t.sourceTag}}}_lr(Dlr,"buildPayload");async function cM(t){let e=Pi();if(!e.success)return e;let r=await e.data.createDeployToken(Dlr(t));return!r.success&&r.error.statusCode===403?g(new ft(`${r.error.message} ${RN()}`,r.error.errorType,r.error.endpoint,r.error.statusCode)):r}_lr(cM,"ciTokenCreateOperation");oe();SE();var N_n=Object.defineProperty,O_n=(t,e)=>N_n(t,"name",{value:e,configurable:!0});async function Mre(){let t=Pi();if(!t.success)return t;let e=await t.data.listTokens();return e.success?E({tokens:e.data.tokens.filter(kk)}):e}O_n(Mre,"ciTokenListOperation");var $_n=Object.defineProperty,M_n=(t,e)=>$_n(t,"name",{value:e,configurable:!0});async function lM(t){let e=Pi();return e.success?e.data.revokeToken(t.id,t.reason):e}M_n(lM,"ciTokenRevokeOperation");oe();SE();var L_n=Object.defineProperty,F_n=(t,e)=>L_n(t,"name",{value:e,configurable:!0});async function Lre(){let t=Pi();if(!t.success)return t;let e=await t.data.listTokens();if(!e.success)return e;let r=e.data.tokens.filter(kk),n=0,a=0,o=0;for(let i of r){let s=Yg(i);s==="revoked"?o++:s==="expired"?a++:n++}return E({totalDeployTokens:r.length,activeDeployTokens:n,expiredDeployTokens:a,revokedDeployTokens:o,ready:n>0})}F_n(Lre,"ciStatusOperation");oe();SE();var j_n=Object.defineProperty,LCe=(t,e)=>j_n(t,"name",{value:e,configurable:!0}),B_n={credential:"Credential present",principal:"Deploy principal",expiry:"Token expiry",application:"Application resolves"},U_n=336*60*60*1e3,KW="Mint a deploy token in the fjall web app (Settings \u2192 CI/CD Tokens)";function lc(t,e,r,n){return{id:t,label:B_n[t],status:e,...r!==void 0&&{detail:r},...n!==void 0&&{fix:n}}}LCe(lc,"check");function Nlr(){let t=process.env.FJALL_API_KEY;return t===void 0||t===""?"stored login session":t.startsWith(j5e)?`${j5e} deploy token via FJALL_API_KEY`:"API key via FJALL_API_KEY"}LCe(Nlr,"describeCredentialSource");async function Fre(t={}){let e=[],r=LCe(s=>{s&&e.push(lc("principal","skip","No credential to inspect")),e.push(lc("expiry","skip","No token expiry to check")),t.app!==void 0&&e.push(lc("application","skip","No credential to resolve with"))},"skipRest"),n=Pi();if(!n.success)return e.push(lc("credential","fail","No credentials found (FJALL_API_KEY unset and no stored login)",`Set FJALL_API_KEY to a deploy token (${KW}), or run fjall login`)),r(!0),E({checks:e,passed:!1});let a=n.data;e.push(lc("credential","pass",`Using ${Nlr()}`));let o=await a.getSelfToken(),i;if(o.success?(i=o.data.expiresAt,kk(o.data)?e.push(lc("principal","pass",`Deploy principal (scopes: ${o.data.scopes.join(", ")})`)):e.push(lc("principal","warn","Authenticated as a personal/agent token, not a CI deploy principal",`${KW}, then set FJALL_API_KEY to it`))):o.error.errorType==="not_found"?e.push(lc("principal","warn","Authenticated via a login session, not a token \u2014 CI needs FJALL_API_KEY",KW)):o.error.errorType==="not_authenticated"||o.error.statusCode===401?e.push(lc("principal","fail",`Credential rejected by the API: ${o.error.message}`,`The token may be expired or revoked \u2014 ${KW}`)):e.push(lc("principal","fail",`Could not verify the credential: ${o.error.message}`)),i===void 0)e.push(lc("expiry","skip","No token expiry to check"));else{let s=new Date(i).getTime()-Date.now();if(Number.isNaN(s)||s<=0)e.push(lc("expiry","fail",`Token expired at ${i}`,KW));else if(s<U_n){let c=Math.max(1,Math.floor(s/864e5));e.push(lc("expiry","warn",`Token expires in ${c} day${c===1?"":"s"} (${i})`,`Rotate soon \u2014 ${KW}`))}else e.push(lc("expiry","pass",`Token valid until ${i}`))}if(t.app===void 0)e.push(lc("application","skip","Pass --app <name> to verify an application resolves"));else{let s=await a.getApplicationByName(t.app);s.success?e.push(lc("application","pass",`Application "${t.app}" resolved (id: ${s.data.application.id})`)):s.error.errorType==="not_found"?e.push(lc("application","fail",`Application "${t.app}" not found for this organisation`,"Check the name, or register the app first (fjall create app)")):s.error.errorType==="permission_denied"||s.error.statusCode===403?e.push(lc("application","fail",`The current principal is not authorised for "${t.app}"`,"Mint a deploy token scoped to this application in the fjall web app (Settings \u2192 CI/CD Tokens)")):e.push(lc("application","fail",`Could not resolve "${t.app}": ${s.error.message}`))}return E({checks:e,passed:!e.some(s=>s.status==="fail")})}LCe(Fre,"ciVerifyOperation");fi();$();oe();v0();ih();_Z();import{existsSync as Glr,mkdirSync as X_n}from"node:fs";import{dirname as Q_n,join as eDn,relative as tDn,resolve as rDn}from"node:path";$();oe();Ys();_n();Ja();var V_n=Object.defineProperty,CS=(t,e)=>V_n(t,"name",{value:e,configurable:!0}),Olr="NONE",Uit="MALFORMED",G_n="unknown:",$lr="Unconstrained: this token is not limited to any application, environment or AWS account in the organisation.",Mlr="Stored constraints do not match {applicationIds?, environmentNames?, accountIds?} string arrays \u2014 enforcement ignores what it cannot parse. Re-mint the token with the constraints you intend.",FCe=["environmentNames","accountIds","applicationIds"];function Llr(t){return Array.isArray(t)&&t.length>0&&t.every(e=>typeof e=="string"&&e.trim().length>0)}CS(Llr,"isNonEmptyStringArray");function Flr(t){return FCe.includes(t)}CS(Flr,"isKnownAxis");function _y(t){if(t==null)return{kind:"none"};if(typeof t!="object"||Array.isArray(t))return{kind:"malformed"};let e={environmentNames:[],accountIds:[],applicationIds:[]};for(let[r,n]of Object.entries(t)){if(!Flr(r))return{kind:"malformed"};if(n!==void 0){if(!Llr(n))return{kind:"malformed"};e[r]=n}}return FCe.some(r=>e[r].length>0)?{kind:"constrained",axes:e}:{kind:"none"}}CS(_y,"parseTokenConstraints");function jlr(t,e){let r=e.get(t);if(r===void 0)return`${G_n}${t}`;let n=r.accountName?.trim();return n!==void 0&&n.length>0?`${n}(${r.awsAccountId})`:r.awsAccountId}CS(jlr,"labelAccountConstraint");function $C(t){return t.kind==="constrained"&&t.axes.accountIds.length>0}CS($C,"hasAccountConstraint");function Vit(t,e){let r=e.get(t);if(r===void 0)return`${t} (no matching connected account)`;let n=r.accountName?.trim(),a=n!==void 0&&n.length>0?`${n}, ${r.awsAccountId}`:r.awsAccountId;return`${t} (${a})`}CS(Vit,"annotateAccountCuid");function MC(t,e){if(t.kind==="malformed")return Uit;if(t.kind==="none")return Olr;let r=[];if(t.axes.environmentNames.length>0&&r.push(`env=${t.axes.environmentNames.join(",")}`),t.axes.accountIds.length>0){let n=e===void 0?String(t.axes.accountIds.length):t.axes.accountIds.map(a=>jlr(a,e)).join(",");r.push(`acct=${n}`)}return t.axes.applicationIds.length>0&&r.push(`app=${t.axes.applicationIds.length}`),r.join(" ")}CS(MC,"summariseTokenConstraints");function Git(t){return new Map(t.map(e=>[e.id,{awsAccountId:e.awsAccountId,accountName:e.accountName}]))}CS(Git,"buildAccountLookup");function jre(t,e){return t.kind==="malformed"?Uit:t.kind==="none"?"":t.axes[e].join(",")}CS(jre,"constraintAxisCell");function Wit(t){return JSON.stringify(t)??String(t)}CS(Wit,"formatRawConstraints");function qW(t){let e=R.colours;return t===Olr?z.hex(e.warning).bold(t):t===Uit?z.hex(e.error).bold(t):t}CS(qW,"emphasiseConstraintSummary");var W_n=Object.defineProperty,jCe=(t,e)=>W_n(t,"name",{value:e,configurable:!0}),z_n=/^\d{12}$/,zit="/api/aws-accounts";function Bre(t){let e=t.accountName??"(unnamed)",r=t.environment!==null?`, stage ${t.environment}`:"";return`${e} (${t.awsAccountId}${r})`}jCe(Bre,"describeAccount");async function BCe(t,e){let r=await t.getAwsAccounts();if(!r.success)return r;let n=r.data.accounts,a=n.length>0?`Connected accounts: ${n.map(Bre).join(", ")}.`:"No AWS accounts are connected \u2014 connect one first (`fjall connect`).",o=[];for(let i of e){let s=i.trim(),c=n.filter(S=>S.awsAccountId===s),l=n.filter(S=>S.accountName!==null&&S.accountName.toLowerCase()===s.toLowerCase()),u=z_n.test(s),d=u?c:l,p=d===c?l:c,m=d.length>0?d:p,f=d.length>0?p.filter(S=>!d.includes(S)):[],[y,...v]=m;if(y===void 0)return g(new ft(b(`Account "${s}" matches no connected AWS account (by name or 12-digit AWS account id). ${a}`),"not_found",zit));if(f.length>0)return g(new ft(b(`Account "${s}" is ambiguous across forms \u2014 it is the 12-digit AWS account id of ${c.map(Bre).join(", ")} and also the name of ${l.map(Bre).join(", ")}. Neither form names one row here: rename the connected account called "${s}" so the two stop colliding.`),"api_error",zit));if(v.length>0){let S=m===l&&!u?"Pass the 12-digit AWS account id instead.":"Neither form separates them \u2014 rename or disconnect the duplicate row.";return g(new ft(b(`Account "${s}" is ambiguous \u2014 it matches ${m.length} connected accounts: ${m.map(Bre).join(", ")}. ${S}`),"api_error",zit))}o.includes(y.id)||o.push(y.id)}return E(o)}jCe(BCe,"resolveAccountConstraints");async function LC(){let t=Pi();if(!t.success)return;let e=await t.data.getAwsAccounts();if(e.success)return Git(e.data.accounts)}jCe(LC,"loadAccountLookup");async function Ure(t){if(t===void 0||t.length===0)return E(void 0);let e=Pi();return e.success?BCe(e.data,t):e}jCe(Ure,"resolveAccountFlagInputs");qit();SE();var q_n=Object.defineProperty,Yit=(t,e)=>q_n(t,"name",{value:e,configurable:!0}),xS="FJALL_API_KEY";var Y_n="fjall-tech/fjall-deploy#v6",Z_n="fjall-tech/fjall-deploy-action@v6",Ulr=".github/workflows/fjall-deploy.yml",Vlr=".buildkite/pipeline.yml";function Zit(t){return`# Generated by \`fjall ci setup\` \u2014 deploys ${t.app} on every push to main.
|
|
2682
2682
|
# Requires the ${xS} repository secret (a fjall_dk_ deploy token):
|
|
2683
2683
|
# gh secret set ${xS}
|
|
2684
2684
|
name: Deploy ${t.app}
|