@stacksjs/ts-cloud 0.16.70 → 0.16.72

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.
Files changed (178) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/{chunk-9j6040sq.js → chunk-00hq474q.js} +2 -2
  3. package/dist/bin/chunk-0g9ze9v3.js +1 -0
  4. package/dist/bin/chunk-0k75pjkr.js +1 -0
  5. package/dist/bin/{chunk-vveaxany.js → chunk-1c91h57k.js} +5 -5
  6. package/dist/bin/{chunk-tx2mh4bw.js → chunk-1g3gvxy2.js} +2 -2
  7. package/dist/bin/{chunk-fmz6qv0v.js → chunk-1n1s649d.js} +3 -3
  8. package/dist/bin/{chunk-6wz74ram.js → chunk-27t4ve22.js} +60 -60
  9. package/dist/bin/{chunk-rsqzyxmz.js → chunk-2j2xcq2h.js} +1 -1
  10. package/dist/bin/{chunk-atsg4tw3.js → chunk-5z0g7y0s.js} +110 -110
  11. package/dist/bin/{chunk-dbmtygg1.js → chunk-648xb030.js} +2 -2
  12. package/dist/bin/{chunk-4w6n5wht.js → chunk-6wvgwn9q.js} +2 -2
  13. package/dist/bin/{chunk-tkj474c6.js → chunk-79n440fm.js} +1 -1
  14. package/dist/bin/{chunk-rkcr1xth.js → chunk-7rb06mds.js} +120 -120
  15. package/dist/bin/chunk-7x4vs33k.js +1 -0
  16. package/dist/bin/{chunk-6vryg8kw.js → chunk-7xd2tnjb.js} +2 -2
  17. package/dist/bin/chunk-8bs3m2x7.js +1 -0
  18. package/dist/bin/{chunk-mt8yss58.js → chunk-8wvtmxpw.js} +2 -2
  19. package/dist/bin/chunk-8yv9ech5.js +1 -0
  20. package/dist/bin/{chunk-8cw7a6c7.js → chunk-9362t52n.js} +2 -2
  21. package/dist/bin/chunk-93pj5314.js +1 -0
  22. package/dist/bin/{chunk-nxkbvmz2.js → chunk-9cqzzkrd.js} +1 -1
  23. package/dist/bin/chunk-9xs1fh7q.js +1 -0
  24. package/dist/bin/{chunk-rhy7gbt1.js → chunk-a8fqqd62.js} +2 -2
  25. package/dist/bin/{chunk-h5m9tan5.js → chunk-ae9epvrr.js} +1 -1
  26. package/dist/bin/{chunk-reexpdfk.js → chunk-bj94s3a7.js} +2 -2
  27. package/dist/bin/chunk-cq7gxt10.js +1 -0
  28. package/dist/bin/{chunk-gcz6twdg.js → chunk-efafd6hw.js} +5 -5
  29. package/dist/bin/{chunk-ey3wcb9c.js → chunk-efghc0tr.js} +2 -2
  30. package/dist/bin/{chunk-bn0c836y.js → chunk-erdkgb1d.js} +3 -3
  31. package/dist/bin/chunk-fvj9ktkm.js +1 -0
  32. package/dist/bin/chunk-fy62gtke.js +1 -0
  33. package/dist/bin/{chunk-6d80tpq9.js → chunk-gsp1secn.js} +2 -2
  34. package/dist/bin/{chunk-1gypqjyd.js → chunk-gwn9pezq.js} +5 -5
  35. package/dist/bin/chunk-h03hh7qw.js +1 -0
  36. package/dist/bin/chunk-h28tfah9.js +1 -0
  37. package/dist/bin/{chunk-e0scvrf7.js → chunk-jcbtp3aj.js} +3 -3
  38. package/dist/bin/{chunk-w4e696gz.js → chunk-jk4v9sj1.js} +4 -4
  39. package/dist/bin/{chunk-rqwgs1fs.js → chunk-jnt0ypm6.js} +15 -15
  40. package/dist/bin/chunk-jvwbq6j5.js +1 -0
  41. package/dist/bin/{chunk-xfr0nfdq.js → chunk-kb0yy9t1.js} +5 -5
  42. package/dist/bin/chunk-kcgs4z6p.js +1 -0
  43. package/dist/bin/{chunk-b2gmbf1r.js → chunk-kyqe19mh.js} +2 -2
  44. package/dist/bin/chunk-rdqcr78z.js +2 -0
  45. package/dist/bin/chunk-s5gyhgw1.js +1 -0
  46. package/dist/bin/{chunk-k61k237r.js → chunk-whecvra8.js} +3 -3
  47. package/dist/bin/chunk-x9dep4ew.js +1 -0
  48. package/dist/bin/chunk-xt3jhs2k.js +1 -0
  49. package/dist/bin/chunk-z7fnx9gx.js +1 -0
  50. package/dist/bin/cli.js +244 -244
  51. package/dist/bin/dashboard-server.js +1 -1
  52. package/dist/{chunk-h5yx54ks.js → chunk-0cd0mk3e.js} +5 -5
  53. package/dist/{chunk-tb8azghz.js → chunk-0nmtzbqn.js} +20 -20
  54. package/dist/{chunk-1wc2zfct.js → chunk-1eg5wsn2.js} +5 -5
  55. package/dist/{chunk-z585dfjz.js → chunk-1y1b1jy0.js} +1 -1
  56. package/dist/{chunk-qqn369pf.js → chunk-207hnnpp.js} +2 -2
  57. package/dist/chunk-2b4knhhy.js +1 -0
  58. package/dist/{chunk-tq7nsdnd.js → chunk-2dffxn73.js} +6 -6
  59. package/dist/{chunk-t8fbwcdk.js → chunk-3k9kdbsc.js} +2 -2
  60. package/dist/{chunk-yh9tmx00.js → chunk-3m5x6nrt.js} +19 -19
  61. package/dist/{chunk-nkx9pn64.js → chunk-42vtybcm.js} +4 -4
  62. package/dist/{chunk-qrpy0h2n.js → chunk-65dddt6g.js} +4 -4
  63. package/dist/{chunk-p9gqv8vt.js → chunk-68pafbpe.js} +109 -109
  64. package/dist/{chunk-v0s8vpa3.js → chunk-78xspqp6.js} +2 -2
  65. package/dist/{chunk-m2a60evh.js → chunk-928z0h9b.js} +3 -3
  66. package/dist/chunk-az9wzy1w.js +1 -0
  67. package/dist/{chunk-040rbk7k.js → chunk-e32qtz2d.js} +73 -73
  68. package/dist/chunk-fjs0wgyw.js +2 -0
  69. package/dist/chunk-g96mv4z5.js +1 -0
  70. package/dist/{chunk-je8tky8z.js → chunk-gssa1974.js} +1 -1
  71. package/dist/chunk-h3e1qc75.js +1 -0
  72. package/dist/{chunk-eva9hz6q.js → chunk-k05g8vy5.js} +1 -1
  73. package/dist/{chunk-3nrnbk63.js → chunk-me647jxj.js} +103 -103
  74. package/dist/{chunk-hvttzk9q.js → chunk-ms84y9kg.js} +2 -2
  75. package/dist/chunk-nh7rcks9.js +1 -0
  76. package/dist/{chunk-kbr9nc8y.js → chunk-nx8dbae2.js} +3 -3
  77. package/dist/{chunk-1yj07hbw.js → chunk-pydkxpf9.js} +1 -1
  78. package/dist/chunk-qy8r2vwh.js +1 -0
  79. package/dist/{chunk-h360gwrf.js → chunk-rkashc9e.js} +3 -3
  80. package/dist/{chunk-qb25wesa.js → chunk-tdhm38cg.js} +2 -2
  81. package/dist/{chunk-a07kew2q.js → chunk-ts2n068z.js} +5 -5
  82. package/dist/{chunk-xyem7g21.js → chunk-v3z51fs0.js} +1 -1
  83. package/dist/{chunk-41fwhvp7.js → chunk-vx5n4bhb.js} +1 -1
  84. package/dist/chunk-ypsfkgme.js +1 -0
  85. package/dist/{chunk-p21vbrgk.js → chunk-ysv0f0k5.js} +1 -1
  86. package/dist/{chunk-s4wz0csj.js → chunk-zthcwfbg.js} +1 -1
  87. package/dist/deploy/dashboard-database.d.ts +33 -6
  88. package/dist/deploy/index.js +1 -1
  89. package/dist/deploy/residency.d.ts +10 -0
  90. package/dist/dns/index.js +1 -1
  91. package/dist/drivers/hetzner/driver.d.ts +5 -0
  92. package/dist/drivers/index.js +1 -1
  93. package/dist/drivers/shared/deploy-script.d.ts +1 -0
  94. package/dist/drivers/shared/runtime-isolation.d.ts +5 -0
  95. package/dist/index.d.ts +2 -0
  96. package/dist/index.js +27 -27
  97. package/dist/mail/index.js +1 -1
  98. package/dist/operations/index.js +1 -1
  99. package/dist/protection/index.js +1 -1
  100. package/dist/spend/index.js +1 -1
  101. package/dist/ui/404.html +1 -1
  102. package/dist/ui/accept-invitation.html +1 -1
  103. package/dist/ui/access-denied.html +1 -1
  104. package/dist/ui/account/automation.html +6 -6
  105. package/dist/ui/account/security.html +2 -2
  106. package/dist/ui/applications/compose.html +6 -6
  107. package/dist/ui/applications/new.html +2 -2
  108. package/dist/ui/data/backups.html +6 -6
  109. package/dist/ui/data/services.html +6 -6
  110. package/dist/ui/data/volumes.html +6 -6
  111. package/dist/ui/index.html +6 -6
  112. package/dist/ui/infrastructure/topology.html +5 -5
  113. package/dist/ui/integrations.html +2 -2
  114. package/dist/ui/operations/alerts.html +6 -6
  115. package/dist/ui/operations/configuration.html +6 -6
  116. package/dist/ui/operations/jobs.html +5 -5
  117. package/dist/ui/operations/maintenance.html +6 -6
  118. package/dist/ui/operations/observability.html +6 -6
  119. package/dist/ui/operations/previews.html +6 -6
  120. package/dist/ui/operations/queue.html +6 -6
  121. package/dist/ui/operations/regions.html +6 -6
  122. package/dist/ui/operations/releases.html +6 -6
  123. package/dist/ui/operations/spend.html +6 -6
  124. package/dist/ui/operations/workloads.html +6 -6
  125. package/dist/ui/security.html +1 -1
  126. package/dist/ui/server/actions.html +6 -6
  127. package/dist/ui/server/activity.html +2 -2
  128. package/dist/ui/server/capacity.html +6 -6
  129. package/dist/ui/server/database.html +5 -5
  130. package/dist/ui/server/deployments.html +6 -6
  131. package/dist/ui/server/diagnostics.html +2 -2
  132. package/dist/ui/server/firewall.html +6 -6
  133. package/dist/ui/server/fleet.html +6 -6
  134. package/dist/ui/server/logs.html +6 -6
  135. package/dist/ui/server/metrics.html +6 -6
  136. package/dist/ui/server/security.html +2 -2
  137. package/dist/ui/server/services.html +1 -1
  138. package/dist/ui/server/sites.html +6 -6
  139. package/dist/ui/server/ssh-keys.html +6 -6
  140. package/dist/ui/server/team.html +6 -6
  141. package/dist/ui/server/terminal.html +2 -2
  142. package/dist/ui/serverless/alarms.html +5 -5
  143. package/dist/ui/serverless/assets.html +2 -2
  144. package/dist/ui/serverless/cost.html +2 -2
  145. package/dist/ui/serverless/data.html +6 -6
  146. package/dist/ui/serverless/deployments.html +1 -1
  147. package/dist/ui/serverless/firewall.html +1 -1
  148. package/dist/ui/serverless/functions.html +6 -6
  149. package/dist/ui/serverless/logs.html +6 -6
  150. package/dist/ui/serverless/metrics.html +2 -2
  151. package/dist/ui/serverless/queues.html +6 -6
  152. package/dist/ui/serverless/secrets.html +6 -6
  153. package/dist/ui/serverless/traces.html +6 -6
  154. package/dist/ui/serverless.html +6 -6
  155. package/package.json +3 -3
  156. package/dist/bin/chunk-04jkzt83.js +0 -1
  157. package/dist/bin/chunk-0rb8hp47.js +0 -1
  158. package/dist/bin/chunk-4c6bmvwq.js +0 -1
  159. package/dist/bin/chunk-5bsgbfaa.js +0 -1
  160. package/dist/bin/chunk-6dwj78tg.js +0 -1
  161. package/dist/bin/chunk-7qkc4af5.js +0 -1
  162. package/dist/bin/chunk-7tvepzyw.js +0 -1
  163. package/dist/bin/chunk-87ycafdr.js +0 -1
  164. package/dist/bin/chunk-8vm3veyc.js +0 -1
  165. package/dist/bin/chunk-axv264y9.js +0 -1
  166. package/dist/bin/chunk-b96qbfmt.js +0 -1
  167. package/dist/bin/chunk-j77zj12s.js +0 -1
  168. package/dist/bin/chunk-jegvamsc.js +0 -1
  169. package/dist/bin/chunk-mrnc8esz.js +0 -1
  170. package/dist/bin/chunk-r58k9cj8.js +0 -1
  171. package/dist/bin/chunk-s15gpps2.js +0 -1
  172. package/dist/bin/chunk-sb0v3vej.js +0 -1
  173. package/dist/chunk-426k7fgf.js +0 -1
  174. package/dist/chunk-4b0ynr9y.js +0 -1
  175. package/dist/chunk-ecnzvq90.js +0 -1
  176. package/dist/chunk-emkp3dsp.js +0 -1
  177. package/dist/chunk-pcagajw1.js +0 -1
  178. package/dist/chunk-sybwn2y6.js +0 -1
