@stacksjs/ts-cloud 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aws/index.js +1 -1
- package/dist/bin/chunk-0djsffn6.js +1 -0
- package/dist/bin/chunk-0t3sev1j.js +1 -0
- package/dist/{chunk-cp54a0qn.js → bin/chunk-0y89hs67.js} +1 -1
- package/dist/bin/{chunk-6eat8ezk.js → chunk-21gggxvf.js} +2 -2
- package/dist/bin/{chunk-wewcjam5.js → chunk-26cj89s6.js} +1 -1
- package/dist/bin/{chunk-eh40fpvj.js → chunk-35xstvnq.js} +1 -1
- package/dist/bin/{chunk-d6zzgvtn.js → chunk-4a85nk2q.js} +2 -2
- package/dist/bin/{chunk-anm3ae6z.js → chunk-4a97kbk1.js} +2 -2
- package/dist/bin/{chunk-svyd4v6c.js → chunk-4kbhbfq8.js} +2 -2
- package/dist/bin/{chunk-35ttwn26.js → chunk-4vdv41nh.js} +1 -1
- package/dist/bin/{chunk-dvkj4k6h.js → chunk-67jsyn0g.js} +1 -1
- package/dist/bin/chunk-6tct7e89.js +1 -0
- package/dist/bin/{chunk-jnx4jgw8.js → chunk-6vjrts39.js} +1 -1
- package/dist/bin/chunk-7v5ff3vc.js +1 -0
- package/dist/bin/chunk-80nra92y.js +1 -0
- package/dist/bin/{chunk-sbejksrh.js → chunk-9mydnqr6.js} +1 -1
- package/dist/bin/{chunk-m3nqw76h.js → chunk-9rsn48qg.js} +1 -1
- package/dist/bin/{chunk-q46zr2tv.js → chunk-a2t1e5yb.js} +1 -1
- package/dist/bin/chunk-akbfefwq.js +1 -0
- package/dist/bin/chunk-b704nznp.js +1 -0
- package/dist/bin/{chunk-8rwhsp5b.js → chunk-c1j9v7ee.js} +1 -1
- package/dist/bin/chunk-cjz36ths.js +1 -0
- package/dist/bin/{chunk-nb0yjkv5.js → chunk-cxd5cevb.js} +1 -1
- package/dist/bin/{chunk-b35989e3.js → chunk-dbv8w56s.js} +2 -2
- package/dist/bin/chunk-dxchg0g1.js +1 -0
- package/dist/bin/{chunk-axvr7dwa.js → chunk-e1bfd1yv.js} +2 -2
- package/dist/bin/{chunk-g90nqfgv.js → chunk-fpcghdr3.js} +47 -47
- package/dist/bin/{chunk-dj9a67c3.js → chunk-ftse39wf.js} +2 -2
- package/dist/bin/chunk-g0ewbkbq.js +1 -0
- package/dist/bin/{chunk-6zjy949y.js → chunk-gskbezam.js} +1 -1
- package/dist/bin/chunk-gvs85t2j.js +1 -0
- package/dist/bin/{chunk-pkgkfe6s.js → chunk-hej39dwr.js} +2 -2
- package/dist/bin/{chunk-b0hj9m5e.js → chunk-jce28gnz.js} +1 -1
- package/dist/bin/{chunk-80ar3aty.js → chunk-kbtrr0c3.js} +1 -1
- package/dist/bin/chunk-khrye4x9.js +1 -0
- package/dist/bin/{chunk-b2ymh8k0.js → chunk-ks4ewy1s.js} +1 -1
- package/dist/bin/{chunk-kybdb0ws.js → chunk-mbnwt3r5.js} +2 -2
- package/dist/{chunk-xtwjt370.js → bin/chunk-md2k3n21.js} +1 -1
- package/dist/bin/chunk-memfxrcn.js +1 -0
- package/dist/{chunk-cd0zpxhf.js → bin/chunk-mwgxyc0z.js} +1 -1
- package/dist/bin/{chunk-9px3rg4a.js → chunk-neampxq1.js} +2 -2
- package/dist/bin/{chunk-da8zpf82.js → chunk-nkpf91d3.js} +1 -1
- package/dist/bin/{chunk-pjpa4x52.js → chunk-nmkm1f68.js} +1 -1
- package/dist/bin/{chunk-7wzdaqh6.js → chunk-nyc2jxd8.js} +1 -1
- package/dist/bin/chunk-pqr8jqnd.js +1 -0
- package/dist/bin/{chunk-ckxpgwxw.js → chunk-q182t9ba.js} +2 -2
- package/dist/bin/{chunk-pnz5hk8n.js → chunk-r6x7beew.js} +2 -2
- package/dist/bin/chunk-rfqk5xym.js +1 -0
- package/dist/bin/{chunk-jnsbzqzz.js → chunk-ww770qpn.js} +2 -2
- package/dist/bin/chunk-wy20ztb6.js +1 -0
- package/dist/bin/{chunk-y9f8649w.js → chunk-wzepfqf4.js} +5 -5
- package/dist/bin/chunk-xcqmwphz.js +1 -0
- package/dist/bin/{chunk-jt1tndm2.js → chunk-xev7qr2h.js} +1 -1
- package/dist/bin/{chunk-1v6bt68w.js → chunk-y3rm37z1.js} +3 -3
- package/dist/bin/{chunk-mn6j22zn.js → chunk-zejwh9cy.js} +2 -2
- package/dist/bin/{chunk-ezftw2q4.js → chunk-zwwnt4x1.js} +1 -1
- package/dist/bin/cli.js +93 -90
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/{chunk-06jk7ba9.js → chunk-0hj552t7.js} +2 -2
- package/dist/{chunk-0e16qt6k.js → chunk-1ypkh8g6.js} +1 -1
- package/dist/{chunk-9a22225r.js → chunk-2m09t0c0.js} +2 -2
- package/dist/chunk-7fkyfh65.js +1 -0
- package/dist/{chunk-hhdx5k96.js → chunk-7xpxzbkr.js} +49 -49
- package/dist/{chunk-e1666vjv.js → chunk-8e0az001.js} +2 -2
- package/dist/{bin/chunk-936vp7dx.js → chunk-b10cbk8z.js} +1 -1
- package/dist/{bin/chunk-ey9fagrr.js → chunk-gk58959n.js} +1 -1
- package/dist/{chunk-88z37ey4.js → chunk-h1rc94df.js} +1 -1
- package/dist/{chunk-zmxffmmq.js → chunk-hbhxk5a0.js} +2 -2
- package/dist/chunk-hz7k9ymh.js +1 -0
- package/dist/chunk-kj7gzdj6.js +1 -0
- package/dist/{chunk-dckz9xve.js → chunk-ky5c6t5y.js} +1 -1
- package/dist/chunk-mch30cyc.js +1 -0
- package/dist/chunk-n04a3bgf.js +1 -0
- package/dist/{chunk-13hxhzaz.js → chunk-nnqxmh7f.js} +1 -1
- package/dist/{chunk-snak8s7m.js → chunk-p6vszgc2.js} +2 -2
- package/dist/{chunk-d67xbk4v.js → chunk-q2njk4hx.js} +1 -1
- package/dist/{chunk-xd6w0c11.js → chunk-qjk1v1gs.js} +1 -1
- package/dist/{chunk-2p89vt3b.js → chunk-qtp90j44.js} +1 -1
- package/dist/{bin/chunk-c2b6nk0q.js → chunk-r5natbed.js} +1 -1
- package/dist/{chunk-qh9ep11z.js → chunk-rcxq9aaa.js} +5 -5
- package/dist/{chunk-kv2ztkp4.js → chunk-s3rpd72x.js} +2 -2
- package/dist/{chunk-77t2ctwn.js → chunk-spx89gaw.js} +1 -1
- package/dist/{chunk-8c4715hz.js → chunk-t0kh8haz.js} +1 -1
- package/dist/{chunk-y26yh5zp.js → chunk-vz95qy3n.js} +1 -1
- package/dist/deploy/index.js +1 -1
- package/dist/dns/index.js +1 -1
- package/dist/drivers/index.js +1 -1
- package/dist/drivers/shared/app-updates.d.ts +36 -0
- package/dist/index.js +24 -21
- package/dist/protection/index.js +1 -1
- package/dist/push/index.js +1 -1
- package/dist/spend/index.js +1 -1
- package/dist/ui/404.html +1 -1
- package/dist/ui/accept-invitation.html +1 -1
- package/dist/ui/access-denied.html +1 -1
- package/dist/ui/account/automation.html +6 -6
- package/dist/ui/account/security.html +2 -2
- package/dist/ui/applications/compose.html +6 -6
- package/dist/ui/applications/new.html +2 -2
- package/dist/ui/data/backups.html +6 -6
- package/dist/ui/data/services.html +6 -6
- package/dist/ui/data/volumes.html +6 -6
- package/dist/ui/index.html +6 -6
- package/dist/ui/infrastructure/topology.html +5 -5
- package/dist/ui/integrations.html +2 -2
- package/dist/ui/operations/alerts.html +6 -6
- package/dist/ui/operations/configuration.html +6 -6
- package/dist/ui/operations/jobs.html +6 -6
- package/dist/ui/operations/maintenance.html +6 -6
- package/dist/ui/operations/observability.html +6 -6
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +5 -5
- package/dist/ui/operations/regions.html +6 -6
- package/dist/ui/operations/releases.html +5 -5
- package/dist/ui/operations/spend.html +6 -6
- package/dist/ui/operations/workloads.html +6 -6
- package/dist/ui/security.html +2 -2
- package/dist/ui/server/actions.html +6 -6
- package/dist/ui/server/activity.html +1 -1
- package/dist/ui/server/capacity.html +6 -6
- package/dist/ui/server/database.html +6 -6
- package/dist/ui/server/deployments.html +5 -5
- package/dist/ui/server/diagnostics.html +2 -2
- package/dist/ui/server/firewall.html +6 -6
- package/dist/ui/server/fleet.html +6 -6
- package/dist/ui/server/logs.html +6 -6
- package/dist/ui/server/metrics.html +5 -5
- package/dist/ui/server/security.html +2 -2
- package/dist/ui/server/services.html +2 -2
- package/dist/ui/server/sites.html +6 -6
- package/dist/ui/server/ssh-keys.html +6 -6
- package/dist/ui/server/team.html +6 -6
- package/dist/ui/server/terminal.html +2 -2
- package/dist/ui/serverless/alarms.html +6 -6
- package/dist/ui/serverless/assets.html +2 -2
- package/dist/ui/serverless/cost.html +2 -2
- package/dist/ui/serverless/data.html +6 -6
- package/dist/ui/serverless/deployments.html +2 -2
- package/dist/ui/serverless/firewall.html +1 -1
- package/dist/ui/serverless/functions.html +6 -6
- package/dist/ui/serverless/logs.html +6 -6
- package/dist/ui/serverless/metrics.html +2 -2
- package/dist/ui/serverless/queues.html +6 -6
- package/dist/ui/serverless/secrets.html +6 -6
- package/dist/ui/serverless/traces.html +6 -6
- package/dist/ui/serverless.html +6 -6
- package/package.json +3 -3
- package/dist/bin/chunk-08c0pzkb.js +0 -1
- package/dist/bin/chunk-12210qvj.js +0 -1
- package/dist/bin/chunk-3r3be05z.js +0 -1
- package/dist/bin/chunk-5rv31chh.js +0 -1
- package/dist/bin/chunk-6gktf2m2.js +0 -1
- package/dist/bin/chunk-ddmjjstg.js +0 -1
- package/dist/bin/chunk-dhhz4zyj.js +0 -1
- package/dist/bin/chunk-ds1z880f.js +0 -1
- package/dist/bin/chunk-g6a4n3rh.js +0 -1
- package/dist/bin/chunk-gs40j75w.js +0 -1
- package/dist/bin/chunk-jjjts1vt.js +0 -1
- package/dist/bin/chunk-qtdngvs8.js +0 -1
- package/dist/bin/chunk-tna7ay8d.js +0 -1
- package/dist/bin/chunk-tp4c2mv1.js +0 -1
- package/dist/bin/chunk-w5d6tr2x.js +0 -1
- package/dist/bin/chunk-xv4bscrm.js +0 -1
- package/dist/bin/chunk-y9eyc5pw.js +0 -1
- package/dist/chunk-as6by62d.js +0 -1
- package/dist/chunk-nrz6zypg.js +0 -1
- package/dist/chunk-q816js1y.js +0 -1
- package/dist/chunk-rg720cqg.js +0 -1
- package/dist/chunk-vq737g82.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{p as a,q as b,r as c,s as d,t as e,u as f}from"./chunk-r6x7beew.js";import"./chunk-cxd5cevb.js";import"./chunk-gskbezam.js";import"./chunk-21gggxvf.js";import"./chunk-dbv8w56s.js";import"./chunk-4a85nk2q.js";import"./chunk-0y89hs67.js";import"./chunk-ks4ewy1s.js";export{e as deleteStaticSite,b as deployStaticSite,f as deployStaticSiteFull,a as generateStaticSiteTemplate,d as invalidateCache,c as uploadStaticFiles};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Gd as he}from"./chunk-sbejksrh.js";import{Rd as ge,Wd as pe}from"./chunk-ckxpgwxw.js";import{Zd as de}from"./chunk-pjpa4x52.js";import{gg as ye}from"./chunk-7wzdaqh6.js";import{hg as le}from"./chunk-6eat8ezk.js";import{ng as V,og as Z}from"./chunk-d6zzgvtn.js";import{bh as N,ch as te}from"./chunk-ey9fagrr.js";import{Zh as ce,lo as ue}from"./chunk-anm3ae6z.js";class j{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new N(V(t))}async query(e){let t=new URLSearchParams(te({Version:"2010-08-01",...e})).toString();return this.client.request({service:"monitoring",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t})}async getMetricStatistics(e){let t={Action:"GetMetricStatistics",Namespace:e.Namespace,MetricName:e.MetricName,StartTime:e.StartTime.toISOString(),EndTime:e.EndTime.toISOString(),Period:e.Period};(e.Statistics??[]).forEach((o,h)=>{t[`Statistics.member.${h+1}`]=o}),(e.ExtendedStatistics??[]).forEach((o,h)=>{t[`ExtendedStatistics.member.${h+1}`]=o}),(e.Dimensions??[]).forEach((o,h)=>{t[`Dimensions.member.${h+1}.Name`]=o.Name,t[`Dimensions.member.${h+1}.Value`]=o.Value});let r=await this.query(t),s=(r.GetMetricStatisticsResult||r)?.Datapoints?.member??[];if(!Array.isArray(s))s=s?[s]:[];return s.map((o)=>{let h={},m=o.ExtendedStatistics?.entry;if(m){if(!Array.isArray(m))m=[m];for(let d of m)if(d?.key!=null)h[d.key]=Number(d.value)}return{Timestamp:o.Timestamp,Sum:o.Sum!=null?Number(o.Sum):void 0,Average:o.Average!=null?Number(o.Average):void 0,Maximum:o.Maximum!=null?Number(o.Maximum):void 0,Minimum:o.Minimum!=null?Number(o.Minimum):void 0,Percentiles:Object.keys(h).length?h:void 0,Unit:o.Unit}})}async getMetricSeries(e){let t=/^p\d/.test(e.Stat);return(await this.getMetricStatistics({Namespace:e.Namespace,MetricName:e.MetricName,Dimensions:e.Dimensions,StartTime:e.StartTime,EndTime:e.EndTime,Period:e.Period,Statistics:t?[]:[e.Stat],ExtendedStatistics:t?[e.Stat]:[]})).slice().sort((a,s)=>new Date(a.Timestamp??0).getTime()-new Date(s.Timestamp??0).getTime()).map((a)=>t?a.Percentiles?.[e.Stat]??0:a[e.Stat]??0)}async describeAlarms(e){let t={Action:"DescribeAlarms"};if(e?.AlarmNamePrefix)t.AlarmNamePrefix=e.AlarmNamePrefix;if(e?.MaxRecords)t.MaxRecords=e.MaxRecords;let r=await this.query(t),s=(r.DescribeAlarmsResult||r)?.MetricAlarms?.member??[];if(!Array.isArray(s))s=s?[s]:[];return s.map((o)=>({AlarmName:o.AlarmName,StateValue:o.StateValue,MetricName:o.MetricName,ComparisonOperator:o.ComparisonOperator,Threshold:o.Threshold!=null?Number(o.Threshold):void 0,Namespace:o.Namespace}))}async putMetricAlarm(e){let t={Action:"PutMetricAlarm",AlarmName:e.AlarmName,Namespace:e.Namespace,MetricName:e.MetricName,ComparisonOperator:e.ComparisonOperator,Threshold:e.Threshold,EvaluationPeriods:e.EvaluationPeriods,Period:e.Period,Statistic:e.Statistic};if(e.AlarmDescription)t.AlarmDescription=e.AlarmDescription;(e.Dimensions??[]).forEach((r,a)=>{t[`Dimensions.member.${a+1}.Name`]=r.Name,t[`Dimensions.member.${a+1}.Value`]=r.Value}),(e.AlarmActions??[]).forEach((r,a)=>{t[`AlarmActions.member.${a+1}`]=r}),await this.query(t)}async deleteAlarms(e){if(!e.length)return;let t={Action:"DeleteAlarms"};e.forEach((r,a)=>{t[`AlarmNames.member.${a+1}`]=r}),await this.query(t)}}class K{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new N(void 0,{profile:t})}async createLogGroup(e,t){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.CreateLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,...t?{tags:t}:{}})})}async putRetentionPolicy(e,t){if(![1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1096,1827,2192,2557,2922,3288,3653].includes(t))throw Error("Unsupported CloudWatch Logs retention period");await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.PutRetentionPolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,retentionInDays:t})})}async describeLogStreams(e){let t={logGroupName:e.logGroupName};if(e.logStreamNamePrefix)t.logStreamNamePrefix=e.logStreamNamePrefix;if(e.orderBy)t.orderBy=e.orderBy;if(e.descending!==void 0)t.descending=e.descending;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogStreams","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async getLogEvents(e){let t={logGroupName:e.logGroupName,logStreamName:e.logStreamName};if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.limit)t.limit=e.limit;if(e.startFromHead!==void 0)t.startFromHead=e.startFromHead;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.GetLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async describeLogGroups(e){let t={};if(e?.logGroupNamePrefix)t.logGroupNamePrefix=e.logGroupNamePrefix;if(e?.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogGroups","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteLogGroup(e){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DeleteLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e})})}async filterLogEvents(e){let t={logGroupName:e.logGroupName};if(e.logStreamNames)t.logStreamNames=e.logStreamNames;if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.filterPattern)t.filterPattern=e.filterPattern;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.FilterLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}}import{createHash as fe}from"node:crypto";import{existsSync as re,mkdirSync as Se,readdirSync as Ce,readFileSync as Te,rmSync as be,writeFileSync as Ne}from"node:fs";import{homedir as Ae}from"node:os";import{join as I}from"node:path";var se=1,ie=3600000,Me=24*ie,ve=ie,xe=30*Me;function H(){let e=process.env.XDG_CACHE_HOME;return I(e&&e.trim()?e:I(Ae(),".cache"),"ts-cloud","cost-explorer")}function B(e){return I(H(),e??"__default__")}function ae(e){let t={s:e.start,e:e.end,g:e.granularity,m:[...e.metrics].sort(),gb:[...e.groupBy].map((r)=>`${r.Type}:${r.Key}`).sort(),f:e.filter??null};return fe("sha256").update(JSON.stringify(t)).digest("hex").slice(0,24)}function De(e,t){let r=Date.parse(`${t}T00:00:00Z`);if(Number.isNaN(r))return!1;let a=new Date,s=Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),1);return r<=s}function Pe(e){return De(e.start,e.end)?xe:ve}function ne(e,t){let r=I(B(e),`${ae(t)}.json`);if(!re(r))return null;let a;try{a=JSON.parse(Te(r,"utf-8"))}catch{return null}if(a.schema!==se)return null;let s=Date.now()-a.savedAt;if(s<0||s>Pe(t))return null;return{response:a.response,ageSeconds:Math.floor(s/1000)}}function oe(e,t,r){let a=B(e);Se(a,{recursive:!0});let s={schema:se,savedAt:Date.now(),key:t,response:r};Ne(I(a,`${ae(t)}.json`),JSON.stringify(s))}function We(e){let t=e===void 0?H():B(e);if(!re(t))return{deletedFiles:0,scope:e??"all profiles"};let r=0;function a(s){for(let o of Ce(s,{withFileTypes:!0})){let h=I(s,o.name);if(o.isDirectory())a(h);else if(o.isFile()&&o.name.endsWith(".json"))r++}}return a(t),be(t,{recursive:!0,force:!0}),{deletedFiles:r,scope:e??"all profiles"}}function Ge(e){return e===void 0?H():B(e)}class Y{client;profile;useCache;lastCacheAgeSeconds=null;constructor(e,t){this.profile=e,this.useCache=t?.useCache??!0,this.client=new N(V(e))}async getCostByService(e){return(await this.getCostByDimension({...e,dimension:"SERVICE"})).map((r)=>({service:r.key,amount:r.amount,unit:r.unit}))}async getCostByDimension(e){let{start:t,end:r,dimension:a,granularity:s="MONTHLY",filter:o}=e,h=["UnblendedCost"],m=[{Type:"DIMENSION",Key:a}],d={start:t,end:r,granularity:s,metrics:h,groupBy:m,filter:o};if(this.useCache){let C=ne(this.profile,d);if(C)return this.lastCacheAgeSeconds=C.ageSeconds,C.response}this.lastCacheAgeSeconds=null;let p=new Map,i;do{let C={TimePeriod:{Start:t,End:r},Granularity:s,Metrics:h,GroupBy:m};if(o)C.Filter=o;if(i)C.NextPageToken=i;let D=await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify(C)});for(let G of D?.ResultsByTime??[])for(let T of G?.Groups??[]){let O=T.Keys?.[0]??"Unknown",_=Number.parseFloat(T.Metrics?.UnblendedCost?.Amount??"0"),q=T.Metrics?.UnblendedCost?.Unit??"USD",P=p.get(O);p.set(O,{key:O,amount:(P?.amount??0)+_,unit:q})}i=D?.NextPageToken||void 0}while(i);let E=[...p.values()].filter((C)=>C.amount>0).sort((C,D)=>D.amount-C.amount);if(this.useCache)oe(this.profile,d,E);return E}async getDailyTotals(e){return((await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify({TimePeriod:{Start:e.start,End:e.end},Granularity:"DAILY",Metrics:["UnblendedCost"]})}))?.ResultsByTime??[]).map((a)=>Number.parseFloat(a.Total?.UnblendedCost?.Amount??"0"))}}class J{client;region;constructor(e="us-east-1"){this.region=e,this.client=new N}async describeFileSystems(e){let t=[];if(e?.FileSystemId)t.push(`FileSystemId=${encodeURIComponent(e.FileSystemId)}`);if(e?.CreationToken)t.push(`CreationToken=${encodeURIComponent(e.CreationToken)}`);let r=`/2015-02-01/file-systems${t.length>0?`?${t.join("&")}`:""}`;return{FileSystems:((await this.client.request({service:"elasticfilesystem",region:this.region,method:"GET",path:r,headers:{"Content-Type":"application/json"}})).FileSystems||[]).map((s)=>({FileSystemId:s.FileSystemId,Name:s.Name,CreationTime:s.CreationTime,LifeCycleState:s.LifeCycleState,NumberOfMountTargets:s.NumberOfMountTargets,SizeInBytes:s.SizeInBytes?{Value:s.SizeInBytes.Value,Timestamp:s.SizeInBytes.Timestamp}:void 0,PerformanceMode:s.PerformanceMode,Encrypted:s.Encrypted,ThroughputMode:s.ThroughputMode,Tags:s.Tags}))}}}class Q{client;region;constructor(e="us-east-1"){this.region=e,this.client=new N}async call(e,t){return this.client.request({service:"wafv2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`AWSWAF_20190729.${e}`},body:JSON.stringify(t)})}async listWebACLs(e="REGIONAL"){return(await this.call("ListWebACLs",{Scope:e,Limit:100}))?.WebACLs??[]}async getWebACLRules(e,t,r="REGIONAL"){return((await this.call("GetWebACL",{Name:e,Id:t,Scope:r}))?.WebACL?.Rules??[]).map((o)=>({Name:o.Name,Priority:o.Priority,Action:o.Action?Object.keys(o.Action)[0]:o.OverrideAction?Object.keys(o.OverrideAction)[0]:"count"}))}}function me(e){return String(e).padStart(2,"0")}function F(e){return`${e.getUTCFullYear()}-${me(e.getUTCMonth()+1)}-${me(e.getUTCDate())}`}function we(e){let t=Math.max(0,Math.round((Date.now()-e)/1000));if(t<60)return`${t}s ago`;let r=Math.round(t/60);if(r<60)return`${r}m ago`;let a=Math.round(r/60);if(a<48)return`${a}h ago`;return`${Math.round(a/24)}d ago`}async function k(e,t,r,a,s,o){let h=await e.getMetricStatistics({Namespace:"AWS/Lambda",MetricName:r,Dimensions:[{Name:"FunctionName",Value:t}],StartTime:s,EndTime:o,Period:86400,Statistics:[a]}).catch(()=>[]);if(!h.length)return 0;if(a==="Sum")return h.reduce((m,d)=>m+(d.Sum??0),0);if(a==="Maximum")return Math.max(...h.map((m)=>m.Maximum??0));return h.reduce((m,d)=>m+(d.Average??0),0)/h.length}async function W(e,t,r,a,s,o,h){let m=await e.getMetricStatistics({Namespace:t,MetricName:r,Dimensions:a,StartTime:o,EndTime:h,Period:86400,Statistics:[s]}).catch(()=>[]);if(!m.length)return 0;if(s==="Sum")return m.reduce((d,p)=>d+(p.Sum??0),0);if(s==="Maximum")return Math.max(...m.map((d)=>d.Maximum??0));return m.reduce((d,p)=>d+(p.Average??0),0)/m.length}async function X(e,t,r,a,s){let o=await e.getMetricStatistics({Namespace:"AWS/Lambda",MetricName:"Duration",Dimensions:[{Name:"FunctionName",Value:t}],StartTime:a,EndTime:s,Period:86400,ExtendedStatistics:[r]}).catch(()=>[]);return Math.round(o.reduce((h,m)=>h+(m.Percentiles?.[r]??0),0))}async function mt(e,t){let r=await pe(e,t),a=r.region,s=new j(a),o=new de(a),h=new K(a),m=new Date,d=new Date(m.getTime()-86400000),p=e.environments?.[t]?.app,i={};i.app={name:r.slug,env:t,region:a,runtime:p?.kind==="php"?`php-${p?.phpVersion??"8.3"} (fpm)`:p?.kind??"node",url:r.endpoint??"",build:r.lastRelease?.sha?.slice(0,7)??"—",deployedAt:r.lastRelease?.timestamp??"—"},i.maintenance={enabled:!1},i.scheduler={enabled:r.scheduler!=="off",expression:r.scheduler==="sub-minute"?"rate(1 minute) · sub-minute":"rate(1 minute)",lastRun:"—"};let E=0,C=0,D=0,G=[],T=[],O=[];for(let n of r.functions){let[u,l,c,f,g,S,b,A,w]=await Promise.all([k(s,n.name,"Invocations","Sum",d,m),k(s,n.name,"Errors","Sum",d,m),k(s,n.name,"Throttles","Sum",d,m),k(s,n.name,"Duration","Average",d,m),o.getFunction(n.name).catch(()=>null),X(s,n.name,"p50",d,m),X(s,n.name,"p95",d,m),X(s,n.name,"p99",d,m),s.getMetricSeries({Namespace:"AWS/Lambda",MetricName:"Invocations",Dimensions:[{Name:"FunctionName",Value:n.name}],StartTime:new Date(m.getTime()-43200000),EndTime:m,Period:3600,Stat:"Sum"}).catch(()=>[])]);E+=u,C+=l,D=Math.max(D,f);let R=g?.Configuration?.MemorySize??0,M=Object.keys(g?.Configuration?.Environment?.Variables??{}),U=[],y=0;try{let{events:z=[]}=await h.filterLogEvents({logGroupName:`/aws/lambda/${n.name}`,startTime:d.getTime(),limit:120});for(let x of z){let L=(x.message??"").trim(),ee=/Max Memory Used:\s*(\d+)\s*MB/.exec(L);if(ee)y=Math.max(y,Number(ee[1]));if(L&&!/^(?:START|END|REPORT|INIT_START)/.test(L))O.push({source:n.mode||n.name,timestamp:new Date(x.timestamp??0).toISOString(),when:we(x.timestamp??0),message:L.slice(0,400),level:/error|exception|fatal|panic|traceback/i.test(L)?"error":/warn|warning|timeout|retr(?:y|ies)|throttl/i.test(L)?"warn":"info"})}U=z.filter((x)=>!/^(?:START|END|REPORT|INIT_START)/.test((x.message??"").trim())).slice(-6).map((x)=>({ts:new Date(x.timestamp??0).toISOString().slice(11,19),msg:(x.message??"").trim().slice(0,120),err:/error|exception|fatal/i.test(x.message??"")}))}catch{}let v=Math.max(1,...w);G.push({key:n.mode,name:n.name,version:n.version,memory:R,timeout:g?.Configuration?.Timeout??0,runtime:g?.Configuration?.Runtime??"provided.al2023",invocations:Math.round(u),errors:Math.round(l),p95:b||Math.round(f),status:"active",provisioned:n.provisioned?`${n.provisioned.allocated}/${n.provisioned.requested}`:void 0}),T.push({key:n.mode,name:n.name,runtime:g?.Configuration?.Runtime??"provided.al2023",arch:g?.Configuration?.Architectures?.[0]??"x86_64",memory:R,timeout:g?.Configuration?.Timeout??0,ephemeral:g?.Configuration?.EphemeralStorage?.Size??512,version:n.version,concurrency:p?.concurrency??"—",invocations:Math.round(u),errors:Math.round(l),throttles:Math.round(c),p50:S||Math.round(f),p95:b||Math.round(f),p99:A||Math.round(f),maxMem:y,spark:w.length?w.map((z)=>Math.round(z/v*100)):[0],env:M.length?M:["(none)"],recent:U.length?U:[{ts:"—",msg:"no recent events",err:!1}]})}i.functions=G,i.functionsDetail=T,i.serverlessLogs=O.sort((n,u)=>String(u.timestamp).localeCompare(String(n.timestamp))).slice(0,600),i.serverlessLogsEmptyReason=O.length?void 0:"No recent function logs were found in CloudWatch for this environment.";let _=E?Number((C/E*100).toFixed(2)):0,q=Math.round(await k(s,r.functions[0]?.name??"","ConcurrentExecutions","Maximum",d,m));i.metrics={invocations:Math.round(E),errorRatePct:_,p95Ms:Math.round(D),coldStartPct:void 0,concurrency:q,estCostUsd:void 0};try{let n=new he(a),u=[],l=[],c=0;try{let{QueueUrl:g}=await n.getQueueUrl(`${r.slug}-${t}-dlq`),{Attributes:S}=await n.getQueueAttributes(g);c=Number(S.ApproximateNumberOfMessages??0)}catch{}let f=p?ue(p,r.slug,t):[];for(let g of f){let S=g.name.replace(`${r.slug}-${t}-`,""),b=0,A=0;try{let{QueueUrl:R}=await n.getQueueUrl(g.name),{Attributes:M}=await n.getQueueAttributes(R);b=Number(M.ApproximateNumberOfMessages??0),A=Number(M.ApproximateNumberOfMessagesNotVisible??0)}catch{}let w=Math.round(await W(s,"AWS/SQS","NumberOfMessagesDeleted",[{Name:"QueueName",Value:g.name}],"Sum",d,m));u.push({name:S,visible:b,inFlight:A,processed:w,dlq:c}),l.push({name:g.name,short:S,visible:b,inFlight:A,delayed:0,processed:w,oldestSec:0,concurrency:g.concurrency??p?.queueConcurrency??"—",tries:p?.queueTries??3,visTimeout:(p?.queueTimeout??120)*6,dlq:c})}if(u.length)i.queues=u;if(l.length)i.queuesDetail=l;i.dlqItems=[]}catch{}try{let n=new le(a),{Stacks:u}=await n.describeStacks({stackName:ce(e,t)}),l={};for(let c of u?.[0]?.Outputs??[])if(c.OutputKey)l[c.OutputKey]=c.OutputValue??"";if(p?.database?.connection==="aurora-serverless"){let c=`${r.slug}-${t}-db`,f=[{Name:"DBClusterIdentifier",Value:c}],[g,S]=await Promise.all([W(s,"AWS/RDS","ServerlessDatabaseCapacity",f,"Average",d,m),W(s,"AWS/RDS","DatabaseConnections",f,"Maximum",d,m)]);if(i.aurora={id:c,engine:"aurora-mysql",minAcu:p?.database?.minCapacity??0.5,maxAcu:p?.database?.maxCapacity??4,currentAcu:g?Number(g.toFixed(1)):p?.database?.minCapacity??0.5,database:"app",connections:Math.round(S),status:l.DbEndpoint?"available":"creating"},p?.rdsProxy)i.proxy={name:`${r.slug}-${t}-proxy`,endpoint:l.DbProxyEndpoint??"—",pooledConns:Math.round(S),status:"available"}}if(p?.cache?.driver==="elasticache"){let c=`${r.slug}-${t}-cache`,f=[{Name:"CacheClusterId",Value:`${c}-001`}],[g,S]=await Promise.all([W(s,"AWS/ElastiCache","CacheHits",f,"Sum",d,m),W(s,"AWS/ElastiCache","CacheMisses",f,"Sum",d,m)]),b=g+S>0?Number((g/(g+S)*100).toFixed(1)):0;i.redis={id:c,node:"cache.t4g.micro",engine:"redis",hitRate:b,status:l.CacheEndpoint?"available":"creating"}}if(p?.efs){let c=0;try{if(l.EfsFileSystemId){let f=new J(a),{FileSystems:g}=await f.describeFileSystems({FileSystemId:l.EfsFileSystemId});c=Number(((g?.[0]?.SizeInBytes?.Value??0)/1048576).toFixed(1))}}catch{}i.efs={id:l.EfsFileSystemId??"efs",mount:"/mnt/local",sizeMb:c,status:"available"}}i.assetsInfo=l.AssetsCdnDomain?{bucket:l.AssetsBucketName??`${r.slug}-${t}-assets`,cdn:l.AssetsCdnDomain,customDomain:p?.assetDomain??"—",assetUrl:r.assetUrl??"—",files:0,sizeMb:0,cacheHitPct:0,build:i.app.build}:void 0}catch{}if(i.assetsInfo)try{let u=await new Z(a).list({bucket:i.assetsInfo.bucket,maxKeys:1000});i.assetsInfo.files=u.length,i.assetsInfo.sizeMb=Number((u.reduce((l,c)=>l+(c.Size??0),0)/1048576).toFixed(1)),i.assetsRecent=u.slice(0,8).map((l)=>({path:`/${l.Key}`,size:`${Math.max(1,Math.round((l.Size??0)/1024))} KB`,type:l.Key.split(".").pop()??""}))}catch{}try{if(p?.secrets){let n=Array.isArray(p.secrets)?p.secrets.map((u)=>({key:u.split("/").pop().toUpperCase().replace(/[^A-Z0-9_]/g,"_"),source:u})):Object.entries(p.secrets).map(([u,l])=>({key:u,source:String(l)}));i.secretsList=n.map((u)=>({...u,updated:"—"}))}}catch{}try{let n=new Z(a),u=`${r.slug}-${t}-deployments`,l=await n.getObjectJson(u,`deployments/${r.slug}/${t}/history.json`).catch(()=>null);if(l?.records?.length)i.deploymentsDetail=l.records.slice(-12).reverse().map((c)=>({sha:(c.sha??"").slice(0,7),status:c.status??"success",when:c.timestamp??"—",took:c.took??"—",by:c.by??"—",version:c.version??"—",hooks:c.hooks??[]}))}catch{}i.metricsTotals={invocations:i.metrics.invocations,errors:Math.round(C),errorRatePct:_,p95Ms:i.metrics.p95Ms,throttles:T.reduce((n,u)=>n+u.throttles,0),coldStartPct:void 0,estCostUsd:void 0,concurrency:q},i.metricsPerFn=T.map((n)=>({key:n.key,invocations:n.invocations,errors:n.errors,throttles:n.throttles,avgMs:n.p50,maxMs:n.p99,costUsd:void 0}));try{i.invSpark=await s.getMetricSeries({Namespace:"AWS/Lambda",MetricName:"Invocations",Dimensions:[{Name:"FunctionName",Value:r.functions.find((n)=>n.mode==="http")?.name??""}],StartTime:new Date(m.getTime()-86400000),EndTime:m,Period:3600,Stat:"Sum"})}catch{}try{let n=new Y,u=m,l=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),1)),c=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth()-1,1)),[f,g]=await Promise.all([n.getCostByService({start:F(l),end:F(u),granularity:"MONTHLY"}).catch(()=>[]),n.getCostByService({start:F(c),end:F(l),granularity:"MONTHLY"}).catch(()=>[])]);if(f.length){let S=f.reduce((y,v)=>y+v.amount,0),b=g.reduce((y,v)=>y+v.amount,0),A=u.getUTCDate(),w=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth()+1,0)).getUTCDate();i.costSummary={monthToDateUsd:Number(S.toFixed(2)),projectedUsd:Number((S/A*w).toFixed(2)),lastMonthUsd:Number(b.toFixed(2)),dailyAvgUsd:Number((S/A).toFixed(2))},i.costServices=f.filter((y)=>y.amount>0).sort((y,v)=>v.amount-y.amount).slice(0,12).map((y)=>({name:y.service,usd:Number(y.amount.toFixed(2)),note:""})),i.metrics.estCostUsd=Number((S/A).toFixed(2)),i.metricsTotals.estCostUsd=i.metrics.estCostUsd,i.costTrend=await n.getDailyTotals({start:F(l),end:F(u)}).catch(()=>[]);let R=f.find((y)=>/lambda/i.test(y.service))?.amount??0,M=(y)=>y.invocations*(y.p50/1000)*(y.memory/1024),U=T.reduce((y,v)=>y+M(v),0)||1;i.costPerFn=T.map((y)=>({key:y.key,requests:y.invocations,gbSec:Math.round(M(y)),usd:Number((R*(M(y)/U)).toFixed(2))}))}}catch{}if(p?.firewall)try{let n=await s.getMetricStatistics({Namespace:"AWS/WAFV2",MetricName:"BlockedRequests",StartTime:d,EndTime:m,Period:86400,Statistics:["Sum"]}).catch(()=>[]),u=await s.getMetricStatistics({Namespace:"AWS/WAFV2",MetricName:"AllowedRequests",StartTime:d,EndTime:m,Period:86400,Statistics:["Sum"]}).catch(()=>[]);i.waf={enabled:!0,scope:"REGIONAL",acl:`${r.slug}-${t}-waf`,allowed24h:Math.round(u.reduce((l,c)=>l+(c.Sum??0),0)),blocked24h:Math.round(n.reduce((l,c)=>l+(c.Sum??0),0))};try{let l=new Q(a),c=await l.listWebACLs("REGIONAL"),f=c.find((g)=>g.Name?.includes(`${r.slug}-${t}`))??c[0];if(f?.Name&&f.Id){i.waf.acl=f.Name;let g=await l.getWebACLRules(f.Name,f.Id,"REGIONAL");if(g.length)i.wafRules=g.map((S)=>({name:S.Name??"—",detail:`priority ${S.Priority??0}`,action:S.Action??"count",blocked24h:0}))}}catch{}}catch{}let P=[];if(i.aurora)P.push({name:"Aurora Serverless v2",detail:`${i.aurora.id} · ${i.aurora.minAcu}-${i.aurora.maxAcu} ACU`,status:i.aurora.status});if(i.proxy)P.push({name:"RDS Proxy",detail:i.proxy.name,status:i.proxy.status});if(i.redis)P.push({name:`ElastiCache (${i.redis.engine})`,detail:`${i.redis.node} · ${i.redis.hitRate}% hit rate`,status:i.redis.status});if(i.efs)P.push({name:"EFS",detail:`${i.efs.mount} · ${i.efs.sizeMb} MB`,status:i.efs.status});if(P.length)i.dataServices=P;if(r.scheduler!=="off"&&p?.kind==="php")try{let n=await ge(e,t,"schedule:list"),u=[];for(let l of(n||"").split(`
|
|
1
|
+
import{Gd as he}from"./chunk-9mydnqr6.js";import{Rd as ge,Wd as pe}from"./chunk-q182t9ba.js";import{Zd as de}from"./chunk-nmkm1f68.js";import{hg as ye}from"./chunk-nyc2jxd8.js";import{ig as le}from"./chunk-21gggxvf.js";import{og as V,pg as Z}from"./chunk-4a85nk2q.js";import{ch as N,dh as te}from"./chunk-0y89hs67.js";import{_h as ce,mo as ue}from"./chunk-4a97kbk1.js";class j{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new N(V(t))}async query(e){let t=new URLSearchParams(te({Version:"2010-08-01",...e})).toString();return this.client.request({service:"monitoring",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:t})}async getMetricStatistics(e){let t={Action:"GetMetricStatistics",Namespace:e.Namespace,MetricName:e.MetricName,StartTime:e.StartTime.toISOString(),EndTime:e.EndTime.toISOString(),Period:e.Period};(e.Statistics??[]).forEach((o,h)=>{t[`Statistics.member.${h+1}`]=o}),(e.ExtendedStatistics??[]).forEach((o,h)=>{t[`ExtendedStatistics.member.${h+1}`]=o}),(e.Dimensions??[]).forEach((o,h)=>{t[`Dimensions.member.${h+1}.Name`]=o.Name,t[`Dimensions.member.${h+1}.Value`]=o.Value});let r=await this.query(t),s=(r.GetMetricStatisticsResult||r)?.Datapoints?.member??[];if(!Array.isArray(s))s=s?[s]:[];return s.map((o)=>{let h={},m=o.ExtendedStatistics?.entry;if(m){if(!Array.isArray(m))m=[m];for(let d of m)if(d?.key!=null)h[d.key]=Number(d.value)}return{Timestamp:o.Timestamp,Sum:o.Sum!=null?Number(o.Sum):void 0,Average:o.Average!=null?Number(o.Average):void 0,Maximum:o.Maximum!=null?Number(o.Maximum):void 0,Minimum:o.Minimum!=null?Number(o.Minimum):void 0,Percentiles:Object.keys(h).length?h:void 0,Unit:o.Unit}})}async getMetricSeries(e){let t=/^p\d/.test(e.Stat);return(await this.getMetricStatistics({Namespace:e.Namespace,MetricName:e.MetricName,Dimensions:e.Dimensions,StartTime:e.StartTime,EndTime:e.EndTime,Period:e.Period,Statistics:t?[]:[e.Stat],ExtendedStatistics:t?[e.Stat]:[]})).slice().sort((a,s)=>new Date(a.Timestamp??0).getTime()-new Date(s.Timestamp??0).getTime()).map((a)=>t?a.Percentiles?.[e.Stat]??0:a[e.Stat]??0)}async describeAlarms(e){let t={Action:"DescribeAlarms"};if(e?.AlarmNamePrefix)t.AlarmNamePrefix=e.AlarmNamePrefix;if(e?.MaxRecords)t.MaxRecords=e.MaxRecords;let r=await this.query(t),s=(r.DescribeAlarmsResult||r)?.MetricAlarms?.member??[];if(!Array.isArray(s))s=s?[s]:[];return s.map((o)=>({AlarmName:o.AlarmName,StateValue:o.StateValue,MetricName:o.MetricName,ComparisonOperator:o.ComparisonOperator,Threshold:o.Threshold!=null?Number(o.Threshold):void 0,Namespace:o.Namespace}))}async putMetricAlarm(e){let t={Action:"PutMetricAlarm",AlarmName:e.AlarmName,Namespace:e.Namespace,MetricName:e.MetricName,ComparisonOperator:e.ComparisonOperator,Threshold:e.Threshold,EvaluationPeriods:e.EvaluationPeriods,Period:e.Period,Statistic:e.Statistic};if(e.AlarmDescription)t.AlarmDescription=e.AlarmDescription;(e.Dimensions??[]).forEach((r,a)=>{t[`Dimensions.member.${a+1}.Name`]=r.Name,t[`Dimensions.member.${a+1}.Value`]=r.Value}),(e.AlarmActions??[]).forEach((r,a)=>{t[`AlarmActions.member.${a+1}`]=r}),await this.query(t)}async deleteAlarms(e){if(!e.length)return;let t={Action:"DeleteAlarms"};e.forEach((r,a)=>{t[`AlarmNames.member.${a+1}`]=r}),await this.query(t)}}class K{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new N(void 0,{profile:t})}async createLogGroup(e,t){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.CreateLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,...t?{tags:t}:{}})})}async putRetentionPolicy(e,t){if(![1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1096,1827,2192,2557,2922,3288,3653].includes(t))throw Error("Unsupported CloudWatch Logs retention period");await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.PutRetentionPolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,retentionInDays:t})})}async describeLogStreams(e){let t={logGroupName:e.logGroupName};if(e.logStreamNamePrefix)t.logStreamNamePrefix=e.logStreamNamePrefix;if(e.orderBy)t.orderBy=e.orderBy;if(e.descending!==void 0)t.descending=e.descending;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogStreams","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async getLogEvents(e){let t={logGroupName:e.logGroupName,logStreamName:e.logStreamName};if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.limit)t.limit=e.limit;if(e.startFromHead!==void 0)t.startFromHead=e.startFromHead;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.GetLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async describeLogGroups(e){let t={};if(e?.logGroupNamePrefix)t.logGroupNamePrefix=e.logGroupNamePrefix;if(e?.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogGroups","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteLogGroup(e){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DeleteLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e})})}async filterLogEvents(e){let t={logGroupName:e.logGroupName};if(e.logStreamNames)t.logStreamNames=e.logStreamNames;if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.filterPattern)t.filterPattern=e.filterPattern;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.FilterLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}}import{createHash as fe}from"node:crypto";import{existsSync as re,mkdirSync as Se,readdirSync as Ce,readFileSync as Te,rmSync as be,writeFileSync as Ne}from"node:fs";import{homedir as Ae}from"node:os";import{join as I}from"node:path";var se=1,ie=3600000,Me=24*ie,ve=ie,xe=30*Me;function H(){let e=process.env.XDG_CACHE_HOME;return I(e&&e.trim()?e:I(Ae(),".cache"),"ts-cloud","cost-explorer")}function B(e){return I(H(),e??"__default__")}function ae(e){let t={s:e.start,e:e.end,g:e.granularity,m:[...e.metrics].sort(),gb:[...e.groupBy].map((r)=>`${r.Type}:${r.Key}`).sort(),f:e.filter??null};return fe("sha256").update(JSON.stringify(t)).digest("hex").slice(0,24)}function De(e,t){let r=Date.parse(`${t}T00:00:00Z`);if(Number.isNaN(r))return!1;let a=new Date,s=Date.UTC(a.getUTCFullYear(),a.getUTCMonth(),1);return r<=s}function Pe(e){return De(e.start,e.end)?xe:ve}function ne(e,t){let r=I(B(e),`${ae(t)}.json`);if(!re(r))return null;let a;try{a=JSON.parse(Te(r,"utf-8"))}catch{return null}if(a.schema!==se)return null;let s=Date.now()-a.savedAt;if(s<0||s>Pe(t))return null;return{response:a.response,ageSeconds:Math.floor(s/1000)}}function oe(e,t,r){let a=B(e);Se(a,{recursive:!0});let s={schema:se,savedAt:Date.now(),key:t,response:r};Ne(I(a,`${ae(t)}.json`),JSON.stringify(s))}function We(e){let t=e===void 0?H():B(e);if(!re(t))return{deletedFiles:0,scope:e??"all profiles"};let r=0;function a(s){for(let o of Ce(s,{withFileTypes:!0})){let h=I(s,o.name);if(o.isDirectory())a(h);else if(o.isFile()&&o.name.endsWith(".json"))r++}}return a(t),be(t,{recursive:!0,force:!0}),{deletedFiles:r,scope:e??"all profiles"}}function Ge(e){return e===void 0?H():B(e)}class Y{client;profile;useCache;lastCacheAgeSeconds=null;constructor(e,t){this.profile=e,this.useCache=t?.useCache??!0,this.client=new N(V(e))}async getCostByService(e){return(await this.getCostByDimension({...e,dimension:"SERVICE"})).map((r)=>({service:r.key,amount:r.amount,unit:r.unit}))}async getCostByDimension(e){let{start:t,end:r,dimension:a,granularity:s="MONTHLY",filter:o}=e,h=["UnblendedCost"],m=[{Type:"DIMENSION",Key:a}],d={start:t,end:r,granularity:s,metrics:h,groupBy:m,filter:o};if(this.useCache){let C=ne(this.profile,d);if(C)return this.lastCacheAgeSeconds=C.ageSeconds,C.response}this.lastCacheAgeSeconds=null;let p=new Map,i;do{let C={TimePeriod:{Start:t,End:r},Granularity:s,Metrics:h,GroupBy:m};if(o)C.Filter=o;if(i)C.NextPageToken=i;let D=await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify(C)});for(let G of D?.ResultsByTime??[])for(let T of G?.Groups??[]){let O=T.Keys?.[0]??"Unknown",_=Number.parseFloat(T.Metrics?.UnblendedCost?.Amount??"0"),q=T.Metrics?.UnblendedCost?.Unit??"USD",P=p.get(O);p.set(O,{key:O,amount:(P?.amount??0)+_,unit:q})}i=D?.NextPageToken||void 0}while(i);let E=[...p.values()].filter((C)=>C.amount>0).sort((C,D)=>D.amount-C.amount);if(this.useCache)oe(this.profile,d,E);return E}async getDailyTotals(e){return((await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify({TimePeriod:{Start:e.start,End:e.end},Granularity:"DAILY",Metrics:["UnblendedCost"]})}))?.ResultsByTime??[]).map((a)=>Number.parseFloat(a.Total?.UnblendedCost?.Amount??"0"))}}class J{client;region;constructor(e="us-east-1"){this.region=e,this.client=new N}async describeFileSystems(e){let t=[];if(e?.FileSystemId)t.push(`FileSystemId=${encodeURIComponent(e.FileSystemId)}`);if(e?.CreationToken)t.push(`CreationToken=${encodeURIComponent(e.CreationToken)}`);let r=`/2015-02-01/file-systems${t.length>0?`?${t.join("&")}`:""}`;return{FileSystems:((await this.client.request({service:"elasticfilesystem",region:this.region,method:"GET",path:r,headers:{"Content-Type":"application/json"}})).FileSystems||[]).map((s)=>({FileSystemId:s.FileSystemId,Name:s.Name,CreationTime:s.CreationTime,LifeCycleState:s.LifeCycleState,NumberOfMountTargets:s.NumberOfMountTargets,SizeInBytes:s.SizeInBytes?{Value:s.SizeInBytes.Value,Timestamp:s.SizeInBytes.Timestamp}:void 0,PerformanceMode:s.PerformanceMode,Encrypted:s.Encrypted,ThroughputMode:s.ThroughputMode,Tags:s.Tags}))}}}class Q{client;region;constructor(e="us-east-1"){this.region=e,this.client=new N}async call(e,t){return this.client.request({service:"wafv2",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`AWSWAF_20190729.${e}`},body:JSON.stringify(t)})}async listWebACLs(e="REGIONAL"){return(await this.call("ListWebACLs",{Scope:e,Limit:100}))?.WebACLs??[]}async getWebACLRules(e,t,r="REGIONAL"){return((await this.call("GetWebACL",{Name:e,Id:t,Scope:r}))?.WebACL?.Rules??[]).map((o)=>({Name:o.Name,Priority:o.Priority,Action:o.Action?Object.keys(o.Action)[0]:o.OverrideAction?Object.keys(o.OverrideAction)[0]:"count"}))}}function me(e){return String(e).padStart(2,"0")}function F(e){return`${e.getUTCFullYear()}-${me(e.getUTCMonth()+1)}-${me(e.getUTCDate())}`}function we(e){let t=Math.max(0,Math.round((Date.now()-e)/1000));if(t<60)return`${t}s ago`;let r=Math.round(t/60);if(r<60)return`${r}m ago`;let a=Math.round(r/60);if(a<48)return`${a}h ago`;return`${Math.round(a/24)}d ago`}async function k(e,t,r,a,s,o){let h=await e.getMetricStatistics({Namespace:"AWS/Lambda",MetricName:r,Dimensions:[{Name:"FunctionName",Value:t}],StartTime:s,EndTime:o,Period:86400,Statistics:[a]}).catch(()=>[]);if(!h.length)return 0;if(a==="Sum")return h.reduce((m,d)=>m+(d.Sum??0),0);if(a==="Maximum")return Math.max(...h.map((m)=>m.Maximum??0));return h.reduce((m,d)=>m+(d.Average??0),0)/h.length}async function W(e,t,r,a,s,o,h){let m=await e.getMetricStatistics({Namespace:t,MetricName:r,Dimensions:a,StartTime:o,EndTime:h,Period:86400,Statistics:[s]}).catch(()=>[]);if(!m.length)return 0;if(s==="Sum")return m.reduce((d,p)=>d+(p.Sum??0),0);if(s==="Maximum")return Math.max(...m.map((d)=>d.Maximum??0));return m.reduce((d,p)=>d+(p.Average??0),0)/m.length}async function X(e,t,r,a,s){let o=await e.getMetricStatistics({Namespace:"AWS/Lambda",MetricName:"Duration",Dimensions:[{Name:"FunctionName",Value:t}],StartTime:a,EndTime:s,Period:86400,ExtendedStatistics:[r]}).catch(()=>[]);return Math.round(o.reduce((h,m)=>h+(m.Percentiles?.[r]??0),0))}async function mt(e,t){let r=await pe(e,t),a=r.region,s=new j(a),o=new de(a),h=new K(a),m=new Date,d=new Date(m.getTime()-86400000),p=e.environments?.[t]?.app,i={};i.app={name:r.slug,env:t,region:a,runtime:p?.kind==="php"?`php-${p?.phpVersion??"8.3"} (fpm)`:p?.kind??"node",url:r.endpoint??"",build:r.lastRelease?.sha?.slice(0,7)??"—",deployedAt:r.lastRelease?.timestamp??"—"},i.maintenance={enabled:!1},i.scheduler={enabled:r.scheduler!=="off",expression:r.scheduler==="sub-minute"?"rate(1 minute) · sub-minute":"rate(1 minute)",lastRun:"—"};let E=0,C=0,D=0,G=[],T=[],O=[];for(let n of r.functions){let[u,l,c,f,g,S,b,A,w]=await Promise.all([k(s,n.name,"Invocations","Sum",d,m),k(s,n.name,"Errors","Sum",d,m),k(s,n.name,"Throttles","Sum",d,m),k(s,n.name,"Duration","Average",d,m),o.getFunction(n.name).catch(()=>null),X(s,n.name,"p50",d,m),X(s,n.name,"p95",d,m),X(s,n.name,"p99",d,m),s.getMetricSeries({Namespace:"AWS/Lambda",MetricName:"Invocations",Dimensions:[{Name:"FunctionName",Value:n.name}],StartTime:new Date(m.getTime()-43200000),EndTime:m,Period:3600,Stat:"Sum"}).catch(()=>[])]);E+=u,C+=l,D=Math.max(D,f);let R=g?.Configuration?.MemorySize??0,M=Object.keys(g?.Configuration?.Environment?.Variables??{}),U=[],y=0;try{let{events:z=[]}=await h.filterLogEvents({logGroupName:`/aws/lambda/${n.name}`,startTime:d.getTime(),limit:120});for(let x of z){let L=(x.message??"").trim(),ee=/Max Memory Used:\s*(\d+)\s*MB/.exec(L);if(ee)y=Math.max(y,Number(ee[1]));if(L&&!/^(?:START|END|REPORT|INIT_START)/.test(L))O.push({source:n.mode||n.name,timestamp:new Date(x.timestamp??0).toISOString(),when:we(x.timestamp??0),message:L.slice(0,400),level:/error|exception|fatal|panic|traceback/i.test(L)?"error":/warn|warning|timeout|retr(?:y|ies)|throttl/i.test(L)?"warn":"info"})}U=z.filter((x)=>!/^(?:START|END|REPORT|INIT_START)/.test((x.message??"").trim())).slice(-6).map((x)=>({ts:new Date(x.timestamp??0).toISOString().slice(11,19),msg:(x.message??"").trim().slice(0,120),err:/error|exception|fatal/i.test(x.message??"")}))}catch{}let v=Math.max(1,...w);G.push({key:n.mode,name:n.name,version:n.version,memory:R,timeout:g?.Configuration?.Timeout??0,runtime:g?.Configuration?.Runtime??"provided.al2023",invocations:Math.round(u),errors:Math.round(l),p95:b||Math.round(f),status:"active",provisioned:n.provisioned?`${n.provisioned.allocated}/${n.provisioned.requested}`:void 0}),T.push({key:n.mode,name:n.name,runtime:g?.Configuration?.Runtime??"provided.al2023",arch:g?.Configuration?.Architectures?.[0]??"x86_64",memory:R,timeout:g?.Configuration?.Timeout??0,ephemeral:g?.Configuration?.EphemeralStorage?.Size??512,version:n.version,concurrency:p?.concurrency??"—",invocations:Math.round(u),errors:Math.round(l),throttles:Math.round(c),p50:S||Math.round(f),p95:b||Math.round(f),p99:A||Math.round(f),maxMem:y,spark:w.length?w.map((z)=>Math.round(z/v*100)):[0],env:M.length?M:["(none)"],recent:U.length?U:[{ts:"—",msg:"no recent events",err:!1}]})}i.functions=G,i.functionsDetail=T,i.serverlessLogs=O.sort((n,u)=>String(u.timestamp).localeCompare(String(n.timestamp))).slice(0,600),i.serverlessLogsEmptyReason=O.length?void 0:"No recent function logs were found in CloudWatch for this environment.";let _=E?Number((C/E*100).toFixed(2)):0,q=Math.round(await k(s,r.functions[0]?.name??"","ConcurrentExecutions","Maximum",d,m));i.metrics={invocations:Math.round(E),errorRatePct:_,p95Ms:Math.round(D),coldStartPct:void 0,concurrency:q,estCostUsd:void 0};try{let n=new he(a),u=[],l=[],c=0;try{let{QueueUrl:g}=await n.getQueueUrl(`${r.slug}-${t}-dlq`),{Attributes:S}=await n.getQueueAttributes(g);c=Number(S.ApproximateNumberOfMessages??0)}catch{}let f=p?ue(p,r.slug,t):[];for(let g of f){let S=g.name.replace(`${r.slug}-${t}-`,""),b=0,A=0;try{let{QueueUrl:R}=await n.getQueueUrl(g.name),{Attributes:M}=await n.getQueueAttributes(R);b=Number(M.ApproximateNumberOfMessages??0),A=Number(M.ApproximateNumberOfMessagesNotVisible??0)}catch{}let w=Math.round(await W(s,"AWS/SQS","NumberOfMessagesDeleted",[{Name:"QueueName",Value:g.name}],"Sum",d,m));u.push({name:S,visible:b,inFlight:A,processed:w,dlq:c}),l.push({name:g.name,short:S,visible:b,inFlight:A,delayed:0,processed:w,oldestSec:0,concurrency:g.concurrency??p?.queueConcurrency??"—",tries:p?.queueTries??3,visTimeout:(p?.queueTimeout??120)*6,dlq:c})}if(u.length)i.queues=u;if(l.length)i.queuesDetail=l;i.dlqItems=[]}catch{}try{let n=new le(a),{Stacks:u}=await n.describeStacks({stackName:ce(e,t)}),l={};for(let c of u?.[0]?.Outputs??[])if(c.OutputKey)l[c.OutputKey]=c.OutputValue??"";if(p?.database?.connection==="aurora-serverless"){let c=`${r.slug}-${t}-db`,f=[{Name:"DBClusterIdentifier",Value:c}],[g,S]=await Promise.all([W(s,"AWS/RDS","ServerlessDatabaseCapacity",f,"Average",d,m),W(s,"AWS/RDS","DatabaseConnections",f,"Maximum",d,m)]);if(i.aurora={id:c,engine:"aurora-mysql",minAcu:p?.database?.minCapacity??0.5,maxAcu:p?.database?.maxCapacity??4,currentAcu:g?Number(g.toFixed(1)):p?.database?.minCapacity??0.5,database:"app",connections:Math.round(S),status:l.DbEndpoint?"available":"creating"},p?.rdsProxy)i.proxy={name:`${r.slug}-${t}-proxy`,endpoint:l.DbProxyEndpoint??"—",pooledConns:Math.round(S),status:"available"}}if(p?.cache?.driver==="elasticache"){let c=`${r.slug}-${t}-cache`,f=[{Name:"CacheClusterId",Value:`${c}-001`}],[g,S]=await Promise.all([W(s,"AWS/ElastiCache","CacheHits",f,"Sum",d,m),W(s,"AWS/ElastiCache","CacheMisses",f,"Sum",d,m)]),b=g+S>0?Number((g/(g+S)*100).toFixed(1)):0;i.redis={id:c,node:"cache.t4g.micro",engine:"redis",hitRate:b,status:l.CacheEndpoint?"available":"creating"}}if(p?.efs){let c=0;try{if(l.EfsFileSystemId){let f=new J(a),{FileSystems:g}=await f.describeFileSystems({FileSystemId:l.EfsFileSystemId});c=Number(((g?.[0]?.SizeInBytes?.Value??0)/1048576).toFixed(1))}}catch{}i.efs={id:l.EfsFileSystemId??"efs",mount:"/mnt/local",sizeMb:c,status:"available"}}i.assetsInfo=l.AssetsCdnDomain?{bucket:l.AssetsBucketName??`${r.slug}-${t}-assets`,cdn:l.AssetsCdnDomain,customDomain:p?.assetDomain??"—",assetUrl:r.assetUrl??"—",files:0,sizeMb:0,cacheHitPct:0,build:i.app.build}:void 0}catch{}if(i.assetsInfo)try{let u=await new Z(a).list({bucket:i.assetsInfo.bucket,maxKeys:1000});i.assetsInfo.files=u.length,i.assetsInfo.sizeMb=Number((u.reduce((l,c)=>l+(c.Size??0),0)/1048576).toFixed(1)),i.assetsRecent=u.slice(0,8).map((l)=>({path:`/${l.Key}`,size:`${Math.max(1,Math.round((l.Size??0)/1024))} KB`,type:l.Key.split(".").pop()??""}))}catch{}try{if(p?.secrets){let n=Array.isArray(p.secrets)?p.secrets.map((u)=>({key:u.split("/").pop().toUpperCase().replace(/[^A-Z0-9_]/g,"_"),source:u})):Object.entries(p.secrets).map(([u,l])=>({key:u,source:String(l)}));i.secretsList=n.map((u)=>({...u,updated:"—"}))}}catch{}try{let n=new Z(a),u=`${r.slug}-${t}-deployments`,l=await n.getObjectJson(u,`deployments/${r.slug}/${t}/history.json`).catch(()=>null);if(l?.records?.length)i.deploymentsDetail=l.records.slice(-12).reverse().map((c)=>({sha:(c.sha??"").slice(0,7),status:c.status??"success",when:c.timestamp??"—",took:c.took??"—",by:c.by??"—",version:c.version??"—",hooks:c.hooks??[]}))}catch{}i.metricsTotals={invocations:i.metrics.invocations,errors:Math.round(C),errorRatePct:_,p95Ms:i.metrics.p95Ms,throttles:T.reduce((n,u)=>n+u.throttles,0),coldStartPct:void 0,estCostUsd:void 0,concurrency:q},i.metricsPerFn=T.map((n)=>({key:n.key,invocations:n.invocations,errors:n.errors,throttles:n.throttles,avgMs:n.p50,maxMs:n.p99,costUsd:void 0}));try{i.invSpark=await s.getMetricSeries({Namespace:"AWS/Lambda",MetricName:"Invocations",Dimensions:[{Name:"FunctionName",Value:r.functions.find((n)=>n.mode==="http")?.name??""}],StartTime:new Date(m.getTime()-86400000),EndTime:m,Period:3600,Stat:"Sum"})}catch{}try{let n=new Y,u=m,l=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth(),1)),c=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth()-1,1)),[f,g]=await Promise.all([n.getCostByService({start:F(l),end:F(u),granularity:"MONTHLY"}).catch(()=>[]),n.getCostByService({start:F(c),end:F(l),granularity:"MONTHLY"}).catch(()=>[])]);if(f.length){let S=f.reduce((y,v)=>y+v.amount,0),b=g.reduce((y,v)=>y+v.amount,0),A=u.getUTCDate(),w=new Date(Date.UTC(u.getUTCFullYear(),u.getUTCMonth()+1,0)).getUTCDate();i.costSummary={monthToDateUsd:Number(S.toFixed(2)),projectedUsd:Number((S/A*w).toFixed(2)),lastMonthUsd:Number(b.toFixed(2)),dailyAvgUsd:Number((S/A).toFixed(2))},i.costServices=f.filter((y)=>y.amount>0).sort((y,v)=>v.amount-y.amount).slice(0,12).map((y)=>({name:y.service,usd:Number(y.amount.toFixed(2)),note:""})),i.metrics.estCostUsd=Number((S/A).toFixed(2)),i.metricsTotals.estCostUsd=i.metrics.estCostUsd,i.costTrend=await n.getDailyTotals({start:F(l),end:F(u)}).catch(()=>[]);let R=f.find((y)=>/lambda/i.test(y.service))?.amount??0,M=(y)=>y.invocations*(y.p50/1000)*(y.memory/1024),U=T.reduce((y,v)=>y+M(v),0)||1;i.costPerFn=T.map((y)=>({key:y.key,requests:y.invocations,gbSec:Math.round(M(y)),usd:Number((R*(M(y)/U)).toFixed(2))}))}}catch{}if(p?.firewall)try{let n=await s.getMetricStatistics({Namespace:"AWS/WAFV2",MetricName:"BlockedRequests",StartTime:d,EndTime:m,Period:86400,Statistics:["Sum"]}).catch(()=>[]),u=await s.getMetricStatistics({Namespace:"AWS/WAFV2",MetricName:"AllowedRequests",StartTime:d,EndTime:m,Period:86400,Statistics:["Sum"]}).catch(()=>[]);i.waf={enabled:!0,scope:"REGIONAL",acl:`${r.slug}-${t}-waf`,allowed24h:Math.round(u.reduce((l,c)=>l+(c.Sum??0),0)),blocked24h:Math.round(n.reduce((l,c)=>l+(c.Sum??0),0))};try{let l=new Q(a),c=await l.listWebACLs("REGIONAL"),f=c.find((g)=>g.Name?.includes(`${r.slug}-${t}`))??c[0];if(f?.Name&&f.Id){i.waf.acl=f.Name;let g=await l.getWebACLRules(f.Name,f.Id,"REGIONAL");if(g.length)i.wafRules=g.map((S)=>({name:S.Name??"—",detail:`priority ${S.Priority??0}`,action:S.Action??"count",blocked24h:0}))}}catch{}}catch{}let P=[];if(i.aurora)P.push({name:"Aurora Serverless v2",detail:`${i.aurora.id} · ${i.aurora.minAcu}-${i.aurora.maxAcu} ACU`,status:i.aurora.status});if(i.proxy)P.push({name:"RDS Proxy",detail:i.proxy.name,status:i.proxy.status});if(i.redis)P.push({name:`ElastiCache (${i.redis.engine})`,detail:`${i.redis.node} · ${i.redis.hitRate}% hit rate`,status:i.redis.status});if(i.efs)P.push({name:"EFS",detail:`${i.efs.mount} · ${i.efs.sizeMb} MB`,status:i.efs.status});if(P.length)i.dataServices=P;if(r.scheduler!=="off"&&p?.kind==="php")try{let n=await ge(e,t,"schedule:list"),u=[];for(let l of(n||"").split(`
|
|
2
2
|
`)){let c=/^\s*([\d*/,\-\s]+?)\s{2,}(.+?)(?:\s{2,}Next Due.*)?$/.exec(l);if(c&&/[*\d]/.test(c[1])&&c[1].trim().split(/\s+/).length===5)u.push({command:c[2].trim().replace(/^php artisan /,""),cron:c[1].trim(),desc:"",lastRun:"—",lastStatus:"ok"})}if(u.length)i.schedulerTasks=u}catch{}return i.topology=ye(i,{project:e.project.name,environment:t}),i}
|
|
3
3
|
export{K as Ad,j as Bd,We as Cd,Ge as Dd,Y as Ed,mt as Fd};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{mp as v,np as l}from"./chunk-ks4ewy1s.js";var F={};v(F,{ProgressBar:()=>y,Spinner:()=>x,box:()=>R,checkAwsCli:()=>T,checkAwsCredentials:()=>L,colorize:()=>a,colors:()=>r,confirm:()=>A,error:()=>f,formatBytes:()=>P,formatDuration:()=>M,getAwsAccountId:()=>E,getAwsRegions:()=>k,header:()=>I,info:()=>b,prompt:()=>h,select:()=>C,step:()=>B,success:()=>m,table:()=>S,warn:()=>d,warning:()=>w});var r={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m"};function a(t,e){return`${r[e]}${t}${r.reset}`}function m(t){console.log(`${r.green}✓${r.reset} ${t}`)}function f(t){console.error(`${r.red}✗${r.reset} ${t}`)}function d(t){console.warn(`${r.yellow}⚠${r.reset} ${t}`)}var w=d;function b(t){console.log(`${r.blue}ℹ${r.reset} ${t}`)}function B(t){console.log(`${r.cyan}→${r.reset} ${t}`)}function I(t){console.log(`
|
|
2
2
|
${r.bright}${r.cyan}${t}${r.reset}
|
|
3
3
|
`)}var g=!!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.BUILDKITE||process.env.CIRCLECI||process.env.GITLAB_CI);class x{frames=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];interval=null;currentFrame=0;message;constructor(t){this.message=t}get text(){return this.message}set text(t){if(this.message=t,g&&this.interval)console.log(` ${t}`)}start(){if(g){console.log(` ${this.message}`),this.interval=!0;return}this.interval=setInterval(()=>{process.stdout.write(`\r${r.cyan}${this.frames[this.currentFrame]}${r.reset} ${this.message}`),this.currentFrame=(this.currentFrame+1)%this.frames.length},80)}succeed(t){this.stop(),m(t||this.message)}fail(t){this.stop(),f(t||this.message)}warn(t){this.stop(),w(t||this.message)}stop(){if(this.interval){if(!g)process.stdout.write("\r");if(typeof this.interval==="object")clearInterval(this.interval);this.interval=null}}}class y{total;current=0;width=40;constructor(t){this.total=t}update(t){this.current=t,this.render()}increment(){this.current++,this.render()}render(){let t=Math.floor(this.current/this.total*100),e=Math.floor(this.current/this.total*this.width),n=this.width-e,s=`${"█".repeat(e)}${"░".repeat(n)}`;if(process.stdout.write(`\r${r.cyan}${s}${r.reset} ${t}% (${this.current}/${this.total})`),this.current>=this.total)process.stdout.write(`
|
|
4
4
|
`)}}async function h(t,e){let s=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout});return new Promise((i)=>{let o=e?`${r.cyan}?${r.reset} ${t} ${r.gray}(${e})${r.reset}: `:`${r.cyan}?${r.reset} ${t}: `;s.question(o,(c)=>{s.close(),i(c||e||"")})})}async function A(t,e=!1){let n=await h(`${t} (y/n)`,e?"y":"n");return n.toLowerCase()==="y"||n.toLowerCase()==="yes"}async function C(t,e){console.log(`${r.cyan}?${r.reset} ${t}`),e.forEach((i,o)=>{console.log(` ${r.gray}${o+1}.${r.reset} ${i}`)});let n=await h("Select","1"),s=Number.parseInt(n)-1;if(s>=0&&s<e.length)return e[s];return e[0]}function S(t,e){let n=t.map((i,o)=>{let c=Math.max(...e.map((u)=>(u[o]||"").length));return Math.max(i.length,c)}),s=t.map((i,o)=>i.padEnd(n[o])).join(" ");console.log(a(s,"bright")),console.log(a("─".repeat(s.length),"gray")),e.forEach((i)=>{let o=i.map((c,u)=>(c||"").padEnd(n[u])).join(" ");console.log(o)})}function P(t){if(t===0)return"0 B";let e=1024,n=["B","KB","MB","GB","TB"],s=Math.floor(Math.log(t)/Math.log(e));return`${Number.parseFloat((t/e**s).toFixed(2))} ${n[s]}`}function M(t){if(t<1000)return`${t}ms`;let e=Math.floor(t/1000);if(e<60)return`${e}s`;let n=Math.floor(e/60),s=e%60;if(n<60)return`${n}m ${s}s`;let i=Math.floor(n/60),o=n%60;return`${i}h ${o}m`}function R(t,e="cyan"){let n=t.split(`
|
|
5
|
-
`),s=Math.max(...n.map((o)=>o.length)),i="─".repeat(s+2);console.log(a(`┌${i}┐`,e)),n.forEach((o)=>{console.log(a(`│ ${o.padEnd(s)} │`,e))}),console.log(a(`└${i}┘`,e))}async function T(){return!0}async function L(){try{let{AWSClient:t}=await import("./chunk-
|
|
6
|
-
export{r as
|
|
5
|
+
`),s=Math.max(...n.map((o)=>o.length)),i="─".repeat(s+2);console.log(a(`┌${i}┐`,e)),n.forEach((o)=>{console.log(a(`│ ${o.padEnd(s)} │`,e))}),console.log(a(`└${i}┘`,e))}async function T(){return!0}async function L(){try{let{AWSClient:t}=await import("./chunk-g0ewbkbq.js");return await new t().request({service:"sts",region:"us-east-1",method:"POST",path:"/",body:new URLSearchParams({Action:"GetCallerIdentity",Version:"2011-06-15"}).toString()}),!0}catch{return!1}}async function E(){try{let{AWSClient:t}=await import("./chunk-g0ewbkbq.js"),n=await new t().request({service:"sts",region:"us-east-1",method:"POST",path:"/",body:new URLSearchParams({Action:"GetCallerIdentity",Version:"2011-06-15"}).toString()});return n.Account||n.GetCallerIdentityResult?.Account||null}catch{return null}}async function k(){try{let{AWSClient:t}=await import("./chunk-g0ewbkbq.js"),n=await new t().request({service:"ec2",region:"us-east-1",method:"POST",path:"/",body:new URLSearchParams({Action:"DescribeRegions",Version:"2016-11-15"}).toString()}),s=[];if(n.regionInfo){let i=Array.isArray(n.regionInfo)?n.regionInfo:[n.regionInfo];s.push(...i.map((o)=>o.regionName))}return s.length>0?s:p()}catch{return p()}}function p(){return["us-east-1","us-east-2","us-west-1","us-west-2","eu-west-1","eu-central-1","ap-southeast-1","ap-northeast-1"]}
|
|
6
|
+
export{r as Ig,a as Jg,m as Kg,f as Lg,d as Mg,w as Ng,b as Og,B as Pg,I as Qg,x as Rg,h as Sg,A as Tg,C as Ug,S as Vg,P as Wg,R as Xg,T as Yg,L as Zg,E as _g,k as $g,F as ah};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Ah as _,mj as C,pj as I,qj as m,zh as S}from"./chunk-4a97kbk1.js";import{execSync as O}from"node:child_process";import{randomBytes as P}from"node:crypto";import{chmodSync as B,copyFileSync as F,existsSync as u,mkdirSync as L,readFileSync as T,statSync as J,writeFileSync as b}from"node:fs";import{tmpdir as z}from"node:os";import{basename as V,dirname as y,isAbsolute as k,join as a,resolve as W}from"node:path";import{fileURLToPath as A}from"node:url";function h(e){if(!e||typeof e!=="object")return e;return Object.fromEntries(Object.keys(e).map((r)=>[r,""]))}function E(e){let r=JSON.parse(JSON.stringify(e??{}));if(r.hetzner)delete r.hetzner.apiToken;delete r.aws,delete r.stateDir;for(let t of Object.values(r.sites??{})){if(t?.env)t.env=h(t.env);if(t?.environment)t.environment=h(t.environment)}for(let t of Object.values(r.environments??{}))if(t?.variables)t.variables=h(t.variables);for(let t of Object.values(r.infrastructure?.databases??{}))if(t?.password)t.password="";if(r.infrastructure?.appDatabase?.password)r.infrastructure.appDatabase.password="";if(r.infrastructure?.compute?.database?.password)r.infrastructure.compute.database.password="";if(r.infrastructure?.compute?.managedServices?.vitess?.password)r.infrastructure.compute.managedServices.vitess.password="";return r}function U(e){let r=E(e);return["// Generated by ts-cloud for the management dashboard — do not edit.","//","// This is the project's resolved cloud config, inlined so it needs no","// imports on the box. Credentials are deliberately absent.",`export default ${JSON.stringify(r,null,2)}`,""].join(`
|
|
2
2
|
`)}var G="dashboard";function M(){return S("dashboard-credentials.json")}function H(){return P(24).toString("base64url")}function q(e,r,t){let s=process.env.TS_CLOUD_UI_PASSWORD?.trim();if(s)return{password:s,source:"env"};if(v(process.env.TS_CLOUD_UI_PUBLIC))return{password:void 0,source:"public"};let n=M(),i=_(e,"dashboard-credentials.json");try{if(u(i)){let o=JSON.parse(T(i,"utf8"));if(o?.password)return{password:o.password,source:"generated"}}}catch{}let d=H();try{L(y(i),{recursive:!0}),b(i,`${JSON.stringify({username:r,password:d,generatedAt:new Date().toISOString()},null,2)}
|
|
3
3
|
`),B(i,384),t.info(`Management dashboard: generated a password for '${r}' and saved it to ${n} (read it there — it is not printed). Set TS_CLOUD_UI_PASSWORD to pin your own, or TS_CLOUD_UI_PUBLIC=1 to serve without auth.`)}catch(o){t.warn(`Management dashboard: could not persist the generated password (${o?.message??o}). Using it for this deploy only — pass: ${d}
|
|
4
4
|
This password is now in your deploy log. Set TS_CLOUD_UI_PASSWORD to a value of your own and redeploy once ${n} is writable.`)}return{password:d,source:"generated"}}var R={info:()=>{},warn:()=>{}};function v(e){return e!=null&&e!==""&&e!=="0"&&e.toLowerCase()!=="false"}function K(){return S("dashboard-release")}function j(){let e=y(A(import.meta.url));for(let r of[a(e,"..","..","package.json"),a(e,"..","package.json")])try{let t=JSON.parse(T(r,"utf8"));if(t.name==="@stacksjs/ts-cloud"&&t.version)return`^${t.version}`}catch{}return"latest"}function Q(){return process.env.TS_CLOUD_UI_VERSION?.trim()||j()}function X(e,r,t){if(!e?.project?.slug)return t.warn("Management dashboard: the cloud config has no project slug — skipping the live dashboard."),null;let s=_(r,"dashboard-release");try{L(s,{recursive:!0}),b(a(s,"cloud.config.ts"),U(e));let n=Q();if(n.startsWith("file:")){let d=n.slice(5),o=k(d)?d:W(r,d);if(!u(o)||!J(o).isFile())n=j(),t.warn(`Management dashboard: TS_CLOUD_UI_VERSION points to a missing package file (${o}); using the deploying ts-cloud version ${n} instead.`);else{let c=V(o),l=a(s,c);if(o!==l)F(o,l);n=`file:./${c}`}}let i={name:"ts-cloud-dashboard",private:!0,type:"module",dependencies:{"@stacksjs/ts-cloud":n}};return b(a(s,"package.json"),`${JSON.stringify(i,null,2)}
|
|
5
5
|
`),K()}catch(n){return t.warn(`Management dashboard: could not stage the live release (${n?.message??n}) — skipping.`),null}}function Y(e){if(u(a(e,"packages","ui","pages"))||u(a(e,"packages","ui","package.json")))return{uiRoot:"packages/ui/dist",build:"cd packages/ui && bun install && bun run build"};let r=y(A(import.meta.url)),t=[a(r,"ui"),a(r,"..","ui"),a(r,"..","..","ui"),a(r,"..","dist","ui")];for(let s of t)if(u(a(s,"index.html"))||u(a(s,"serverless.html")))return{uiRoot:s,build:!1};return null}function de(e,r={}){let t=r.logger??R,s=r.cwd??process.cwd();if(v(process.env.TS_CLOUD_UI_DISABLE))return t.info("Management dashboard: skipped (TS_CLOUD_UI_DISABLE set)."),e;if(e.cloud?.attachTo)return t.info(`Management dashboard: ${e.project.slug} is attached to ${e.cloud.attachTo}; the server owner's dashboard monitors every attached project.`),e;if(C(e))return e;let n=e.environments&&Object.keys(e.environments)[0],i=process.env.TS_CLOUD_UI_DOMAIN?.trim()||void 0,d=Number(process.env.TS_CLOUD_UI_PORT)||void 0,o={...e.sites??{}};if(!v(process.env.TS_CLOUD_UI_STATIC)){let g=X(e,s,t);if(!g)return e;let p=m(e,n??"production",{uiRoot:g,build:!1,domain:i,port:d,live:!0});if(p.length===0)return t.info("Management dashboard: no domain resolved (set TS_CLOUD_UI_DOMAIN or configure a site domain) — skipping."),e;for(let{name:N,site:w}of p)o[N]=w,t.info(`Management dashboard → https://${w.domain} (sign in with your ts-cloud account; the first deploy prints an admin password once)`);return e.sites=o,e}let c=Y(s);if(!c)return t.info("Management dashboard: UI not found (no local ui/ or packaged dist/ui) — skipping auto-deploy."),e;let l=process.env.TS_CLOUD_UI_USERNAME?.trim()||"admin",f=q(s,l,t),D=m(e,n??"production",{uiRoot:c.uiRoot,build:c.build,domain:i,username:l,password:f.password,realm:process.env.TS_CLOUD_UI_REALM?.trim()||void 0,live:!1,port:d});if(D.length===0)return t.info("Management dashboard: no domain resolved (set TS_CLOUD_UI_DOMAIN or configure a site domain) — skipping."),e;let x=f.source==="public"?"NO AUTH — TS_CLOUD_UI_PUBLIC is set (dashboard is publicly reachable)":f.source==="env"?"htpasswd-protected (TS_CLOUD_UI_PASSWORD)":`htpasswd-protected (auto-generated — see ${M()})`;t.warn("Management dashboard: static mode — one shared password, and no per-site collaborators. Unset TS_CLOUD_UI_STATIC for the live dashboard.");for(let{name:g,site:p}of D)o[g]=p,t.info(`Management dashboard → https://${p.domain} (${x})`);return e.sites=o,e}function ue(e){return Object.keys(e.sites??{}).filter(I)}function ce(e,r){if(!e?.root)return null;let t=r.cwd??process.cwd(),s=r.logger??R;try{if(typeof e.build==="string"&&e.build.trim())s.info(`Management dashboard: building UI (${e.build})`),O(e.build,{cwd:t,stdio:"inherit"});let n=k(e.root)?e.root:a(t,e.root);if(!u(n))return s.warn(`Management dashboard: build output not found at ${n} — skipping dashboard artifact.`),null;let i=a(z(),`${r.slug}-${r.siteName??G}-${r.sha}.tar.gz`);return O(`tar czf "${i}" -C "${n}" .`,{stdio:"inherit"}),i}catch(n){return s.warn(`Management dashboard: failed to build artifact — ${n?.message??n}. Skipping dashboard deploy.`),null}}
|
|
6
|
-
export{G as
|
|
6
|
+
export{G as kf,M as lf,q as mf,K as nf,Q as of,X as pf,Y as qf,de as rf,ue as sf,ce as tf};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$h as X,$i as Ya,$j as Yb,$k as Yc,$l as Yd,$m as Ye,$n as Zf,$o as Zg,Ah as w,Ai as xa,Aj as xb,Ak as xc,Al as xd,Am as xe,An as yf,Ao as yg,Bh as x,Bi as ya,Bj as yb,Bk as yc,Bl as yd,Bm as ye,Bn as zf,Bo as zg,Ch as y,Ci as za,Cj as zb,Ck as zc,Cl as zd,Cm as ze,Cn as Af,Co as Ag,Dh as z,Di as Aa,Dj as Ab,Dk as Ac,Dl as Ad,Dm as Ae,Dn as Bf,Do as Bg,Eh as A,Ei as Ba,Ej as Bb,Ek as Bc,El as Bd,Em as Be,En as Cf,Eo as Cg,Fh as B,Fi as Ca,Fj as Cb,Fk as Cc,Fl as Cd,Fm as Ce,Fn as Df,Fo as Dg,Gh as C,Gi as Da,Gj as Db,Gk as Dc,Gl as Dd,Gm as De,Gn as Ef,Go as Eg,Hh as D,Hi as Ea,Hj as Eb,Hk as Ec,Hl as Ed,Hm as Ee,Hn as Ff,Ho as Fg,Ih as E,Ii as Fa,Ij as Fb,Ik as Fc,Il as Fd,Im as Fe,In as Gf,Io as Gg,Jh as F,Ji as Ga,Jj as Gb,Jk as Gc,Jl as Gd,Jm as Ge,Jn as Hf,Jo as Hg,Kh as G,Ki as Ha,Kj as Hb,Kk as Hc,Kl as Hd,Km as He,Kn as If,Ko as Ig,Lh as H,Li as Ia,Lj as Ib,Lk as Ic,Ll as Id,Lm as Ie,Ln as Jf,Lo as Jg,Mh as I,Mi as Ja,Mj as Jb,Mk as Jc,Ml as Jd,Mm as Je,Mn as Kf,Mo as Kg,Nh as J,Ni as Ka,Nj as Kb,Nk as Kc,Nl as Kd,Nm as Ke,Nn as Lf,No as Lg,Oh as K,Oi as La,Oj as Lb,Ok as Lc,Ol as Ld,Om as Le,On as Mf,Oo as Mg,Ph as L,Pi as Ma,Pj as Mb,Pk as Mc,Pl as Md,Pm as Me,Pn as Nf,Po as Ng,Qh as M,Qi as Na,Qj as Nb,Qk as Nc,Ql as Nd,Qm as Ne,Qn as Of,Qo as Og,Rh as N,Ri as Oa,Rj as Ob,Rk as Oc,Rl as Od,Rm as Oe,Rn as Pf,Ro as Pg,Sh as O,Si as Pa,Sj as Pb,Sk as Pc,Sl as Pd,Sm as Pe,Sn as Qf,So as Qg,Th as P,Ti as Qa,Tj as Qb,Tk as Qc,Tl as Qd,Tm as Qe,Tn as Rf,To as Rg,Uh as Q,Ui as Ra,Uj as Rb,Uk as Rc,Ul as Rd,Um as Re,Un as Sf,Uo as Sg,Vh as R,Vi as Sa,Vj as Sb,Vk as Sc,Vl as Sd,Vm as Se,Vn as Tf,Vo as Tg,Wh as S,Wi as Ta,Wj as Tb,Wk as Tc,Wl as Td,Wm as Te,Wn as Uf,Wo as Ug,Xh as T,Xi as Ua,Xj as Ub,Xk as Uc,Xl as Ud,Xm as Ue,Xn as Vf,Xo as Vg,Yh as U,Yi as Va,Yj as Vb,Yk as Vc,Yl as Vd,Ym as Ve,Yn as Wf,Yo as Wg,Zh as V,Zi as Wa,Zj as Wb,Zk as Wc,Zl as Wd,Zm as We,Zn as Xf,Zo as Xg,_h as W,_i as Xa,_j as Xb,_k as Xc,_l as Xd,_m as Xe,_n as Yf,_o as Yg,ai as Y,aj as Za,ak as Zb,al as Zc,am as Zd,an as Ze,ao as _f,ap as _g,bi as Z,bj as _a,bk as _b,bl as _c,bm as _d,bn as _e,bo as $f,bp as $g,ci as _,cj as $a,ck as $b,cl as $c,cm as $d,cn as $e,co as ag,cp as ah,di as aa,dj as ab,dk as ac,dl as ad,dm as ae,dn as af,do as bg,dp as bh,eh as a,ei as ba,ej as bb,ek as bc,el as bd,em as be,en as bf,eo as cg,ep as ch,fh as b,fi as ca,fj as cb,fk as cc,fl as cd,fm as ce,fn as cf,fo as dg,fp as dh,gh as c,gi as da,gj as db,gk as dc,gl as dd,gm as de,gn as df,go as eg,gp as eh,hh as d,hi as ea,hj as eb,hk as ec,hl as ed,hm as ee,hn as ef,ho as fg,hp as fh,ih as e,ii as fa,ij as fb,ik as fc,il as fd,im as fe,in as ff,io as gg,ip as gh,jh as f,ji as ga,jj as gb,jk as gc,jl as gd,jm as ge,jn as gf,jo as hg,jp as hh,kh as g,ki as ha,kj as hb,kk as hc,kl as hd,km as he,kn as hf,ko as ig,kp as ih,lh as h,li as ia,lj as ib,lk as ic,ll as id,lm as ie,ln as jf,lo as jg,mh as i,mi as ja,mj as jb,mk as jc,ml as jd,mm as je,mn as kf,mo as kg,nh as j,ni as ka,nj as kb,nk as kc,nl as kd,nm as ke,nn as lf,no as lg,oh as k,oi as la,oj as lb,ok as lc,ol as ld,om as le,on as mf,oo as mg,ph as l,pi as ma,pj as mb,pk as mc,pl as md,pm as me,pn as nf,po as ng,qh as m,qi as na,qj as nb,qk as nc,ql as nd,qm as ne,qn as of,qo as og,rh as n,ri as oa,rj as ob,rk as oc,rl as od,rm as oe,rn as pf,ro as pg,sh as o,si as pa,sj as pb,sk as pc,sl as pd,sm as pe,sn as qf,so as qg,th as p,ti as qa,tj as qb,tk as qc,tl as qd,tm as qe,tn as rf,to as rg,uh as q,ui as ra,uj as rb,uk as rc,ul as rd,um as re,un as sf,uo as sg,vh as r,vi as sa,vj as sb,vk as sc,vl as sd,vm as se,vn as tf,vo as tg,wh as s,wi as ta,wj as tb,wk as tc,wl as td,wm as te,wn as uf,wo as ug,xh as t,xi as ua,xj as ub,xk as uc,xl as ud,xm as ue,xn as vf,xo as vg,yh as u,yi as va,yj as vb,yk as vc,yl as vd,ym as ve,yn as wf,yo as wg,zh as v,zi as wa,zj as wb,zk as wc,zl as wd,zm as we,zn as xf,zo as xg}from"./chunk-anm3ae6z.js";import"./chunk-b2ymh8k0.js";export{Ie as ABTestManager,ra as AI,Sb as AWSAPIError,we as AWSConfigManager,Ja as AWS_PSEUDO_PARAMETERS,Hd as AWS_REGIONS,va as ApiGateway,Ia as Arn,Ba as AssetHasher,za as Auth,se as BackupManager,Zf as BatchProcessingManager,Ee as BlueGreenManager,Jf as BounceComplaintHandler,lf as BuildOptimizationManager,ca as CDN,vg as CHAIN_HEADER,_d as COMMON_CROSS_ACCOUNT_ROLES,ta as Cache,Ge as CanaryManager,ef as CertificateManager,Nb as CloudError,Ka as CloudFormationBuilder,Ib as CloudFormationClient,Mb as CloudFrontClient,ye as CloudTrailManager,ud as CommandHistory,Ga as Communication,fa as Compute,Ob as ConfigurationError,nf as ContainerRegistryManager,Pb as CredentialError,zd as CrossRegionReferenceManager,cb as DASHBOARD_ENTRY,db as DASHBOARD_PORT_BASE,eb as DASHBOARD_PORT_SPAN,bb as DASHBOARD_STATE_DIR,yg as DEFAULT_RECURSION_LIMITS,bc as DEFAULT_SERVICE_LIMITS,q as DEFAULT_STATE_DIR,ug as DEPTH_HEADER,Xf as DLQMonitoringManager,da as DNS,Ff as DNSSECManager,sa as Database,_e as DatabaseUserManager,Wb as DebugLogger,Y as DependencyGraph,Aa as Deployment,Qb as DeploymentError,ue as DisasterRecoveryManager,ia as Email,Rf as EmailAdvanced,Lf as EmailAnalyticsManager,Sf as EmailHandlers,Pf as EmailTemplateManager,Tb as ErrorCodes,Vf as FIFOQueueManager,fc as FileCache,ha as FileSystem,Ha as Fn,Ad as GlobalResourceManager,Ae as GuardDutyManager,pc as HashCache,dh as HealthCheckManager,jf as ImageScanningManager,ma as JobLoader,Vg as LARAVEL_SERVERLESS_BUILD_STEPS,vf as LambdaConcurrencyManager,Bf as LambdaDLQManager,xf as LambdaDestinationsManager,rf as LambdaLayersManager,zf as LambdaVPCManager,tf as LambdaVersionsManager,Qe as LogsManager,hg as MANAGED_NODE_VERSIONS,jb as MANAGEMENT_DASHBOARD_SITE_PREFIX,wa as Messaging,Oe as MetricsManager,Ue as MigrationManager,Nc as MockCloudFormation,Pc as MockDynamoDB,Oc as MockS3,ya as Monitoring,Ud as MultiAccountManager,xd as MultiRegionManager,ed as MultiStepProgress,ga as Network,fh as NetworkSecurityManager,Vd as OrganizationManager,Xg as PHP_DEFAULT_EXCLUDES,mg as PHP_LAYER_EXTENSIONS,Da as ParameterStore,Ye as PerformanceManager,ua as Permissions,ka as Phone,Tf as PhoneAdvanced,ja as PhoneHandlers,Rc as PreviewEnvironmentManager,Wc as PreviewNotificationService,dd as ProgressBar,Ke as ProgressiveDeploymentManager,K as Pseudo,la as Queue,$f as QueueManagementManager,o as QueuePresets,Yd as RECOMMENDED_ACCOUNT_STRUCTURES,Zd as RECOMMENDED_SCPS,rd as REPL,td as REPLCommandBuilder,sd as REPLContext,wc as RateLimiter,p as RealtimePresets,Bg as RecursionGuard,Fa as Redirects,Bd as RegionPairManager,ba as Registry,We as ReplicaManager,hh as ResourceManagementManager,Hf as Route53ResolverManager,Df as Route53RoutingManager,Jb as S3Client,Kb as S3Error,pa as SMS,r as STATE_DIR_ENV_VAR,Ea as Search,Ca as Secrets,cf as SecretsManager,af as SecretsRotationManager,ea as Security,Ce as SecurityHubManager,gf as SecurityScanningManager,Nf as SenderReputationManager,pf as ServiceMeshManager,qa as Sftp,Uf as SmsAdvanced,oa as SmsHandlers,fd as Spinner,Cd as StackDependencyManager,na as StacksIntegration,$g as StaticSiteManager,aa as Storage,bh as StorageAdvancedManager,Se as SyntheticsManager,wg as TRACE_HEADER,gd as TaskList,G as TemplateBuilder,gc as TemplateCache,Rb as ValidationError,xa as Workflow,Me as XRayManager,Je as abTestManager,Z as analyzeStackDiff,fg as artifactKey,md as autocomplete,xe as awsConfigManager,te as backupManager,rc as batch,_f as batchProcessingManager,Fe as blueGreenManager,Kf as bounceComplaintHandler,tg as buildBunRuntimeLayerZip,La as buildCloudFormationTemplate,E as buildMailEnv,sg as buildNodeRuntimeLayerZip,mf as buildOptimizationManager,Wg as buildPhpRuntimeLayerZip,He as canaryManager,Cc as categorizeChanges,ff as certificateManager,_b as checkIAMPermissions,Jg as checkInvocation,cc as checkServiceQuotas,xc as chunk,k as clearSigningKeyCache,Fc as cloudConfigSchema,ze as cloudTrailManager,Zg as collectPhpAppEntries,pb as composePresets,lg as composeServerlessAppTemplate,of as containerRegistryManager,Sa as createApiBackendPreset,Qg as createCliHandler,Eb as createCredentialProvider,ab as createDashboardSite,Xa as createDataPipelinePreset,Vb as createError,Qa as createExistingStaticFullStackPreset,Ra as createFullStackAppPreset,Rg as createHandlers,Og as createHttpHandler,Ua as createJamstackPreset,_a as createLaravelPreset,Ya as createMLApiPreset,Va as createMicroservicesPreset,Qc as createMockAWS,Na as createNodeJsServerPreset,Oa as createNodeJsServerlessPreset,qb as createPreset,d as createPresignedUrl,e as createPresignedUrlAsync,Pg as createQueueHandler,Wa as createRealtimeAppPreset,Lb as createS3Client,$a as createServerlessLaravelPreset,Pa as createServerlessNodePreset,Ma as createStaticSitePreset,Za as createTraditionalWebAppPreset,Ta as createWordPressPreset,bg as createZip,Dd as crossRegionReferenceManager,$e as databaseUserManager,Hc as defaultLocalConfig,z as deploymentCoexistenceError,fb as deriveManagementDashboardPort,x as detectDeploymentTargets,Yb as detectMisconfigurations,a as detectServiceRegion,zc as diffTemplates,Yf as dlqMonitoringManager,Gf as dnssecManager,ve as drManager,Mf as emailAnalyticsManager,Qf as emailTemplateManager,Mg as eventToRequest,ob as extendPreset,Wf as fifoQueueManager,oc as findChangedFiles,ce as formatAccountStructure,$c as formatBytes,_ as formatDiff,ad as formatDuration,od as formatFlagSuggestions,vd as formatHistory,wd as formatHistoryStats,cd as formatKeyValue,bd as formatList,_c as formatProgressBar,Rd as formatRegion,Sd as formatRegionList,id as formatSuggestion,Yc as formatTable,Zc as formatTree,Ab as fromEC2Metadata,Bb as fromECSMetadata,yb as fromEnvironment,zb as fromSharedCredentials,Cb as fromWebIdentity,xg as functionFingerprint,qg as generateAppImageDockerfile,qe as generateApprovalConfig,cg as generateBootstrap,Uc as generateCleanupWorkflow,Vc as generateCostReportWorkflow,ae as generateCrossAccountRoleCF,ne as generateDeploymentConfig,ie as generateDeploymentPipeline,de as generateDeploymentWorkflow,M as generateLogicalId,me as generateManualPipeline,he as generateMatrixWorkflow,oe as generateMultiEnvConfig,je as generateMultiEnvPipeline,ee as generateMultiEnvWorkflow,fe as generatePRPreviewWorkflow,re as generateParallelConfig,Sg as generatePhpFpmConfig,pg as generatePhpLayerDockerfile,ke as generatePreviewPipeline,Tc as generatePreviewWorkflow,L as generateResourceName,pe as generateScheduledConfig,le as generateScheduledPipeline,ge as generateScheduledWorkflow,Hb as getAccountId,Jd as getAllRegions,Od as getClosestRegion,pd as getCommandUsage,kd as getContextualHelp,Db as getCredentials,Dc as getDeploymentStrategy,Ec as getDiffStats,Ac as getDiffSummary,Ub as getErrorDetails,Ic as getLocalConfig,Lc as getLocalCredentials,Kc as getLocalEndpoint,Mc as getLocalEnvVars,dc as getQuotaUsageSummary,$d as getRecommendedStructure,Id as getRegion,Td as getRegionStats,Ld as getRegionsByCompliance,Kd as getRegionsByLocation,Md as getRegionsByPricingTier,$b as getRequiredPermissions,l as getSigningKeyCacheSize,N as getTimestamp,Ed as globalResourceManager,Be as guardDutyManager,ib as hasManagementDashboardSite,kc as hashBuffer,lc as hashDirectory,ic as hashFile,mc as hashManifest,jc as hashString,eh as healthCheckManager,kf as imageScanningManager,Ag as inspectInvocation,Gg as installRecursionFetch,Eg as invocationContext,jd as isLikelyTypo,Jc as isLocalDevelopment,lb as isManagementDashboardSiteName,m as isNodeCryptoAvailable,w as isStatePath,Nd as isValidRegion,n as isWebCryptoAvailable,wf as lambdaConcurrencyManager,Cf as lambdaDLQManager,yf as lambdaDestinationsManager,sf as lambdaLayersManager,Af as lambdaVPCManager,uf as lambdaVersionsManager,Ug as laravelServerlessEnvDefaults,Re as logsManager,B as mailEnabled,D as mailFirewallPorts,f as makeAWSRequest,h as makeAWSRequestAsync,g as makeAWSRequestOnce,kb as managementDashboardSiteName,rb as mergeInfrastructure,Pe as metricsManager,Ve as migrationManager,Wd as multiAccountManager,yd as multiRegionManager,gh as networkSecurityManager,Xd as organizationManager,_g as packagePhpApp,gg as packageServerlessApp,qc as parallel,sc as parallelMap,tc as parallelWithRetry,zg as parseChain,j as parseJSONResponse,i as parseXMLResponse,Ze as performanceManager,og as phpLayerBuildStage,ng as phpLayerPackages,Tg as phpRuntimeLayerAssets,Sc as previewManager,Xc as previewNotifications,yc as processInChunks,Le as progressiveDeploymentManager,Cg as propagationHeaders,ag as queueManagementManager,nc as quickHash,Dg as recursionBlockedResponse,Fd as regionPairManager,Xe as replicaManager,Bc as requiresReplacement,Ig as resetRecursionRuntime,Lg as resolveApp,A as resolveAppDatabase,F as resolveCloudProvider,Fb as resolveCredentials,gb as resolveDashboardDomain,hb as resolveDashboardDomains,U as resolveDeployBucketName,y as resolveDeploymentMode,C as resolveMailService,nb as resolveManagementDashboardSite,mb as resolveManagementDashboardSites,P as resolveProjectStackName,kg as resolveQueueNames,jg as resolveQueues,Fg as resolveRecursionConfig,Gb as resolveRegion,V as resolveServerlessAppStackName,W as resolveServerlessArtifactBucketName,X as resolveServerlessAssetBucketName,ig as resolveServerlessRuntime,S as resolveSiteBucketName,R as resolveSiteResourceName,Q as resolveSiteStackName,v as resolveStatePath,T as resolveStorageBucketName,ih as resourceManagementManager,Ng as responseToResult,If as route53ResolverManager,Ef as route53RoutingManager,dg as runBuildHooks,Yg as runPhpBuildHooks,O as sanitizeName,ld as searchCommands,df as secretsManager,bf as secretsRotationManager,De as securityHubManager,hf as securityScanningManager,Of as senderReputationManager,uc as sequence,qf as serviceMeshManager,s as setStateDir,eg as sha256,Hg as sharedRecursionGuard,rg as sharedRuntimeLoop,b as signRequest,c as signRequestAsync,Gd as stackDependencyManager,t as stateDir,u as statePath,ah as staticSiteManager,ch as storageAdvancedManager,hd as suggestCommand,nd as suggestFlags,ac as suggestIAMPolicy,ec as suggestQuotaIncrease,Qd as suggestRegionPairs,Pd as suggestRegions,Te as syntheticsManager,hc as templateCache,be as validateAccountStructure,Gc as validateAgainstSchema,qd as validateCommand,Xb as validateConfiguration,Zb as validateCredentials,J as validateResourceLimits,H as validateTemplate,I as validateTemplateSize,wb as withCDN,vb as withCache,ub as withDatabase,Kg as withInvocation,sb as withMonitoring,xb as withQueue,tb as withSecurity,vc as withTimeout,Ne as xrayManager};
|
|
1
|
+
import{$h as W,$i as Xa,$j as Xb,$k as Xc,$l as Xd,$m as Xe,$n as Yf,$o as Yg,Ah as v,Ai as wa,Aj as wb,Ak as wc,Al as wd,Am as we,An as xf,Ao as xg,Bh as w,Bi as xa,Bj as xb,Bk as xc,Bl as xd,Bm as xe,Bn as yf,Bo as yg,Ch as x,Ci as ya,Cj as yb,Ck as yc,Cl as yd,Cm as ye,Cn as zf,Co as zg,Dh as y,Di as za,Dj as zb,Dk as zc,Dl as zd,Dm as ze,Dn as Af,Do as Ag,Eh as z,Ei as Aa,Ej as Ab,Ek as Ac,El as Ad,Em as Ae,En as Bf,Eo as Bg,Fh as A,Fi as Ba,Fj as Bb,Fk as Bc,Fl as Bd,Fm as Be,Fn as Cf,Fo as Cg,Gh as B,Gi as Ca,Gj as Cb,Gk as Cc,Gl as Cd,Gm as Ce,Gn as Df,Go as Dg,Hh as C,Hi as Da,Hj as Db,Hk as Dc,Hl as Dd,Hm as De,Hn as Ef,Ho as Eg,Ih as D,Ii as Ea,Ij as Eb,Ik as Ec,Il as Ed,Im as Ee,In as Ff,Io as Fg,Jh as E,Ji as Fa,Jj as Fb,Jk as Fc,Jl as Fd,Jm as Fe,Jn as Gf,Jo as Gg,Kh as F,Ki as Ga,Kj as Gb,Kk as Gc,Kl as Gd,Km as Ge,Kn as Hf,Ko as Hg,Lh as G,Li as Ha,Lj as Hb,Lk as Hc,Ll as Hd,Lm as He,Ln as If,Lo as Ig,Mh as H,Mi as Ia,Mj as Ib,Mk as Ic,Ml as Id,Mm as Ie,Mn as Jf,Mo as Jg,Nh as I,Ni as Ja,Nj as Jb,Nk as Jc,Nl as Jd,Nm as Je,Nn as Kf,No as Kg,Oh as J,Oi as Ka,Oj as Kb,Ok as Kc,Ol as Kd,Om as Ke,On as Lf,Oo as Lg,Ph as K,Pi as La,Pj as Lb,Pk as Lc,Pl as Ld,Pm as Le,Pn as Mf,Po as Mg,Qh as L,Qi as Ma,Qj as Mb,Qk as Mc,Ql as Md,Qm as Me,Qn as Nf,Qo as Ng,Rh as M,Ri as Na,Rj as Nb,Rk as Nc,Rl as Nd,Rm as Ne,Rn as Of,Ro as Og,Sh as N,Si as Oa,Sj as Ob,Sk as Oc,Sl as Od,Sm as Oe,Sn as Pf,So as Pg,Th as O,Ti as Pa,Tj as Pb,Tk as Pc,Tl as Pd,Tm as Pe,Tn as Qf,To as Qg,Uh as P,Ui as Qa,Uj as Qb,Uk as Qc,Ul as Qd,Um as Qe,Un as Rf,Uo as Rg,Vh as Q,Vi as Ra,Vj as Rb,Vk as Rc,Vl as Rd,Vm as Re,Vn as Sf,Vo as Sg,Wh as R,Wi as Sa,Wj as Sb,Wk as Sc,Wl as Sd,Wm as Se,Wn as Tf,Wo as Tg,Xh as S,Xi as Ta,Xj as Tb,Xk as Tc,Xl as Td,Xm as Te,Xn as Uf,Xo as Ug,Yh as T,Yi as Ua,Yj as Ub,Yk as Uc,Yl as Ud,Ym as Ue,Yn as Vf,Yo as Vg,Zh as U,Zi as Va,Zj as Vb,Zk as Vc,Zl as Vd,Zm as Ve,Zn as Wf,Zo as Wg,_h as V,_i as Wa,_j as Wb,_k as Wc,_l as Wd,_m as We,_n as Xf,_o as Xg,ai as X,aj as Ya,ak as Yb,al as Yc,am as Yd,an as Ye,ao as Zf,ap as Zg,bi as Y,bj as Za,bk as Zb,bl as Zc,bm as Zd,bn as Ze,bo as _f,bp as _g,ci as Z,cj as _a,ck as _b,cl as _c,cm as _d,cn as _e,co as $f,cp as $g,di as _,dj as $a,dk as $b,dl as $c,dm as $d,dn as $e,do as ag,dp as ah,ei as aa,ej as ab,ek as ac,el as ad,em as ae,en as af,eo as bg,ep as bh,fh as a,fi as ba,fj as bb,fk as bc,fl as bd,fm as be,fn as bf,fo as cg,fp as ch,gh as b,gi as ca,gj as cb,gk as cc,gl as cd,gm as ce,gn as cf,go as dg,gp as dh,hh as c,hi as da,hj as db,hk as dc,hl as dd,hm as de,hn as df,ho as eg,hp as eh,ih as d,ii as ea,ij as eb,ik as ec,il as ed,im as ee,in as ef,io as fg,ip as fh,jh as e,ji as fa,jj as fb,jk as fc,jl as fd,jm as fe,jn as ff,jo as gg,jp as gh,kh as f,ki as ga,kj as gb,kk as gc,kl as gd,km as ge,kn as gf,ko as hg,kp as hh,lh as g,li as ha,lj as hb,lk as hc,ll as hd,lm as he,ln as hf,lo as ig,lp as ih,mh as h,mi as ia,mj as ib,mk as ic,ml as id,mm as ie,mn as jf,mo as jg,nh as i,ni as ja,nj as jb,nk as jc,nl as jd,nm as je,nn as kf,no as kg,oh as j,oi as ka,oj as kb,ok as kc,ol as kd,om as ke,on as lf,oo as lg,ph as k,pi as la,pj as lb,pk as lc,pl as ld,pm as le,pn as mf,po as mg,qh as l,qi as ma,qj as mb,qk as mc,ql as md,qm as me,qn as nf,qo as ng,rh as m,ri as na,rj as nb,rk as nc,rl as nd,rm as ne,rn as of,ro as og,sh as n,si as oa,sj as ob,sk as oc,sl as od,sm as oe,sn as pf,so as pg,th as o,ti as pa,tj as pb,tk as pc,tl as pd,tm as pe,tn as qf,to as qg,uh as p,ui as qa,uj as qb,uk as qc,ul as qd,um as qe,un as rf,uo as rg,vh as q,vi as ra,vj as rb,vk as rc,vl as rd,vm as re,vn as sf,vo as sg,wh as r,wi as sa,wj as sb,wk as sc,wl as sd,wm as se,wn as tf,wo as tg,xh as s,xi as ta,xj as tb,xk as tc,xl as td,xm as te,xn as uf,xo as ug,yh as t,yi as ua,yj as ub,yk as uc,yl as ud,ym as ue,yn as vf,yo as vg,zh as u,zi as va,zj as vb,zk as vc,zl as vd,zm as ve,zn as wf,zo as wg}from"./chunk-4a97kbk1.js";import"./chunk-ks4ewy1s.js";export{Ie as ABTestManager,ra as AI,Sb as AWSAPIError,we as AWSConfigManager,Ja as AWS_PSEUDO_PARAMETERS,Hd as AWS_REGIONS,va as ApiGateway,Ia as Arn,Ba as AssetHasher,za as Auth,se as BackupManager,Zf as BatchProcessingManager,Ee as BlueGreenManager,Jf as BounceComplaintHandler,lf as BuildOptimizationManager,ca as CDN,vg as CHAIN_HEADER,_d as COMMON_CROSS_ACCOUNT_ROLES,ta as Cache,Ge as CanaryManager,ef as CertificateManager,Nb as CloudError,Ka as CloudFormationBuilder,Ib as CloudFormationClient,Mb as CloudFrontClient,ye as CloudTrailManager,ud as CommandHistory,Ga as Communication,fa as Compute,Ob as ConfigurationError,nf as ContainerRegistryManager,Pb as CredentialError,zd as CrossRegionReferenceManager,cb as DASHBOARD_ENTRY,db as DASHBOARD_PORT_BASE,eb as DASHBOARD_PORT_SPAN,bb as DASHBOARD_STATE_DIR,yg as DEFAULT_RECURSION_LIMITS,bc as DEFAULT_SERVICE_LIMITS,q as DEFAULT_STATE_DIR,ug as DEPTH_HEADER,Xf as DLQMonitoringManager,da as DNS,Ff as DNSSECManager,sa as Database,_e as DatabaseUserManager,Wb as DebugLogger,Y as DependencyGraph,Aa as Deployment,Qb as DeploymentError,ue as DisasterRecoveryManager,ia as Email,Rf as EmailAdvanced,Lf as EmailAnalyticsManager,Sf as EmailHandlers,Pf as EmailTemplateManager,Tb as ErrorCodes,Vf as FIFOQueueManager,fc as FileCache,ha as FileSystem,Ha as Fn,Ad as GlobalResourceManager,Ae as GuardDutyManager,pc as HashCache,dh as HealthCheckManager,jf as ImageScanningManager,ma as JobLoader,Vg as LARAVEL_SERVERLESS_BUILD_STEPS,vf as LambdaConcurrencyManager,Bf as LambdaDLQManager,xf as LambdaDestinationsManager,rf as LambdaLayersManager,zf as LambdaVPCManager,tf as LambdaVersionsManager,Qe as LogsManager,hg as MANAGED_NODE_VERSIONS,jb as MANAGEMENT_DASHBOARD_SITE_PREFIX,wa as Messaging,Oe as MetricsManager,Ue as MigrationManager,Nc as MockCloudFormation,Pc as MockDynamoDB,Oc as MockS3,ya as Monitoring,Ud as MultiAccountManager,xd as MultiRegionManager,ed as MultiStepProgress,ga as Network,fh as NetworkSecurityManager,Vd as OrganizationManager,Xg as PHP_DEFAULT_EXCLUDES,mg as PHP_LAYER_EXTENSIONS,Da as ParameterStore,Ye as PerformanceManager,ua as Permissions,ka as Phone,Tf as PhoneAdvanced,ja as PhoneHandlers,Rc as PreviewEnvironmentManager,Wc as PreviewNotificationService,dd as ProgressBar,Ke as ProgressiveDeploymentManager,K as Pseudo,la as Queue,$f as QueueManagementManager,o as QueuePresets,Yd as RECOMMENDED_ACCOUNT_STRUCTURES,Zd as RECOMMENDED_SCPS,rd as REPL,td as REPLCommandBuilder,sd as REPLContext,wc as RateLimiter,p as RealtimePresets,Bg as RecursionGuard,Fa as Redirects,Bd as RegionPairManager,ba as Registry,We as ReplicaManager,hh as ResourceManagementManager,Hf as Route53ResolverManager,Df as Route53RoutingManager,Jb as S3Client,Kb as S3Error,pa as SMS,r as STATE_DIR_ENV_VAR,Ea as Search,Ca as Secrets,cf as SecretsManager,af as SecretsRotationManager,ea as Security,Ce as SecurityHubManager,gf as SecurityScanningManager,Nf as SenderReputationManager,pf as ServiceMeshManager,qa as Sftp,Uf as SmsAdvanced,oa as SmsHandlers,fd as Spinner,Cd as StackDependencyManager,na as StacksIntegration,$g as StaticSiteManager,aa as Storage,bh as StorageAdvancedManager,Se as SyntheticsManager,wg as TRACE_HEADER,gd as TaskList,G as TemplateBuilder,gc as TemplateCache,Rb as ValidationError,xa as Workflow,Me as XRayManager,Je as abTestManager,Z as analyzeStackDiff,fg as artifactKey,md as autocomplete,xe as awsConfigManager,te as backupManager,rc as batch,_f as batchProcessingManager,Fe as blueGreenManager,Kf as bounceComplaintHandler,tg as buildBunRuntimeLayerZip,La as buildCloudFormationTemplate,E as buildMailEnv,sg as buildNodeRuntimeLayerZip,mf as buildOptimizationManager,Wg as buildPhpRuntimeLayerZip,He as canaryManager,Cc as categorizeChanges,ff as certificateManager,_b as checkIAMPermissions,Jg as checkInvocation,cc as checkServiceQuotas,xc as chunk,k as clearSigningKeyCache,Fc as cloudConfigSchema,ze as cloudTrailManager,Zg as collectPhpAppEntries,pb as composePresets,lg as composeServerlessAppTemplate,of as containerRegistryManager,Sa as createApiBackendPreset,Qg as createCliHandler,Eb as createCredentialProvider,ab as createDashboardSite,Xa as createDataPipelinePreset,Vb as createError,Qa as createExistingStaticFullStackPreset,Ra as createFullStackAppPreset,Rg as createHandlers,Og as createHttpHandler,Ua as createJamstackPreset,_a as createLaravelPreset,Ya as createMLApiPreset,Va as createMicroservicesPreset,Qc as createMockAWS,Na as createNodeJsServerPreset,Oa as createNodeJsServerlessPreset,qb as createPreset,d as createPresignedUrl,e as createPresignedUrlAsync,Pg as createQueueHandler,Wa as createRealtimeAppPreset,Lb as createS3Client,$a as createServerlessLaravelPreset,Pa as createServerlessNodePreset,Ma as createStaticSitePreset,Za as createTraditionalWebAppPreset,Ta as createWordPressPreset,bg as createZip,Dd as crossRegionReferenceManager,$e as databaseUserManager,Hc as defaultLocalConfig,z as deploymentCoexistenceError,fb as deriveManagementDashboardPort,x as detectDeploymentTargets,Yb as detectMisconfigurations,a as detectServiceRegion,zc as diffTemplates,Yf as dlqMonitoringManager,Gf as dnssecManager,ve as drManager,Mf as emailAnalyticsManager,Qf as emailTemplateManager,Mg as eventToRequest,ob as extendPreset,Wf as fifoQueueManager,oc as findChangedFiles,ce as formatAccountStructure,$c as formatBytes,_ as formatDiff,ad as formatDuration,od as formatFlagSuggestions,vd as formatHistory,wd as formatHistoryStats,cd as formatKeyValue,bd as formatList,_c as formatProgressBar,Rd as formatRegion,Sd as formatRegionList,id as formatSuggestion,Yc as formatTable,Zc as formatTree,Ab as fromEC2Metadata,Bb as fromECSMetadata,yb as fromEnvironment,zb as fromSharedCredentials,Cb as fromWebIdentity,xg as functionFingerprint,qg as generateAppImageDockerfile,qe as generateApprovalConfig,cg as generateBootstrap,Uc as generateCleanupWorkflow,Vc as generateCostReportWorkflow,ae as generateCrossAccountRoleCF,ne as generateDeploymentConfig,ie as generateDeploymentPipeline,de as generateDeploymentWorkflow,M as generateLogicalId,me as generateManualPipeline,he as generateMatrixWorkflow,oe as generateMultiEnvConfig,je as generateMultiEnvPipeline,ee as generateMultiEnvWorkflow,fe as generatePRPreviewWorkflow,re as generateParallelConfig,Sg as generatePhpFpmConfig,pg as generatePhpLayerDockerfile,ke as generatePreviewPipeline,Tc as generatePreviewWorkflow,L as generateResourceName,pe as generateScheduledConfig,le as generateScheduledPipeline,ge as generateScheduledWorkflow,Hb as getAccountId,Jd as getAllRegions,Od as getClosestRegion,pd as getCommandUsage,kd as getContextualHelp,Db as getCredentials,Dc as getDeploymentStrategy,Ec as getDiffStats,Ac as getDiffSummary,Ub as getErrorDetails,Ic as getLocalConfig,Lc as getLocalCredentials,Kc as getLocalEndpoint,Mc as getLocalEnvVars,dc as getQuotaUsageSummary,$d as getRecommendedStructure,Id as getRegion,Td as getRegionStats,Ld as getRegionsByCompliance,Kd as getRegionsByLocation,Md as getRegionsByPricingTier,$b as getRequiredPermissions,l as getSigningKeyCacheSize,N as getTimestamp,Ed as globalResourceManager,Be as guardDutyManager,ib as hasManagementDashboardSite,kc as hashBuffer,lc as hashDirectory,ic as hashFile,mc as hashManifest,jc as hashString,eh as healthCheckManager,kf as imageScanningManager,Ag as inspectInvocation,Gg as installRecursionFetch,Eg as invocationContext,jd as isLikelyTypo,Jc as isLocalDevelopment,lb as isManagementDashboardSiteName,m as isNodeCryptoAvailable,w as isStatePath,Nd as isValidRegion,n as isWebCryptoAvailable,wf as lambdaConcurrencyManager,Cf as lambdaDLQManager,yf as lambdaDestinationsManager,sf as lambdaLayersManager,Af as lambdaVPCManager,uf as lambdaVersionsManager,Ug as laravelServerlessEnvDefaults,Re as logsManager,B as mailEnabled,D as mailFirewallPorts,f as makeAWSRequest,h as makeAWSRequestAsync,g as makeAWSRequestOnce,kb as managementDashboardSiteName,rb as mergeInfrastructure,Pe as metricsManager,Ve as migrationManager,Wd as multiAccountManager,yd as multiRegionManager,gh as networkSecurityManager,Xd as organizationManager,_g as packagePhpApp,gg as packageServerlessApp,qc as parallel,sc as parallelMap,tc as parallelWithRetry,zg as parseChain,j as parseJSONResponse,i as parseXMLResponse,Ze as performanceManager,og as phpLayerBuildStage,ng as phpLayerPackages,Tg as phpRuntimeLayerAssets,Sc as previewManager,Xc as previewNotifications,yc as processInChunks,Le as progressiveDeploymentManager,Cg as propagationHeaders,ag as queueManagementManager,nc as quickHash,Dg as recursionBlockedResponse,Fd as regionPairManager,Xe as replicaManager,Bc as requiresReplacement,Ig as resetRecursionRuntime,Lg as resolveApp,A as resolveAppDatabase,F as resolveCloudProvider,Fb as resolveCredentials,gb as resolveDashboardDomain,hb as resolveDashboardDomains,U as resolveDeployBucketName,y as resolveDeploymentMode,C as resolveMailService,nb as resolveManagementDashboardSite,mb as resolveManagementDashboardSites,P as resolveProjectStackName,kg as resolveQueueNames,jg as resolveQueues,Fg as resolveRecursionConfig,Gb as resolveRegion,V as resolveServerlessAppStackName,W as resolveServerlessArtifactBucketName,X as resolveServerlessAssetBucketName,ig as resolveServerlessRuntime,S as resolveSiteBucketName,R as resolveSiteResourceName,Q as resolveSiteStackName,v as resolveStatePath,T as resolveStorageBucketName,ih as resourceManagementManager,Ng as responseToResult,If as route53ResolverManager,Ef as route53RoutingManager,dg as runBuildHooks,Yg as runPhpBuildHooks,O as sanitizeName,ld as searchCommands,df as secretsManager,bf as secretsRotationManager,De as securityHubManager,hf as securityScanningManager,Of as senderReputationManager,uc as sequence,qf as serviceMeshManager,s as setStateDir,eg as sha256,Hg as sharedRecursionGuard,rg as sharedRuntimeLoop,b as signRequest,c as signRequestAsync,Gd as stackDependencyManager,t as stateDir,u as statePath,ah as staticSiteManager,ch as storageAdvancedManager,hd as suggestCommand,nd as suggestFlags,ac as suggestIAMPolicy,ec as suggestQuotaIncrease,Qd as suggestRegionPairs,Pd as suggestRegions,Te as syntheticsManager,hc as templateCache,be as validateAccountStructure,Gc as validateAgainstSchema,qd as validateCommand,Xb as validateConfiguration,Zb as validateCredentials,J as validateResourceLimits,H as validateTemplate,I as validateTemplateSize,wb as withCDN,vb as withCache,ub as withDatabase,Kg as withInvocation,sb as withMonitoring,xb as withQueue,tb as withSecurity,vc as withTimeout,Ne as xrayManager};
|