@stacksjs/ts-cloud 0.16.21 → 0.16.23
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/elasticache.d.ts +11 -9
- package/dist/aws/index.js +1 -1
- package/dist/aws/xml-result.d.ts +20 -0
- package/dist/bin/{chunk-k7wh1wr5.js → chunk-0d98bem8.js} +2 -2
- package/dist/bin/chunk-0r45d0s3.js +2 -0
- package/dist/{chunk-g6g33pt9.js → bin/chunk-21zhm1mk.js} +7 -7
- package/dist/bin/chunk-2g1j00yc.js +1 -0
- package/dist/bin/{chunk-6kx50dyc.js → chunk-2tk8egg8.js} +1 -1
- package/dist/bin/{chunk-90102shh.js → chunk-33e0t7e5.js} +2 -2
- package/dist/bin/{chunk-ngyqqy6d.js → chunk-34kwhmbt.js} +5 -5
- package/dist/bin/chunk-4xmhrvfa.js +1 -0
- package/dist/bin/{chunk-gfr2215x.js → chunk-65rndjtr.js} +63 -63
- package/dist/bin/{chunk-t10e32an.js → chunk-6cfpdb35.js} +7 -7
- package/dist/bin/chunk-6crapvp1.js +1 -0
- package/dist/bin/chunk-7b4gf64x.js +1 -0
- package/dist/bin/chunk-818tj49e.js +1 -0
- package/dist/bin/{chunk-9vmtm7nq.js → chunk-8vm7tpyv.js} +2 -2
- package/dist/bin/{chunk-e24bscb0.js → chunk-90kpnjdm.js} +16 -16
- package/dist/bin/chunk-92qsww97.js +1 -0
- package/dist/bin/chunk-9947rscj.js +1 -0
- package/dist/bin/{chunk-2mv692y4.js → chunk-9h7yjtz2.js} +5 -5
- package/dist/bin/{chunk-tq172j2x.js → chunk-btr6zq53.js} +3 -3
- package/dist/bin/chunk-cas0bp91.js +2 -0
- package/dist/bin/{chunk-6wqjk007.js → chunk-cpwk0pbg.js} +134 -134
- package/dist/bin/chunk-cyap08qg.js +1 -0
- package/dist/bin/chunk-dk92s260.js +1 -0
- package/dist/bin/chunk-ejxp74ks.js +1 -0
- package/dist/bin/{chunk-dyh0vndw.js → chunk-en7sf83z.js} +4 -4
- package/dist/bin/{chunk-djjj62c0.js → chunk-f2yhthd1.js} +2 -2
- package/dist/bin/{chunk-z1dtdw3j.js → chunk-f3sd1hpa.js} +5 -5
- package/dist/bin/chunk-gfwkmttt.js +1 -0
- package/dist/bin/chunk-gx98tkpf.js +1 -0
- package/dist/bin/{chunk-apnhhfkj.js → chunk-gzpwf3n4.js} +2 -2
- package/dist/bin/{chunk-dmdg23a5.js → chunk-h90azajz.js} +2 -2
- package/dist/bin/chunk-hcdbw9j1.js +1 -0
- package/dist/bin/chunk-hdsgfgnz.js +34 -0
- package/dist/bin/{chunk-1j8b1d58.js → chunk-hqmkfh4a.js} +2 -2
- package/dist/bin/{chunk-x63yz8xg.js → chunk-ht318ydv.js} +1 -1
- package/dist/bin/{chunk-h1rb8qvt.js → chunk-ht6tpmqw.js} +2 -2
- package/dist/bin/{chunk-e55fdn0r.js → chunk-j0zg3mbm.js} +3 -3
- package/dist/bin/{chunk-0f1qpmd6.js → chunk-jbpkwxht.js} +5 -5
- package/dist/bin/{chunk-5a7sxtwn.js → chunk-jtnv8nwz.js} +2 -2
- package/dist/bin/{chunk-ys5n5c84.js → chunk-k052rtd5.js} +5 -5
- package/dist/bin/{chunk-148x1zq8.js → chunk-k1eezsj1.js} +2 -2
- package/dist/bin/chunk-kay11qc7.js +1 -0
- package/dist/bin/chunk-n28a9a9c.js +1 -0
- package/dist/bin/chunk-n298azax.js +2 -0
- package/dist/bin/chunk-q8w7fa56.js +1 -0
- package/dist/bin/chunk-qdnx952p.js +1 -0
- package/dist/bin/chunk-t1jpqn4x.js +6 -0
- package/dist/bin/chunk-tr0pkm4p.js +1 -0
- package/dist/bin/{chunk-mxvekmdx.js → chunk-tyqxz92e.js} +114 -114
- package/dist/bin/chunk-tytvrehe.js +1 -0
- package/dist/bin/{chunk-3n733cgx.js → chunk-v002yxaf.js} +2 -2
- package/dist/bin/chunk-wpp0fa94.js +1 -0
- package/dist/bin/{chunk-0trtkv9g.js → chunk-wyanqf91.js} +7 -7
- package/dist/bin/{chunk-rbtt23vx.js → chunk-xs6afjat.js} +3 -3
- package/dist/bin/chunk-xzgxwnb7.js +1 -0
- package/dist/bin/chunk-y21yk6zv.js +1 -0
- package/dist/bin/chunk-yt1t5ct8.js +1 -0
- package/dist/bin/chunk-yxyvhqhr.js +2 -0
- package/dist/bin/{chunk-290bzm2m.js → chunk-zcabmq4p.js} +3 -3
- package/dist/bin/chunk-zs8ddeaz.js +1 -0
- package/dist/bin/cli.js +355 -355
- package/dist/bin/dashboard-server.js +1 -1
- package/dist/{chunk-k53agv2m.js → chunk-01rbgche.js} +2 -2
- package/dist/{chunk-3m9ghthh.js → chunk-14zcywnp.js} +2 -2
- package/dist/chunk-2hy7ny4k.js +5 -0
- package/dist/{chunk-aw1tp3p3.js → chunk-4apkvhsc.js} +88 -88
- package/dist/chunk-4rb7stp5.js +92 -0
- package/dist/chunk-5vxpgw8q.js +6 -0
- package/dist/{chunk-bxrzsth8.js → chunk-60fn008g.js} +2 -2
- package/dist/{chunk-z3wynefj.js → chunk-92gn9ght.js} +19 -19
- package/dist/{chunk-hyeeqga9.js → chunk-b5xjjz3y.js} +6 -6
- package/dist/{chunk-e52me1c6.js → chunk-bz1hp7es.js} +1 -1
- package/dist/{chunk-kczzc599.js → chunk-c836kdrx.js} +38 -38
- package/dist/{chunk-srrscggm.js → chunk-ckwdjb5q.js} +5 -5
- package/dist/chunk-cpyrhh52.js +709 -0
- package/dist/chunk-cwgy9pvc.js +34 -0
- package/dist/{chunk-v2p7c7s4.js → chunk-ds2v2xpb.js} +134 -134
- package/dist/chunk-e4qh4c2n.js +1 -0
- package/dist/{chunk-vs0qrm09.js → chunk-g6aev693.js} +1 -1
- package/dist/chunk-gm0qysea.js +114 -0
- package/dist/chunk-hpq0rrve.js +2 -0
- package/dist/{chunk-5far81q7.js → chunk-j2w0cvnr.js} +2 -2
- package/dist/{chunk-31tvc877.js → chunk-nfkdgsgh.js} +18 -18
- package/dist/{chunk-qcaqc5b8.js → chunk-pdmfmsm9.js} +3 -3
- package/dist/chunk-pj9z4fjv.js +1 -0
- package/dist/{chunk-w9jhyy09.js → chunk-rq0wrpz6.js} +4 -4
- package/dist/{chunk-9wmer0zx.js → chunk-t7q4awss.js} +2 -2
- package/dist/chunk-twhbns31.js +1 -0
- package/dist/chunk-wkg22nj5.js +1 -0
- package/dist/{bin/chunk-8jbkphmg.js → chunk-xassxhvq.js} +7 -7
- package/dist/{chunk-e8e1h2h9.js → chunk-xkqx98bx.js} +2 -2
- package/dist/chunk-xtd0s5ep.js +1 -0
- package/dist/deploy/index.js +1 -1
- package/dist/dns/index.js +1 -1
- package/dist/drivers/index.js +1 -1
- package/dist/index.js +86 -86
- package/dist/operations/index.js +1 -1
- package/dist/protection/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 +5 -5
- 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 +5 -5
- 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 +6 -6
- 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 +5 -5
- package/dist/ui/operations/observability.html +6 -6
- package/dist/ui/operations/previews.html +6 -6
- package/dist/ui/operations/queue.html +6 -6
- package/dist/ui/operations/regions.html +5 -5
- package/dist/ui/operations/releases.html +6 -6
- 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 +2 -2
- package/dist/ui/server/capacity.html +6 -6
- package/dist/ui/server/database.html +6 -6
- package/dist/ui/server/deployments.html +6 -6
- 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 +6 -6
- 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 +5 -5
- 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-0h6cggyt.js +0 -1
- package/dist/bin/chunk-2g2zrtjs.js +0 -2
- package/dist/bin/chunk-35rkh66r.js +0 -1
- package/dist/bin/chunk-4cs098d1.js +0 -1
- package/dist/bin/chunk-52fhq35h.js +0 -1
- package/dist/bin/chunk-6se7ygxa.js +0 -1
- package/dist/bin/chunk-72g1hr4z.js +0 -1
- package/dist/bin/chunk-840arz58.js +0 -34
- package/dist/bin/chunk-c7vxdwth.js +0 -1
- package/dist/bin/chunk-e0c3agf2.js +0 -1
- package/dist/bin/chunk-egn33pr9.js +0 -2
- package/dist/bin/chunk-gf7yavs5.js +0 -1
- package/dist/bin/chunk-gp5w7e4c.js +0 -1
- package/dist/bin/chunk-gt7g41js.js +0 -1
- package/dist/bin/chunk-hagakkgm.js +0 -1
- package/dist/bin/chunk-hr3vbg6y.js +0 -1
- package/dist/bin/chunk-hyb5v8wr.js +0 -1
- package/dist/bin/chunk-mx9ppkmn.js +0 -6
- package/dist/bin/chunk-nqb1faqj.js +0 -1
- package/dist/bin/chunk-p831sptd.js +0 -1
- package/dist/bin/chunk-qxx1a51w.js +0 -1
- package/dist/bin/chunk-sh248v2y.js +0 -1
- package/dist/bin/chunk-swfmx4f8.js +0 -1
- package/dist/bin/chunk-vjkyj3xy.js +0 -2
- package/dist/bin/chunk-w78chy9x.js +0 -1
- package/dist/bin/chunk-w8k1gyzr.js +0 -1
- package/dist/bin/chunk-wagzxm7z.js +0 -1
- package/dist/bin/chunk-xdxk6baf.js +0 -1
- package/dist/bin/chunk-ysv52qcc.js +0 -1
- package/dist/chunk-07rjctzz.js +0 -1
- package/dist/chunk-3rahpgb9.js +0 -709
- package/dist/chunk-49vvjfrd.js +0 -1
- package/dist/chunk-6kcmbymp.js +0 -1
- package/dist/chunk-7xnwa0s8.js +0 -5
- package/dist/chunk-89p8mshq.js +0 -114
- package/dist/chunk-9asn5fpt.js +0 -92
- package/dist/chunk-d46p0h6t.js +0 -34
- package/dist/chunk-dak9hfrd.js +0 -1
- package/dist/chunk-ptq9v346.js +0 -2
- package/dist/chunk-z4xzd43p.js +0 -1
- package/dist/chunk-zx8ecz8b.js +0 -6
package/dist/ui/serverless.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="
|
|
2
|
-
function
|
|
1
|
+
<!DOCTYPE html><html lang="en" data-theme="dark"><head><meta charset="UTF-8"><meta name="stx-build" content="mutdaqxvk28tun"><meta name="title" content="stx Project"><meta name="description" content="A website built with stx templating engine"><meta property="og:title" content="stx Project"><meta property="og:description" content="A website built with stx templating engine"><meta property="og:type" content="website"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="stx Project"><meta name="twitter:description" content="A website built with stx templating engine"> <script data-stx-runtime src="/_stx/runtime.dbee66d1.js"></script> <script data-stx-composables src="/_stx/chunk.9fd39d5b.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>ts-cloud · Serverless</title><link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect x='3' y='3' width='26' height='26' rx='8' fill='%235a8be0'/%3E%3C/svg%3E"><link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_stx/style.448ab192.css"> <script data-stx-scoped>
|
|
2
|
+
function __stx_setup_1791090939613_36() {
|
|
3
3
|
const { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, refresh, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
4
4
|
|
|
5
5
|
var initialMaintenance = false;
|
|
@@ -180,9 +180,9 @@ runOp = __stxBundle_0bd12f9ee3a9["runOp"];
|
|
|
180
180
|
typed = __stxBundle_0bd12f9ee3a9["typed"];
|
|
181
181
|
return { appCmd, askAppCmd, askOp, busy, canRun, cancelAppCmd, cancelOp, cmdBusy, cmdCanRun, cmdOut, cmdPending, cmdShown, cmdTyped, confirmDanger, confirmLabel, confirmTok, confirmVerb, maint, opOutput, opShown, pending, runAppCmd, runOp, typed, __stxBundle_0bd12f9ee3a9 };
|
|
182
182
|
}
|
|
183
|
-
window.__stx_latestSetup=
|
|
184
|
-
if(window.stx)window.stx._latestSetup=
|
|
185
|
-
</script> <style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.b7a99a5c.css"></head><body data-stx="
|
|
183
|
+
window.__stx_latestSetup=__stx_setup_1791090939613_36;
|
|
184
|
+
if(window.stx)window.stx._latestSetup=__stx_setup_1791090939613_36;
|
|
185
|
+
</script> <style data-stx-cloak>[x-cloak]{display:none !important}</style><link data-crosswind="generated" rel="stylesheet" href="/_stx/crosswind.b7a99a5c.css"></head><body data-stx="__stx_setup_1791090939613_36"><a data-stx-scope="stx_scope_nav_51" class="skip-link" href="#main-content">Skip to content</a><button class="nav-toggle-button" type="button" aria-label="Open navigation" aria-controls="primary-navigation" aria-expanded="false"><span></span><span></span><span></span></button><button class="nav-scrim" type="button" aria-label="Close navigation"></button><aside class="app-sidebar" id="primary-navigation" aria-label="Primary navigation"><a class="brand" href="/?env=production"><span class="dot"></span><span>ts-cloud</span></a><div class="sidebar-context"><span class="context-label">Project</span><strong>Project</strong></div><div class="environment-picker" aria-label="Environment"><span class="context-label">Environment</span><details><summary class="environment-current production"><span>PROD</span><strong>production</strong></summary></details></div><button class="command-trigger" type="button" aria-keyshortcuts="Meta+K Control+K"><span>Search resources</span><kbd>⌘ K</kbd></button><div class="nav-groups"><section class="nav-group"><h2>Overview</h2><a class="" href="/?env=production">Dashboard</a><a href="/server/activity?env=production">Activity</a></section><section class="nav-group"><h2>Applications</h2><a class="" href="/server/sites?env=production">Services</a><a class="" href="/server/deployments?env=production">Deployments</a><a class="" href="/server/logs?env=production">Logs</a><a class="" href="/integrations?env=production">Git integrations</a><a class="" href="/applications/new?env=production">Create application</a><a class="" href="/applications/compose?env=production">Compose applications</a></section><section class="nav-group"><h2>Operations</h2><a class="" href="/operations/queue?env=production">Deployment queue</a><a class="" href="/operations/previews?env=production">Preview environments</a><a class="" href="/operations/releases?env=production">Releases & promotion</a><a class="" href="/operations/regions?env=production">Regions & failover</a><a class="" href="/operations/maintenance?env=production">Maintenance & DR</a><a class="" href="/operations/workloads?env=production">Workloads</a><a class="" href="/operations/observability?env=production">Observability</a><a class="" href="/operations/alerts?env=production">Alerts & health</a><a class="" href="/operations/spend?env=production">Spend & budgets</a><a href="/server/metrics?env=production">Metrics</a><a href="/server/services?env=production">Runtime services</a><a class="" href="/operations/jobs?env=production">Workers & schedules</a><a class="" href="/operations/configuration?env=production">Environment & secrets</a><a class="" href="/data/backups?env=production">Backups & recovery</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/actions?env=production">Run operations</a></section><section class="nav-group"><h2>Infrastructure</h2><a class="" href="/infrastructure/topology?env=production">Infrastructure map</a><a class="" href="/data/services?env=production">Data services</a><a class="" href="/data/volumes?env=production">Persistent volumes</a><a href="/server/firewall?env=production">Network & firewall</a><a href="/server/ssh-keys?env=production">SSH keys</a><a class="" href="/server/fleet?env=production">Fleet inventory</a><a class="" href="/server/capacity?env=production">Capacity & placement</a><a href="/security?env=production">Security posture</a><a href="/server/terminal?env=production">Terminal</a></section><section class="nav-group"><h2>Organization</h2><a class="" href="/server/team?env=production">People & access</a><a class="" href="/account/automation?env=production">API & automation</a></section><section class="nav-group"><h2>Account</h2><a class="" href="/account/security?env=production">Sign-in & security</a></section></div><form method="post" action="/api/logout" class="signout"><button type="submit">Sign out</button></form></aside><dialog class="command-palette" aria-labelledby="command-title"><div class="command-search"><span aria-hidden="true">⌕</span><input type="search" placeholder="Search services, domains, deployments…" aria-label="Search resources" autocomplete="off"><button type="button" class="command-close" aria-label="Close search">Esc</button></div><h2 id="command-title" class="sr-only">Search resources and navigation</h2><div class="command-status" role="status">Start typing to search this project.</div><section class="saved-views" aria-labelledby="saved-views-title"><div class="saved-views-heading"><h3 id="saved-views-title">Saved views</h3><form class="save-view-form"><label class="sr-only" for="save-view-name">Saved view name</label><input id="save-view-name" maxlength="64" placeholder="Name this view" autocomplete="off"><button type="submit">Save current filters</button></form></div><div class="saved-view-list"></div></section><form class="tag-result-form"><label for="tag-result-name">Tag selected resource</label><input id="tag-result-name" maxlength="32" placeholder="customer-facing" pattern="[A-Za-z0-9][A-Za-z0-9 -]{0,31}" autocomplete="off"><input class="tag-color" type="color" value="#5a8be0" aria-label="Tag color"><button type="submit">Add tag</button></form><div class="command-results" role="listbox" aria-label="Search results"></div><footer><span>↑ ↓ navigate</span><span>Enter open</span><span>Esc close</span></footer></dialog><div class="context-bar" aria-label="Current scope"><div class="context-path"><div class="context-breadcrumb"><span>Project</span><i>/</i><strong>production</strong></div><div class="context-filters" aria-label="Active filters"></div></div><span class="scope-safety production">Production scope</span></div> <script data-stx-scoped data-stx-run="always">
|
|
186
186
|
(function() {
|
|
187
187
|
var { batch, computed, configureFetch, defineEmits, defineExpose, definePageMeta, defineProps, defineSlots, defineStore, derived, effect, goBack, goForward, inject, invalidateRoute, isDerived, isSignal, navigate, nextTick, onBeforeMount, onBeforeUnmount, onDestroy, onMount, onMounted, onUnmounted, peek, provide, reactive, ref, refresh, registerStoresClient, setRouteParams, state, untrack, useAsync, useClickOutside, useColorMode, useCookie, useCounter, useDark, useDebounce, useDebouncedValue, useEventListener, useFetch, useFocus, useHead, useId, useInterval, useLocalStorage, useMediaQuery, useMutation, useOptimistic, usePreferredContrast, usePreferredDark, usePreferredLight, usePreferredReducedMotion, useQuery, useReactiveProp, useRef, useRoute, useRouteParam, useRouteParams, useScrollLock, useSearchParams, useSeoMeta, useSessionStorage, useSlots, useStore, useThrottle, useTimeout, useToggle, useWebSocket, watch, watchEffect, watchMultiple, withDefaults } = window.stx;
|
|
188
188
|
var __destroyHooks = [];
|
|
@@ -533,6 +533,6 @@ if(window.stx)window.stx._latestSetup=__stx_setup_1791088306624_36;
|
|
|
533
533
|
|
|
534
534
|
|
|
535
535
|
try { if (typeof __stxScopeRenames !== 'undefined' && __stxScopeRenames) { for (var __stxRK in __stxScopeRenames) __scopeRegistration[__stxRK] = __stxScopeRenames[__stxRK]; } } catch (e) { /* no renames */ }
|
|
536
|
-
window.stx._scopes['
|
|
536
|
+
window.stx._scopes['stx_scope_nav_51'] = __scopeRegistration;
|
|
537
537
|
})();
|
|
538
538
|
</script> <div class="wrap"><header class="page"><div><h1>Serverless Dashboard</h1><p>AWS Lambda · unavailable · unavailable</p><div class="server-line"><span>URL <b><a href="#" class="mono">#</a></b></span><span>Build <b class="mono">unavailable</b></span><span>Deployed <b>unavailable</b></span></div></div><div class="header-actions"><span class="pill warn">data unavailable</span><button class="btn ghost sm" type="button" @show="!maint()" @click="askOp('maintenance:on', 'Project', 'enable maintenance mode for Project', 'maintenance')" x-cloak>Maintenance</button><button class="btn ghost sm" type="button" @show="maint()" @click="askOp('maintenance:off', 'Project', 'bring Project back live', 'live')" x-cloak>Go live</button><button class="btn ghost sm" type="button" @click="askOp('rollback', 'Project', 'roll back Project to the previous build', 'rollback')">Roll back</button><button class="btn sm" type="button" @click="askOp('redeploy', 'Project', 'redeploy Project', 'redeploy')">Redeploy</button></div></header><div class="panel" style="margin-bottom:20px" @show="pending() !== null || opShown()" x-cloak><div class="op-confirm panel" @show="pending() !== null" role="group" aria-labelledby="op-confirm-prompt" x-cloak><span id="op-confirm-prompt" x-cloak>Type <b class="mono" x-cloak>{{ confirmTok() }}</b> to {{ confirmVerb() }}:</span><input data-stx-ref="opConfirmInput" class="op-confirm-input" :value="typed()" @input="typed.set($event.target.value)" @keydown.enter="runOp()" placeholder="confirm" autocomplete="off" aria-labelledby="op-confirm-prompt"><button type="button" class="btn sm" :class="{ danger: confirmDanger() }" :disabled="!canRun()" @click="runOp()" x-cloak>{{ confirmLabel() }}</button><button type="button" class="btn ghost sm" :disabled="busy()" @click="cancelOp()">Cancel</button></div><pre class="action-output op-output" @show="opShown()" aria-live="polite" x-cloak>{{ opOutput() }}</pre></div><div class="grid cards"><a class="panel" href="/serverless/metrics"><h3>Invocations (24h)</h3><div class="stat">Unavailable</div><p style="color: var(--txt2); font-size: 13px; margin-top: 8px;">No sample data shown</p></a><a class="panel" href="/serverless/metrics"><h3>Error Rate</h3><div class="stat">Unavailable</div><div class="bar"><i style="width: 0%"></i></div></a><a class="panel" href="/serverless/metrics"><h3>p95 Latency</h3><div class="stat">Unavailable</div><p style="color: var(--txt2); font-size: 13px; margin-top: 8px;">Cold-start signal unavailable</p></a><a class="panel" href="/serverless/cost"><h3>Est. Cost (24h)</h3><div class="stat">Unavailable</div><p style="color: var(--txt2); font-size: 13px; margin-top: 8px;">cost analysis →</p></a></div><div class="section"><h2>Functions <a class="more" href="/serverless/functions">View all →</a></h2><div class="panel"><table><thead><tr><th scope="col">Function</th><th scope="col">Name</th><th scope="col">Memory</th><th scope="col">Timeout</th><th scope="col">Invocations</th><th scope="col">Errors</th><th scope="col">p95</th><th scope="col">Status</th></tr></thead><tbody></tbody></table></div></div><div class="cols section"><div><h2>Queues <a class="more" href="/serverless/queues">View all →</a></h2><div class="panel"><table><thead><tr><th scope="col">Queue</th><th scope="col">Visible</th><th scope="col">In-flight</th><th scope="col">Processed</th><th scope="col">DLQ</th></tr></thead><tbody></tbody></table></div></div><div><h2>Scheduler <a class="more" href="/serverless/scheduler">Details →</a></h2><div class="panel"><div class="kv"><span>state</span><span class="pill warn">off</span></div><div class="kv"><span>expression</span><span class="mono">unavailable</span></div><div class="kv"><span>last run</span><span style="color: var(--txt2)">unavailable</span></div></div><div style="height: 16px"></div><h2>Firewall (WAF) <a class="more" href="/serverless/firewall">Details →</a></h2><div class="panel"><div class="kv"><span>state</span><span class="pill warn">off</span></div><div class="kv"><span>rules</span><span class="mono"></span></div><div class="kv"><span>blocked (24h)</span><span>0</span></div></div></div></div><div class="section"><h2>Data <a class="more" href="/serverless/data">View all →</a></h2><div class="panel"></div></div><div class="cols section"><div><h2>Recent Deployments <a class="more" href="/serverless/deployments">View all →</a></h2><div class="panel"><div style="margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--panel-br);"><button class="btn danger sm" type="button" @click="askOp('rollback', 'Project', 'roll back Project to the previous build', 'rollback')">Roll back to previous</button></div></div></div><div><h2>Assets & CDN <a class="more" href="/serverless/assets">Details →</a></h2><div class="panel"><div class="kv"><span>bucket</span><span class="mono">unavailable</span></div><div class="kv"><span>cdn</span><span class="mono">unavailable</span></div><div class="kv"><span>ASSET_URL</span><span class="mono" style="font-size: 11px">#</span></div></div><div style="height: 16px"></div><h2>Secrets <a class="more" href="/serverless/secrets">Manage →</a></h2><div class="panel"></div></div></div><div class="section"><h2>Run a command</h2><div class="panel"><div class="field"><label class="sr-only" for="app-command">Application command to run</label><input id="app-command" :value="appCmd()" @input="appCmd.set($event.target.value)" @keydown.enter="askAppCmd()" placeholder="e.g. migrate --force, cache:clear, queue:retry all" autocomplete="off"><button class="btn" type="button" :disabled="cmdBusy()" @click="askAppCmd()">Run</button></div><div class="op-confirm" @show="cmdPending() !== null" style="margin-top:14px" x-cloak><span>Type <b class="mono">run</b> to execute <b class="mono" x-cloak>{{ cmdPending() }}</b> against production:</span><input class="op-confirm-input" :value="cmdTyped()" @input="cmdTyped.set($event.target.value)" @keydown.enter="runAppCmd()" placeholder="confirm" autocomplete="off" aria-label="Type run to confirm executing this command"><button type="button" class="btn danger sm" :disabled="!cmdCanRun()" @click="runAppCmd()">Run command</button><button type="button" class="btn ghost sm" @click="cancelAppCmd()">Cancel</button></div><pre class="action-output" @show="cmdShown()" aria-live="polite" x-cloak>{{ cmdOut() }}</pre><p class="note">Invokes the app command through the CLI Lambda function (RequestResponse), the same path as <span class="mono">cloud command "..."</span>. Output is clamped.</p></div></div></div></body></html>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/ts-cloud",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.16.
|
|
4
|
+
"version": "0.16.23",
|
|
5
5
|
"description": "A lightweight, performant infrastructure-as-code library and CLI for deploying both server-based (EC2) and serverless applications.",
|
|
6
6
|
"author": "Chris Breuer <chris@stacksjs.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -102,8 +102,8 @@
|
|
|
102
102
|
},
|
|
103
103
|
"dependencies": {
|
|
104
104
|
"@stacksjs/ts-xml": "^0.1.2",
|
|
105
|
-
"@ts-cloud/aws-types": "0.16.
|
|
106
|
-
"@ts-cloud/core": "0.16.
|
|
105
|
+
"@ts-cloud/aws-types": "0.16.23",
|
|
106
|
+
"@ts-cloud/core": "0.16.23",
|
|
107
107
|
"hash-wasm": "^4.12.0"
|
|
108
108
|
},
|
|
109
109
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H,no}from"./chunk-148x1zq8.js";import"./chunk-9vmtm7nq.js";import"./chunk-mx9ppkmn.js";export{H as ACMClient,no as ACMDnsValidator};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Vn}from"./chunk-290bzm2m.js";import"./chunk-egn33pr9.js";import"./chunk-tq172j2x.js";import"./chunk-6kx50dyc.js";import"./chunk-2mv692y4.js";import"./chunk-vjkyj3xy.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";import"./chunk-mxvekmdx.js";export{Vn as resolveDashboardData};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ue}from"./chunk-k7wh1wr5.js";import"./chunk-mx9ppkmn.js";export{ue as RDSClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{yd,tc,Sd,io,oo,so,ys}from"./chunk-ys5n5c84.js";import"./chunk-mxvekmdx.js";export{yd as MANAGEMENT_DASHBOARD_SITE,ys as buildManagementDashboardArtifact,tc as dashboardCredentialsFile,oo as ensureManagementDashboard,so as managementDashboardSiteNames,Sd as resolveDashboardAuth,io as resolveUiSource};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dc,oe,uc,Ed,pp,pi,mp,gp,Fs,fp,hp,yp,Sp,bp,vp,Tp,pc,mc,js,Vs,vo,Ye,A,zs,gc,V,Cr,C,wd,mi,Hs,qs,U,To,Ep,wp,Cp,Ap,l,s,Ip,Rp,E,Ws,Gs,Ks,Pp,Np,Pe,Js,Eo,Cd,Dp,kp,Le,vt,Xs,fc,hc,_p,yc,Sc,bc,Qs,vc,Ut,wo,gi,Co,fi,Me,Ad,Ao,Io,Ys,Zs,ea,ta,ra,na,Se,B,S,x,Ze,D,Id,Tt,pe,Bt,xp,Rd,be,Ro,Ue,Ft,hi,ve,Po,Ne,Pd,yi,Te,Ee,ee,Si,G,jt,Et,we,t,No,$p,Tc,ia,Op,Lp,Mp,Up,oa,Bp,Fp,jp,Vp,zp,Hp,qp,Wp,Gp,Kp,Jp,Xp,Nd,Dd,kd,_d,xd,$d,Od,Vt,Ec,wc,Ar,bi,Qp,Cc,Yp,Zp,nn,em,tm,rm,nm,im,om,Ld,Md,Ud,Bd,Fd,Do,sm,sa,jd,Vd,zd,Ac,Ce,am,Hd,wt,ko,Ir,qd,Ic,Wd,Gd,Kd,Rc,De,cm,lm,dm,um,Jd,pm,Ae,mm,gm,fm,Pc,Nc,hm,Dc,kc,ym,Sm,bm,vm,Tm,Xd,aa,Em,wm,Cm,Am,Im,Qd,Yd,Rm,Pm,Nm,Dm,km,_m,xm,$m,Om,_c,ca,Lm,Mm,Um,Bm,xc,$c,Oc,Fm,Lc,jm,Vm,zm,Hm,Mc,qm,Wm,Gm,Km,Jm,Xm,Qm,Ym,Zd,eu,tu,ru,Uc,Zm,eg,tg,rg,ng,ig,og,sg,ag,nu,iu,ou,su,cg,lg,Bc,dg,Fc,jc,Vc,zc,ug,pg,mg,gg,et,vi,fg,hg,yg,Sg,bg,vg,Tg,Eg,au,wg,Cg,Hc,qc,Ag,Ig,cu,Rg,Pg,Ng,Dg,kg,_g,xg,$g,Og,Lg,Mg,Ug,Bg,Fg,jg,Vg,zg,Hg,qg,Wg,Gg,Wc,Kg,Gc,Jg,Kc,Xg,Jc,Qg,Xc,Yg,on,Zg,Qc,ef,_o,tf,Yc,rf,Zc,nf,el,of,tl,sf,rl,af,sn,cf,nl,lf,il,df,ol,uf,sl,pf,al,mf,cl,gf,ll,ff,dl,hf,ul,yf,pl,Sf,ml,bf,gl,vf,fl,Tf,hl,Ef,yl,wf,Sl,Cf,bl,Af,vl,If,Tl,Rf,El,Pf,wl,Nf,Cl,Df,Al,kf,Il,_f,Rl,xf,lu,du,uu,pu,Pl,$f,Nl,Of,Dl,Lf,kl,Mf,Ti,mu,gu,xo,la,an,fu,$o,zt,da,ua,hu,yu,_l,Su,pa,xl,Uf,Bf,ma,ga,fa,$l,Oo,Ol,Ll,ha,Ml,Ul,Bl,bu,vu,Tu,Ff,Eu,wu,jf,Cu,Fl,Au,Iu,Ru,Vf,Pu,Ei,ya,Nu,zf,Du,Lo,Mo,Sa,jl,Hf,Vl,qf,zl,Wf,Hl,Gf,ql,Kf}from"./chunk-mxvekmdx.js";export{Yc as ABTestManager,Ue as AI,Wd as AWSAPIError,Kc as AWSConfigManager,$p as AWS_PSEUDO_PARAMETERS,et as AWS_REGIONS,Po as ApiGateway,No as Arn,ee as AssetHasher,Te as Auth,Wc as BackupManager,Dl as BatchProcessingManager,Qc as BlueGreenManager,Cl as BounceComplaintHandler,pl as BuildOptimizationManager,Me as CDN,ga as CHAIN_HEADER,Xs as CLOUDFRONT_FAILOVER_STATUS_CODES,Pg as COMMON_CROSS_ACCOUNT_ROLES,hi as Cache,_o as CanaryManager,ll as CertificateManager,wt as CloudError,Tc as CloudFormationBuilder,zd as CloudFormationClient,Hd as CloudFrontClient,Jc as CloudTrailManager,su as CommandHistory,we as Communication,S as Compute,ko as ConfigurationError,ml as ContainerRegistryManager,Ir as CredentialError,Fc as CrossRegionReferenceManager,Dd as DASHBOARD_ENTRY,kd as DASHBOARD_PORT_BASE,_d as DASHBOARD_PORT_SPAN,Nd as DASHBOARD_STATE_DIR,fc as DEFAULT_FAILOVER_STATUS_CODES,Oo as DEFAULT_RECURSION_LIMITS,Ae as DEFAULT_SERVICE_LIMITS,pc as DEFAULT_STATE_DIR,Ad as DEFAULT_STORAGE_FAILOVER_STATUS_CODES,ma as DEPTH_HEADER,Nl as DLQMonitoringManager,Se as DNS,El as DNSSECManager,Ft as Database,sl as DatabaseUserManager,De as DebugLogger,Cd as DependencyGraph,Ee as Deployment,qd as DeploymentError,Gc as DisasterRecoveryManager,D as Email,lu as EmailAdvanced,Al as EmailAnalyticsManager,du as EmailHandlers,Rl as EmailTemplateManager,Gd as ErrorCodes,Io as FAILOVER_REPLICA_POLICY_SID,Pl as FIFOQueueManager,Pc as FileCache,Ze as FileSystem,t as Fn,jc as GlobalResourceManager,Xc as GuardDutyManager,Xd as HashCache,zl as HealthCheckManager,ul as ImageScanningManager,Bt as JobLoader,Nu as LARAVEL_SERVERLESS_BUILD_STEPS,yl as LambdaConcurrencyManager,vl as LambdaDLQManager,Sl as LambdaDestinationsManager,fl as LambdaLayersManager,bl as LambdaVPCManager,hl as LambdaVersionsManager,rl as LogsManager,fu as MANAGED_NODE_VERSIONS,Ec as MANAGEMENT_DASHBOARD_SITE_PREFIX,Ne as Messaging,tl as MetricsManager,nl as MigrationManager,xc as MockCloudFormation,Oc as MockDynamoDB,$c as MockS3,yi as Monitoring,Hc as MultiAccountManager,Bc as MultiRegionManager,eu as MultiStepProgress,x as Network,Hl as NetworkSecurityManager,Sc as ORIGIN_CONNECTION_ATTEMPTS,bc as ORIGIN_CONNECTION_TIMEOUT,hc as ORIGIN_GROUP_ALLOWED_METHODS,_p as ORIGIN_GROUP_ID_SUFFIX,yc as ORIGIN_GROUP_SELECTION_CRITERIA,qc as OrganizationManager,Du as PHP_DEFAULT_EXCLUDES,hu as PHP_LAYER_EXTENSIONS,G as ParameterStore,ol as PerformanceManager,ve as Permissions,Tt as Phone,uu as PhoneAdvanced,Id as PhoneHandlers,Lc as PreviewEnvironmentManager,Mc as PreviewNotificationService,Zd as ProgressBar,Zc as ProgressiveDeploymentManager,Ap as Pseudo,pe as Queue,kl as QueueManagementManager,vp as QueuePresets,cu as RECOMMENDED_ACCOUNT_STRUCTURES,Rg as RECOMMENDED_SCPS,nu as REPL,ou as REPLCommandBuilder,iu as REPLContext,Qd as RateLimiter,Tp as RealtimePresets,ha as RecursionGuard,Et as Redirects,Vc as RegionPairManager,vt as Registry,il as ReplicaManager,ql as ResourceManagementManager,wl as Route53ResolverManager,Tl as Route53RoutingManager,Ac as S3Client,Ce as S3Error,be as SMS,mc as STATE_DIR_ENV_VAR,Ao as STORAGE_FAILOVER_METADATA_KEY,jt as Search,Si as Secrets,cl as SecretsManager,al as SecretsRotationManager,B as Security,on as SecurityHubManager,dl as SecurityScanningManager,Il as SenderReputationManager,gl as ServiceMeshManager,Ro as Sftp,pu as SmsAdvanced,Rd as SmsHandlers,tu as Spinner,zc as StackDependencyManager,xp as StacksIntegration,jl as StaticSiteManager,Le as Storage,Vl as StorageAdvancedManager,sn as SyntheticsManager,fa as TRACE_HEADER,ru as TaskList,To as TemplateBuilder,Nc as TemplateCache,Ic as ValidationError,Pd as Workflow,el as XRayManager,rf as abTestManager,Dp as analyzeStackDiff,la as artifactKey,gi as assertOriginGroupMethods,ng as autocomplete,Xg as awsConfigManager,Kg as backupManager,Em as batch,Lf as batchProcessingManager,ef as blueGreenManager,Df as bounceComplaintHandler,Bf as buildBunRuntimeLayerZip,ia as buildCloudFormationTemplate,ra as buildFailoverReplicaPolicyStatement,qs as buildMailEnv,Uf as buildNodeRuntimeLayerZip,Sf as buildOptimizationManager,vc as buildOriginGroup,wo as buildOriginGroups,zf as buildPhpRuntimeLayerZip,ta as buildReplicationConfiguration,ea as buildReplicationRole,tf as canaryManager,km as categorizeChanges,ff as certificateManager,um as checkIAMPermissions,Eu as checkInvocation,mm as checkServiceQuotas,Yd as chunk,hp as clearSigningKeyCache,$m as cloudConfigSchema,Qg as cloudTrailManager,Mo as collectPhpAppEntries,Yp as composePresets,ua as composeServerlessAppTemplate,bf as containerRegistryManager,Fp as createApiBackendPreset,Ru as createCliHandler,sm as createCredentialProvider,Xp as createDashboardSite,qp as createDataPipelinePreset,Rc as createError,oa as createExistingStaticFullStackPreset,Bp as createFullStackAppPreset,Vf as createHandlers,Au as createHttpHandler,Vp as createJamstackPreset,Kp as createLaravelPreset,Wp as createMLApiPreset,zp as createMicroservicesPreset,Fm as createMockAWS,Lp as createNodeJsServerPreset,Mp as createNodeJsServerlessPreset,Zp as createPreset,Ed as createPresignedUrl,pp as createPresignedUrlAsync,Iu as createQueueHandler,Hp as createRealtimeAppPreset,am as createS3Client,Jp as createServerlessLaravelPreset,Up as createServerlessNodePreset,Op as createStaticSitePreset,Gp as createTraditionalWebAppPreset,jp as createWordPressPreset,Ti as createZip,ug as crossRegionReferenceManager,pf as databaseUserManager,_c as defaultLocalConfig,Cr as deploymentCoexistenceError,xd as deriveManagementDashboardPort,gc as detectDeploymentTargets,lm as detectMisconfigurations,dc as detectServiceRegion,Pm as diffTemplates,Of as dlqMonitoringManager,Pf as dnssecManager,Jg as drManager,kf as emailAnalyticsManager,xf as emailTemplateManager,Cu as eventToRequest,Cc as extendPreset,$f as fifoQueueManager,Tm as findChangedFiles,_g as formatAccountStructure,Jm as formatBytes,kp as formatDiff,Xm as formatDuration,og as formatFlagSuggestions,cg as formatHistory,lg as formatHistoryStats,Ym as formatKeyValue,Qm as formatList,Km as formatProgressBar,au as formatRegion,wg as formatRegionList,Zm as formatSuggestion,Wm as formatTable,Gm as formatTree,Ud as fromEC2Metadata,Bd as fromECSMetadata,Ld as fromEnvironment,Md as fromSharedCredentials,Fd as fromWebIdentity,$l as functionFingerprint,pa as generateAppImageDockerfile,Wg as generateApprovalConfig,mu as generateBootstrap,zm as generateCleanupWorkflow,Hm as generateCostReportWorkflow,Dg as generateCrossAccountRoleCF,zg as generateDeploymentConfig,Ug as generateDeploymentPipeline,xg as generateDeploymentWorkflow,s as generateLogicalId,Vg as generateManualPipeline,Mg as generateMatrixWorkflow,Hg as generateMultiEnvConfig,Bg as generateMultiEnvPipeline,$g as generateMultiEnvWorkflow,Og as generatePRPreviewWorkflow,Gg as generateParallelConfig,Pu as generatePhpFpmConfig,Su as generatePhpLayerDockerfile,Fg as generatePreviewPipeline,Vm as generatePreviewWorkflow,l as generateResourceName,qg as generateScheduledConfig,jg as generateScheduledPipeline,Lg as generateScheduledWorkflow,Vd as getAccountId,fg as getAllRegions,vg as getClosestRegion,sg as getCommandUsage,tg as getContextualHelp,Do as getCredentials,_m as getDeploymentStrategy,xm as getDiffStats,Nm as getDiffSummary,Kd as getErrorDetails,ca as getLocalConfig,Um as getLocalCredentials,Mm as getLocalEndpoint,Bm as getLocalEnvVars,gm as getQuotaUsageSummary,Ng as getRecommendedStructure,vi as getRegion,Cg as getRegionStats,yg as getRegionsByCompliance,hg as getRegionsByLocation,Sg as getRegionsByPricingTier,Jd as getRequiredPermissions,yp as getSigningKeyCacheSize,Ip as getTimestamp,pg as globalResourceManager,Yg as guardDutyManager,Vt as hasManagementDashboardSite,ym as hashBuffer,Sm as hashDirectory,Dc as hashFile,bm as hashManifest,kc as hashString,Wf as healthCheckManager,yf as imageScanningManager,Ll as inspectInvocation,vu as installRecursionFetch,Bl as invocationContext,eg as isLikelyTypo,Lm as isLocalDevelopment,Ar as isManagementDashboardSiteName,Sp as isNodeCryptoAvailable,Co as isS3RestEndpoint,Vs as isStateDirConfigured,zs as isStatePath,bg as isValidRegion,bp as isWebCryptoAvailable,wf as lambdaConcurrencyManager,If as lambdaDLQManager,Cf as lambdaDestinationsManager,Tf as lambdaLayersManager,Af as lambdaVPCManager,Ef as lambdaVersionsManager,ya as laravelServerlessEnvDefaults,af as logsManager,wd as mailEnabled,Hs as mailFirewallPorts,pi as makeAWSRequest,gp as makeAWSRequestAsync,mp as makeAWSRequestOnce,wc as managementDashboardSiteName,nn as mergeInfrastructure,sf as metricsManager,lf as migrationManager,Ag as multiAccountManager,dg as multiRegionManager,Gf as networkSecurityManager,Ig as organizationManager,Sa as packagePhpApp,an as packageServerlessApp,aa as parallel,wm as parallelMap,Cm as parallelWithRetry,Ol as parseChain,fp as parseJSONResponse,Fs as parseXMLResponse,uf as performanceManager,_l as phpLayerBuildStage,yu as phpLayerPackages,Ei as phpRuntimeLayerAssets,jm as previewManager,qm as previewNotifications,Rm as processInChunks,nf as progressiveDeploymentManager,Ml as propagationHeaders,Mf as queueManagementManager,vm as quickHash,Ul as recursionBlockedResponse,mg as regionPairManager,df as replicaManager,Dm as requiresReplacement,Ff as resetRecursionRuntime,jf as resolveApp,C as resolveAppDatabase,U as resolveCloudProvider,sa as resolveCredentials,$d as resolveDashboardDomain,Od as resolveDashboardDomains,Np as resolveDeployBucketName,V as resolveDeploymentMode,Qs as resolveFailoverStatusCodes,mi as resolveMailService,Qp as resolveManagementDashboardSite,bi as resolveManagementDashboardSites,Ut as resolveOriginConnection,E as resolveProjectStackName,da as resolveQueueNames,zt as resolveQueues,bu as resolveRecursionConfig,jd as resolveRegion,Pe as resolveServerlessAppStackName,Js as resolveServerlessArtifactBucketName,Eo as resolveServerlessAssetBucketName,$o as resolveServerlessRuntime,Ks as resolveSiteBucketName,Gs as resolveSiteResourceName,Ws as resolveSiteStackName,A as resolveStatePath,Pp as resolveStorageBucketName,Ys as resolveStorageFailover,Kf as resourceManagementManager,Fl as responseToResult,Nf as route53ResolverManager,Rf as route53RoutingManager,gu as runBuildHooks,Lo as runPhpBuildHooks,Zs as s3RegionalDomain,Rp as sanitizeName,rg as searchCommands,gf as secretsManager,mf as secretsRotationManager,Zg as securityHubManager,hf as securityScanningManager,_f as senderReputationManager,Am as sequence,vf as serviceMeshManager,js as setStateDir,xo as sha256,Tu as sharedRecursionGuard,xl as sharedRuntimeLoop,oe as signRequest,uc as signRequestAsync,gg as stackDependencyManager,vo as stateDir,Ye as statePath,Hf as staticSiteManager,qf as storageAdvancedManager,na as storageFailoverReplicasFromTemplate,Uc as suggestCommand,ig as suggestFlags,pm as suggestIAMPolicy,fm as suggestQuotaIncrease,Eg as suggestRegionPairs,Tg as suggestRegions,cf as syntheticsManager,hm as templateCache,kg as validateAccountStructure,Om as validateAgainstSchema,ag as validateCommand,cm as validateConfiguration,dm as validateCredentials,fi as validateOriginGroups,Cp as validateResourceLimits,Ep as validateTemplate,wp as validateTemplateSize,im as withCDN,nm as withCache,rm as withDatabase,wu as withInvocation,em as withMonitoring,om as withQueue,tm as withSecurity,Im as withTimeout,of as xrayManager};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{w}from"./chunk-dyh0vndw.js";import"./chunk-mx9ppkmn.js";export{w as CloudFrontClient};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{u}from"./chunk-mx9ppkmn.js";import{g}from"./chunk-e55fdn0r.js";import{M}from"./chunk-9vmtm7nq.js";import{di}from"./chunk-2g2zrtjs.js";function S(e,t){let s=[`Action=${e}`,"Version=2010-05-08"];for(let[a,i]of Object.entries(t)){if(i===void 0||i===null)continue;if(Array.isArray(i))i.forEach((n,c)=>{if(typeof n==="object"&&n!==null)for(let[m,l]of Object.entries(n))s.push(`${a}.member.${c+1}.${m}=${encodeURIComponent(String(l))}`);else s.push(`${a}.member.${c+1}=${encodeURIComponent(String(n))}`)});else if(typeof i==="object"){for(let[n,c]of Object.entries(i))if(c!==void 0&&c!==null)s.push(`${a}.${n}=${encodeURIComponent(String(c))}`)}else s.push(`${a}=${encodeURIComponent(String(i))}`)}return s.join("&")}function r(e,t){let s=new RegExp(`<${t}>([^<]*)</${t}>`),a=e.match(s);return a?a[1]:void 0}function o(e,t,s){let a=new RegExp(`<${t}>([\\s\\S]*?)</${t}>`),i=e.match(a);if(!i)return[];let n=[],c=new RegExp(`<${s}>([\\s\\S]*?)</${s}>`,"g"),m;while((m=c.exec(i[1]))!==null)n.push(m[1]);return n}class Y{client;region;constructor(e="us-east-1",t){this.client=new u(void 0,{profile:t}),this.region=e}async request(e,t={}){let s=S(e,t);return await this.client.request({service:"iam",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:s})}async createUser(e){let t=await this.request("CreateUser",e);return this.parseUser(t)}async getUser(e={}){let t=await this.request("GetUser",e);return this.parseUser(t)}async listUsers(e={}){let t=await this.request("ListUsers",e),s=this.parseUsers(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Users:s,IsTruncated:a,Marker:i}}async updateUser(e){await this.request("UpdateUser",e)}async deleteUser(e){await this.request("DeleteUser",e)}parseUser(e){return{UserName:r(e,"UserName")||"",UserId:r(e,"UserId")||"",Arn:r(e,"Arn")||"",Path:r(e,"Path"),CreateDate:r(e,"CreateDate"),PasswordLastUsed:r(e,"PasswordLastUsed")}}parseUsers(e){return o(e,"Users","member").map((s)=>({UserName:r(s,"UserName")||"",UserId:r(s,"UserId")||"",Arn:r(s,"Arn")||"",Path:r(s,"Path"),CreateDate:r(s,"CreateDate"),PasswordLastUsed:r(s,"PasswordLastUsed")}))}async createGroup(e){let t=await this.request("CreateGroup",e);return this.parseGroup(t)}async getGroup(e){let t=await this.request("GetGroup",e),s=this.parseGroup(t),a=this.parseUsers(t),i=r(t,"IsTruncated")==="true",n=r(t,"Marker");return{Group:s,Users:a,IsTruncated:i,Marker:n}}async listGroups(e={}){let t=await this.request("ListGroups",e),s=this.parseGroups(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Groups:s,IsTruncated:a,Marker:i}}async updateGroup(e){await this.request("UpdateGroup",e)}async deleteGroup(e){await this.request("DeleteGroup",e)}async addUserToGroup(e){await this.request("AddUserToGroup",e)}async removeUserFromGroup(e){await this.request("RemoveUserFromGroup",e)}async listGroupsForUser(e){let t=await this.request("ListGroupsForUser",e),s=this.parseGroups(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Groups:s,IsTruncated:a,Marker:i}}parseGroup(e){return{GroupName:r(e,"GroupName")||"",GroupId:r(e,"GroupId")||"",Arn:r(e,"Arn")||"",Path:r(e,"Path"),CreateDate:r(e,"CreateDate")}}parseGroups(e){return o(e,"Groups","member").map((s)=>({GroupName:r(s,"GroupName")||"",GroupId:r(s,"GroupId")||"",Arn:r(s,"Arn")||"",Path:r(s,"Path"),CreateDate:r(s,"CreateDate")}))}async createRole(e){let t=await this.request("CreateRole",e);return this.parseRole(t)}async getRole(e){let t=await this.request("GetRole",e);return this.parseRole(t)}async listRoles(e={}){let t=await this.request("ListRoles",e),s=this.parseRoles(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Roles:s,IsTruncated:a,Marker:i}}async updateRole(e){await this.request("UpdateRole",e)}async updateRoleDescription(e){let t=await this.request("UpdateRoleDescription",e);return this.parseRole(t)}async updateAssumeRolePolicy(e){await this.request("UpdateAssumeRolePolicy",e)}async deleteRole(e){await this.request("DeleteRole",e)}async tagRole(e){await this.request("TagRole",e)}async untagRole(e){await this.request("UntagRole",e)}async listRoleTags(e){let t=await this.request("ListRoleTags",e),s=this.parseTags(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Tags:s,IsTruncated:a,Marker:i}}parseRole(e){return{RoleName:r(e,"RoleName")||"",RoleId:r(e,"RoleId")||"",Arn:r(e,"Arn")||"",Path:r(e,"Path"),CreateDate:r(e,"CreateDate"),AssumeRolePolicyDocument:r(e,"AssumeRolePolicyDocument"),Description:r(e,"Description"),MaxSessionDuration:r(e,"MaxSessionDuration")?Number.parseInt(r(e,"MaxSessionDuration"),10):void 0}}parseRoles(e){return o(e,"Roles","member").map((s)=>({RoleName:r(s,"RoleName")||"",RoleId:r(s,"RoleId")||"",Arn:r(s,"Arn")||"",Path:r(s,"Path"),CreateDate:r(s,"CreateDate"),AssumeRolePolicyDocument:r(s,"AssumeRolePolicyDocument"),Description:r(s,"Description"),MaxSessionDuration:r(s,"MaxSessionDuration")?Number.parseInt(r(s,"MaxSessionDuration"),10):void 0}))}parseTags(e){return o(e,"Tags","member").map((s)=>({Key:r(s,"Key")||"",Value:r(s,"Value")||""}))}async createPolicy(e){let t=await this.request("CreatePolicy",e);return this.parsePolicy(t)}async getPolicy(e){let t=await this.request("GetPolicy",e);return this.parsePolicy(t)}async getPolicyVersion(e){let t=await this.request("GetPolicyVersion",e);return{VersionId:r(t,"VersionId")||"",IsDefaultVersion:r(t,"IsDefaultVersion")==="true",CreateDate:r(t,"CreateDate"),Document:r(t,"Document")}}async listPolicies(e={}){let t=await this.request("ListPolicies",e),s=this.parsePolicies(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Policies:s,IsTruncated:a,Marker:i}}async listPolicyVersions(e){let t=await this.request("ListPolicyVersions",e),s=this.parsePolicyVersions(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{Versions:s,IsTruncated:a,Marker:i}}async createPolicyVersion(e){let t=await this.request("CreatePolicyVersion",e);return{VersionId:r(t,"VersionId")||"",IsDefaultVersion:r(t,"IsDefaultVersion")==="true",CreateDate:r(t,"CreateDate")}}async deletePolicyVersion(e){await this.request("DeletePolicyVersion",e)}async setDefaultPolicyVersion(e){await this.request("SetDefaultPolicyVersion",e)}async deletePolicy(e){await this.request("DeletePolicy",e)}async attachUserPolicy(e){await this.request("AttachUserPolicy",e)}async detachUserPolicy(e){await this.request("DetachUserPolicy",e)}async attachGroupPolicy(e){await this.request("AttachGroupPolicy",e)}async detachGroupPolicy(e){await this.request("DetachGroupPolicy",e)}async attachRolePolicy(e){await this.request("AttachRolePolicy",e)}async detachRolePolicy(e){await this.request("DetachRolePolicy",e)}async listAttachedUserPolicies(e){let t=await this.request("ListAttachedUserPolicies",e),s=this.parseAttachedPolicies(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{AttachedPolicies:s,IsTruncated:a,Marker:i}}async listAttachedGroupPolicies(e){let t=await this.request("ListAttachedGroupPolicies",e),s=this.parseAttachedPolicies(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{AttachedPolicies:s,IsTruncated:a,Marker:i}}async listAttachedRolePolicies(e){let t=await this.request("ListAttachedRolePolicies",e),s=this.parseAttachedPolicies(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{AttachedPolicies:s,IsTruncated:a,Marker:i}}parsePolicy(e){return{PolicyName:r(e,"PolicyName")||"",PolicyId:r(e,"PolicyId")||"",Arn:r(e,"Arn")||"",Path:r(e,"Path"),DefaultVersionId:r(e,"DefaultVersionId"),AttachmentCount:r(e,"AttachmentCount")?Number.parseInt(r(e,"AttachmentCount"),10):void 0,PermissionsBoundaryUsageCount:r(e,"PermissionsBoundaryUsageCount")?Number.parseInt(r(e,"PermissionsBoundaryUsageCount"),10):void 0,IsAttachable:r(e,"IsAttachable")==="true",Description:r(e,"Description"),CreateDate:r(e,"CreateDate"),UpdateDate:r(e,"UpdateDate")}}parsePolicies(e){return o(e,"Policies","member").map((s)=>({PolicyName:r(s,"PolicyName")||"",PolicyId:r(s,"PolicyId")||"",Arn:r(s,"Arn")||"",Path:r(s,"Path"),DefaultVersionId:r(s,"DefaultVersionId"),AttachmentCount:r(s,"AttachmentCount")?Number.parseInt(r(s,"AttachmentCount"),10):void 0,PermissionsBoundaryUsageCount:r(s,"PermissionsBoundaryUsageCount")?Number.parseInt(r(s,"PermissionsBoundaryUsageCount"),10):void 0,IsAttachable:r(s,"IsAttachable")==="true",Description:r(s,"Description"),CreateDate:r(s,"CreateDate"),UpdateDate:r(s,"UpdateDate")}))}parsePolicyVersions(e){return o(e,"Versions","member").map((s)=>({VersionId:r(s,"VersionId")||"",IsDefaultVersion:r(s,"IsDefaultVersion")==="true",CreateDate:r(s,"CreateDate")}))}parseAttachedPolicies(e){return o(e,"AttachedPolicies","member").map((s)=>({PolicyName:r(s,"PolicyName")||"",PolicyArn:r(s,"PolicyArn")||""}))}async putUserPolicy(e){await this.request("PutUserPolicy",e)}async getUserPolicy(e){let t=await this.request("GetUserPolicy",e);return{UserName:r(t,"UserName")||"",PolicyName:r(t,"PolicyName")||"",PolicyDocument:decodeURIComponent(r(t,"PolicyDocument")||"")}}async deleteUserPolicy(e){await this.request("DeleteUserPolicy",e)}async listUserPolicies(e){let t=await this.request("ListUserPolicies",e),s=o(t,"PolicyNames","member"),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{PolicyNames:s,IsTruncated:a,Marker:i}}async putGroupPolicy(e){await this.request("PutGroupPolicy",e)}async getGroupPolicy(e){let t=await this.request("GetGroupPolicy",e);return{GroupName:r(t,"GroupName")||"",PolicyName:r(t,"PolicyName")||"",PolicyDocument:decodeURIComponent(r(t,"PolicyDocument")||"")}}async deleteGroupPolicy(e){await this.request("DeleteGroupPolicy",e)}async listGroupPolicies(e){let t=await this.request("ListGroupPolicies",e),s=o(t,"PolicyNames","member"),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{PolicyNames:s,IsTruncated:a,Marker:i}}async putRolePolicy(e){await this.request("PutRolePolicy",e)}async getRolePolicy(e){let t=await this.request("GetRolePolicy",e);return{RoleName:r(t,"RoleName")||"",PolicyName:r(t,"PolicyName")||"",PolicyDocument:decodeURIComponent(r(t,"PolicyDocument")||"")}}async deleteRolePolicy(e){await this.request("DeleteRolePolicy",e)}async listRolePolicies(e){let t=await this.request("ListRolePolicies",e),s=o(t,"PolicyNames","member"),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{PolicyNames:s,IsTruncated:a,Marker:i}}async createAccessKey(e={}){let t=await this.request("CreateAccessKey",e);if(typeof t==="object"){let s=t?.CreateAccessKeyResult?.AccessKey||t?.AccessKey;if(s)return{AccessKey:{UserName:s.UserName||"",AccessKeyId:s.AccessKeyId||"",Status:s.Status||"Active",SecretAccessKey:s.SecretAccessKey||"",CreateDate:s.CreateDate}}}return{AccessKey:{UserName:r(t,"UserName")||"",AccessKeyId:r(t,"AccessKeyId")||"",Status:r(t,"Status")||"Active",SecretAccessKey:r(t,"SecretAccessKey")||"",CreateDate:r(t,"CreateDate")}}}async listAccessKeys(e={}){let t=await this.request("ListAccessKeys",e),s=this.parseAccessKeys(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{AccessKeyMetadata:s,IsTruncated:a,Marker:i}}async updateAccessKey(e){await this.request("UpdateAccessKey",e)}async deleteAccessKey(e){await this.request("DeleteAccessKey",e)}async getAccessKeyLastUsed(e){let t=await this.request("GetAccessKeyLastUsed",e);return{UserName:r(t,"UserName")||"",AccessKeyLastUsed:{LastUsedDate:r(t,"LastUsedDate"),ServiceName:r(t,"ServiceName"),Region:r(t,"Region")}}}parseAccessKeys(e){return o(e,"AccessKeyMetadata","member").map((s)=>({UserName:r(s,"UserName"),AccessKeyId:r(s,"AccessKeyId")||"",Status:r(s,"Status")||"Active",CreateDate:r(s,"CreateDate")}))}async createInstanceProfile(e){let t=await this.request("CreateInstanceProfile",e);return this.parseInstanceProfile(t)}async getInstanceProfile(e){let t=await this.request("GetInstanceProfile",e);return this.parseInstanceProfile(t)}async listInstanceProfiles(e={}){let t=await this.request("ListInstanceProfiles",e),s=this.parseInstanceProfiles(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{InstanceProfiles:s,IsTruncated:a,Marker:i}}async listInstanceProfilesForRole(e){let t=await this.request("ListInstanceProfilesForRole",e),s=this.parseInstanceProfiles(t),a=r(t,"IsTruncated")==="true",i=r(t,"Marker");return{InstanceProfiles:s,IsTruncated:a,Marker:i}}async addRoleToInstanceProfile(e){await this.request("AddRoleToInstanceProfile",e)}async removeRoleFromInstanceProfile(e){await this.request("RemoveRoleFromInstanceProfile",e)}async deleteInstanceProfile(e){await this.request("DeleteInstanceProfile",e)}parseInstanceProfile(e){return{InstanceProfileName:r(e,"InstanceProfileName")||"",InstanceProfileId:r(e,"InstanceProfileId")||"",Arn:r(e,"Arn")||"",Path:r(e,"Path"),CreateDate:r(e,"CreateDate")}}parseInstanceProfiles(e){return o(e,"InstanceProfiles","member").map((s)=>({InstanceProfileName:r(s,"InstanceProfileName")||"",InstanceProfileId:r(s,"InstanceProfileId")||"",Arn:r(s,"Arn")||"",Path:r(s,"Path"),CreateDate:r(s,"CreateDate")}))}async getAccountPasswordPolicy(){let e=await this.request("GetAccountPasswordPolicy");return{MinimumPasswordLength:r(e,"MinimumPasswordLength")?Number.parseInt(r(e,"MinimumPasswordLength"),10):void 0,RequireSymbols:r(e,"RequireSymbols")==="true",RequireNumbers:r(e,"RequireNumbers")==="true",RequireUppercaseCharacters:r(e,"RequireUppercaseCharacters")==="true",RequireLowercaseCharacters:r(e,"RequireLowercaseCharacters")==="true",AllowUsersToChangePassword:r(e,"AllowUsersToChangePassword")==="true",ExpirePasswords:r(e,"ExpirePasswords")==="true",MaxPasswordAge:r(e,"MaxPasswordAge")?Number.parseInt(r(e,"MaxPasswordAge"),10):void 0,PasswordReusePrevention:r(e,"PasswordReusePrevention")?Number.parseInt(r(e,"PasswordReusePrevention"),10):void 0,HardExpiry:r(e,"HardExpiry")==="true"}}async updateAccountPasswordPolicy(e){await this.request("UpdateAccountPasswordPolicy",e)}async deleteAccountPasswordPolicy(){await this.request("DeleteAccountPasswordPolicy")}async getAccountSummary(){let e=await this.request("GetAccountSummary"),t={},s=o(e,"SummaryMap","entry");for(let a of s){let i=r(a,"key"),n=r(a,"value");if(i&&n)t[i]=Number.parseInt(n,10)}return t}async listAccountAliases(){let e=await this.request("ListAccountAliases"),t=o(e,"AccountAliases","member"),s=r(e,"IsTruncated")==="true",a=r(e,"Marker");return{AccountAliases:t,IsTruncated:s,Marker:a}}async createAccountAlias(e){await this.request("CreateAccountAlias",e)}async deleteAccountAlias(e){await this.request("DeleteAccountAlias",e)}async simulatePrincipalPolicy(e){let t=await this.request("SimulatePrincipalPolicy",e);return this.parseSimulationResults(t)}parseSimulationResults(e){let s=o(e,"EvaluationResults","member").map((n)=>{let m=o(n,"MatchedStatements","member").map((l)=>({SourcePolicyId:r(l,"SourcePolicyId"),SourcePolicyType:r(l,"SourcePolicyType")}));return{EvalActionName:r(n,"EvalActionName")||"",EvalResourceName:r(n,"EvalResourceName"),EvalDecision:r(n,"EvalDecision")||"",MatchedStatements:m.length>0?m:void 0}}),a=r(e,"IsTruncated")==="true",i=r(e,"Marker");return{EvaluationResults:s,IsTruncated:a,Marker:i}}}function p(e,t){return(e?.[`${t}Response`]??e)?.[`${t}Result`]}class ye{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new u(t)}async createEmailIdentity(e){return await this.client.request({service:"email",region:this.region,method:"POST",path:"/v2/email/identities",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getEmailIdentity(e){let t=await this.client.request({service:"email",region:this.region,method:"GET",path:`/v2/email/identities/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}});return{IdentityType:t.IdentityType,IdentityName:e,SendingEnabled:t.VerifiedForSendingStatus,VerificationStatus:t.VerificationStatus,DkimAttributes:t.DkimAttributes,MailFromAttributes:t.MailFromAttributes}}async putEmailIdentityMailFromAttributes(e,t){await this.client.request({service:"email",region:this.region,method:"PUT",path:`/v2/email/identities/${encodeURIComponent(e)}/mail-from`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async listEmailIdentities(e){let t="/v2/email/identities",s=[];if(e?.PageSize)s.push(`PageSize=${e.PageSize}`);if(e?.NextToken)s.push(`NextToken=${encodeURIComponent(e.NextToken)}`);if(s.length>0)t+=`?${s.join("&")}`;let a=await this.client.request({service:"email",region:this.region,method:"GET",path:t,headers:{"Content-Type":"application/json"}});return{EmailIdentities:a.EmailIdentities,NextToken:a.NextToken}}async deleteEmailIdentity(e){await this.client.request({service:"email",region:this.region,method:"DELETE",path:`/v2/email/identities/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async putEmailIdentityDkimAttributes(e){await this.client.request({service:"email",region:this.region,method:"PUT",path:`/v2/email/identities/${encodeURIComponent(e.EmailIdentity)}/dkim`,headers:{"Content-Type":"application/json"},body:JSON.stringify({SigningEnabled:e.SigningEnabled})})}async sendEmail(e){return{MessageId:(await this.client.request({service:"email",region:this.region,method:"POST",path:"/v2/email/outbound-emails",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).MessageId}}async sendBulkEmail(e){return{BulkEmailEntryResults:(await this.client.request({service:"email",region:this.region,method:"POST",path:"/v2/email/outbound-bulk-emails",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).BulkEmailEntryResults}}async createEmailTemplate(e){await this.client.request({service:"email",region:this.region,method:"POST",path:"/v2/email/templates",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getEmailTemplate(e){return await this.client.request({service:"email",region:this.region,method:"GET",path:`/v2/email/templates/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async deleteEmailTemplate(e){await this.client.request({service:"email",region:this.region,method:"DELETE",path:`/v2/email/templates/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async listEmailTemplates(e){let t="/v2/email/templates",s=[];if(e?.PageSize)s.push(`PageSize=${e.PageSize}`);if(e?.NextToken)s.push(`NextToken=${encodeURIComponent(e.NextToken)}`);if(s.length>0)t+=`?${s.join("&")}`;return await this.client.request({service:"email",region:this.region,method:"GET",path:t,headers:{"Content-Type":"application/json"}})}async getSendStatistics(){let e=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"Action=GetSendStatistics&Version=2010-12-01"}),t=p(e,"GetSendStatistics")?.SendDataPoints?.member;return{SendDataPoints:t==null?[]:Array.isArray(t)?t:[t]}}async getSendQuota(){let e=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"Action=GetSendQuota&Version=2010-12-01"}),t=p(e,"GetSendQuota"),s=(a)=>a==null||a===""?void 0:Number(a);return{Max24HourSend:s(t?.Max24HourSend),MaxSendRate:s(t?.MaxSendRate),SentLast24Hours:s(t?.SentLast24Hours)}}async verifyDomain(e){let t=await this.createEmailIdentity({EmailIdentity:e});return{dkimTokens:t.DkimAttributes?.Tokens,verificationStatus:t.DkimAttributes?.Status}}async sendSimpleEmail(e){let t=Array.isArray(e.to)?e.to:[e.to],s=e.replyTo?Array.isArray(e.replyTo)?e.replyTo:[e.replyTo]:void 0,a={};if(e.text)a.Text={Data:e.text};if(e.html)a.Html={Data:e.html};return this.sendEmail({FromEmailAddress:e.from,Destination:{ToAddresses:t},Content:{Simple:{Subject:{Data:e.subject},Body:a}},ReplyToAddresses:s})}async sendTemplatedEmail(e){let t=Array.isArray(e.to)?e.to:[e.to],s=e.replyTo?Array.isArray(e.replyTo)?e.replyTo:[e.replyTo]:void 0;return this.sendEmail({FromEmailAddress:e.from,Destination:{ToAddresses:t},Content:{Template:{TemplateName:e.templateName,TemplateData:JSON.stringify(e.templateData)}},ReplyToAddresses:s})}async getDkimRecords(e){let t=await this.getEmailIdentity(e);if(!t.DkimAttributes?.Tokens)return[];return t.DkimAttributes.Tokens.map((s)=>({name:`${s}._domainkey.${e}`,type:"CNAME",value:`${s}.dkim.amazonses.com`}))}async isDomainVerified(e){try{let t=await this.getEmailIdentity(e);return t.VerificationStatus==="SUCCESS"&&t.SendingEnabled===!0}catch{return!1}}async waitForDomainVerification(e,t=60,s=30000){for(let a=0;a<t;a++){if(await this.isDomainVerified(e))return!0;await new Promise((n)=>setTimeout(n,s))}return!1}buildFormBody(e){return Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>`${encodeURIComponent(s)}=${encodeURIComponent(a)}`).join("&")}async createReceiptRuleSet(e){await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"CreateReceiptRuleSet",Version:"2010-12-01",RuleSetName:e})})}async deleteReceiptRuleSet(e){await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteReceiptRuleSet",Version:"2010-12-01",RuleSetName:e})})}async setActiveReceiptRuleSet(e){await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"SetActiveReceiptRuleSet",Version:"2010-12-01",RuleSetName:e})})}async listReceiptRuleSets(e){let t={Action:"ListReceiptRuleSets",Version:"2010-12-01"};if(e)t.NextToken=e;let s=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),a=s?.ListReceiptRuleSetsResponse?.ListReceiptRuleSetsResult||s?.ListReceiptRuleSetsResult,i=a?.RuleSets?.member;return{RuleSets:Array.isArray(i)?i:i?[i]:[],NextToken:a?.NextToken}}async describeReceiptRuleSet(e){let t=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DescribeReceiptRuleSet",Version:"2010-12-01",RuleSetName:e})}),s=t?.DescribeReceiptRuleSetResponse?.DescribeReceiptRuleSetResult||t?.DescribeReceiptRuleSetResult,a=s?.Rules?.member;return{Metadata:s?.Metadata,Rules:Array.isArray(a)?a:a?[a]:[]}}async createReceiptRule(e){let t={Action:"CreateReceiptRule",Version:"2010-12-01",RuleSetName:e.RuleSetName,"Rule.Name":e.Rule.Name,"Rule.Enabled":e.Rule.Enabled!==!1?"true":"false"};if(e.Rule.TlsPolicy)t["Rule.TlsPolicy"]=e.Rule.TlsPolicy;if(e.Rule.ScanEnabled!==void 0)t["Rule.ScanEnabled"]=e.Rule.ScanEnabled?"true":"false";if(e.After)t.After=e.After;if(e.Rule.Recipients)e.Rule.Recipients.forEach((s,a)=>{t[`Rule.Recipients.member.${a+1}`]=s});e.Rule.Actions.forEach((s,a)=>{let i=a+1;if(s.S3Action){if(t[`Rule.Actions.member.${i}.S3Action.BucketName`]=s.S3Action.BucketName,s.S3Action.ObjectKeyPrefix)t[`Rule.Actions.member.${i}.S3Action.ObjectKeyPrefix`]=s.S3Action.ObjectKeyPrefix;if(s.S3Action.KmsKeyArn)t[`Rule.Actions.member.${i}.S3Action.KmsKeyArn`]=s.S3Action.KmsKeyArn}if(s.LambdaAction)t[`Rule.Actions.member.${i}.LambdaAction.FunctionArn`]=s.LambdaAction.FunctionArn,t[`Rule.Actions.member.${i}.LambdaAction.InvocationType`]=s.LambdaAction.InvocationType||"Event";if(s.SNSAction){if(t[`Rule.Actions.member.${i}.SNSAction.TopicArn`]=s.SNSAction.TopicArn,s.SNSAction.Encoding)t[`Rule.Actions.member.${i}.SNSAction.Encoding`]=s.SNSAction.Encoding}if(s.StopAction){if(t[`Rule.Actions.member.${i}.StopAction.Scope`]=s.StopAction.Scope,s.StopAction.TopicArn)t[`Rule.Actions.member.${i}.StopAction.TopicArn`]=s.StopAction.TopicArn}}),await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)})}async deleteReceiptRule(e,t){await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteReceiptRule",Version:"2010-12-01",RuleSetName:e,RuleName:t})})}async receiptRuleSetExists(e){try{return await this.describeReceiptRuleSet(e),!0}catch(t){if(t.code==="RuleSetDoesNotExist"||t.statusCode===400)return!1;throw t}}async getActiveReceiptRuleSet(){let e=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DescribeActiveReceiptRuleSet",Version:"2010-12-01"})}),t=e?.DescribeActiveReceiptRuleSetResponse?.DescribeActiveReceiptRuleSetResult||e?.DescribeActiveReceiptRuleSetResult;if(!t?.Metadata)return null;let s=t?.Rules?.member;return{Metadata:t?.Metadata,Rules:Array.isArray(s)?s:s?[s]:[]}}async updateReceiptRule(e){let t={Action:"UpdateReceiptRule",Version:"2010-12-01",RuleSetName:e.RuleSetName,"Rule.Name":e.Rule.Name};if(e.Rule.Enabled!==void 0)t["Rule.Enabled"]=e.Rule.Enabled?"true":"false";if(e.Rule.TlsPolicy)t["Rule.TlsPolicy"]=e.Rule.TlsPolicy;if(e.Rule.ScanEnabled!==void 0)t["Rule.ScanEnabled"]=e.Rule.ScanEnabled?"true":"false";if(e.Rule.Recipients)e.Rule.Recipients.forEach((s,a)=>{t[`Rule.Recipients.member.${a+1}`]=s});e.Rule.Actions.forEach((s,a)=>{let i=a+1;if(s.S3Action){if(t[`Rule.Actions.member.${i}.S3Action.BucketName`]=s.S3Action.BucketName,s.S3Action.ObjectKeyPrefix)t[`Rule.Actions.member.${i}.S3Action.ObjectKeyPrefix`]=s.S3Action.ObjectKeyPrefix;if(s.S3Action.KmsKeyArn)t[`Rule.Actions.member.${i}.S3Action.KmsKeyArn`]=s.S3Action.KmsKeyArn}if(s.LambdaAction)t[`Rule.Actions.member.${i}.LambdaAction.FunctionArn`]=s.LambdaAction.FunctionArn,t[`Rule.Actions.member.${i}.LambdaAction.InvocationType`]=s.LambdaAction.InvocationType||"Event";if(s.SNSAction){if(t[`Rule.Actions.member.${i}.SNSAction.TopicArn`]=s.SNSAction.TopicArn,s.SNSAction.Encoding)t[`Rule.Actions.member.${i}.SNSAction.Encoding`]=s.SNSAction.Encoding}if(s.StopAction){if(t[`Rule.Actions.member.${i}.StopAction.Scope`]=s.StopAction.Scope,s.StopAction.TopicArn)t[`Rule.Actions.member.${i}.StopAction.TopicArn`]=s.StopAction.TopicArn}}),await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)})}async sendRawEmail(e){let t=Buffer.from(e.rawMessage).toString("base64"),s={Action:"SendRawEmail",Version:"2010-12-01",Source:e.source,"RawMessage.Data":t};e.destinations.forEach((n,c)=>{s[`Destinations.member.${c+1}`]=n});let a=await this.client.request({service:"ses",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(s)});return{MessageId:(a?.SendRawEmailResponse?.SendRawEmailResult||a?.SendRawEmailResult)?.MessageId}}async getSuppressedDestination(e){try{return(await this.client.request({service:"ses",region:this.region,method:"GET",path:`/v2/email/suppression/addresses/${encodeURIComponent(e)}`}))?.SuppressedDestination||null}catch(t){if(t.message?.includes("404")||t.message?.includes("NotFoundException"))return null;throw t}}async deleteSuppressedDestination(e){await this.client.request({service:"ses",region:this.region,method:"DELETE",path:`/v2/email/suppression/addresses/${encodeURIComponent(e)}`})}}class ac{ses;s3;iam;route53;region;domain;defaultFrom;constructor(e={}){this.region=e.region||"us-east-1",this.domain=e.domain,this.defaultFrom=e.defaultFrom,this.ses=new ye(this.region),this.s3=new g(this.region),this.iam=new Y(this.region),this.route53=new M(this.region)}async send(e){let t=e.from||this.defaultFrom;if(!t)throw Error("From address is required. Set defaultFrom in constructor or provide from in options.");let s=e.fromName?`${e.fromName} <${t}>`:t,a=Array.isArray(e.to)?e.to:[e.to];if(!e.attachments||e.attachments.length===0)return{messageId:(await this.ses.sendSimpleEmail({from:s,to:a,subject:e.subject,text:e.text,html:e.html,replyTo:e.replyTo})).MessageId||""};let i=this.buildRawEmail(e,s,a);return{messageId:(await this.ses.sendEmail({FromEmailAddress:s,Destination:{ToAddresses:a,CcAddresses:e.cc?Array.isArray(e.cc)?e.cc:[e.cc]:void 0,BccAddresses:e.bcc?Array.isArray(e.bcc)?e.bcc:[e.bcc]:void 0},Content:{Raw:{Data:Buffer.from(i).toString("base64")}}})).MessageId||""}}async sendTemplate(e){let t=e.from||this.defaultFrom;if(!t)throw Error("From address is required");let s=e.fromName?`${e.fromName} <${t}>`:t;return{messageId:(await this.ses.sendTemplatedEmail({from:s,to:e.to,templateName:e.templateName,templateData:e.templateData,replyTo:e.replyTo})).MessageId||""}}async sendBulk(e){let t=e.from||this.defaultFrom;if(!t)throw Error("From address is required");let s=e.recipients.map((i)=>({Destination:{ToAddresses:Array.isArray(i.to)?i.to:[i.to]},ReplacementEmailContent:i.templateData?{ReplacementTemplate:{ReplacementTemplateData:JSON.stringify(i.templateData)}}:void 0}));return{results:(await this.ses.sendBulkEmail({FromEmailAddress:t,BulkEmailEntries:s,DefaultContent:{Template:{TemplateName:e.templateName,TemplateData:JSON.stringify(e.defaultTemplateData)}}})).BulkEmailEntryResults?.map((i)=>({status:i.Status||"UNKNOWN",messageId:i.MessageId,error:i.Error}))||[]}}async setupDomain(e){let t;try{t=await this.ses.getEmailIdentity(e)}catch{let a=await this.ses.createEmailIdentity({EmailIdentity:e});t={VerificationStatus:a.DkimAttributes?.Status,DkimAttributes:a.DkimAttributes,SendingEnabled:a.VerifiedForSendingStatus}}try{await this.ses.putEmailIdentityDkimAttributes({EmailIdentity:e,SigningEnabled:!0})}catch{}try{await this.ses.putEmailIdentityMailFromAttributes(e,{MailFromDomain:`mail.${e}`,BehaviorOnMxFailure:"USE_DEFAULT_VALUE"})}catch{}let s=await this.ses.getDkimRecords(e);return{domainVerified:t.SendingEnabled===!0,dkimStatus:t.DkimAttributes?.Status||"UNKNOWN",dkimTokens:t.DkimAttributes?.Tokens,mailFromStatus:t.MailFromAttributes?.MailFromDomainStatus}}async getDnsRecords(e){let t=[],s=await this.ses.getDkimRecords(e);for(let a of s)t.push({type:a.type,name:a.name,value:a.value,ttl:1800});return t.push({type:"MX",name:e,value:`inbound-smtp.${this.region}.amazonaws.com`,priority:10,ttl:3600}),t.push({type:"MX",name:`mail.${e}`,value:`feedback-smtp.${this.region}.amazonses.com`,priority:10,ttl:3600}),t.push({type:"TXT",name:`mail.${e}`,value:"v=spf1 include:amazonses.com ~all",ttl:3600}),t.push({type:"TXT",name:`_dmarc.${e}`,value:`v=DMARC1;p=quarantine;pct=25;rua=mailto:dmarcreports@${e}`,ttl:3600}),t}async isDomainReady(e){try{let t=await this.ses.getEmailIdentity(e);return t.SendingEnabled===!0&&t.DkimAttributes?.Status==="SUCCESS"}catch{return!1}}async setupReceiving(e){let t={Version:"2012-10-17",Statement:[{Sid:"AllowSESPuts",Effect:"Allow",Principal:{Service:"ses.amazonaws.com"},Action:"s3:PutObject",Resource:`arn:aws:s3:::${e.bucketName}/*`,Condition:{StringEquals:{"AWS:SourceAccount":e.accountId}}}]};await this.s3.putBucketPolicy(e.bucketName,t);try{await this.ses.createReceiptRuleSet(e.ruleSetName)}catch(a){if(!a.message?.includes("already exists")&&a.code!=="AlreadyExists")throw a}let s=[{S3Action:{BucketName:e.bucketName,ObjectKeyPrefix:e.prefix||"inbox/"}}];if(e.lambdaArn)s.push({LambdaAction:{FunctionArn:e.lambdaArn,InvocationType:"Event"}});try{await this.ses.createReceiptRule({RuleSetName:e.ruleSetName,Rule:{Name:e.ruleName,Enabled:!0,TlsPolicy:"Optional",Recipients:e.recipients||[e.domain],ScanEnabled:e.scanEnabled!==!1,Actions:s}})}catch(a){if(a.message?.includes("already exists"))await this.ses.deleteReceiptRule(e.ruleSetName,e.ruleName),await this.ses.createReceiptRule({RuleSetName:e.ruleSetName,Rule:{Name:e.ruleName,Enabled:!0,TlsPolicy:"Optional",Recipients:e.recipients||[e.domain],ScanEnabled:e.scanEnabled!==!1,Actions:s}});else throw a}await this.ses.setActiveReceiptRuleSet(e.ruleSetName)}async getIncomingEmails(e){return(await this.s3.list({bucket:e.bucket,prefix:e.prefix||"incoming/",maxKeys:e.maxResults||100})).map((s)=>({key:s.Key||"",lastModified:s.LastModified||"",size:s.Size||0}))}async readEmail(e){return await this.s3.getObject(e.bucket,e.key)}async createSmtpCredentials(e){let t=`ses-smtp-${e.username.replace(/[^a-zA-Z0-9]/g,"-")}`,{AWSClient:s}=await import("./chunk-nqb1faqj.js"),a=new s,i=(d,P)=>{let A={Action:d,Version:"2010-05-08",...P};return Object.entries(A).map(([h,R])=>`${encodeURIComponent(h)}=${encodeURIComponent(R)}`).join("&")};try{await a.request({service:"iam",region:"us-east-1",method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:i("CreateUser",{UserName:t})})}catch(d){if(!d.message?.includes("EntityAlreadyExists"))throw d}let n={Version:"2012-10-17",Statement:[{Effect:"Allow",Action:"ses:SendRawEmail",Resource:"*",Condition:{StringLike:{"ses:FromAddress":`*@${e.domain}`}}}]},c=`ses-smtp-policy-${e.domain.replace(/\./g,"-")}`;try{await a.request({service:"iam",region:"us-east-1",method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:i("PutUserPolicy",{UserName:t,PolicyName:c,PolicyDocument:JSON.stringify(n)})})}catch{}let l=(await a.request({service:"iam",region:"us-east-1",method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:i("CreateAccessKey",{UserName:t})}))?.CreateAccessKeyResult?.AccessKey;if(!l?.AccessKeyId||!l?.SecretAccessKey)throw Error("Failed to create access key");let y=this.deriveSmtpPassword(l.SecretAccessKey);return{username:l.AccessKeyId,password:y,server:`email-smtp.${this.region}.amazonaws.com`,port:587}}deriveSmtpPassword(e){let t=di("node:crypto"),s="SendRawEmail",a=Buffer.from([4]),i=t.createHmac("sha256",`AWS4${e}`).update("11111111").digest();return i=t.createHmac("sha256",i).update(this.region).digest(),i=t.createHmac("sha256",i).update("ses").digest(),i=t.createHmac("sha256",i).update("aws4_request").digest(),i=t.createHmac("sha256",i).update("SendRawEmail").digest(),Buffer.concat([a,i]).toString("base64")}async createTemplate(e){await this.ses.createEmailTemplate({TemplateName:e.name,TemplateContent:{Subject:e.subject,Text:e.text,Html:e.html}})}async getTemplate(e){try{let t=await this.ses.getEmailTemplate(e);return{name:t.TemplateName||e,subject:t.TemplateContent?.Subject,text:t.TemplateContent?.Text,html:t.TemplateContent?.Html}}catch{return null}}async deleteTemplate(e){await this.ses.deleteEmailTemplate(e)}async listTemplates(){return(await this.ses.listEmailTemplates()).TemplatesMetadata?.map((t)=>({name:t.TemplateName||"",createdAt:t.CreatedTimestamp}))||[]}async deploy(e){let t=`${e.appName}-${e.environment}-email-rules`,s=`${e.appName}-inbound-email`,a=e.storage?.bucketName||`${e.appName}-${e.environment}-email`,i=await this.setupDomain(e.domain);if(!(await this.s3.listBuckets()).Buckets?.some((l)=>l.Name===a))await this.s3.createBucket(a);await this.setupReceiving({domain:e.domain,ruleSetName:t,ruleName:s,bucketName:a,prefix:e.storage?.prefix||"inbox/",accountId:e.accountId,recipients:e.catchAll?[e.domain]:e.mailboxes,scanEnabled:!0});let m=await this.getDnsRecords(e.domain);return{success:!0,domainVerified:i.domainVerified,dkimStatus:i.dkimStatus,receiptRuleSet:t,storageBucket:a,dnsRecords:m}}async undeploy(e){let t=`${e.appName}-${e.environment}-email-rules`,s=`${e.appName}-inbound-email`,a=`${e.appName}-${e.environment}-email`;try{await this.ses.deleteReceiptRule(t,s)}catch{}try{await this.ses.deleteReceiptRuleSet(t)}catch{}if(e.deleteBucket)try{await this.s3.emptyAndDeleteBucket(a)}catch{}}async getSendingStats(){let e=await this.ses.getSendQuota();return{sentLast24Hours:e.SentLast24Hours||0,maxSendRate:e.MaxSendRate||0,max24HourSend:e.Max24HourSend||0}}buildRawEmail(e,t,s){let a=`----=_Part_${Date.now()}_${Math.random().toString(36).substring(2)}`,i="";if(i+=`From: ${t}\r
|
|
2
|
-
`,i+=`To: ${s.join(", ")}\r
|
|
3
|
-
`,e.cc){let n=Array.isArray(e.cc)?e.cc:[e.cc];i+=`Cc: ${n.join(", ")}\r
|
|
4
|
-
`}if(i+=`Subject: ${e.subject}\r
|
|
5
|
-
`,i+=`MIME-Version: 1.0\r
|
|
6
|
-
`,i+=`Content-Type: multipart/mixed; boundary="${a}"\r
|
|
7
|
-
`,i+=`\r
|
|
8
|
-
`,e.text||e.html)if(i+=`--${a}\r
|
|
9
|
-
`,e.html&&e.text){let n=`----=_Alt_${Date.now()}`;i+=`Content-Type: multipart/alternative; boundary="${n}"\r
|
|
10
|
-
`,i+=`\r
|
|
11
|
-
`,i+=`--${n}\r
|
|
12
|
-
`,i+=`Content-Type: text/plain; charset="UTF-8"\r
|
|
13
|
-
`,i+=`\r
|
|
14
|
-
`,i+=`${e.text}\r
|
|
15
|
-
`,i+=`--${n}\r
|
|
16
|
-
`,i+=`Content-Type: text/html; charset="UTF-8"\r
|
|
17
|
-
`,i+=`\r
|
|
18
|
-
`,i+=`${e.html}\r
|
|
19
|
-
`,i+=`--${n}--\r
|
|
20
|
-
`}else if(e.html)i+=`Content-Type: text/html; charset="UTF-8"\r
|
|
21
|
-
`,i+=`\r
|
|
22
|
-
`,i+=`${e.html}\r
|
|
23
|
-
`;else i+=`Content-Type: text/plain; charset="UTF-8"\r
|
|
24
|
-
`,i+=`\r
|
|
25
|
-
`,i+=`${e.text}\r
|
|
26
|
-
`;if(e.attachments)for(let n of e.attachments)i+=`--${a}\r
|
|
27
|
-
`,i+=`Content-Type: ${n.contentType||"application/octet-stream"}; name="${n.filename}"\r
|
|
28
|
-
`,i+=`Content-Transfer-Encoding: base64\r
|
|
29
|
-
`,i+=`Content-Disposition: attachment; filename="${n.filename}"\r
|
|
30
|
-
`,i+=`\r
|
|
31
|
-
`,i+=`${n.content}\r
|
|
32
|
-
`;return i+=`--${a}--\r
|
|
33
|
-
`,i}}var up=new ac;
|
|
34
|
-
export{Y,ye,ac,up};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Sr,cc,lc,bt,br,vr,Tr,Er,en}from"./chunk-z1dtdw3j.js";import"./chunk-0trtkv9g.js";import"./chunk-mxvekmdx.js";export{br as AwsSecretsManagerConfigurationBackend,vr as AwsSsmConfigurationBackend,Er as ConfigurationService,Sr as ConfigurationStore,Tr as ExternalConfigurationBackend,bt as LocalEncryptedConfigurationBackend,cc as parseDotenv,lc as serializeDotenv,en as synchronizeConfiguredConfiguration};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{K}from"./chunk-90102shh.js";import"./chunk-mx9ppkmn.js";export{K as EC2Client};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u}from"./chunk-mx9ppkmn.js";class F{client;region;constructor(e="us-east-1",i){this.region=e,this.client=new u}async createQueue(e){let t={Action:"CreateQueue",QueueName:e.fifo&&!e.queueName.endsWith(".fifo")?`${e.queueName}.fifo`:e.queueName,Version:"2012-11-05"},s=1;if(e.visibilityTimeout!==void 0)t[`Attribute.${s}.Name`]="VisibilityTimeout",t[`Attribute.${s}.Value`]=e.visibilityTimeout.toString(),s++;if(e.messageRetentionPeriod!==void 0)t[`Attribute.${s}.Name`]="MessageRetentionPeriod",t[`Attribute.${s}.Value`]=e.messageRetentionPeriod.toString(),s++;if(e.delaySeconds!==void 0)t[`Attribute.${s}.Name`]="DelaySeconds",t[`Attribute.${s}.Value`]=e.delaySeconds.toString(),s++;if(e.maxMessageSize!==void 0)t[`Attribute.${s}.Name`]="MaximumMessageSize",t[`Attribute.${s}.Value`]=e.maxMessageSize.toString(),s++;if(e.receiveMessageWaitTime!==void 0)t[`Attribute.${s}.Name`]="ReceiveMessageWaitTimeSeconds",t[`Attribute.${s}.Value`]=e.receiveMessageWaitTime.toString(),s++;if(e.fifo){if(t[`Attribute.${s}.Name`]="FifoQueue",t[`Attribute.${s}.Value`]="true",s++,e.contentBasedDeduplication)t[`Attribute.${s}.Name`]="ContentBasedDeduplication",t[`Attribute.${s}.Value`]="true",s++}if(e.deadLetterTargetArn&&e.maxReceiveCount)t[`Attribute.${s}.Name`]="RedrivePolicy",t[`Attribute.${s}.Value`]=JSON.stringify({deadLetterTargetArn:e.deadLetterTargetArn,maxReceiveCount:e.maxReceiveCount}),s++;if(e.tags&&Object.keys(e.tags).length>0){let a=1;for(let[n,g]of Object.entries(e.tags))t[`Tag.${a}.Key`]=n,t[`Tag.${a}.Value`]=g,a++}let r=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{QueueUrl:r.QueueUrl||r.CreateQueueResult?.QueueUrl}}async listQueues(e){let i={Action:"ListQueues",Version:"2012-11-05"};if(e)i.QueueNamePrefix=e;let t=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()}),s=[];if(t.QueueUrl)s.push(t.QueueUrl);else if(t.ListQueuesResult?.QueueUrl)if(Array.isArray(t.ListQueuesResult.QueueUrl))s.push(...t.ListQueuesResult.QueueUrl);else s.push(t.ListQueuesResult.QueueUrl);return{QueueUrls:s}}async getQueueAttributes(e){let i={Action:"GetQueueAttributes",QueueUrl:e,Version:"2012-11-05","AttributeName.1":"All"},t=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()});return{Attributes:t.Attributes||t.GetQueueAttributesResult?.Attributes||{}}}async getQueueUrl(e){let i={Action:"GetQueueUrl",QueueName:e,Version:"2012-11-05"},t=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()});return{QueueUrl:t.QueueUrl||t.GetQueueUrlResult?.QueueUrl}}async deleteQueue(e){let i={Action:"DeleteQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()})}async purgeQueue(e){let i={Action:"PurgeQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()})}async sendMessage(e){let i={Action:"SendMessage",QueueUrl:e.queueUrl,MessageBody:e.messageBody,Version:"2012-11-05"};if(e.delaySeconds!==void 0)i.DelaySeconds=e.delaySeconds;if(e.messageGroupId)i.MessageGroupId=e.messageGroupId;if(e.messageDeduplicationId)i.MessageDeduplicationId=e.messageDeduplicationId;let t=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()});return{MessageId:t.MessageId||t.SendMessageResult?.MessageId}}async receiveMessages(e){let i={Action:"ReceiveMessage",QueueUrl:e.queueUrl,Version:"2012-11-05"};if(e.maxMessages!==void 0)i.MaxNumberOfMessages=e.maxMessages;if(e.visibilityTimeout!==void 0)i.VisibilityTimeout=e.visibilityTimeout;if(e.waitTimeSeconds!==void 0)i.WaitTimeSeconds=e.waitTimeSeconds;let t=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(i).toString()}),s=[],r=t.Message||t.ReceiveMessageResult?.Message;if(r)if(Array.isArray(r))s.push(...r.map((a)=>({MessageId:a.MessageId,ReceiptHandle:a.ReceiptHandle,Body:a.Body})));else s.push({MessageId:r.MessageId,ReceiptHandle:r.ReceiptHandle,Body:r.Body});return{Messages:s}}async deleteMessage(e,i){let t={Action:"DeleteMessage",QueueUrl:e,ReceiptHandle:i,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}}
|
|
2
|
-
export{F};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Kl,Jl,Xl,Ql,Lu,Mu}from"./chunk-0f1qpmd6.js";import"./chunk-148x1zq8.js";import"./chunk-dyh0vndw.js";import"./chunk-vjkyj3xy.js";import"./chunk-9vmtm7nq.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";export{Lu as deleteStaticSite,Jl as deployStaticSite,Mu as deployStaticSiteFull,Kl as generateStaticSiteTemplate,Ql as invalidateCache,Xl as uploadStaticFiles};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g}from"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";export{g as S3Client};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Wn}from"./chunk-gfr2215x.js";import"./chunk-90102shh.js";import"./chunk-ys5n5c84.js";import"./chunk-vjkyj3xy.js";import"./chunk-t10e32an.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";import"./chunk-mxvekmdx.js";export{Wn as resolveServerDashboardData};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Is,lp,dp,Rs}from"./chunk-rbtt23vx.js";import"./chunk-t10e32an.js";import"./chunk-mxvekmdx.js";export{lp as getComputeDeployHistory,Rs as restoreDatabaseBackup,Is as rollbackComputeSite,dp as runComputeRecipe};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F}from"./chunk-egn33pr9.js";import"./chunk-mx9ppkmn.js";export{F as SQSClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ou}from"./chunk-djjj62c0.js";import"./chunk-1j8b1d58.js";import"./chunk-2mv692y4.js";import"./chunk-mx9ppkmn.js";import"./chunk-mxvekmdx.js";export{Ou as buildAndPushServerlessImage};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import*as T from"node:crypto";import{existsSync as W,readFileSync as J}from"node:fs";import{homedir as B}from"node:os";import{join as K}from"node:path";var z={amp:"&",lt:"<",gt:">",quot:'"',apos:"'"},H={nbsp:" ",copy:"©",reg:"®",trade:"™",euro:"€",pound:"£",yen:"¥",cent:"¢",deg:"°",micro:"µ",middot:"·",bull:"•",hellip:"…",prime:"′",Prime:"″",laquo:"«",raquo:"»",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",ndash:"–",mdash:"—",iexcl:"¡",iquest:"¿",sect:"§",para:"¶",dagger:"†",Dagger:"‡",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",times:"×",divide:"÷",plusmn:"±",ne:"≠",le:"≤",ge:"≥",infin:"∞",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",equiv:"≡",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜"};class R{customEntities={};useHtmlEntities;constructor(t=!1){this.useHtmlEntities=t}addEntity(t,e){this.customEntities[t]=e}decodeEntities(t){let e=t.indexOf("&");if(e===-1)return t;let r=t.length,i="",s=0;while(e!==-1&&e<r){if(e>s)i+=t.substring(s,e);let n=t.indexOf(";",e+1);if(n===-1||n-e>32){i+="&",s=e+1,e=t.indexOf("&",s);continue}let a=t.substring(e+1,n);if(a.charCodeAt(0)===35){let o=a.length,h=0,g=!1;if(o>2&&(a.charCodeAt(1)===120||a.charCodeAt(1)===88)){g=!0;for(let A=2;A<o;A++){let f=a.charCodeAt(A);if(f>=48&&f<=57)h=h<<4|f-48;else if(f>=65&&f<=70)h=h<<4|f-55;else if(f>=97&&f<=102)h=h<<4|f-87;else{g=!1;break}}}else if(o>1){g=!0;for(let A=1;A<o;A++){let f=a.charCodeAt(A);if(f>=48&&f<=57)h=h*10+(f-48);else{g=!1;break}}}if(g)i+=String.fromCodePoint(h);else i+=t.substring(e,n+1)}else{let o=this.customEntities[a];if(o===void 0){let h=a.length;if(h>=2&&h<=4){let g=a.charCodeAt(0);if(g===108&&h===2&&a.charCodeAt(1)===116)o="<";else if(g===103&&h===2&&a.charCodeAt(1)===116)o=">";else if(g===97&&h===3&&a.charCodeAt(1)===109&&a.charCodeAt(2)===112)o="&";else if(g===113&&h===4)o=a==="quot"?'"':void 0;else if(g===97&&h===4)o=a==="apos"?"'":void 0}if(o===void 0)o=z[a]??(this.useHtmlEntities?H[a]:void 0)}if(o!==void 0)i+=o;else i+=t.substring(e,n+1)}s=n+1,e=t.indexOf("&",s)}if(s<r)i+=t.substring(s);return i}}var P=[];P[38]="&";P[60]="<";P[62]=">";P[34]=""";P[39]="'";var L={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,alwaysCreateTextNode:!1,trimValues:!0,parseTagValue:!0,parseAttributeValue:!1,processEntities:!0,htmlEntities:!1,commentPropName:!1,cdataPropName:!1,piPropName:!1,preserveOrder:!1,stopNodes:[],unpairedTags:[],isArray:void 0,tagValueProcessor:void 0,attributeValueProcessor:void 0,updateTag:void 0,numberParseOptions:{hex:!0,leadingZeros:!0,scientific:!0},ignorePiTags:!1,transformAttributeName:void 0,transformTagName:void 0,ignoreDeclaration:!1};function _(t){return t===32||t===9||t===10||t===13}function x(t){return t>=65&&t<=90||t>=97&&t<=122||t===95||t===58||t>=192&&t<=214||t>=216&&t<=246||t>=248&&t<=767||t>=880&&t<=893||t>=895&&t<=8191||t>=8204&&t<=8205||t>=8304&&t<=8591||t>=11264&&t<=12271||t>=12289&&t<=55295||t>=63744&&t<=64975||t>=65008&&t<=65533}function V(t){return x(t)||t===45||t===46||t>=48&&t<=57||t===183||t>=768&&t<=879||t>=8255&&t<=8256}var X=/^0x[\da-fA-F]+$/,M=/^[+-]?\d+(\.\d+)?[eE][+-]?\d+$/,G=/^[+-]?(\d+\.?\d*|\.\d+)$/;function D(t,e){return t.charCodeAt(e)===91&&t.charCodeAt(e+1)===67&&t.charCodeAt(e+2)===68&&t.charCodeAt(e+3)===65&&t.charCodeAt(e+4)===84&&t.charCodeAt(e+5)===65&&t.charCodeAt(e+6)===91}function k(t,e){let r=t.charCodeAt(e),i=t.charCodeAt(e+1),s=t.charCodeAt(e+2),n=t.charCodeAt(e+3),a=t.charCodeAt(e+4),o=t.charCodeAt(e+5),h=t.charCodeAt(e+6);return(r===68||r===100)&&(i===79||i===111)&&(s===67||s===99)&&(n===84||n===116)&&(a===89||a===121)&&(o===80||o===112)&&(h===69||h===101)}function Y(t,e,r){if(e>=r||!x(t.charCodeAt(e)))return e;e++;while(e<r&&V(t.charCodeAt(e)))e++;return e}class v{options;entityDecoder;unpairedSet;exactStopNodes;wildcardStopSuffixes;needsJPath;_ignoreAttributes=!0;_textNodeName="#text";_commentPropName=!1;_cdataPropName=!1;_piPropName=!1;_alwaysCreateTextNode=!1;_trimValues=!0;_processEntities=!0;_parseTagValue=!0;_parseAttributeValue=!1;_removeNSPrefix=!1;_attrPrefix="@_";_attrsGroupName=!1;_ignorePiTags=!1;_ignoreDeclaration=!1;constructor(t){this.options={...L,...t},this.entityDecoder=new R(this.options.htmlEntities),this.unpairedSet=new Set(this.options.unpairedTags),this.exactStopNodes=new Set,this.wildcardStopSuffixes=[];for(let e of this.options.stopNodes)if(e.startsWith("*."))this.wildcardStopSuffixes.push(e.substring(2));else this.exactStopNodes.add(e);this._ignoreAttributes=this.options.ignoreAttributes,this._textNodeName=this.options.textNodeName,this._commentPropName=this.options.commentPropName,this._cdataPropName=this.options.cdataPropName,this._piPropName=this.options.piPropName,this._alwaysCreateTextNode=this.options.alwaysCreateTextNode,this._trimValues=this.options.trimValues,this._processEntities=this.options.processEntities,this._parseTagValue=this.options.parseTagValue,this._parseAttributeValue=this.options.parseAttributeValue,this._removeNSPrefix=this.options.removeNSPrefix,this._attrPrefix=this.options.attributeNamePrefix,this._attrsGroupName=this.options.attributesGroupName,this._ignorePiTags=this.options.ignorePiTags,this._ignoreDeclaration=this.options.ignoreDeclaration,this.needsJPath=this.options.stopNodes.length>0||this.options.isArray!==void 0||this.options.updateTag!==void 0||this.options.tagValueProcessor!==void 0||this.options.attributeValueProcessor!==void 0}addEntity(t,e){this.entityDecoder.addEntity(t,e)}parse(t){if(t instanceof Uint8Array)t=new TextDecoder().decode(t);let e=t;if(this.options.preserveOrder)return this.parseOrdered(e);return this.parseUnordered(e)}parseUnordered(t){let e={},r=t.length,i=0;if(r>0&&t.charCodeAt(0)===65279)i=1;return i=this.parseChildren(t,i,r,e,"",[]),e}parseOrdered(t){let e=t.length,r=0;if(e>0&&t.charCodeAt(0)===65279)r=1;let i=[];return this.parseChildrenOrdered(t,r,e,i,""),i}readTagName(t,e,r){return Y(t,e,r)}extractTagName(t,e,r){let i=t.substring(e,r);if(this._removeNSPrefix){let s=i.indexOf(":");if(s!==-1)i=i.substring(s+1)}if(this.options.transformTagName)i=this.options.transformTagName(i);return i}parseAttributes(t,e,r,i,s){let n=0,a=this._removeNSPrefix,o=this.options.transformAttributeName,h=this._trimValues,g=this._processEntities,A=this.options.attributeValueProcessor;while(e<r){let f=t.charCodeAt(e);while(f===32||f===9||f===10||f===13){if(e++,e>=r)break;f=t.charCodeAt(e)}if(e>=r)break;if(f===62||f===47)break;let C=e;if(!x(f))break;e++;while(e<r&&V(t.charCodeAt(e)))e++;let l=t.substring(C,e);if(a){let m=l.indexOf(":");if(m!==-1)l=l.substring(m+1)}if(o)l=o(l);while(e<r&&_(t.charCodeAt(e)))e++;if(e<r&&t.charCodeAt(e)===61){e++;while(e<r&&_(t.charCodeAt(e)))e++;if(e>=r)break;let m=t.charCodeAt(e);if(m===34||m===39){e++;let y=e;while(e<r&&t.charCodeAt(e)!==m)e++;let d=t.substring(y,e);if(h&&d.length>0){let c=d.charCodeAt(0),p=d.charCodeAt(d.length-1);if(c<=32||p<=32)d=d.trim()}if(g)d=this.entityDecoder.decodeEntities(d);if(A)d=A(l,d,i)??d;if(s[l]=d,n++,e<r)e++}}else s[l]="true",n++}return n>0?-e-1:e}processTagValue(t,e,r,i,s){if(this._trimValues){let n=t.length;if(n>0){let a=t.charCodeAt(0),o=t.charCodeAt(n-1);if(a<=32||o<=32)t=t.trim()}}if(this._processEntities)t=this.entityDecoder.decodeEntities(t);if(this.options.tagValueProcessor){let n=this.options.tagValueProcessor(e,t,r,i,s);if(n!==void 0)t=n}if(!t)return t;if(this._parseTagValue)return this.parseValue(t);return t}parseValue(t){if(t==="true")return!0;if(t==="false")return!1;if(!t)return t;let e=t.charCodeAt(0);if(!(e>=48&&e<=57||e===43||e===45||e===46))return t;let i=this.options.numberParseOptions;if(i.skipLike?.test(t))return t;if(i.hex&&e===48&&X.test(t))return Number.parseInt(t,16);if(t.length>1&&e===48&&t.charCodeAt(1)!==46){if(i.leadingZeros)return t}if(i.scientific&&M.test(t)){let s=Number(t);if(!Number.isNaN(s))return s}if(G.test(t)){let s=Number(t);if(!Number.isNaN(s))return s}return t}parseAttributeValue(t){if(!this._parseAttributeValue)return t;return this.parseValue(t)}isStopNode(t){if(this.exactStopNodes.has(t))return!0;for(let e of this.wildcardStopSuffixes)if(t.endsWith(`.${e}`)||t===e)return!0;return!1}readStopNodeContent(t,e,r,i){let s=`</${i}`,n=t.indexOf(s,e);if(n===-1)return{content:t.substring(e),pos:r};let a=t.substring(e,n),o=n+s.length;while(o<r&&t.charCodeAt(o)!==62)o++;if(o<r)o++;return{content:a,pos:o}}addToObj(t,e,r,i,s,n){let a=t[e];if(a!==void 0)if(!Array.isArray(a))t[e]=[a,r];else a.push(r);else if(this.options.isArray?.(e,i,s,n))t[e]=[r];else t[e]=r}flushText(t,e,r,i){if(!t&&!e)return;let s=this._textNodeName;if(e){let n=t;if(n&&this._processEntities)n=this.entityDecoder.decodeEntities(n);let a=e+n;if(this._trimValues&&a.length>0){let o=a.charCodeAt(0),h=a.charCodeAt(a.length-1);if(o<=32||h<=32)a=a.trim()}if(this.options.tagValueProcessor){let o=this.options.tagValueProcessor(s,a,r,!1,!0);if(o!==void 0)a=o}if(a){let o=this._parseTagValue?this.parseValue(a):a;if(o!==void 0&&o!=="")this.addToObj(i,s,o,r,!0,!1)}}else{let n=this.processTagValue(t,s,r,!1,!0);if(n!==void 0&&n!=="")this.addToObj(i,s,n,r,!0,!1)}}parseChildren(t,e,r,i,s,n){let a="",o="",h=this.needsJPath;while(e<r){if(t.charCodeAt(e)!==60){let c=e;e++;while(e<r&&t.charCodeAt(e)!==60)e++;if(!a)a=t.substring(c,e);else a+=t.substring(c,e);continue}if(e+1>=r)break;let A=t.charCodeAt(e+1);if(A===33&&e+3<r&&t.charCodeAt(e+2)===45&&t.charCodeAt(e+3)===45){if(a||o)this.flushText(a,o,s,i),a="",o="";e+=4;let c=t.indexOf("-->",e);if(c===-1){e=r;break}if(this._commentPropName){let p=t.substring(e,c);this.addToObj(i,this._commentPropName,p,s,!0,!1)}e=c+3;continue}if(A===33&&e+8<r&&D(t,e+2)){e+=9;let c=t.indexOf("]]>",e);if(c===-1){e=r;break}let p=t.substring(e,c);if(this._cdataPropName)this.flushText(a,o,s,i),a="",o="",this.addToObj(i,this._cdataPropName,p,s,!0,!1);else{if(a){let b=a;if(this._processEntities)b=this.entityDecoder.decodeEntities(b);o+=b,a=""}o+=p}e=c+3;continue}if(A===33&&e+9<r&&k(t,e+2)){e+=9;let c=1;while(e<r&&c>0){let p=t.charCodeAt(e);if(p===60)c++;else if(p===62)c--;e++}continue}if(A===63){e+=2;let c=e;while(e<r&&!_(t.charCodeAt(e))&&t.charCodeAt(e)!==63)e++;let p=t.substring(c,e),b=t.indexOf("?>",e);if(b===-1){e=r;break}let E=t.substring(e,b).trim();if(p==="xml"){if(!this._ignoreDeclaration&&this._piPropName){let w=this.parsePiAttributes(E);this.addToObj(i,this._piPropName,{[p]:w},s,!0,!1)}}else if(!this._ignorePiTags&&this._piPropName)this.addToObj(i,this._piPropName,{[p]:E},s,!0,!1);e=b+2;continue}if(A===47){if(a||o)this.flushText(a,o,s,i),a="",o="";e+=2;let c=e,p=this.readTagName(t,e,r),b=this.extractTagName(t,c,p);e=p;while(e<r&&_(t.charCodeAt(e)))e++;if(e<r&&t.charCodeAt(e)===62)e++;if(n.length>0&&n[n.length-1]===b){n.pop();continue}return e}if(a||o)this.flushText(a,o,s,i),a="",o="";e++;let f=e,C=this.readTagName(t,e,r),l=this.extractTagName(t,f,C);if(!l){e=C+1;continue}e=C;let m=h?s?`${s}.${l}`:l:"",y={},d=!1;if(!this._ignoreAttributes){let c=this.parseAttributes(t,e,r,m,y);if(c<0)e=-c-1,d=!0;else e=c}else while(e<r){let c=t.charCodeAt(e);if(c===62||c===47)break;if(c===34||c===39){e++;while(e<r&&t.charCodeAt(e)!==c)e++}e++}if(this.options.updateTag){if(this.options.updateTag(l,m,y)===!1){while(e<r&&_(t.charCodeAt(e)))e++;if(e<r&&t.charCodeAt(e)===47)e+=2;else if(e<r&&t.charCodeAt(e)===62){e++;let p=`</${l}>`,b=t.indexOf(p,e);if(b!==-1)e=b+p.length}continue}}while(e<r&&_(t.charCodeAt(e)))e++;if(e<r&&t.charCodeAt(e)===47){if(e+=2,d||this._alwaysCreateTextNode){let c={};if(d)this.applyAttributes(c,y,m);if(this._alwaysCreateTextNode)c[this._textNodeName]="";this.addToObj(i,l,c,m,!0,!1)}else this.addToObj(i,l,"",m,!0,!1);continue}if(e<r&&t.charCodeAt(e)===62){if(e++,this.unpairedSet.has(l)){if(d){let E={};this.applyAttributes(E,y,m),this.addToObj(i,l,E,m,!0,!1)}else this.addToObj(i,l,"",m,!0,!1);n.push(l);continue}if(this.exactStopNodes.size>0||this.wildcardStopSuffixes.length>0){if(this.isStopNode(m)){let E=this.readStopNodeContent(t,e,r,l),w={};if(d)this.applyAttributes(w,y,m);if(E.content)w[this._textNodeName]=E.content;this.addToObj(i,l,w,m,!0,!1),e=E.pos;continue}}let c={};if(d)this.applyAttributes(c,y,m);e=this.parseChildren(t,e,r,c,m,n);let p=this._textNodeName,b=c[p];if(!d&&!this._alwaysCreateTextNode){let E=!0;for(let w in c)if(w!==p){E=!1;break}if(E){this.addToObj(i,l,b!==void 0?b:"",m,!0,!1);continue}}this.addToObj(i,l,c,m,!1,!1)}}if(a||o)this.flushText(a,o,s,i);return e}parseChildrenOrdered(t,e,r,i,s){let n="",a=this.needsJPath;while(e<r){if(t.charCodeAt(e)!==60){let d=e;e++;while(e<r&&t.charCodeAt(e)!==60)e++;if(!n)n=t.substring(d,e);else n+=t.substring(d,e);continue}if(e+1>=r)break;let h=t.charCodeAt(e+1);if(h===33&&e+3<r&&t.charCodeAt(e+2)===45&&t.charCodeAt(e+3)===45){if(n){let c=this.processTagValue(n,this._textNodeName,s,!1,!0);if(c!==void 0&&c!=="")i.push({[this._textNodeName]:c});n=""}e+=4;let d=t.indexOf("-->",e);if(d===-1){e=r;break}if(this._commentPropName)i.push({[this._commentPropName]:[{[this._textNodeName]:t.substring(e,d)}]});e=d+3;continue}if(h===33&&e+8<r&&D(t,e+2)){e+=9;let d=t.indexOf("]]>",e);if(d===-1){e=r;break}let c=t.substring(e,d);if(this._cdataPropName){if(n){let p=this.processTagValue(n,this._textNodeName,s,!1,!0);if(p!==void 0&&p!=="")i.push({[this._textNodeName]:p});n=""}i.push({[this._cdataPropName]:[{[this._textNodeName]:c}]})}else n+=c;e=d+3;continue}if(h===33&&e+9<r&&k(t,e+2)){e+=9;let d=1;while(e<r&&d>0){let c=t.charCodeAt(e);if(c===60)d++;else if(c===62)d--;e++}continue}if(h===63){e+=2;let d=t.indexOf("?>",e);if(d===-1){e=r;break}e=d+2;continue}if(h===47){if(n){let c=this.processTagValue(n,this._textNodeName,s,!1,!0);if(c!==void 0&&c!=="")i.push({[this._textNodeName]:c});n=""}e+=2,e=this.readTagName(t,e,r);while(e<r&&_(t.charCodeAt(e)))e++;if(e<r&&t.charCodeAt(e)===62)e++;return e}if(n){let d=this.processTagValue(n,this._textNodeName,s,!1,!0);if(d!==void 0&&d!=="")i.push({[this._textNodeName]:d});n=""}e++;let g=e,A=this.readTagName(t,e,r),f=this.extractTagName(t,g,A);if(!f){e=A+1;continue}e=A;let C=a?s?`${s}.${f}`:f:"",l={},m=!1;if(!this._ignoreAttributes){let d=this.parseAttributes(t,e,r,C,l);if(d<0)e=-d-1,m=!0;else e=d}else while(e<r){let d=t.charCodeAt(e);if(d===62||d===47)break;if(d===34||d===39){e++;while(e<r&&t.charCodeAt(e)!==d)e++}e++}while(e<r&&_(t.charCodeAt(e)))e++;let y={[f]:[]};if(m){y[":@"]={};for(let c in l)y[":@"][this._attrPrefix+c]=this.parseAttributeValue(l[c])}if(e<r&&t.charCodeAt(e)===47){e+=2,i.push(y);continue}if(e<r&&t.charCodeAt(e)===62)e++,e=this.parseChildrenOrdered(t,e,r,y[f],C),i.push(y)}if(n){let o=this.processTagValue(n,this._textNodeName,s,!1,!0);if(o!==void 0&&o!=="")i.push({[this._textNodeName]:o})}return e}applyAttributes(t,e,r){let i=this._attrPrefix;if(this._attrsGroupName){let s={};for(let n in e)s[i+n]=this.parseAttributeValue(e[n]);t[this._attrsGroupName]=s}else for(let s in e)t[i+s]=this.parseAttributeValue(e[s])}parsePiAttributes(t){let e={},r=0,i=t.length;while(r<i){while(r<i&&_(t.charCodeAt(r)))r++;if(r>=i)break;let s=r;while(r<i&&!_(t.charCodeAt(r))&&t.charCodeAt(r)!==61)r++;let n=t.substring(s,r);if(!n)break;while(r<i&&_(t.charCodeAt(r)))r++;if(r<i&&t.charCodeAt(r)===61){r++;while(r<i&&_(t.charCodeAt(r)))r++;if(r<i){let a=t.charCodeAt(r);if(a===34||a===39){r++;let o=r;while(r<i&&t.charCodeAt(r)!==a)r++;if(e[n]=t.substring(o,r),r<i)r++}}}}return e}}function ui(t){let e=t.endpoint||`s3.${t.region}.amazonaws.com`,r=new URL(/^https?:\/\//i.test(e)?e:`https://${e}`);if(r.protocol!=="http:"&&r.protocol!=="https:"||r.pathname!=="/"&&r.pathname!==""||r.search||r.hash||r.username||r.password)throw Error("S3 endpoint must be an HTTP(S) origin without a path");let i=r.protocol.slice(0,-1),s=r.host;if(!t.bucket)return{protocol:i,host:s,path:t.path};if(t.forcePathStyle){let n=t.path==="/"?`/${t.bucket}`:`/${t.bucket}${t.path}`;return{protocol:i,host:s,path:n}}return{protocol:i,host:`${t.bucket}.${s}`,path:t.path}}class u{credentials;config;cache;xmlParser;constructor(t,e){this.config={maxRetries:3,retryDelay:1000,cacheEnabled:!0,defaultCacheTTL:60000,...e},this.credentials=t||this.loadCredentials(),this.cache=new Map,this.xmlParser=new v({ignoreAttributes:!1,attributeNamePrefix:"@_",textNodeName:"#text",parseAttributeValue:!0,trimValues:!0})}loadCredentials(){let t=process.env.AWS_ACCESS_KEY_ID,e=process.env.AWS_SECRET_ACCESS_KEY,r=process.env.AWS_SESSION_TOKEN;if(t&&e)return{accessKeyId:t,secretAccessKey:e,sessionToken:r};let i=this.loadCredentialsFromFile();if(i)return i;return{accessKeyId:"",secretAccessKey:""}}loadCredentialsFromFile(){let t=this.config?.profile||process.env.AWS_PROFILE||"default",e=process.env.AWS_SHARED_CREDENTIALS_FILE||K(B(),".aws","credentials");if(!W(e))return null;try{let r=J(e,"utf-8"),i=this.parseCredentialsFile(r,t);if(i.accessKeyId&&i.secretAccessKey)return i}catch{}return null}parseCredentialsFile(t,e){let r=t.split(`
|
|
2
|
-
`),i="",s="",n="",a;for(let o of r){let h=o.trim();if(!h||h.startsWith("#"))continue;let g=h.match(/^\[([^\]]+)\]$/);if(g){i=g[1];continue}if(i===e){let[A,...f]=h.split("="),C=f.join("=").trim();if(A.trim()==="aws_access_key_id")s=C;else if(A.trim()==="aws_secret_access_key")n=C;else if(A.trim()==="aws_session_token")a=C}}return{accessKeyId:s,secretAccessKey:n,sessionToken:a}}ec2CredentialsCache;async getCredentials(){let t=process.env.AWS_ACCESS_KEY_ID,e=process.env.AWS_SECRET_ACCESS_KEY;if(t&&e)return{accessKeyId:t,secretAccessKey:e,sessionToken:process.env.AWS_SESSION_TOKEN};let r=this.loadCredentialsFromFile();if(r)return r;if(this.ec2CredentialsCache){let i=Date.now();if(this.ec2CredentialsCache.expiration>i+300000)return this.ec2CredentialsCache.credentials}try{let s=await(await fetch("http://169.254.169.254/latest/api/token",{method:"PUT",headers:{"X-aws-ec2-metadata-token-ttl-seconds":"21600"}})).text(),a=await(await fetch("http://169.254.169.254/latest/meta-data/iam/security-credentials/",{headers:{"X-aws-ec2-metadata-token":s}})).text(),h=await(await fetch(`http://169.254.169.254/latest/meta-data/iam/security-credentials/${a}`,{headers:{"X-aws-ec2-metadata-token":s}})).json(),g={accessKeyId:h.AccessKeyId,secretAccessKey:h.SecretAccessKey,sessionToken:h.Token};return this.ec2CredentialsCache={credentials:g,expiration:new Date(h.Expiration).getTime()},g}catch(i){throw Error("AWS credentials not found. Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, or run on an EC2 instance with an IAM role.")}}async request(t){if(t.method==="GET"&&this.config.cacheEnabled&&t.cacheKey){let i=this.getFromCache(t.cacheKey);if(i!==null)return i}let e=t.retries??this.config.maxRetries??3,r=null;for(let i=0;i<=e;i++)try{let s=await this.makeRequest(t);if(t.method==="GET"&&this.config.cacheEnabled&&t.cacheKey)this.setInCache(t.cacheKey,s,t.cacheTTL??this.config.defaultCacheTTL??60000);return s}catch(s){if(r=s,!this.shouldRetry(s))throw s;if(i===e)throw s;let a=this.calculateRetryDelay(i);await this.sleep(a)}throw r||Error("Request failed after retries")}async makeRequest(t){let e=t.credentials||(this.credentials?.accessKeyId?this.credentials:await this.getCredentials());if(!e||!e.accessKeyId||!e.secretAccessKey)throw Error("AWS credentials not provided");let r=this.buildUrl(t),i=this.signRequest(t,e),s=await fetch(r,{method:t.method,headers:i,body:t.body}),n=await s.text();if(!s.ok)throw this.parseError(n,s.status,s.headers);if(!n||n.trim()===""){if(t.returnHeaders)return{body:null,headers:this.headersToObject(s.headers)};return null}if(t.rawResponse){if(t.returnHeaders)return{body:n,headers:this.headersToObject(s.headers)};return n}let a;if(n.startsWith("<"))a=this.parseXmlResponse(n);else try{a=JSON.parse(n)}catch{a=n}if(t.returnHeaders)return{body:a,headers:this.headersToObject(s.headers)};return a}headersToObject(t){let e={};return t.forEach((r,i)=>{e[i]=r}),e}buildUrl(t){let{service:e,region:r,queryParams:i}=t,{path:s}=t,n,a="https";if(e==="s3"){let h=ui({region:r,path:s,bucket:t.bucket,endpoint:this.config.endpoint,forcePathStyle:this.config.forcePathStyle});a=h.protocol,n=h.host,s=h.path}else if(e==="cloudfront")n="cloudfront.amazonaws.com";else if(e==="iam")n="iam.amazonaws.com";else if(e==="route53")n="route53.amazonaws.com";else if(e==="route53domains")n="route53domains.us-east-1.amazonaws.com";else if(e==="ecr")n=`api.ecr.${r}.amazonaws.com`;else if(e==="ses")n=`email.${r}.amazonaws.com`;else n=`${e}.${r}.amazonaws.com`;let o=`${a}://${n}${s}`;if(i&&Object.keys(i).length>0){let h=Object.keys(i).map((g)=>`${this.uriEncode(g)}=${this.uriEncode(i[g])}`).join("&");o+=`?${h}`}return o}signRequest(t,e){let{service:r,region:i,method:s,queryParams:n,body:a}=t,{path:o}=t,h=new Date,g=this.getAmzDate(h),A=this.getDateStamp(h),f;if(r==="s3"){let S=ui({region:i,path:o,bucket:t.bucket,endpoint:this.config.endpoint,forcePathStyle:this.config.forcePathStyle});f=S.host,o=S.path}else if(r==="cloudfront")f="cloudfront.amazonaws.com";else if(r==="iam")f="iam.amazonaws.com";else if(r==="route53")f="route53.amazonaws.com";else if(r==="route53domains")f="route53domains.us-east-1.amazonaws.com";else if(r==="ecr")f=`api.ecr.${i}.amazonaws.com`;else if(r==="ses")f=`email.${i}.amazonaws.com`;else f=`${r}.${i}.amazonaws.com`;let C={host:f,"x-amz-date":g,...t.headers||{}};if(e.sessionToken)C["x-amz-security-token"]=e.sessionToken;if(a){if(!Object.keys(C).some((O)=>O.toLowerCase()==="content-type"))C["content-type"]="application/x-www-form-urlencoded";C["content-length"]=Buffer.byteLength(a).toString()}let l=this.sha256(a||"");C["x-amz-content-sha256"]=l;let m=o,y=n?Object.keys(n).sort().map((S)=>`${this.uriEncode(S)}=${this.uriEncode(n[S])}`).join("&"):"",d=Object.keys(C).sort((S,O)=>S.toLowerCase().localeCompare(O.toLowerCase())),c=d.map((S)=>`${S.toLowerCase()}:${C[S].trim()}
|
|
3
|
-
`).join(""),p=d.map((S)=>S.toLowerCase()).join(";"),b=[s,m,y,c,p,l].join(`
|
|
4
|
-
`),E="AWS4-HMAC-SHA256",w=r;if(r==="email")w="ses";let I=`${A}/${i}/${w}/aws4_request`,F=[E,g,I,this.sha256(b)].join(`
|
|
5
|
-
`),q=this.getSignatureKey(e.secretAccessKey,A,i,w),U=this.hmac(q,F),j=`${E} Credential=${e.accessKeyId}/${I}, SignedHeaders=${p}, Signature=${U}`;return{...C,Authorization:j}}getAmzDate(t){return t.toISOString().replace(/[:-]|\.\d{3}/g,"")}getDateStamp(t){return t.toISOString().slice(0,10).replace(/-/g,"")}uriEncode(t){return encodeURIComponent(t).replace(/[!'()*]/g,(e)=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`)}sha256(t){return T.createHash("sha256").update(t,"utf8").digest("hex")}hmac(t,e){return T.createHmac("sha256",t).update(e,"utf8").digest("hex")}getSignatureKey(t,e,r,i){let s=T.createHmac("sha256",`AWS4${t}`).update(e).digest(),n=T.createHmac("sha256",s).update(r).digest(),a=T.createHmac("sha256",n).update(i).digest();return T.createHmac("sha256",a).update("aws4_request").digest()}parseXmlResponse(t){try{let e=this.xmlParser.parse(t);if(e.ErrorResponse)throw this.createErrorFromXml(e.ErrorResponse.Error);let r=Object.keys(e);if(r.length===1)return e[r[0]];return e}catch(e){if(e.code||e.statusCode)throw e;return{}}}parseError(t,e,r){let i=Error();if(i.statusCode=e,i.requestId=r.get("x-amzn-requestid")||r.get("x-amz-request-id")||void 0,t.startsWith("<"))try{let s=this.xmlParser.parse(t);if(s.ErrorResponse?.Error){let n=s.ErrorResponse.Error;return i.code=n.Code,i.message=`AWS Error [${n.Code}]: ${n.Message||"Unknown error"}`,i.type=n.Type,i}if(s.Error)return i.code=s.Error.Code,i.message=`AWS Error [${s.Error.Code}]: ${s.Error.Message||"Unknown error"}`,i}catch{}try{let s=JSON.parse(t);if(s.__type||s.code)return i.code=s.__type||s.code,i.message=`AWS Error [${i.code}]: ${s.message||s.Message||"Unknown error"}`,i}catch{}return i.message=`AWS API Error (${e}): ${t}`,i}createErrorFromXml(t){let e=Error();return e.code=t.Code,e.message=`AWS Error [${t.Code}]: ${t.Message||"Unknown error"}`,e.type=t.Type,e}isRetryableError(t){return["RequestTimeout","RequestTimeoutException","PriorRequestNotComplete","ConnectionError","ThrottlingException","Throttling","TooManyRequestsException","ProvisionedThroughputExceededException","RequestLimitExceeded","BandwidthLimitExceeded","SlowDown","ServiceUnavailable","ServiceUnavailableException","InternalError","InternalFailure","InternalServerError","InternalServiceException","TransientError","TransientFailure","IDPCommunicationErrorException","NetworkError","ConnectionRefusedException","EC2ThrottledException","503 Slow Down","500 InternalError"].includes(t)}isRetryableStatusCode(t){return t>=500||t===429}shouldRetry(t){if(t.name==="FetchError"||t.name==="TypeError"||t.code==="ECONNRESET")return!0;if(t.code&&this.isRetryableError(t.code))return!0;if(t.statusCode&&this.isRetryableStatusCode(t.statusCode))return!0;if(t.statusCode&&t.statusCode>=400&&t.statusCode<500&&t.statusCode!==429)return!1;if(t.statusCode)return!1;return!0}calculateRetryDelay(t){let e=this.config.retryDelay??1000,r=30000,i=Math.min(e*2**t,30000),s=Math.random()*0.3*i;return i+s}sleep(t){return new Promise((e)=>setTimeout(e,t))}getFromCache(t){let e=this.cache.get(t);if(!e)return null;if(Date.now()>e.expires)return this.cache.delete(t),null;return e.data}setInCache(t,e,r){this.cache.set(t,{data:e,expires:Date.now()+r})}clearCache(){this.cache.clear()}clearExpiredCache(){let t=Date.now();for(let[e,r]of this.cache.entries())if(t>r.expires)this.cache.delete(e)}}function N(t){let e={};for(let[r,i]of Object.entries(t)){if(i===void 0||i===null)continue;if(Array.isArray(i))i.forEach((s,n)=>{e[`${r}.${n+1}`]=String(s)});else if(typeof i==="object")for(let[s,n]of Object.entries(i))e[`${r}.${s}`]=String(n);else e[r]=String(i)}return e}function Us(){let t=process.env.AWS_ACCESS_KEY_ID,e=process.env.AWS_SECRET_ACCESS_KEY,r=t==="",i=e==="";if(t&&e)return{source:"env",emptyEnvKey:r,emptyEnvSecret:i,description:"environment variables (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY)"};let s=process.env.AWS_PROFILE||"default",n=process.env.AWS_SHARED_CREDENTIALS_FILE||K(B(),".aws","credentials");if(W(n))return{source:"file",profile:s,emptyEnvKey:r,emptyEnvSecret:i,description:`~/.aws/credentials (profile: ${s})`};return{source:"ec2",emptyEnvKey:r,emptyEnvSecret:i,description:"EC2 instance metadata service (IMDSv2)"}}
|
|
6
|
-
export{ui,u,N,Us};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ui,u,N,Us}from"./chunk-mx9ppkmn.js";export{u as AWSClient,N as buildQueryParams,Us as detectCredentialSource,ui as resolveS3Endpoint};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{v}from"./chunk-vjkyj3xy.js";import"./chunk-mx9ppkmn.js";export{v as CloudFormationClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{st}from"./chunk-5a7sxtwn.js";import"./chunk-mx9ppkmn.js";export{st as STSClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Uu,Bu,Fu,ju}from"./chunk-apnhhfkj.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";import"./chunk-mxvekmdx.js";export{ju as deleteFailoverReplicaBuckets,Uu as ensureFailoverReplicaBuckets,Bu as grantFailoverReplicaAccess,Fu as seedFailoverReplicas};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Xo}from"./chunk-h1rb8qvt.js";export{Xo as encodeDashboardPayload};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{u}from"./chunk-mx9ppkmn.js";class v{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new u(void 0,{profile:t})}async createStack(e){let t={Action:"CreateStack",StackName:e.stackName,Version:"2010-05-15"};if(e.templateBody)t.TemplateBody=e.templateBody;else if(e.templateUrl)t.TemplateURL=e.templateUrl;else throw Error("Either templateBody or templateUrl must be provided");if(e.parameters)e.parameters.forEach((a,r)=>{t[`Parameters.member.${r+1}.ParameterKey`]=a.ParameterKey,t[`Parameters.member.${r+1}.ParameterValue`]=a.ParameterValue});if(e.capabilities)e.capabilities.forEach((a,r)=>{t[`Capabilities.member.${r+1}`]=a});if(e.roleArn)t.RoleARN=e.roleArn;if(e.tags)e.tags.forEach((a,r)=>{t[`Tags.member.${r+1}.Key`]=a.Key,t[`Tags.member.${r+1}.Value`]=a.Value});if(e.timeoutInMinutes)t.TimeoutInMinutes=e.timeoutInMinutes;if(e.onFailure)t.OnFailure=e.onFailure;let s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{StackId:s.StackId||s.CreateStackResult?.StackId}}async updateStack(e){let t={Action:"UpdateStack",StackName:e.stackName,Version:"2010-05-15"};if(e.templateBody)t.TemplateBody=e.templateBody;else if(e.templateUrl)t.TemplateURL=e.templateUrl;if(e.parameters)e.parameters.forEach((a,r)=>{if(t[`Parameters.member.${r+1}.ParameterKey`]=a.ParameterKey,a.UsePreviousValue)t[`Parameters.member.${r+1}.UsePreviousValue`]="true";else t[`Parameters.member.${r+1}.ParameterValue`]=a.ParameterValue});if(e.capabilities)e.capabilities.forEach((a,r)=>{t[`Capabilities.member.${r+1}`]=a});if(e.roleArn)t.RoleARN=e.roleArn;if(e.tags)e.tags.forEach((a,r)=>{t[`Tags.member.${r+1}.Key`]=a.Key,t[`Tags.member.${r+1}.Value`]=a.Value});let s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{StackId:s.StackId||s.UpdateStackResult?.StackId}}async deleteStack(e,t,s){let a={Action:"DeleteStack",StackName:e,Version:"2010-05-15"};if(t)a.RoleARN=t;if(s&&s.length>0)s.forEach((r,m)=>{a[`RetainResources.member.${m+1}`]=r});await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(a).toString()})}async describeStacks(e={}){let t={Action:"DescribeStacks",Version:"2010-05-15"};if(e.stackName)t.StackName=e.stackName;let s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{Stacks:this.parseStacksResponse(s)}}async describeStackEvents(e){let t={Action:"DescribeStackEvents",StackName:e,Version:"2010-05-15"},s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{StackEvents:this.parseStackEvents(s)}}async listStackResources(e){let t={Action:"ListStackResources",StackName:e,Version:"2010-05-15"},a=(await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}))?.ListStackResourcesResult?.StackResourceSummaries?.member,r=[];if(a)r=Array.isArray(a)?a:[a];return{StackResourceSummaries:r}}async waitForStack(e,t){let s={"stack-create-complete":["CREATE_COMPLETE"],"stack-update-complete":["UPDATE_COMPLETE"],"stack-delete-complete":["DELETE_COMPLETE"]},a=["CREATE_FAILED","ROLLBACK_FAILED","ROLLBACK_COMPLETE","UPDATE_ROLLBACK_FAILED","UPDATE_ROLLBACK_COMPLETE"],r=s[t],m=360,i=0;while(i<360)try{let c=await this.describeStacks({stackName:e});if(c.Stacks.length===0){if(t==="stack-delete-complete")return;if(i%10===0)console.log(`[waitForStack] Attempt ${i}: Stack not visible yet`);await new Promise((o)=>setTimeout(o,2000)),i++;continue}let n=c.Stacks[0];if(i%10===0)console.log(`[waitForStack] Attempt ${i}: Status = ${n.StackStatus}${n.StackStatusReason?` (${n.StackStatusReason})`:""}`);if(r.includes(n.StackStatus))return;if((t==="stack-create-complete"||t==="stack-update-complete")&&(n.StackStatus==="DELETE_IN_PROGRESS"||n.StackStatus==="DELETE_COMPLETE")){console.log("[waitForStack] Stack is being deleted (creation/update failed)");let o="";try{let S=await this.describeStackEvents(e);console.log("[waitForStack] Stack events (most recent first):");for(let k of S.StackEvents.slice(0,15))if(k.ResourceStatus.includes("FAILED")||k.ResourceStatusReason){if(console.log(` ${k.LogicalResourceId}: ${k.ResourceStatus} - ${k.ResourceStatusReason||"No reason provided"}`),k.ResourceStatus.includes("FAILED")&&k.ResourceStatusReason&&!o)o=k.ResourceStatusReason}}catch{}let l=o||n.StackStatusReason||"Check CloudFormation console for details.";throw Error(`Stack creation/update failed - stack is being deleted. Reason: ${l}`)}if(n.StackStatus==="DELETE_FAILED"&&t==="stack-delete-complete"){let o=Error("Stack deletion failed - may have resources that need to be retained");throw o.code="DELETE_FAILED",o.stackStatus=n.StackStatus,o.statusReason=n.StackStatusReason,o}if(a.includes(n.StackStatus))throw Error(`Stack reached failure status: ${n.StackStatus}`);await new Promise((o)=>setTimeout(o,5000)),i++}catch(c){if(t==="stack-delete-complete"&&c.message?.includes("does not exist"))return;if(t==="stack-create-complete"&&c.message?.includes("does not exist")){if(i%10===0)console.log(`[waitForStack] Attempt ${i}: Stack does not exist (error), retrying...`);await new Promise((n)=>setTimeout(n,2000)),i++;continue}throw console.log(`[waitForStack] Unexpected error: ${c.message}`),c}throw console.log(`[waitForStack] Timeout after ${i} attempts`),Error(`Timeout waiting for stack to reach ${t}`)}async validateTemplate(e){let t={Action:"ValidateTemplate",TemplateBody:e,Version:"2010-05-15"};return await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}async listStacks(e){let t={Action:"ListStacks",Version:"2010-05-15"};if(e)e.forEach((c,n)=>{t[`StackStatusFilter.member.${n+1}`]=c});let s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}),a=s.ListStacksResponse||s,r=a.ListStacksResult||a,m=r.StackSummaries?.member||r.StackSummaries||[];return{StackSummaries:(Array.isArray(m)?m:m?[m]:[]).map((c)=>({StackId:c.StackId||"",StackName:c.StackName||"",TemplateDescription:c.TemplateDescription,CreationTime:c.CreationTime||"",LastUpdatedTime:c.LastUpdatedTime,DeletionTime:c.DeletionTime,StackStatus:c.StackStatus||""}))}}async createChangeSet(e){let t={Action:"CreateChangeSet",StackName:e.stackName,ChangeSetName:e.changeSetName,Version:"2010-05-15"};if(e.templateBody)t.TemplateBody=e.templateBody;else if(e.templateUrl)t.TemplateURL=e.templateUrl;if(e.parameters)e.parameters.forEach((a,r)=>{t[`Parameters.member.${r+1}.ParameterKey`]=a.ParameterKey,t[`Parameters.member.${r+1}.ParameterValue`]=a.ParameterValue});if(e.capabilities)e.capabilities.forEach((a,r)=>{t[`Capabilities.member.${r+1}`]=a});if(e.changeSetType)t.ChangeSetType=e.changeSetType;let s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{Id:s.Id,StackId:s.StackId}}async describeChangeSet(e,t){let s={Action:"DescribeChangeSet",StackName:e,ChangeSetName:t,Version:"2010-05-15"};return await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(s).toString()})}async executeChangeSet(e,t){let s={Action:"ExecuteChangeSet",StackName:e,ChangeSetName:t,Version:"2010-05-15"};await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(s).toString()})}async deleteChangeSet(e,t){let s={Action:"DeleteChangeSet",StackName:e,ChangeSetName:t,Version:"2010-05-15"};await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(s).toString()})}async getStackOutputs(e){let t=await this.describeStacks({stackName:e});if(!t.Stacks||t.Stacks.length===0)throw Error(`Stack ${e} not found`);let s=t.Stacks[0],a={};if(s.Outputs)for(let r of s.Outputs)a[r.OutputKey]=r.OutputValue;return a}async getTemplate(e){let t={Action:"GetTemplate",StackName:e,Version:"2010-05-15"},s=await this.client.request({service:"cloudformation",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{TemplateBody:s?.GetTemplateResult?.TemplateBody||s?.TemplateBody||""}}parseStacksResponse(e){let t=[],s=e?.DescribeStacksResult?.Stacks?.member||e?.Stacks?.member||e?.Stacks||e;if(s&&!Array.isArray(s))s=[s];if(Array.isArray(s)){for(let a of s)if(a.StackId||a.StackName){let r;if(a.Outputs?.member)r=(Array.isArray(a.Outputs.member)?a.Outputs.member:[a.Outputs.member]).map((i)=>({OutputKey:i.OutputKey,OutputValue:i.OutputValue,Description:i.Description,ExportName:i.ExportName}));t.push({StackId:a.StackId,StackName:a.StackName,StackStatus:a.StackStatus,CreationTime:a.CreationTime,LastUpdatedTime:a.LastUpdatedTime,StackStatusReason:a.StackStatusReason,Outputs:r})}}else if(e.StackId)t.push({StackId:e.StackId,StackName:e.StackName,StackStatus:e.StackStatus,CreationTime:e.CreationTime,LastUpdatedTime:e.LastUpdatedTime});return t}parseStackEvents(e){let t=[],s=e?.DescribeStackEventsResult?.StackEvents?.member||e?.StackEvents?.member||e?.StackEvents||[];if(s&&!Array.isArray(s))s=[s];for(let a of s)if(a.LogicalResourceId)t.push({Timestamp:a.Timestamp,ResourceType:a.ResourceType,LogicalResourceId:a.LogicalResourceId,ResourceStatus:a.ResourceStatus,ResourceStatusReason:a.ResourceStatusReason});return t}async waitForStackWithProgress(e,t,s){let a={"stack-create-complete":["CREATE_COMPLETE"],"stack-update-complete":["UPDATE_COMPLETE"],"stack-delete-complete":["DELETE_COMPLETE"]},r=["CREATE_FAILED","ROLLBACK_FAILED","ROLLBACK_COMPLETE","UPDATE_ROLLBACK_FAILED","UPDATE_ROLLBACK_COMPLETE"],m=a[t],i=360,c=0,n=new Set;while(c<360)try{if(s)try{let k=[...(await this.describeStackEvents(e)).StackEvents||[]].reverse();for(let d of k){let g=`${d.LogicalResourceId}-${d.ResourceStatus}-${d.Timestamp}`;if(!n.has(g))n.add(g),s({resourceId:d.LogicalResourceId,resourceType:d.ResourceType,status:d.ResourceStatus,reason:d.ResourceStatusReason,timestamp:d.Timestamp})}}catch{}let o=await this.describeStacks({stackName:e});if(o.Stacks.length===0){if(t==="stack-delete-complete")return;await new Promise((S)=>setTimeout(S,2000)),c++;continue}let l=o.Stacks[0];if(m.includes(l.StackStatus))return;if(l.StackStatus==="DELETE_FAILED"&&t==="stack-delete-complete"){let S=Error("Stack deletion failed - may have resources that need to be retained");throw S.code="DELETE_FAILED",S.stackStatus=l.StackStatus,S.statusReason=l.StackStatusReason,S}if(r.includes(l.StackStatus))throw Error(`Stack reached failure status: ${l.StackStatus}`);await new Promise((S)=>setTimeout(S,3000)),c++}catch(o){if(t==="stack-delete-complete"&&o.message?.includes("does not exist"))return;if(t==="stack-create-complete"&&o.message?.includes("does not exist")){await new Promise((l)=>setTimeout(l,2000)),c++;continue}throw o}throw Error(`Timeout waiting for stack to reach ${t}`)}async waitForStackComplete(e,t=120,s=5000){let a=["CREATE_COMPLETE","UPDATE_COMPLETE","DELETE_COMPLETE"],r=["CREATE_FAILED","UPDATE_FAILED","DELETE_FAILED","ROLLBACK_COMPLETE","ROLLBACK_FAILED","UPDATE_ROLLBACK_COMPLETE","UPDATE_ROLLBACK_FAILED"];for(let m=0;m<t;m++)try{let i=await this.describeStacks({stackName:e});if(i.Stacks.length===0)return{success:!0,status:"DELETE_COMPLETE"};let c=i.Stacks[0],n=c.StackStatus;if(a.includes(n))return{success:!0,status:n};if(r.includes(n))return{success:!1,status:n,reason:c.StackStatusReason};await new Promise((o)=>setTimeout(o,s))}catch(i){if(i.message?.includes("does not exist"))return{success:!0,status:"DELETE_COMPLETE"};throw i}return{success:!1,status:"TIMEOUT",reason:"Timeout waiting for stack operation"}}}
|
|
2
|
-
export{v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ft,bd,Ss,ao,ip,bs,vs,co,Ot,op,vd,sp,ap,j,Ts,cp}from"./chunk-tq172j2x.js";import"./chunk-6kx50dyc.js";import"./chunk-2mv692y4.js";import"./chunk-vjkyj3xy.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";import"./chunk-mxvekmdx.js";export{ao as assertEnvWithinLimit,Ss as buildFunctionEnv,ip as deployServerlessApp,sp as getCommandRecord,bd as infraEnvFromOutputs,vd as listCommandHistory,bs as redeployServerlessApp,ft as resolveServerlessFunctions,cp as restoreServerlessDatabase,vs as rollbackServerlessApp,op as runAndRecordCommand,ap as runDbQuery,Ot as runRemoteCommand,Ts as scaleServerlessDatabase,j as serverlessInfo,co as setMaintenance};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ku,Wl,ba,va,Gl,_u,xu,Ht,cn,qt,wi,$u,ln,Uo}from"./chunk-x63yz8xg.js";import{Ke,ms,ec,ri,gs,rp}from"./chunk-ngyqqy6d.js";import{md,Ji,gd,fd,hd,gr,np,Xi}from"./chunk-8jbkphmg.js";import{ma,ga,fa,$l,Oo,Ol,Ll,ha,Ml,Ul}from"./chunk-mxvekmdx.js";export{ga as CHAIN_HEADER,cn as DEFAULT_ATTACK_MODE_HOURS,md as DEFAULT_DDOS_THRESHOLDS,Oo as DEFAULT_RECURSION_LIMITS,ma as DEPTH_HEADER,Ht as MAX_CONTROL_HOURS,qt as ProtectionControlStore,ku as RATE_LIMIT_KEY_SEPARATOR,Gl as RateLimiter,ha as RecursionGuard,fa as TRACE_HEADER,ln as applyControlsToDdos,$u as applyControlsToRateLimits,Xi as applyMitigationFactor,xu as defaultRateLimitRules,wi as describePosture,Ke as escapeSecLang,$l as functionFingerprint,Wl as globMatches,ec as globToRegex,Ll as inspectInvocation,ms as isSafePattern,Ji as isValidCidr,Uo as mergeControlsIntoConfig,Ol as parseChain,np as planMitigation,Ml as propagationHeaders,_u as rateLimitHeaders,va as rateLimitKey,Ul as recursionBlockedResponse,gr as renderDdosInstallScript,hd as renderNftablesRuleset,fd as renderSysctlFile,ri as renderWafConfig,gs as renderWafInstallScript,ba as ruleMatches,gd as sysctlHardening,rp as wafEventTelemetry};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{R}from"./chunk-6kx50dyc.js";import"./chunk-mx9ppkmn.js";export{R as LambdaClient};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Vu,Gr,ji,ne,zu,Oa,Yl,Zo,Hu,qu,Wu,La,Vi,es,Ma,Kr,ur,Gu,Yn,Ku,Ua,Zl,ed,ts,Ba,Fa,pr,zi,mr,ja,rs,Zn,td,Hi,Va,za,qi,rd,Ha,qa,Wa,Ga,ns,nd,id,Ju,od,Ka,Wi,sd,ad,is,kt,os,ss,as,Ja,cd,Xa,cs,Xu,mt,Qu,Qa,_t,Ya,Yu,Za,ld,Zu,Q,dd,ls,ep,Gi,ei,ti,ds,ud,pd,tp,us,ps}from"./chunk-e24bscb0.js";import"./chunk-0trtkv9g.js";import"./chunk-mxvekmdx.js";export{is as AnomalyConfigStore,ud as AwsSpendTransport,pd as ComputeSpendTransport,ts as CounterTracker,Ua as DEFAULT_METER_MAPPINGS,La as DEFAULT_PRICE_BOOK,zi as DEFAULT_THRESHOLDS,kt as DETECTABLE_SIGNALS,ji as ENFORCEMENT_ACTIONS,qi as ENFORCEMENT_DESCRIPTIONS,ne as ENFORCEMENT_SEVERITY,cd as FOCUS_VERSION,Gr as METERS,Vu as METER_KEYS,zu as MICRO_CENTS,td as MIN_PROJECTION_CONFIDENCE,ld as RecordingSpendTransport,sd as SENSITIVITY_THRESHOLDS,ti as SPEND_CYCLE_SECONDS,Qa as SPEND_GATE_SETTING,ep as SPEND_LEASE_SETTING,ss as SignalSource,Ya as SpendCapError,_t as SpendGate,Gi as SpendLoopLease,ls as SpendNotificationRouter,ei as SpendRunner,mt as SpendService,mr as SpendStore,Zu as URGENT_SPEND_EVENTS,rd as USER_VISIBLE_ACTIONS,Fa as aggregateDeltas,Wi as anomalyOptionsForSignal,Yu as assertSpendAllows,ur as budgetWindow,tp as compositeSpendTransport,Za as createEnforcementHandlers,od as detectAnomalies,Ka as detectLatestAnomaly,Va as evaluateBudget,Ju as ewma,Zl as findMapping,Yl as findPriceEntry,Q as formatCents,Zn as formatTimeToExhaustion,Hi as governingLimitCents,us as handleSpendRequest,Yn as hourBucket,Ku as hourBucketsBetween,Ga as isOperationAllowed,Vi as isValidTimeZone,Ja as lookbackHoursForSignal,ns as median,nd as medianAbsoluteDeviation,za as mergeDecisions,Wu as mergePriceBooks,Ba as meterTelemetry,as as optionsForSignal,rs as percentOfLimit,Ha as planEnforcement,Gu as previousBudgetWindow,Zo as priceUsage,Hu as priceUsageLines,ja as projectSpend,id as robustZScore,qu as roundCents,ad as routeMatches,qa as runEnforcement,pr as scopeKey,os as signalDefinition,dd as spendNotificationText,ps as spendOpenApiPaths,ds as startSpendLoop,Xu as streamFocusJsonl,Wa as strongestActiveAction,Oa as tieredMicroCents,cs as toFocusJsonl,Xa as toFocusRecords,ed as usageDeltaKey,Kr as utcInstantOfLocal,Qu as zeroFill,Ma as zoneOffsetMs,es as zonedParts};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac,up}from"./chunk-840arz58.js";import"./chunk-9vmtm7nq.js";import"./chunk-e55fdn0r.js";import"./chunk-mx9ppkmn.js";export{ac as EmailClient,up as email};
|
package/dist/chunk-07rjctzz.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Zi,es,ts,rs,_a,Oa}from"./chunk-hyeeqga9.js";import"./chunk-31tvc877.js";import"./chunk-e8e1h2h9.js";import"./chunk-9wmer0zx.js";import"./chunk-ptq9v346.js";import"./chunk-9asn5fpt.js";import"./chunk-zx8ecz8b.js";export{_a as deleteStaticSite,es as deployStaticSite,Oa as deployStaticSiteFull,Zi as generateStaticSiteTemplate,rs as invalidateCache,ts as uploadStaticFiles};
|