@stacksjs/ts-cloud 0.9.4 → 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/bin/chunk-0y89hs67.js +6 -0
- package/dist/bin/chunk-21gggxvf.js +2 -0
- package/dist/bin/chunk-26cj89s6.js +1 -0
- package/dist/bin/chunk-35xstvnq.js +1 -0
- package/dist/bin/chunk-41yqpdv7.js +2 -0
- package/dist/bin/chunk-4a85nk2q.js +92 -0
- package/dist/bin/{chunk-rxcvf10f.js → chunk-4a97kbk1.js} +129 -129
- package/dist/bin/chunk-4kbhbfq8.js +34 -0
- package/dist/bin/chunk-4vdv41nh.js +70 -0
- package/dist/bin/chunk-67jsyn0g.js +111 -0
- package/dist/bin/chunk-6tct7e89.js +1 -0
- package/dist/bin/chunk-6vjrts39.js +1 -0
- package/dist/bin/chunk-7v5ff3vc.js +1 -0
- package/dist/bin/chunk-80nra92y.js +1 -0
- package/dist/bin/chunk-9mydnqr6.js +2 -0
- package/dist/bin/chunk-9rsn48qg.js +3 -0
- package/dist/bin/chunk-a2t1e5yb.js +1 -0
- package/dist/bin/chunk-akbfefwq.js +1 -0
- package/dist/bin/chunk-b704nznp.js +1 -0
- package/dist/bin/chunk-c1j9v7ee.js +2 -0
- package/dist/bin/chunk-cjz36ths.js +1 -0
- package/dist/bin/chunk-cxd5cevb.js +2 -0
- package/dist/bin/chunk-dbv8w56s.js +50 -0
- package/dist/bin/chunk-dxchg0g1.js +1 -0
- package/dist/bin/{chunk-tx0tqq2k.js → chunk-e1bfd1yv.js} +6 -6
- package/dist/bin/chunk-fpcghdr3.js +585 -0
- package/dist/bin/chunk-ftse39wf.js +9 -0
- package/dist/bin/chunk-g0ewbkbq.js +1 -0
- package/dist/bin/chunk-gskbezam.js +141 -0
- package/dist/bin/chunk-gvs85t2j.js +1 -0
- package/dist/bin/chunk-hej39dwr.js +2 -0
- package/dist/bin/chunk-jce28gnz.js +2 -0
- package/dist/bin/chunk-kbtrr0c3.js +1 -0
- package/dist/bin/chunk-khrye4x9.js +1 -0
- package/dist/bin/{chunk-mh0kdzqp.js → chunk-ks4ewy1s.js} +1 -1
- package/dist/bin/chunk-mbnwt3r5.js +2 -0
- package/dist/bin/chunk-md2k3n21.js +37 -0
- package/dist/bin/chunk-memfxrcn.js +1 -0
- package/dist/bin/chunk-mwgxyc0z.js +44 -0
- package/dist/bin/chunk-neampxq1.js +4 -0
- package/dist/bin/chunk-nkpf91d3.js +1 -0
- package/dist/bin/chunk-nmkm1f68.js +2 -0
- package/dist/bin/chunk-nyc2jxd8.js +2 -0
- package/dist/bin/chunk-pqr8jqnd.js +1 -0
- package/dist/bin/chunk-q182t9ba.js +3 -0
- package/dist/bin/chunk-r6x7beew.js +60 -0
- package/dist/bin/chunk-rfqk5xym.js +1 -0
- package/dist/bin/{chunk-etrb03mt.js → chunk-ww770qpn.js} +30 -30
- package/dist/bin/chunk-wy20ztb6.js +1 -0
- package/dist/bin/chunk-wzepfqf4.js +512 -0
- package/dist/bin/chunk-xcqmwphz.js +1 -0
- package/dist/bin/chunk-xev7qr2h.js +3 -0
- package/dist/bin/chunk-y3rm37z1.js +6 -0
- package/dist/bin/chunk-zejwh9cy.js +6 -0
- package/dist/bin/chunk-zwwnt4x1.js +1 -0
- package/dist/bin/cli.js +431 -418
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/{chunk-dskvqt67.js → chunk-0hj552t7.js} +127 -127
- package/dist/chunk-1ypkh8g6.js +5 -0
- package/dist/chunk-2m09t0c0.js +60 -0
- package/dist/chunk-7fkyfh65.js +1 -0
- package/dist/chunk-7xpxzbkr.js +442 -0
- package/dist/chunk-8e0az001.js +2 -0
- package/dist/chunk-b10cbk8z.js +44 -0
- package/dist/chunk-gk58959n.js +6 -0
- package/dist/chunk-h1rc94df.js +114 -0
- package/dist/chunk-hbhxk5a0.js +4 -0
- package/dist/chunk-hz7k9ymh.js +1 -0
- package/dist/chunk-kj7gzdj6.js +1 -0
- package/dist/chunk-ky5c6t5y.js +2 -0
- package/dist/chunk-mch30cyc.js +1 -0
- package/dist/chunk-n04a3bgf.js +1 -0
- package/dist/chunk-nnqxmh7f.js +34 -0
- package/dist/chunk-p6vszgc2.js +92 -0
- package/dist/chunk-q2njk4hx.js +141 -0
- package/dist/chunk-qjk1v1gs.js +50 -0
- package/dist/chunk-qtp90j44.js +2 -0
- package/dist/chunk-r5natbed.js +37 -0
- package/dist/chunk-rcxq9aaa.js +704 -0
- package/dist/{chunk-gahsdmxf.js → chunk-s3rpd72x.js} +52 -52
- package/dist/{chunk-xt3s24vr.js → chunk-spx89gaw.js} +1 -1
- package/dist/chunk-t0kh8haz.js +2 -0
- package/dist/chunk-vz95qy3n.js +1 -0
- package/dist/deploy/attach-credentials.d.ts +4 -8
- package/dist/deploy/index.js +1 -1
- package/dist/dns/cloudflare.d.ts +27 -0
- package/dist/dns/godaddy.d.ts +18 -1
- package/dist/dns/index.d.ts +2 -0
- package/dist/dns/index.js +1 -1
- package/dist/dns/zone-migration.d.ts +92 -0
- package/dist/dns/zone-migration.test.d.ts +1 -0
- package/dist/drivers/hetzner/driver.d.ts +8 -1
- package/dist/drivers/index.js +1 -1
- package/dist/drivers/shared/app-updates.d.ts +36 -0
- package/dist/drivers/shared/compute-provision.d.ts +14 -2
- package/dist/drivers/shared/db-provision.d.ts +3 -2
- package/dist/drivers/shared/mail-provision.d.ts +116 -0
- package/dist/drivers/shared/mail-provision.test.d.ts +1 -0
- package/dist/drivers/shared/managed-services-probe.d.ts +47 -0
- package/dist/drivers/shared/managed-services-probe.test.d.ts +1 -0
- package/dist/drivers/shared/package-manager.d.ts +1 -0
- package/dist/drivers/shared/remote-failure.d.ts +21 -0
- package/dist/drivers/shared/remote-failure.test.d.ts +1 -0
- package/dist/drivers/shared/sqlite-shared-path.d.ts +50 -0
- package/dist/drivers/shared/sqlite-shared-path.test.d.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +92 -89
- package/dist/operations/plan.d.ts +136 -0
- package/dist/operations/plan.test.d.ts +1 -0
- package/dist/operations/server-rename.d.ts +84 -0
- package/dist/operations/server-rename.test.d.ts +1 -0
- package/dist/operations/site-move.d.ts +263 -0
- package/dist/operations/site-move.test.d.ts +1 -0
- 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 +80 -80
- package/dist/ui/data/services.html +78 -78
- package/dist/ui/data/volumes.html +50 -50
- package/dist/ui/index.html +50 -50
- package/dist/ui/infrastructure/topology.html +118 -118
- package/dist/ui/integrations.html +2 -2
- package/dist/ui/operations/alerts.html +48 -48
- package/dist/ui/operations/configuration.html +6 -6
- package/dist/ui/operations/jobs.html +75 -75
- package/dist/ui/operations/maintenance.html +6 -6
- package/dist/ui/operations/observability.html +82 -82
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +6 -6
- package/dist/ui/operations/regions.html +6 -6
- package/dist/ui/operations/releases.html +6 -6
- package/dist/ui/operations/spend.html +54 -54
- package/dist/ui/operations/workloads.html +104 -104
- package/dist/ui/security.html +2 -2
- package/dist/ui/server/actions.html +56 -56
- package/dist/ui/server/activity.html +1 -1
- package/dist/ui/server/capacity.html +6 -6
- package/dist/ui/server/database.html +106 -106
- package/dist/ui/server/deployments.html +50 -50
- package/dist/ui/server/diagnostics.html +2 -2
- package/dist/ui/server/firewall.html +76 -76
- package/dist/ui/server/fleet.html +34 -34
- package/dist/ui/server/logs.html +24 -24
- package/dist/ui/server/metrics.html +112 -112
- package/dist/ui/server/security.html +2 -2
- package/dist/ui/server/services.html +27 -27
- package/dist/ui/server/sites.html +120 -120
- package/dist/ui/server/ssh-keys.html +52 -52
- package/dist/ui/server/team.html +144 -144
- package/dist/ui/server/terminal.html +15 -15
- package/dist/ui/serverless/alarms.html +52 -52
- package/dist/ui/serverless/assets.html +27 -27
- package/dist/ui/serverless/cost.html +2 -2
- package/dist/ui/serverless/data.html +36 -36
- package/dist/ui/serverless/deployments.html +27 -27
- package/dist/ui/serverless/firewall.html +1 -1
- package/dist/ui/serverless/functions.html +40 -40
- package/dist/ui/serverless/logs.html +24 -24
- package/dist/ui/serverless/metrics.html +2 -2
- package/dist/ui/serverless/queues.html +48 -48
- package/dist/ui/serverless/secrets.html +51 -51
- package/dist/ui/serverless/traces.html +6 -6
- package/dist/ui/serverless.html +53 -53
- package/dist/ui-src/src/charts.ts +17499 -12662
- package/dist/ui-src/src/topology.ts +2 -2
- package/package.json +3 -3
- package/dist/bin/chunk-00kg80qg.js +0 -1
- package/dist/bin/chunk-09nwf2gy.js +0 -34
- package/dist/bin/chunk-1k5kszjp.js +0 -111
- package/dist/bin/chunk-21e0mavm.js +0 -1
- package/dist/bin/chunk-271gk1n2.js +0 -6
- package/dist/bin/chunk-2empps47.js +0 -2
- package/dist/bin/chunk-38pq971s.js +0 -2
- package/dist/bin/chunk-3gykfyq4.js +0 -37
- package/dist/bin/chunk-3vqfexc4.js +0 -70
- package/dist/bin/chunk-4vrqm9h0.js +0 -2
- package/dist/bin/chunk-598yf4bs.js +0 -1
- package/dist/bin/chunk-5ectjq0b.js +0 -1
- package/dist/bin/chunk-5erkxpt7.js +0 -512
- package/dist/bin/chunk-5mrtzemj.js +0 -1
- package/dist/bin/chunk-5n9fmabb.js +0 -1
- package/dist/bin/chunk-9knpg30y.js +0 -1
- package/dist/bin/chunk-9pvsff8g.js +0 -1
- package/dist/bin/chunk-ax9mr6wm.js +0 -44
- package/dist/bin/chunk-axhnkn5g.js +0 -2
- package/dist/bin/chunk-c1vcdgvr.js +0 -1
- package/dist/bin/chunk-ctd2vg9w.js +0 -2
- package/dist/bin/chunk-dbgffky8.js +0 -1
- package/dist/bin/chunk-ddk4rt4j.js +0 -6
- package/dist/bin/chunk-dwr30vbv.js +0 -1
- package/dist/bin/chunk-e0rkrq70.js +0 -1
- package/dist/bin/chunk-e3xrwh9z.js +0 -1
- package/dist/bin/chunk-fhc6ntvd.js +0 -2
- package/dist/bin/chunk-fpm59y25.js +0 -6
- package/dist/bin/chunk-fvbxvq6b.js +0 -1
- package/dist/bin/chunk-fy8j3y8p.js +0 -92
- package/dist/bin/chunk-fz21b57w.js +0 -1
- package/dist/bin/chunk-gavvf0pg.js +0 -141
- package/dist/bin/chunk-ggn7ax8p.js +0 -4
- package/dist/bin/chunk-gpe2prkm.js +0 -1
- package/dist/bin/chunk-h5pa5men.js +0 -2
- package/dist/bin/chunk-hm08xdxf.js +0 -2
- package/dist/bin/chunk-hzgz13nf.js +0 -1
- package/dist/bin/chunk-j703btc5.js +0 -50
- package/dist/bin/chunk-k9t9wvms.js +0 -1
- package/dist/bin/chunk-m669wtgr.js +0 -1
- package/dist/bin/chunk-m7dgskt1.js +0 -1
- package/dist/bin/chunk-mr0atd2s.js +0 -2
- package/dist/bin/chunk-mz0wbbsj.js +0 -3
- package/dist/bin/chunk-ngcyftm2.js +0 -1
- package/dist/bin/chunk-p66ptpmr.js +0 -2
- package/dist/bin/chunk-qk9qgepa.js +0 -1
- package/dist/bin/chunk-rytk89az.js +0 -60
- package/dist/bin/chunk-tga3hhwk.js +0 -6
- package/dist/bin/chunk-vek8a0w6.js +0 -1
- package/dist/bin/chunk-vm3q5gf2.js +0 -3
- package/dist/bin/chunk-y7s5r8y6.js +0 -3
- package/dist/bin/chunk-yv9sth30.js +0 -1
- package/dist/bin/chunk-zmegvjp8.js +0 -581
- package/dist/chunk-0ccta6z6.js +0 -6
- package/dist/chunk-0k1cs6pp.js +0 -1
- package/dist/chunk-1egjn203.js +0 -704
- package/dist/chunk-2wx29qga.js +0 -5
- package/dist/chunk-5m5rqmv7.js +0 -1
- package/dist/chunk-8ea5022g.js +0 -114
- package/dist/chunk-8xqn3c0w.js +0 -2
- package/dist/chunk-b4esxhmw.js +0 -2
- package/dist/chunk-b8e5wzwn.js +0 -44
- package/dist/chunk-bggt4n6e.js +0 -2
- package/dist/chunk-cwkg37rs.js +0 -37
- package/dist/chunk-gnv3r2jg.js +0 -1
- package/dist/chunk-hg3c48cp.js +0 -34
- package/dist/chunk-m5azeva3.js +0 -2
- package/dist/chunk-r3qf56b3.js +0 -92
- package/dist/chunk-sdqa9ghv.js +0 -141
- package/dist/chunk-svrvvcm7.js +0 -1
- package/dist/chunk-v0p3hpc3.js +0 -60
- package/dist/chunk-wdzjbecg.js +0 -50
- package/dist/chunk-ww8k3g7j.js +0 -1
- package/dist/chunk-xmqfc62w.js +0 -1
- package/dist/chunk-xrebj679.js +0 -435
- package/dist/chunk-y21zk0pn.js +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as k,b as l,c as m,d as n,e as o,f as p,g as q,h as z,i as A,j as B,k as C,l as D,m as E,n as F,o as G}from"./chunk-hzgz13nf.js";import{Je as H,Ke as I,Le as J,Me as K,Ne as L,Oe as M}from"./chunk-3gykfyq4.js";import{Pe as r,Qe as s,Re as t,Se as u,Te as v,Ue as w,Ve as x,We as y}from"./chunk-ax9mr6wm.js";import{do as a,eo as b,fo as c,go as d,ho as e,io as f,jo as g,ko as h,lo as i,mo as j}from"./chunk-rxcvf10f.js";import"./chunk-mh0kdzqp.js";export{M as wafEventTelemetry,t as sysctlHardening,m as ruleMatches,L as renderWafInstallScript,K as renderWafConfig,u as renderSysctlFile,v as renderNftablesRuleset,w as renderDdosInstallScript,j as recursionBlockedResponse,n as rateLimitKey,p as rateLimitHeaders,i as propagationHeaders,x as planMitigation,f as parseChain,G as mergeControlsIntoConfig,s as isValidCidr,I as isSafePattern,g as inspectInvocation,J as globToRegex,l as globMatches,d as functionFingerprint,H as escapeSecLang,D as describePosture,q as defaultRateLimitRules,y as applyMitigationFactor,E as applyControlsToRateLimits,F as applyControlsToDdos,c as TRACE_HEADER,h as RecursionGuard,o as RateLimiter,k as RATE_LIMIT_KEY_SEPARATOR,C as ProtectionControlStore,z as PROTECTION_SETTING,A as MAX_CONTROL_HOURS,a as DEPTH_HEADER,e as DEFAULT_RECURSION_LIMITS,r as DEFAULT_DDOS_THRESHOLDS,B as DEFAULT_ATTACK_MODE_HOURS,b as CHAIN_HEADER};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{Uo as M,Vo as O}from"./chunk-mh0kdzqp.js";var b={};M(b,{warning:()=>$,warn:()=>_,table:()=>W,success:()=>Y,step:()=>L,select:()=>S,prompt:()=>U,info:()=>T,header:()=>k,getAwsRegions:()=>V,getAwsAccountId:()=>C,formatDuration:()=>z,formatBytes:()=>v,error:()=>Z,confirm:()=>I,colors:()=>B,colorize:()=>K,checkAwsCredentials:()=>y,checkAwsCli:()=>R,box:()=>A,Spinner:()=>D,ProgressBar:()=>G});var B={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 K(j,q){return`${B[q]}${j}${B.reset}`}function Y(j){console.log(`${B.green}✓${B.reset} ${j}`)}function Z(j){console.error(`${B.red}✗${B.reset} ${j}`)}function _(j){console.warn(`${B.yellow}⚠${B.reset} ${j}`)}var $=_;function T(j){console.log(`${B.blue}ℹ${B.reset} ${j}`)}function L(j){console.log(`${B.cyan}→${B.reset} ${j}`)}function k(j){console.log(`
|
|
2
|
-
${B.bright}${B.cyan}${j}${B.reset}
|
|
3
|
-
`)}var Q=!!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.BUILDKITE||process.env.CIRCLECI||process.env.GITLAB_CI);class D{frames=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];interval=null;currentFrame=0;message;constructor(j){this.message=j}get text(){return this.message}set text(j){if(this.message=j,Q&&this.interval)console.log(` ${j}`)}start(){if(Q){console.log(` ${this.message}`),this.interval=!0;return}this.interval=setInterval(()=>{process.stdout.write(`\r${B.cyan}${this.frames[this.currentFrame]}${B.reset} ${this.message}`),this.currentFrame=(this.currentFrame+1)%this.frames.length},80)}succeed(j){this.stop(),Y(j||this.message)}fail(j){this.stop(),Z(j||this.message)}warn(j){this.stop(),$(j||this.message)}stop(){if(this.interval){if(!Q)process.stdout.write("\r");if(typeof this.interval==="object")clearInterval(this.interval);this.interval=null}}}class G{total;current=0;width=40;constructor(j){this.total=j}update(j){this.current=j,this.render()}increment(){this.current++,this.render()}render(){let j=Math.floor(this.current/this.total*100),q=Math.floor(this.current/this.total*this.width),E=this.width-q,F=`${"█".repeat(q)}${"░".repeat(E)}`;if(process.stdout.write(`\r${B.cyan}${F}${B.reset} ${j}% (${this.current}/${this.total})`),this.current>=this.total)process.stdout.write(`
|
|
4
|
-
`)}}async function U(j,q){let F=(await import("node:readline")).createInterface({input:process.stdin,output:process.stdout});return new Promise((J)=>{let H=q?`${B.cyan}?${B.reset} ${j} ${B.gray}(${q})${B.reset}: `:`${B.cyan}?${B.reset} ${j}: `;F.question(H,(N)=>{F.close(),J(N||q||"")})})}async function I(j,q=!1){let E=await U(`${j} (y/n)`,q?"y":"n");return E.toLowerCase()==="y"||E.toLowerCase()==="yes"}async function S(j,q){console.log(`${B.cyan}?${B.reset} ${j}`),q.forEach((J,H)=>{console.log(` ${B.gray}${H+1}.${B.reset} ${J}`)});let E=await U("Select","1"),F=Number.parseInt(E)-1;if(F>=0&&F<q.length)return q[F];return q[0]}function W(j,q){let E=j.map((J,H)=>{let N=Math.max(...q.map((P)=>(P[H]||"").length));return Math.max(J.length,N)}),F=j.map((J,H)=>J.padEnd(E[H])).join(" ");console.log(K(F,"bright")),console.log(K("─".repeat(F.length),"gray")),q.forEach((J)=>{let H=J.map((N,P)=>(N||"").padEnd(E[P])).join(" ");console.log(H)})}function v(j){if(j===0)return"0 B";let q=1024,E=["B","KB","MB","GB","TB"],F=Math.floor(Math.log(j)/Math.log(q));return`${Number.parseFloat((j/q**F).toFixed(2))} ${E[F]}`}function z(j){if(j<1000)return`${j}ms`;let q=Math.floor(j/1000);if(q<60)return`${q}s`;let E=Math.floor(q/60),F=q%60;if(E<60)return`${E}m ${F}s`;let J=Math.floor(E/60),H=E%60;return`${J}h ${H}m`}function A(j,q="cyan"){let E=j.split(`
|
|
5
|
-
`),F=Math.max(...E.map((H)=>H.length)),J="─".repeat(F+2);console.log(K(`┌${J}┐`,q)),E.forEach((H)=>{console.log(K(`│ ${H.padEnd(F)} │`,q))}),console.log(K(`└${J}┘`,q))}async function R(){return!0}async function y(){try{let{AWSClient:j}=await import("./chunk-dbgffky8.js");return await new j().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 C(){try{let{AWSClient:j}=await import("./chunk-dbgffky8.js"),E=await new j().request({service:"sts",region:"us-east-1",method:"POST",path:"/",body:new URLSearchParams({Action:"GetCallerIdentity",Version:"2011-06-15"}).toString()});return E.Account||E.GetCallerIdentityResult?.Account||null}catch{return null}}async function V(){try{let{AWSClient:j}=await import("./chunk-dbgffky8.js"),E=await new j().request({service:"ec2",region:"us-east-1",method:"POST",path:"/",body:new URLSearchParams({Action:"DescribeRegions",Version:"2016-11-15"}).toString()}),F=[];if(E.regionInfo){let J=Array.isArray(E.regionInfo)?E.regionInfo:[E.regionInfo];F.push(...J.map((H)=>H.regionName))}return F.length>0?F:X()}catch{return X()}}function X(){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{B as sg,K as tg,Y as ug,Z as vg,_ as wg,$ as xg,T as yg,L as zg,k as Ag,D as Bg,U as Cg,I as Dg,S as Eg,W as Fg,v as Gg,A as Hg,R as Ig,y as Jg,C as Kg,V as Lg,b as Mg};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{rg as w}from"./chunk-mr0atd2s.js";import{yg as E}from"./chunk-271gk1n2.js";import{$n as R,Co as u,Ho as D,Io as F,Pn as H,Rn as C}from"./chunk-rxcvf10f.js";import{execFileSync as P}from"node:child_process";import{mkdirSync as _,mkdtempSync as k,rmSync as S,writeFileSync as Z}from"node:fs";import{tmpdir as m}from"node:os";import{dirname as h,join as J}from"node:path";function A(M,q){for(let z of q){let V=J(M,z.name);_(h(V),{recursive:!0}),Z(V,z.data,z.mode?{mode:z.mode}:void 0)}}async function p(M){let{app:q,projectRoot:z,region:V,repository:W}=M,b=q.architecture??"x86_64",f=b==="arm64"?"linux/arm64":"linux/amd64",U=q.kind==="php",K=M.onStep??(()=>{}),N=k(J(m(),"tscloud-img-"));try{let $=J(N,"app");_($,{recursive:!0});let v,B;if(U){D({projectRoot:z,app:q,skipBuild:M.skipBuild,onStep:K}),K("staging application tree");let G=F(z);A($,G),A(J(N,"runtime"),u().map((T)=>({name:T.path,data:T.contents,mode:T.mode})));let O=q.handlers?.http??"public/index.php";v={http:O,queue:q.handlers?.queue??O,cli:q.handlers?.cli??O},B=H(G.map((T)=>`${T.name}:${T.data.length}`).join("|"))}else{K("bundling application");let G=await C({projectRoot:z,app:q,skipBuild:M.skipBuild,onStep:K});Z(J($,"index.mjs"),G.bundle),v=G.handlers,B=G.sha256}let x=B.slice(0,16);Z(J(N,"Dockerfile"),R({kind:q.kind??"node",phpVersion:q.phpVersion,architecture:b}));let I=new w(V),Q;try{Q=(await I.describeRepositories({repositoryNames:[W]})).repositories?.[0]?.repositoryUri??""}catch{Q=""}if(!Q)K(`creating ECR repository ${W}`),Q=(await I.createRepository({repositoryName:W,imageScanningConfiguration:{scanOnPush:!0}})).repository?.repositoryUri??"";if(!Q)throw Error(`could not resolve ECR repository URI for ${W}`);let X=`${Q}:${x}`;K("docker build"),P("docker",["build","--platform",f,"--provenance=false","--sbom=false","-t",X,N],{stdio:"inherit"}),K("ecr auth + push");let Y=(await I.getAuthorizationToken()).authorizationData?.[0];if(!Y?.authorizationToken||!Y.proxyEndpoint)throw Error("failed to get an ECR authorization token");let j=Y.proxyEndpoint.replace(/^https?:\/\//,""),L=J(N,".docker");return _(L,{recursive:!0}),Z(J(L,"config.json"),JSON.stringify({auths:{[j]:{auth:Y.authorizationToken}}})),P("docker",["push",X],{stdio:"inherit",env:{...process.env,DOCKER_CONFIG:L}}),E(`Image: ${X}`),{imageUri:X,tag:x,handlers:v}}finally{S(N,{recursive:!0,force:!0})}}
|
|
2
|
-
export{p as qg};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
var Y={mode:"detection",paranoiaLevel:1,inboundThreshold:5,outboundThreshold:4,maxBodyBytes:13107200,rejectOversizedBody:!0,auditLogPath:"/var/log/ts-cloud/waf-audit.log",blockStatus:403},C={bypassBase:1e5,exclusionBase:101000,rateLimitBase:102000,customBase:109000};function X(q){return q.replace(/\\/g,"\\\\").replace(/"/g,"\\\"").replace(/[\r\n]+/g," ")}function W(q){if(q.length>1000)return!1;if(/\([^)]*[+*]\)[+*]/.test(q))return!1;if(/\[[^\]]*\][+*]\{/.test(q))return!1;try{return new RegExp(q),!0}catch{return!1}}function R(q,V){let G=[],K=[],J=V;for(let H of q){if(H.enabled===!1)continue;if(H.key&&(H.key.source==="cookie"||H.key.source==="header")&&!H.key.name){K.push({ruleId:H.id,reason:"The rule keys on a header or cookie but names none."});continue}let $=H.path?_(H.path):".*";if(!W($)){K.push({ruleId:H.id,reason:"The path pattern compiles to an unsafe regular expression."});continue}let Z=[`SecRule REQUEST_URI "@rx ${X($)}"`];if(H.methods?.length)Z.push(` "chain,id:${J},phase:1,pass,nolog,setvar:'tx.ts_cloud_ratelimit=${X(H.id)}'"`);else Z.push(` "id:${J},phase:1,pass,nolog,setvar:'tx.ts_cloud_ratelimit=${X(H.id)}'"`);if(G.push(`# Marks requests governed by the ts-cloud rate limit "${X(H.id)}".`),G.push(Z.join(" \\\n")),H.methods?.length)G.push(` SecRule REQUEST_METHOD "@within ${X(H.methods.join(" ").toUpperCase())}" "t:none"`);G.push(""),J++}return{lines:G,unmapped:K}}function _(q){return`^${q.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"\x01").replace(/\*/g,"[^/]*").replace(/\u0001/g,".*")}$`}function y(q={},V=[]){let G=q.mode??Y.mode,K=[],J=q.paranoiaLevel??Y.paranoiaLevel,H=q.inboundThreshold??Y.inboundThreshold,$=q.outboundThreshold??Y.outboundThreshold,Z=q.maxBodyBytes??Y.maxBodyBytes,j=q.rejectOversizedBody!==!1;if(G==="blocking"&&J>=3)K.push(`Paranoia level ${J} blocks legitimate traffic on most applications until it is tuned. Run it in detection mode first.`);if(G==="blocking")K.push("zig-waf is pre-alpha. Blocking mode makes it a failure path for every request.");if(!j)K.push("Oversized bodies are passed through uninspected, so padding a request bypasses every rule.");if(q.bypassPaths?.length)K.push(`${q.bypassPaths.length} path(s) bypass inspection entirely.`);let Q=["# Managed by ts-cloud. Edits are overwritten on the next deploy.",`# Mode: ${G}. Paranoia level: ${J}.`,""];if(G==="off")return Q.push("SecRuleEngine Off",""),{config:`${Q.join(`
|
|
2
|
-
`)}
|
|
3
|
-
`,unmappedRateLimits:[],warnings:K,mode:G};Q.push(`SecRuleEngine ${G==="blocking"?"On":"DetectionOnly"}`,"SecRequestBodyAccess On","SecResponseBodyAccess Off",`SecRequestBodyLimit ${Z}`,`SecRequestBodyNoFilesLimit ${Math.min(Z,131072)}`,`SecRequestBodyLimitAction ${j?"Reject":"ProcessPartial"}`,"SecRequestBodyInMemoryLimit 131072",`SecAuditEngine ${G==="blocking"?"RelevantOnly":"On"}`,"SecAuditLogParts ABIJDEFHZ",`SecAuditLog ${X(q.auditLogPath??Y.auditLogPath)}`,"SecAuditLogType Serial",`SecDefaultAction "phase:1,log,auditlog,${G==="blocking"?`deny,status:${q.blockStatus??Y.blockStatus}`:"pass"}"`,"","# CRS anomaly scoring setup.",`SecAction "id:900000,phase:1,pass,nolog,t:none,setvar:tx.paranoia_level=${J}"`,`SecAction "id:900001,phase:1,pass,nolog,t:none,setvar:tx.inbound_anomaly_score_threshold=${H}"`,`SecAction "id:900002,phase:1,pass,nolog,t:none,setvar:tx.outbound_anomaly_score_threshold=${$}"`,'SecAction "id:900003,phase:1,pass,nolog,t:none,setvar:tx.critical_anomaly_score=5,setvar:tx.error_anomaly_score=4,setvar:tx.warning_anomaly_score=3,setvar:tx.notice_anomaly_score=2"','SecAction "id:900004,phase:1,pass,nolog,t:none,setvar:tx.anomaly_score=0"',"");let z=C.bypassBase;for(let N of q.bypassPaths??[]){let k=_(N);if(!W(k)){K.push(`Bypass path "${N}" was dropped: it compiles to an unsafe regular expression.`);continue}Q.push(`# Inspection bypass for ${X(N)}. Every bypass is an unguarded route.`,`SecRule REQUEST_URI "@rx ${X(k)}" "id:${z},phase:1,pass,nolog,ctl:ruleEngine=Off"`,""),z++}let B=C.exclusionBase;for(let N of q.exclusions??[]){if(!Number.isInteger(N.ruleId)||N.ruleId<=0){K.push(`Exclusion with rule id "${N.ruleId}" was dropped: the id is not a positive integer.`);continue}if(Q.push(`# ${X(N.reason)}`),N.pathPattern){if(!W(N.pathPattern)){K.push(`Exclusion for rule ${N.ruleId} was dropped: its path pattern is unsafe.`);continue}Q.push(`SecRule REQUEST_URI "@rx ${X(N.pathPattern)}" "id:${B},phase:1,pass,nolog,ctl:ruleRemoveById=${N.ruleId}"`),B++}else Q.push(`SecRuleRemoveById ${N.ruleId}`);Q.push("")}let M=R(V,C.rateLimitBase);if(M.lines.length>0)Q.push("# Rate-limit route markers. SecLang has no counters, so the tag is set","# here and the counting stays in the ts-cloud limiter.",...M.lines);let O=C.customBase;for(let N of q.customRules??[])Q.push(`# Operator-supplied rule ${O}.`,N.trim(),""),O++;if(G==="blocking")Q.push("# Blocking decision: one rule, at the end, on the accumulated score.",`SecRule TX:ANOMALY_SCORE "@ge %{tx.inbound_anomaly_score_threshold}" "id:949110,phase:2,deny,status:${q.blockStatus??Y.blockStatus},log,msg:'Inbound anomaly score exceeded (total: %{tx.anomaly_score})'"`,"");return{config:`${Q.join(`
|
|
4
|
-
`)}
|
|
5
|
-
`,unmappedRateLimits:M.unmapped,warnings:K,mode:G}}function A(q={},V=[],G={}){let K=G.binary??"/usr/local/bin/zig-waf",J=G.configPath??"/etc/ts-cloud/waf.conf",H=y(q,V);return`#!/usr/bin/env bash
|
|
6
|
-
# Managed by ts-cloud. Installs the zig-waf ruleset.
|
|
7
|
-
set -euo pipefail
|
|
8
|
-
|
|
9
|
-
if [ ! -x "${K}" ]; then
|
|
10
|
-
echo "ts-cloud: ${K} is not installed; skipping WAF configuration" >&2
|
|
11
|
-
exit 0
|
|
12
|
-
fi
|
|
13
|
-
|
|
14
|
-
install -d -m 0755 "$(dirname "${J}")"
|
|
15
|
-
install -d -m 0750 /var/log/ts-cloud
|
|
16
|
-
|
|
17
|
-
cat > "${J}.new" <<'WAF_EOF'
|
|
18
|
-
${H.config}WAF_EOF
|
|
19
|
-
|
|
20
|
-
# Compile the config before it goes live. A config that does not validate
|
|
21
|
-
# would leave the engine with no rules while still reporting itself enabled.
|
|
22
|
-
if ! "${K}" validate "${J}.new"; then
|
|
23
|
-
echo "ts-cloud: generated WAF config failed validation, keeping the previous one" >&2
|
|
24
|
-
rm -f "${J}.new"
|
|
25
|
-
exit 1
|
|
26
|
-
fi
|
|
27
|
-
|
|
28
|
-
if [ -f "${J}" ] && cmp -s "${J}.new" "${J}"; then
|
|
29
|
-
rm -f "${J}.new"
|
|
30
|
-
echo "ts-cloud: WAF config unchanged"
|
|
31
|
-
exit 0
|
|
32
|
-
fi
|
|
33
|
-
|
|
34
|
-
mv "${J}.new" "${J}"
|
|
35
|
-
echo "ts-cloud: WAF config installed (mode: ${H.mode})"
|
|
36
|
-
`}function F(q,V){return q.map((G)=>({projectId:V.projectId,environmentId:V.environmentId,resourceId:V.resourceId,kind:"event",source:"zig-waf",name:G.action==="blocked"?"waf.blocked":"waf.matched",timestamp:G.timestamp,value:1,host:G.host,pathTemplate:G.path,method:G.method,attributes:{ruleId:G.ruleId??null,anomalyScore:G.anomalyScore,action:G.action,messages:G.messages.slice(0,5)}}))}
|
|
37
|
-
export{X as Je,W as Ke,_ as Le,y as Me,A as Ne,F as Oe};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import{qh as T}from"./chunk-rxcvf10f.js";import"./chunk-mh0kdzqp.js";function _(q){let j=q.sites||{};for(let D of Object.values(j))if(D?.repository?.url)return{provider:D.repository.provider,branch:D.repository.branch};return}function x(q){let j=q.trim().toLowerCase();if(j.includes("github.com"))return"github";if(j.includes("gitlab.com"))return"gitlab";if(j.includes("bitbucket.org"))return"bitbucket";return}function Q(q){return`'${q.replace(/'/g,"'\\''")}'`}function $(q){return q.replace(/'/g,"''")}function k(q,j){let D=["bunx --bun @stacksjs/ts-cloud deploy","--env",Q(q)];if(j.site)D.push("--site",Q(j.site));if(j.skipDnsVerification)D.push("--skip-dns-verification");return D.push("--yes"),D.join(" ")}function I(q,j="production",D={}){let N=_(q),F=D.provider||N?.provider;if(F!=="github"&&F!=="gitlab"&&F!=="bitbucket")return null;let G=q.environments?.[j],H=G?.deployBranch||N?.branch||"main",L=k(j,D),M=JSON.stringify(H),V=JSON.stringify(j),O=G?.domain?G.domain.startsWith("http")?G.domain:`https://${G.domain}`:void 0,W=O?`
|
|
2
|
-
url: ${JSON.stringify(O)}`:"",X=D.setup==="pantry"?` - name: Setup Pantry
|
|
3
|
-
uses: home-lang/pantry/packages/action@main`:` - uses: oven-sh/setup-bun@v2
|
|
4
|
-
- run: bun install --frozen-lockfile`,Y=T(q)==="hetzner"&&!!q.infrastructure?.compute,J=D.sshPrivateKeySecret||"SSH_PRIVATE_KEY";if(!/^[A-Z_][A-Z0-9_]*$/i.test(J))throw Error(`Invalid SSH private key secret name '${J}'`);let Z=Y?`
|
|
5
|
-
- name: Configure deployment SSH key
|
|
6
|
-
env:
|
|
7
|
-
SSH_PRIVATE_KEY: \${{ secrets.${J} }}
|
|
8
|
-
run: |
|
|
9
|
-
if [ -z "$SSH_PRIVATE_KEY" ]; then
|
|
10
|
-
echo "::error::${J} is required for Hetzner compute deployments"
|
|
11
|
-
exit 1
|
|
12
|
-
fi
|
|
13
|
-
install -d -m 700 "$HOME/.ssh"
|
|
14
|
-
printf '%s\\n' "$SSH_PRIVATE_KEY" | tr -d '\\r' > "$HOME/.ssh/id_ed25519"
|
|
15
|
-
chmod 600 "$HOME/.ssh/id_ed25519"
|
|
16
|
-
ssh-keygen -y -f "$HOME/.ssh/id_ed25519" > "$HOME/.ssh/id_ed25519.pub"
|
|
17
|
-
`:"";if(F==="github")return{provider:F,branch:H,path:".github/workflows/deploy.yml",content:`name: Deploy ${j}
|
|
18
|
-
run-name: Deploy ${j} from \${{ github.ref_name }}
|
|
19
|
-
|
|
20
|
-
on:
|
|
21
|
-
push:
|
|
22
|
-
branches: [${M}]
|
|
23
|
-
workflow_dispatch:
|
|
24
|
-
|
|
25
|
-
permissions:
|
|
26
|
-
contents: read
|
|
27
|
-
|
|
28
|
-
concurrency:
|
|
29
|
-
group: ts-cloud-${j}
|
|
30
|
-
cancel-in-progress: false
|
|
31
|
-
|
|
32
|
-
jobs:
|
|
33
|
-
deploy:
|
|
34
|
-
if: github.ref_name == '${$(H)}'
|
|
35
|
-
runs-on: ubuntu-latest
|
|
36
|
-
environment:
|
|
37
|
-
name: ${V}${W}
|
|
38
|
-
steps:
|
|
39
|
-
- uses: actions/checkout@v6
|
|
40
|
-
${X}
|
|
41
|
-
${Z}
|
|
42
|
-
# Provide the provider credentials your config needs as repo secrets.
|
|
43
|
-
- run: ${L}
|
|
44
|
-
env:
|
|
45
|
-
HCLOUD_TOKEN: \${{ secrets.HCLOUD_TOKEN }}
|
|
46
|
-
HETZNER_API_TOKEN: \${{ secrets.HETZNER_API_TOKEN }}
|
|
47
|
-
AWS_ACCESS_KEY_ID: \${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
48
|
-
AWS_SECRET_ACCESS_KEY: \${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
49
|
-
TS_CLOUD_UI_DISABLE: '1'
|
|
50
|
-
`};if(F==="gitlab")return{provider:F,branch:H,path:".gitlab-ci.yml",content:`deploy:
|
|
51
|
-
image: oven/bun:latest
|
|
52
|
-
rules:
|
|
53
|
-
- if: '$CI_COMMIT_BRANCH == ${M}'
|
|
54
|
-
environment: ${j}
|
|
55
|
-
script:
|
|
56
|
-
- bun install --frozen-lockfile
|
|
57
|
-
- ${L}
|
|
58
|
-
# Set HCLOUD_TOKEN / HETZNER_API_TOKEN / AWS credentials as CI variables.
|
|
59
|
-
`};return{provider:F,branch:H,path:"bitbucket-pipelines.yml",content:`pipelines:
|
|
60
|
-
branches:
|
|
61
|
-
${M}:
|
|
62
|
-
- step:
|
|
63
|
-
name: Deploy ${j}
|
|
64
|
-
deployment: ${j}
|
|
65
|
-
image: oven/bun:latest
|
|
66
|
-
script:
|
|
67
|
-
- bun install --frozen-lockfile
|
|
68
|
-
- ${L}
|
|
69
|
-
# Set HCLOUD_TOKEN / HETZNER_API_TOKEN / AWS credentials as repo variables.
|
|
70
|
-
`}}export{x as inferQuickDeployProvider,I as buildQuickDeployCi};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Og as E}from"./chunk-fpm59y25.js";class J{client;region;constructor(b="us-east-1",w){this.region=b,this.client=new E}async createQueue(b){let h={Action:"CreateQueue",QueueName:b.fifo&&!b.queueName.endsWith(".fifo")?`${b.queueName}.fifo`:b.queueName,Version:"2012-11-05"},j=1;if(b.visibilityTimeout!==void 0)h[`Attribute.${j}.Name`]="VisibilityTimeout",h[`Attribute.${j}.Value`]=b.visibilityTimeout.toString(),j++;if(b.messageRetentionPeriod!==void 0)h[`Attribute.${j}.Name`]="MessageRetentionPeriod",h[`Attribute.${j}.Value`]=b.messageRetentionPeriod.toString(),j++;if(b.delaySeconds!==void 0)h[`Attribute.${j}.Name`]="DelaySeconds",h[`Attribute.${j}.Value`]=b.delaySeconds.toString(),j++;if(b.maxMessageSize!==void 0)h[`Attribute.${j}.Name`]="MaximumMessageSize",h[`Attribute.${j}.Value`]=b.maxMessageSize.toString(),j++;if(b.receiveMessageWaitTime!==void 0)h[`Attribute.${j}.Name`]="ReceiveMessageWaitTimeSeconds",h[`Attribute.${j}.Value`]=b.receiveMessageWaitTime.toString(),j++;if(b.fifo){if(h[`Attribute.${j}.Name`]="FifoQueue",h[`Attribute.${j}.Value`]="true",j++,b.contentBasedDeduplication)h[`Attribute.${j}.Name`]="ContentBasedDeduplication",h[`Attribute.${j}.Value`]="true",j++}if(b.deadLetterTargetArn&&b.maxReceiveCount)h[`Attribute.${j}.Name`]="RedrivePolicy",h[`Attribute.${j}.Value`]=JSON.stringify({deadLetterTargetArn:b.deadLetterTargetArn,maxReceiveCount:b.maxReceiveCount}),j++;if(b.tags&&Object.keys(b.tags).length>0){let B=1;for(let[F,G]of Object.entries(b.tags))h[`Tag.${B}.Key`]=F,h[`Tag.${B}.Value`]=G,B++}let z=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(h).toString()});return{QueueUrl:z.QueueUrl||z.CreateQueueResult?.QueueUrl}}async listQueues(b){let w={Action:"ListQueues",Version:"2012-11-05"};if(b)w.QueueNamePrefix=b;let h=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()}),j=[];if(h.QueueUrl)j.push(h.QueueUrl);else if(h.ListQueuesResult?.QueueUrl)if(Array.isArray(h.ListQueuesResult.QueueUrl))j.push(...h.ListQueuesResult.QueueUrl);else j.push(h.ListQueuesResult.QueueUrl);return{QueueUrls:j}}async getQueueAttributes(b){let w={Action:"GetQueueAttributes",QueueUrl:b,Version:"2012-11-05","AttributeName.1":"All"},h=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()});return{Attributes:h.Attributes||h.GetQueueAttributesResult?.Attributes||{}}}async getQueueUrl(b){let w={Action:"GetQueueUrl",QueueName:b,Version:"2012-11-05"},h=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()});return{QueueUrl:h.QueueUrl||h.GetQueueUrlResult?.QueueUrl}}async deleteQueue(b){let w={Action:"DeleteQueue",QueueUrl:b,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()})}async purgeQueue(b){let w={Action:"PurgeQueue",QueueUrl:b,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()})}async sendMessage(b){let w={Action:"SendMessage",QueueUrl:b.queueUrl,MessageBody:b.messageBody,Version:"2012-11-05"};if(b.delaySeconds!==void 0)w.DelaySeconds=b.delaySeconds;if(b.messageGroupId)w.MessageGroupId=b.messageGroupId;if(b.messageDeduplicationId)w.MessageDeduplicationId=b.messageDeduplicationId;let h=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()});return{MessageId:h.MessageId||h.SendMessageResult?.MessageId}}async receiveMessages(b){let w={Action:"ReceiveMessage",QueueUrl:b.queueUrl,Version:"2012-11-05"};if(b.maxMessages!==void 0)w.MaxNumberOfMessages=b.maxMessages;if(b.visibilityTimeout!==void 0)w.VisibilityTimeout=b.visibilityTimeout;if(b.waitTimeSeconds!==void 0)w.WaitTimeSeconds=b.waitTimeSeconds;let h=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(w).toString()}),j=[],z=h.Message||h.ReceiveMessageResult?.Message;if(z)if(Array.isArray(z))j.push(...z.map((B)=>({MessageId:B.MessageId,ReceiptHandle:B.ReceiptHandle,Body:B.Body})));else j.push({MessageId:z.MessageId,ReceiptHandle:z.ReceiptHandle,Body:z.Body});return{Messages:j}}async deleteMessage(b,w){let h={Action:"DeleteMessage",QueueUrl:b,ReceiptHandle:w,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(h).toString()})}}
|
|
2
|
-
export{J as yd};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$f as a}from"./chunk-fy8j3y8p.js";import"./chunk-fpm59y25.js";import"./chunk-mh0kdzqp.js";export{a as S3Client};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{xd as a}from"./chunk-vm3q5gf2.js";import"./chunk-4vrqm9h0.js";import"./chunk-mz0wbbsj.js";import"./chunk-p66ptpmr.js";import"./chunk-axhnkn5g.js";import"./chunk-h5pa5men.js";import"./chunk-fy8j3y8p.js";import"./chunk-271gk1n2.js";import"./chunk-fpm59y25.js";import"./chunk-rxcvf10f.js";import"./chunk-mh0kdzqp.js";export{a as resolveDashboardData};
|