@@ -1,2 +1,2 @@
1
- import{K,ol}from"./chunk-040rbk7k.js";function U(t,s){return`/var/www/${t}-${s}`}var y=new Set(["laravel","php","statamic","wordpress"]);function jr(t){return t.type!=null&&y.has(t.type)}function zr(t){let s=t.proxyTo;if(s==null)return[];return(Array.isArray(s)?s:[s]).map((n)=>String(n).trim()).filter((n)=>n.length>0)}function Ad(t){return zr(t).length>0}function ho(t){if(t.deploy)return t.deploy;if(jr(t))return"server";if(t.start)return"server";return"bucket"}function d(t){if(t.redirect)return"redirect";if(Ad(t))return"proxy";if(jr(t))return"server-php";if(ho(t)==="bucket")return"bucket";return t.start?"server-app":"server-static"}function wA(t){return t.infrastructure?.compute!=null||Boolean(t.cloud?.attachTo?.trim())}function jp(t,s={}){let r=[],n=[],a=t.sites||{},p=wA(t),l=ol(t);if(l)r.push(l);let f=new Map;for(let[o,e]of Object.entries(a)){if(!e)continue;let h=ho(e),c=d(e);if(c==="redirect"){if(!e.domain)r.push(`Site '${o}' is a redirect site but has no \`domain\` to redirect from.`);if(!(typeof e.redirect==="string"?e.redirect:e.redirect?.to))r.push(`Site '${o}' is a redirect site but has no redirect target (\`redirect\` / \`redirect.to\`).`);if(!p)r.push(`Site '${o}' is a redirect site but no \`infrastructure.compute\` is configured to host the gateway that serves the redirect.`);let u=[];if(e.start)u.push("start");if(e.root)u.push("root");if(e.proxyTo)u.push("proxyTo");if(u.length>0)n.push(`Site '${o}' is a redirect site but also sets ${u.join(", ")}. These are ignored.`);continue}if(c==="proxy"){if(!e.domain)r.push(`Site '${o}' is a proxy site but has no \`domain\` to route from.`);if(!p)r.push(`Site '${o}' is a proxy site but no \`infrastructure.compute\` is configured to host the gateway that forwards it.`);let i=[];if(e.start)i.push("start");if(e.root)i.push("root");if(typeof e.port==="number")i.push("port");if(e.build)i.push("build");if(e.preStart&&e.preStart.length>0)i.push("preStart");if(i.length>0)n.push(`Site '${o}' sets \`proxyTo\`, so ts-cloud ships and supervises nothing for it. ${i.join(", ")} ${i.length===1?"is":"are"} ignored — remove ${i.length===1?"it":"them"}, or drop \`proxyTo\` to let ts-cloud own the service.`);continue}if(h==="server"&&!e.start&&!e.root){r.push(`Site '${o}' sets deploy:'server' but declares neither \`start\` (dynamic app) nor \`root\` (static site to serve). Add one.`);continue}if(c==="server-php"){if(!p)r.push(`Site '${o}' is a PHP site (type:'${e.type}') but no \`infrastructure.compute\` is configured. Add a server (infrastructure.compute) with PHP provisioning.`);if(!e.repository?.url)r.push(`Site '${o}' is a PHP site (type:'${e.type}') but has no \`repository.url\` to clone. PHP sites deploy via git.`)}else if(c==="server-app"){if(!p)r.push(`Site '${o}' deploys to a server (deploy:'server'${e.deploy?"":" inferred from `start`"}) but no \`infrastructure.compute\` is configured. Set deploy:'bucket' or add a server (infrastructure.compute).`);if(typeof e.port==="number"){let i=s.occupiedPorts?.get(e.port);if(i)r.push(`Site '${o}' wants port ${e.port}, which project '${i}' already serves on this box. Attached projects share one port namespace. Give '${o}' a free port, or let the attach allocate one.`);let u=f.get(e.port);if(u)r.push(`Sites '${u}' and '${o}' both use port ${e.port}. Server apps sharing a box must use distinct ports.`);else f.set(e.port,o)}}else if(c==="server-static"){if(!e.root)r.push(`Site '${o}' is a server static site (deploy:'server', no \`start\`) but has no \`root\` directory to serve.`);if(!p)r.push(`Site '${o}' deploys to a server (deploy:'server') but no \`infrastructure.compute\` is configured. Set deploy:'bucket' or add a server (infrastructure.compute).`)}else{if(!e.root)r.push(`Site '${o}' deploys to a bucket but has no \`root\` directory to upload.`);let i=[];if(e.start)i.push("start");if(typeof e.port==="number")i.push("port");if(e.preStart&&e.preStart.length>0)i.push("preStart");if(i.length>0)n.push(`Site '${o}' deploys to a bucket but sets server-only field(s): ${i.join(", ")}. These are ignored. Set deploy:'server' to use them.`)}}return{errors:r,warnings:n}}function zp(t){let s=d(t);return s!=="bucket"&&s!=="redirect"&&s!=="proxy"}function kI(t){return d(t)==="bucket"}function NI(t,s){if(K(t)==="serverless")return!0;let r=Object.entries(t.sites??{}).filter(([,a])=>a!=null),n=s?r.filter(([a])=>a===s):r;if(n.length===0)return!0;return!n.every(([,a])=>{let p=d(a);return p==="redirect"||p==="proxy"})}
2
- export{U,jr,zr,Ad,ho,d,wA,jp,zp,kI,NI};
1
+ import{K,ol}from"./chunk-e32qtz2d.js";function U(t,s){return`/var/www/${t}-${s}`}var y=new Set(["laravel","php","statamic","wordpress"]);function jr(t){return t.type!=null&&y.has(t.type)}function zr(t){let s=t.proxyTo;if(s==null)return[];return(Array.isArray(s)?s:[s]).map((n)=>String(n).trim()).filter((n)=>n.length>0)}function Ad(t){return zr(t).length>0}function Ao(t){if(t.deploy)return t.deploy;if(jr(t))return"server";if(t.start)return"server";return"bucket"}function d(t){if(t.redirect)return"redirect";if(Ad(t))return"proxy";if(jr(t))return"server-php";if(Ao(t)==="bucket")return"bucket";return t.start?"server-app":"server-static"}function RA(t){return t.infrastructure?.compute!=null||Boolean(t.cloud?.attachTo?.trim())}function zp(t,s={}){let r=[],n=[],a=t.sites||{},p=RA(t),l=ol(t);if(l)r.push(l);let f=new Map;for(let[o,e]of Object.entries(a)){if(!e)continue;let h=Ao(e),c=d(e);if(c==="redirect"){if(!e.domain)r.push(`Site '${o}' is a redirect site but has no \`domain\` to redirect from.`);if(!(typeof e.redirect==="string"?e.redirect:e.redirect?.to))r.push(`Site '${o}' is a redirect site but has no redirect target (\`redirect\` / \`redirect.to\`).`);if(!p)r.push(`Site '${o}' is a redirect site but no \`infrastructure.compute\` is configured to host the gateway that serves the redirect.`);let u=[];if(e.start)u.push("start");if(e.root)u.push("root");if(e.proxyTo)u.push("proxyTo");if(u.length>0)n.push(`Site '${o}' is a redirect site but also sets ${u.join(", ")}. These are ignored.`);continue}if(c==="proxy"){if(!e.domain)r.push(`Site '${o}' is a proxy site but has no \`domain\` to route from.`);if(!p)r.push(`Site '${o}' is a proxy site but no \`infrastructure.compute\` is configured to host the gateway that forwards it.`);let i=[];if(e.start)i.push("start");if(e.root)i.push("root");if(typeof e.port==="number")i.push("port");if(e.build)i.push("build");if(e.preStart&&e.preStart.length>0)i.push("preStart");if(i.length>0)n.push(`Site '${o}' sets \`proxyTo\`, so ts-cloud ships and supervises nothing for it. ${i.join(", ")} ${i.length===1?"is":"are"} ignored — remove ${i.length===1?"it":"them"}, or drop \`proxyTo\` to let ts-cloud own the service.`);continue}if(h==="server"&&!e.start&&!e.root){r.push(`Site '${o}' sets deploy:'server' but declares neither \`start\` (dynamic app) nor \`root\` (static site to serve). Add one.`);continue}if(c==="server-php"){if(!p)r.push(`Site '${o}' is a PHP site (type:'${e.type}') but no \`infrastructure.compute\` is configured. Add a server (infrastructure.compute) with PHP provisioning.`);if(!e.repository?.url)r.push(`Site '${o}' is a PHP site (type:'${e.type}') but has no \`repository.url\` to clone. PHP sites deploy via git.`)}else if(c==="server-app"){if(!p)r.push(`Site '${o}' deploys to a server (deploy:'server'${e.deploy?"":" inferred from `start`"}) but no \`infrastructure.compute\` is configured. Set deploy:'bucket' or add a server (infrastructure.compute).`);if(typeof e.port==="number"){let i=s.occupiedPorts?.get(e.port);if(i)r.push(`Site '${o}' wants port ${e.port}, which project '${i}' already serves on this box. Attached projects share one port namespace. Give '${o}' a free port, or let the attach allocate one.`);let u=f.get(e.port);if(u)r.push(`Sites '${u}' and '${o}' both use port ${e.port}. Server apps sharing a box must use distinct ports.`);else f.set(e.port,o)}}else if(c==="server-static"){if(!e.root)r.push(`Site '${o}' is a server static site (deploy:'server', no \`start\`) but has no \`root\` directory to serve.`);if(!p)r.push(`Site '${o}' deploys to a server (deploy:'server') but no \`infrastructure.compute\` is configured. Set deploy:'bucket' or add a server (infrastructure.compute).`)}else{if(!e.root)r.push(`Site '${o}' deploys to a bucket but has no \`root\` directory to upload.`);let i=[];if(e.start)i.push("start");if(typeof e.port==="number")i.push("port");if(e.preStart&&e.preStart.length>0)i.push("preStart");if(i.length>0)n.push(`Site '${o}' deploys to a bucket but sets server-only field(s): ${i.join(", ")}. These are ignored. Set deploy:'server' to use them.`)}}return{errors:r,warnings:n}}function Kp(t){let s=d(t);return s!=="bucket"&&s!=="redirect"&&s!=="proxy"}function NI(t){return d(t)==="bucket"}function BI(t,s){if(K(t)==="serverless")return!0;let r=Object.entries(t.sites??{}).filter(([,a])=>a!=null),n=s?r.filter(([a])=>a===s):r;if(n.length===0)return!0;return!n.every(([,a])=>{let p=d(a);return p==="redirect"||p==="proxy"})}
2
+ export{U,jr,zr,Ad,Ao,d,RA,zp,Kp,NI,BI};
@@ -8,7 +8,7 @@ var q;try{q=await import("node:crypto")}catch{}var v=new Map,_=100,ee={appstream
8
8
  `),w=J(r,d,h,a,R,g??v);return o.searchParams.set("X-Amz-Signature",w),{url:o.toString(),method:t,headers:{},body:s||void 0}}async function ne(e){let{urlObj:n,method:t,body:s,accessKeyId:c,secretAccessKey:r,sessionToken:i,service:a,region:h,timestamp:m,date:d,credentialScope:f,algorithm:p,expiresIn:u,cache:g}=e,o=new URL(n.toString());o.searchParams.set("X-Amz-Algorithm",p),o.searchParams.set("X-Amz-Credential",`${c}/${f}`),o.searchParams.set("X-Amz-Date",m),o.searchParams.set("X-Amz-Expires",String(u));let y=a==="s3"?"UNSIGNED-PAYLOAD":await T(s);if(a==="s3")o.searchParams.set("X-Amz-Content-Sha256",y);let S="host";if(o.searchParams.set("X-Amz-SignedHeaders",S),i)o.searchParams.set("X-Amz-Security-Token",i);let b=O(o.pathname||"/"),A=`host:${o.hostname}
9
9
  `,x=j(o.searchParams),l=[t,b,x,A,S,y].join(`
10
10
  `),R=[p,m,f,await T(l)].join(`
11
- `),w=await V(r,d,h,a,R,g??v);return o.searchParams.set("X-Amz-Signature",w),{url:o.toString(),method:t,headers:{},body:s||void 0}}function ra(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return k({...c,url:n,method:t,signQuery:!0,expiresIn:r}).url}async function ES(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return(await Wl({...c,url:n,method:t,signQuery:!0,expiresIn:r})).url}function N(e){return Object.keys(e).sort().map((n)=>`${n.toLowerCase()}:${e[n].trim().replace(/\s+/g," ")}`).join(`
11
+ `),w=await V(r,d,h,a,R,g??v);return o.searchParams.set("X-Amz-Signature",w),{url:o.toString(),method:t,headers:{},body:s||void 0}}function na(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return k({...c,url:n,method:t,signQuery:!0,expiresIn:r}).url}async function vS(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return(await Wl({...c,url:n,method:t,signQuery:!0,expiresIn:r})).url}function N(e){return Object.keys(e).sort().map((n)=>`${n.toLowerCase()}:${e[n].trim().replace(/\s+/g," ")}`).join(`
12
12
  `)+`
13
- `}function G(e){return Object.keys(e).sort().map((n)=>n.toLowerCase()).join(";")}function j(e){let n=[];return e.forEach((t,s)=>{n.push([Q(s),Q(t)])}),n.sort((t,s)=>{if(t[0]<s[0])return-1;if(t[0]>s[0])return 1;if(t[1]<s[1])return-1;if(t[1]>s[1])return 1;return 0}),n.map(([t,s])=>`${t}=${s}`).join("&")}function O(e){return e.split("/").map((n)=>Q(n)).join("/")}function Q(e){return encodeURIComponent(e).replace(/[!'()*]/g,(n)=>`%${n.charCodeAt(0).toString(16).toUpperCase()}`)}function E(e){if(!q)throw Error("Synchronous hash not available in browser. Use signRequestAsync() instead.");return q.createHash("sha256").update(e,"utf8").digest("hex")}function C(e,n){if(!q)throw Error("Synchronous hmac not available in browser. Use signRequestAsync() instead.");return q.createHmac("sha256",e).update(n,"utf8").digest()}async function T(e){let t=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",t);return Y(new Uint8Array(s))}async function z(e,n){let t=new TextEncoder,s=typeof e==="string"?t.encode(e):e,c=t.encode(n),r=await crypto.subtle.importKey("raw",s.buffer,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",r,c.buffer);return new Uint8Array(i)}function Y(e){return Array.from(e).map((n)=>n.toString(16).padStart(2,"0")).join("")}function J(e,n,t,s,c,r){let i=`${e}:${n}:${t}:${s}`,a=r.get(i);if(!a){let h=C(`AWS4${e}`,n),m=C(h,t),d=C(m,s);if(a=C(d,"aws4_request"),r.size>=_){let f=r.keys().next().value;if(f)r.delete(f)}r.set(i,a)}return C(a,c).toString("hex")}async function V(e,n,t,s,c,r){let i=`${e}:${n}:${t}:${s}`,a=r.get(i);if(!a){let m=await z(`AWS4${e}`,n),d=await z(m,t),f=await z(d,s);if(a=await z(f,"aws4_request"),r.size>=_){let p=r.keys().next().value;if(p)r.delete(p)}r.set(i,a)}let h=await z(a,c);return Y(h)}function Z(e,n){return n.includes(e)}function H(e,n,t){let s=n*Math.pow(2,e),c=Math.random()*0.3*s;return Math.min(s+c,t)}function I(e){return new Promise((n)=>setTimeout(n,e))}async function Gf(e,n){let{maxRetries:t=3,initialDelayMs:s=100,maxDelayMs:c=5000,retryableStatusCodes:r=[429,500,502,503,504],timeoutMs:i=30000}=n??{},a,h;for(let m=0;m<=t;m++){let d=k(e),f={method:d.method,headers:d.headers};if(d.body)f.body=d.body;let p=new AbortController,u=setTimeout(()=>p.abort(),i);f.signal=p.signal;try{let g=await fetch(d.url,f);if(clearTimeout(u),h=g,g.ok)return g;if(m<t&&Z(g.status,r)){let y=H(m,s,c);await I(y);continue}let o=await g.text();throw Error(`AWS API request failed (${g.status}): ${o}`)}catch(g){if(clearTimeout(u),a=g,g instanceof Error&&g.name==="AbortError")a=Error(`Request timed out after ${i}ms`);if(m<t&&!(g instanceof Error&&g.message.includes("AWS API request failed"))){let o=H(m,s,c);await I(o);continue}throw a}}throw a??Error("Request failed after retries")}async function vS(e){return Gf(e,{maxRetries:0})}async function TS(e,n){let{maxRetries:t=3,initialDelayMs:s=100,maxDelayMs:c=5000,retryableStatusCodes:r=[429,500,502,503,504],timeoutMs:i=30000}=n??{},a;for(let h=0;h<=t;h++){let m=await Wl(e),d={method:m.method,headers:m.headers};if(m.body)d.body=m.body;let f=new AbortController,p=setTimeout(()=>f.abort(),i);d.signal=f.signal;try{let u=await fetch(m.url,d);if(clearTimeout(p),u.ok)return u;if(h<t&&Z(u.status,r)){let o=H(h,s,c);await I(o);continue}let g=await u.text();throw Error(`AWS API request failed (${u.status}): ${g}`)}catch(u){if(clearTimeout(p),a=u,u instanceof Error&&u.name==="AbortError")a=Error(`Request timed out after ${i}ms`);if(h<t&&!(u instanceof Error&&u.message.includes("AWS API request failed"))){let g=H(h,s,c);await I(g);continue}throw a}}throw a??Error("Request failed after retries")}async function wS(e){let n=await e.text(),t={},s=/<(\w+)>([^<]+)<\/\1>/g,c;while((c=s.exec(n))!==null){let[,r,i]=c;t[r]=i}return t}async function RS(e){return await e.json()}function DS(){v.clear()}function PS(){return v.size}function kS(){return q!==void 0}function NS(){return typeof crypto<"u"&&typeof crypto.subtle<"u"}
14
- export{Kl,k,Wl,ra,ES,Gf,vS,TS,wS,RS,DS,PS,kS,NS};
13
+ `}function G(e){return Object.keys(e).sort().map((n)=>n.toLowerCase()).join(";")}function j(e){let n=[];return e.forEach((t,s)=>{n.push([Q(s),Q(t)])}),n.sort((t,s)=>{if(t[0]<s[0])return-1;if(t[0]>s[0])return 1;if(t[1]<s[1])return-1;if(t[1]>s[1])return 1;return 0}),n.map(([t,s])=>`${t}=${s}`).join("&")}function O(e){return e.split("/").map((n)=>Q(n)).join("/")}function Q(e){return encodeURIComponent(e).replace(/[!'()*]/g,(n)=>`%${n.charCodeAt(0).toString(16).toUpperCase()}`)}function E(e){if(!q)throw Error("Synchronous hash not available in browser. Use signRequestAsync() instead.");return q.createHash("sha256").update(e,"utf8").digest("hex")}function C(e,n){if(!q)throw Error("Synchronous hmac not available in browser. Use signRequestAsync() instead.");return q.createHmac("sha256",e).update(n,"utf8").digest()}async function T(e){let t=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",t);return Y(new Uint8Array(s))}async function z(e,n){let t=new TextEncoder,s=typeof e==="string"?t.encode(e):e,c=t.encode(n),r=await crypto.subtle.importKey("raw",s.buffer,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",r,c.buffer);return new Uint8Array(i)}function Y(e){return Array.from(e).map((n)=>n.toString(16).padStart(2,"0")).join("")}function J(e,n,t,s,c,r){let i=`${e}:${n}:${t}:${s}`,a=r.get(i);if(!a){let h=C(`AWS4${e}`,n),m=C(h,t),d=C(m,s);if(a=C(d,"aws4_request"),r.size>=_){let f=r.keys().next().value;if(f)r.delete(f)}r.set(i,a)}return C(a,c).toString("hex")}async function V(e,n,t,s,c,r){let i=`${e}:${n}:${t}:${s}`,a=r.get(i);if(!a){let m=await z(`AWS4${e}`,n),d=await z(m,t),f=await z(d,s);if(a=await z(f,"aws4_request"),r.size>=_){let p=r.keys().next().value;if(p)r.delete(p)}r.set(i,a)}let h=await z(a,c);return Y(h)}function Z(e,n){return n.includes(e)}function H(e,n,t){let s=n*Math.pow(2,e),c=Math.random()*0.3*s;return Math.min(s+c,t)}function I(e){return new Promise((n)=>setTimeout(n,e))}async function Vf(e,n){let{maxRetries:t=3,initialDelayMs:s=100,maxDelayMs:c=5000,retryableStatusCodes:r=[429,500,502,503,504],timeoutMs:i=30000}=n??{},a,h;for(let m=0;m<=t;m++){let d=k(e),f={method:d.method,headers:d.headers};if(d.body)f.body=d.body;let p=new AbortController,u=setTimeout(()=>p.abort(),i);f.signal=p.signal;try{let g=await fetch(d.url,f);if(clearTimeout(u),h=g,g.ok)return g;if(m<t&&Z(g.status,r)){let y=H(m,s,c);await I(y);continue}let o=await g.text();throw Error(`AWS API request failed (${g.status}): ${o}`)}catch(g){if(clearTimeout(u),a=g,g instanceof Error&&g.name==="AbortError")a=Error(`Request timed out after ${i}ms`);if(m<t&&!(g instanceof Error&&g.message.includes("AWS API request failed"))){let o=H(m,s,c);await I(o);continue}throw a}}throw a??Error("Request failed after retries")}async function TS(e){return Vf(e,{maxRetries:0})}async function wS(e,n){let{maxRetries:t=3,initialDelayMs:s=100,maxDelayMs:c=5000,retryableStatusCodes:r=[429,500,502,503,504],timeoutMs:i=30000}=n??{},a;for(let h=0;h<=t;h++){let m=await Wl(e),d={method:m.method,headers:m.headers};if(m.body)d.body=m.body;let f=new AbortController,p=setTimeout(()=>f.abort(),i);d.signal=f.signal;try{let u=await fetch(m.url,d);if(clearTimeout(p),u.ok)return u;if(h<t&&Z(u.status,r)){let o=H(h,s,c);await I(o);continue}let g=await u.text();throw Error(`AWS API request failed (${u.status}): ${g}`)}catch(u){if(clearTimeout(p),a=u,u instanceof Error&&u.name==="AbortError")a=Error(`Request timed out after ${i}ms`);if(h<t&&!(u instanceof Error&&u.message.includes("AWS API request failed"))){let g=H(h,s,c);await I(g);continue}throw a}}throw a??Error("Request failed after retries")}async function RS(e){let n=await e.text(),t={},s=/<(\w+)>([^<]+)<\/\1>/g,c;while((c=s.exec(n))!==null){let[,r,i]=c;t[r]=i}return t}async function DS(e){return await e.json()}function PS(){v.clear()}function kS(){return v.size}function NS(){return q!==void 0}function BS(){return typeof crypto<"u"&&typeof crypto.subtle<"u"}
14
+ export{Kl,k,Wl,na,vS,Vf,TS,wS,RS,DS,PS,kS,NS,BS};
@@ -0,0 +1 @@
1
+ import{jn,Mh}from"./chunk-nx8dbae2.js";import"./chunk-gssa1974.js";import"./chunk-1y1b1jy0.js";import"./chunk-1eg5wsn2.js";export{jn as EmailClient,Mh as email};