@stacksjs/ts-cloud 0.16.52 → 0.16.54

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 (199) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/{chunk-z06jkvvr.js → chunk-0xfy78nc.js} +4 -4
  3. package/dist/bin/chunk-1cccv502.js +1 -0
  4. package/dist/bin/{chunk-n5kdne4p.js → chunk-1q6wqzh1.js} +3 -3
  5. package/dist/bin/{chunk-ddyd6f14.js → chunk-28124w0n.js} +2 -2
  6. package/dist/bin/{chunk-ppd463ev.js → chunk-3mhzd931.js} +1 -1
  7. package/dist/bin/{chunk-q2rqmc2x.js → chunk-4crz28b9.js} +1 -1
  8. package/dist/bin/chunk-5s91mpty.js +1 -0
  9. package/dist/bin/chunk-6sfn8fjv.js +1 -0
  10. package/dist/bin/chunk-6tdt3ea9.js +1 -0
  11. package/dist/bin/{chunk-dv2he3vc.js → chunk-7cactd6c.js} +2 -2
  12. package/dist/bin/{chunk-2wh45zhk.js → chunk-7p70c4br.js} +2 -2
  13. package/dist/bin/{chunk-93yw46n7.js → chunk-8fh0gv4q.js} +1 -1
  14. package/dist/bin/chunk-8nfrknq3.js +1 -0
  15. package/dist/bin/{chunk-0wtshht7.js → chunk-95djv2ja.js} +1 -1
  16. package/dist/bin/chunk-9de905c6.js +1 -0
  17. package/dist/bin/{chunk-te52z1wk.js → chunk-9t78j764.js} +1 -1
  18. package/dist/bin/chunk-a4z8b18n.js +1 -0
  19. package/dist/bin/chunk-apqyj6gr.js +1 -0
  20. package/dist/bin/chunk-bn2sn094.js +1 -0
  21. package/dist/bin/chunk-bzbah8jm.js +1 -0
  22. package/dist/bin/chunk-bzpeqh5z.js +1 -0
  23. package/dist/bin/{chunk-mcg4wg4j.js → chunk-bzzwbkrx.js} +4 -4
  24. package/dist/bin/{chunk-f78wmcvb.js → chunk-cdseg15k.js} +2 -2
  25. package/dist/bin/{chunk-wv8060cw.js → chunk-dg8ceycc.js} +5 -5
  26. package/dist/bin/chunk-e0d34gcp.js +1 -0
  27. package/dist/bin/chunk-e3zsrpbj.js +1 -0
  28. package/dist/bin/{chunk-t970yjvz.js → chunk-ek27709c.js} +5 -5
  29. package/dist/bin/chunk-erdz4875.js +1 -0
  30. package/dist/bin/chunk-et6hzqpx.js +1 -0
  31. package/dist/bin/{chunk-0e9yddgc.js → chunk-gqyfa360.js} +60 -60
  32. package/dist/bin/{chunk-ngmewar1.js → chunk-hkx5j0bn.js} +3 -3
  33. package/dist/bin/chunk-hrg9ygbz.js +1 -0
  34. package/dist/bin/{chunk-fjbhvhqb.js → chunk-hzc049ns.js} +1 -1
  35. package/dist/bin/{chunk-rwbdtxte.js → chunk-jvbe549p.js} +1 -1
  36. package/dist/bin/{chunk-5c4xh61a.js → chunk-jxm62h8r.js} +16 -16
  37. package/dist/bin/{chunk-a7hhzbvm.js → chunk-jyvr7eh5.js} +3 -3
  38. package/dist/bin/{chunk-cjagqdk3.js → chunk-k1kk78qg.js} +5 -5
  39. package/dist/bin/chunk-kj1e4xvg.js +1 -0
  40. package/dist/bin/{chunk-811k54jq.js → chunk-kqd186ky.js} +2 -2
  41. package/dist/bin/{chunk-we2raqk3.js → chunk-mdcv2vw1.js} +2 -2
  42. package/dist/bin/{chunk-da6dmacg.js → chunk-n2jh5p5x.js} +2 -2
  43. package/dist/bin/chunk-n6hngvvb.js +1 -0
  44. package/dist/bin/chunk-n9aeark7.js +1 -0
  45. package/dist/bin/{chunk-7czb1kgg.js → chunk-nva480hg.js} +2 -2
  46. package/dist/bin/{chunk-yfa84s0c.js → chunk-p23wfy3r.js} +1 -1
  47. package/dist/bin/{chunk-ytzcsskk.js → chunk-p6qa21fr.js} +2 -2
  48. package/dist/bin/chunk-pexjxc5g.js +1 -0
  49. package/dist/bin/{chunk-sa9c8vb5.js → chunk-pr5c0q0k.js} +5 -5
  50. package/dist/bin/{chunk-m3xap663.js → chunk-q0takzyx.js} +4 -4
  51. package/dist/bin/{chunk-hhmqsrfc.js → chunk-rbyrd9we.js} +1 -1
  52. package/dist/bin/{chunk-45thdtvf.js → chunk-rqvrjp8g.js} +36 -36
  53. package/dist/bin/chunk-s98wngxx.js +1 -0
  54. package/dist/bin/{chunk-83brtkvn.js → chunk-sbate1ky.js} +1 -1
  55. package/dist/bin/{chunk-5ny7rggt.js → chunk-sy4zws71.js} +1 -1
  56. package/dist/bin/chunk-t2ec6d8h.js +1 -0
  57. package/dist/bin/{chunk-fhe0mdjg.js → chunk-tbp1gf1p.js} +1 -1
  58. package/dist/bin/{chunk-734n0gkw.js → chunk-v0g82agx.js} +1 -1
  59. package/dist/bin/{chunk-f0vedy45.js → chunk-v9js2b1d.js} +1 -1
  60. package/dist/bin/chunk-z3f0k8jt.js +740 -0
  61. package/dist/bin/{chunk-33ntxz01.js → chunk-z6xnegpe.js} +3 -3
  62. package/dist/bin/cli.js +239 -239
  63. package/dist/bin/dashboard-server.js +1 -1
  64. package/dist/{chunk-rjaa4epz.js → chunk-07z9bps2.js} +90 -90
  65. package/dist/{chunk-qcv4twc6.js → chunk-184bvh5s.js} +19 -19
  66. package/dist/chunk-27ny16g8.js +1 -0
  67. package/dist/{chunk-pz33w7gv.js → chunk-2hma3g5q.js} +2 -2
  68. package/dist/chunk-2n3c5axm.js +1 -0
  69. package/dist/{chunk-6gnmrtp9.js → chunk-430acqjk.js} +19 -19
  70. package/dist/chunk-5yrabpmr.js +1 -0
  71. package/dist/{chunk-9ggg2ktx.js → chunk-7ag4wc74.js} +2 -2
  72. package/dist/{chunk-thdfk76k.js → chunk-80bgb48v.js} +2 -2
  73. package/dist/{chunk-8b2mxhcm.js → chunk-94z7s8ky.js} +5 -5
  74. package/dist/{chunk-6m8p1n88.js → chunk-a99wz633.js} +12 -12
  75. package/dist/{chunk-x4qye2rc.js → chunk-apj1eqcy.js} +4 -4
  76. package/dist/chunk-b11w48de.js +464 -0
  77. package/dist/chunk-bg89ad2e.js +1 -0
  78. package/dist/{chunk-erfh93dq.js → chunk-c482jhc6.js} +2 -2
  79. package/dist/{chunk-zf5wdx6v.js → chunk-d245va6b.js} +1 -1
  80. package/dist/{chunk-ca191b00.js → chunk-e42gpavb.js} +5 -5
  81. package/dist/chunk-e5xg3p1x.js +1 -0
  82. package/dist/{chunk-ffyx50xx.js → chunk-gmtds745.js} +1 -1
  83. package/dist/{chunk-p101nhg2.js → chunk-hybz2q8w.js} +4 -4
  84. package/dist/{chunk-j99nkav5.js → chunk-jyvnfny6.js} +3 -3
  85. package/dist/{chunk-4abbccq7.js → chunk-mp2y4t6w.js} +1 -1
  86. package/dist/{chunk-jytama4e.js → chunk-nhsefr22.js} +5 -5
  87. package/dist/{chunk-3ncnrrvm.js → chunk-qjp3f5y8.js} +7 -7
  88. package/dist/{chunk-0qgfe5ff.js → chunk-qyr5hn6v.js} +3 -3
  89. package/dist/{chunk-m9r0a1v9.js → chunk-smt4t6rc.js} +2 -2
  90. package/dist/{chunk-0cz2s19h.js → chunk-stc3ykm3.js} +2 -2
  91. package/dist/{chunk-4yqd62rd.js → chunk-v4vz0e85.js} +1 -1
  92. package/dist/{chunk-qcj3hkba.js → chunk-vgtqd3sb.js} +1 -1
  93. package/dist/{chunk-r5mk071y.js → chunk-wbbbpt4v.js} +5 -5
  94. package/dist/chunk-xfced13z.js +1 -0
  95. package/dist/{chunk-jtvw9d4x.js → chunk-y7k5872m.js} +1 -1
  96. package/dist/{chunk-xgc6hskd.js → chunk-yt8qgn5d.js} +6 -6
  97. package/dist/{chunk-prtvb2fh.js → chunk-zvcd6x45.js} +83 -83
  98. package/dist/deploy/index.js +1 -1
  99. package/dist/dns/index.js +1 -1
  100. package/dist/drivers/hetzner/client.d.ts +30 -0
  101. package/dist/drivers/hetzner/driver.d.ts +3 -2
  102. package/dist/drivers/hetzner/volumes.d.ts +9 -0
  103. package/dist/drivers/index.d.ts +4 -0
  104. package/dist/drivers/index.js +1 -1
  105. package/dist/drivers/shared/compute-storage-agent.d.ts +3 -0
  106. package/dist/drivers/shared/compute-storage.d.ts +21 -0
  107. package/dist/drivers/shared/notifications.d.ts +3 -1
  108. package/dist/index.d.ts +1 -1
  109. package/dist/index.js +19 -19
  110. package/dist/mail/index.js +2 -2
  111. package/dist/operations/index.js +1 -1
  112. package/dist/protection/index.js +1 -1
  113. package/dist/spend/index.js +1 -1
  114. package/dist/ui/404.html +1 -1
  115. package/dist/ui/accept-invitation.html +1 -1
  116. package/dist/ui/access-denied.html +1 -1
  117. package/dist/ui/account/automation.html +5 -5
  118. package/dist/ui/account/security.html +2 -2
  119. package/dist/ui/applications/compose.html +6 -6
  120. package/dist/ui/applications/new.html +2 -2
  121. package/dist/ui/data/backups.html +6 -6
  122. package/dist/ui/data/services.html +6 -6
  123. package/dist/ui/data/volumes.html +5 -5
  124. package/dist/ui/index.html +6 -6
  125. package/dist/ui/infrastructure/topology.html +5 -5
  126. package/dist/ui/integrations.html +1 -1
  127. package/dist/ui/operations/alerts.html +6 -6
  128. package/dist/ui/operations/configuration.html +6 -6
  129. package/dist/ui/operations/jobs.html +6 -6
  130. package/dist/ui/operations/maintenance.html +6 -6
  131. package/dist/ui/operations/observability.html +5 -5
  132. package/dist/ui/operations/previews.html +6 -6
  133. package/dist/ui/operations/queue.html +6 -6
  134. package/dist/ui/operations/regions.html +6 -6
  135. package/dist/ui/operations/releases.html +6 -6
  136. package/dist/ui/operations/spend.html +6 -6
  137. package/dist/ui/operations/workloads.html +6 -6
  138. package/dist/ui/security.html +2 -2
  139. package/dist/ui/server/actions.html +6 -6
  140. package/dist/ui/server/activity.html +1 -1
  141. package/dist/ui/server/capacity.html +6 -6
  142. package/dist/ui/server/database.html +5 -5
  143. package/dist/ui/server/deployments.html +6 -6
  144. package/dist/ui/server/diagnostics.html +2 -2
  145. package/dist/ui/server/firewall.html +6 -6
  146. package/dist/ui/server/fleet.html +6 -6
  147. package/dist/ui/server/logs.html +6 -6
  148. package/dist/ui/server/metrics.html +7 -7
  149. package/dist/ui/server/security.html +1 -1
  150. package/dist/ui/server/services.html +1 -1
  151. package/dist/ui/server/sites.html +6 -6
  152. package/dist/ui/server/ssh-keys.html +6 -6
  153. package/dist/ui/server/team.html +6 -6
  154. package/dist/ui/server/terminal.html +2 -2
  155. package/dist/ui/serverless/alarms.html +6 -6
  156. package/dist/ui/serverless/assets.html +2 -2
  157. package/dist/ui/serverless/cost.html +2 -2
  158. package/dist/ui/serverless/data.html +6 -6
  159. package/dist/ui/serverless/deployments.html +2 -2
  160. package/dist/ui/serverless/firewall.html +1 -1
  161. package/dist/ui/serverless/functions.html +5 -5
  162. package/dist/ui/serverless/logs.html +6 -6
  163. package/dist/ui/serverless/metrics.html +2 -2
  164. package/dist/ui/serverless/queues.html +5 -5
  165. package/dist/ui/serverless/secrets.html +5 -5
  166. package/dist/ui/serverless/traces.html +6 -6
  167. package/dist/ui/serverless.html +6 -6
  168. package/dist/ui-src/pages/server/metrics.stx +9 -0
  169. package/package.json +3 -3
  170. package/dist/bin/chunk-20dp8658.js +0 -1
  171. package/dist/bin/chunk-334jngt2.js +0 -1
  172. package/dist/bin/chunk-3k7y1h18.js +0 -1
  173. package/dist/bin/chunk-626npmtj.js +0 -1
  174. package/dist/bin/chunk-67vf8myy.js +0 -1
  175. package/dist/bin/chunk-74wppexz.js +0 -1
  176. package/dist/bin/chunk-87g6jcfm.js +0 -1
  177. package/dist/bin/chunk-8ya34jz7.js +0 -1
  178. package/dist/bin/chunk-964xmgb6.js +0 -1
  179. package/dist/bin/chunk-9qdrv6zp.js +0 -1
  180. package/dist/bin/chunk-azarn24c.js +0 -1
  181. package/dist/bin/chunk-dpk5r544.js +0 -1
  182. package/dist/bin/chunk-f578z20t.js +0 -1
  183. package/dist/bin/chunk-f9469h6q.js +0 -1
  184. package/dist/bin/chunk-g6ph425d.js +0 -1
  185. package/dist/bin/chunk-k6g1c681.js +0 -1
  186. package/dist/bin/chunk-m7pbssep.js +0 -1
  187. package/dist/bin/chunk-n7xadeqe.js +0 -1
  188. package/dist/bin/chunk-nxvtya6v.js +0 -724
  189. package/dist/bin/chunk-p6wxv8yq.js +0 -1
  190. package/dist/bin/chunk-vpt43nwa.js +0 -1
  191. package/dist/bin/chunk-wgh66c5r.js +0 -1
  192. package/dist/bin/chunk-zywk12mp.js +0 -1
  193. package/dist/chunk-09d6pdgx.js +0 -1
  194. package/dist/chunk-21mmcmm7.js +0 -1
  195. package/dist/chunk-2gqm2h84.js +0 -1
  196. package/dist/chunk-ggtsfsxx.js +0 -448
  197. package/dist/chunk-jgsey18z.js +0 -1
  198. package/dist/chunk-qbsrs1gp.js +0 -1
  199. package/dist/chunk-tnqj2en4.js +0 -1
@@ -8,7 +8,7 @@ var q;try{q=await import("node:crypto")}catch{}var v=new Map,Q=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 k(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=j(o.pathname||"/"),A=`host:${o.hostname}
9
9
  `,x=I(o.searchParams),l=[t,b,x,A,S,y].join(`
10
10
  `),R=[p,m,f,await k(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 ts(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return Y({...c,url:n,method:t,signQuery:!0,expiresIn:r}).url}async function Ip(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return(await sc({...c,url:n,method:t,signQuery:!0,expiresIn:r})).url}function _(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 is(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return Y({...c,url:n,method:t,signQuery:!0,expiresIn:r}).url}async function Ip(e){let{url:n,method:t="GET",expiresIn:s=3600,...c}=e,r=Math.min(s,604800);return(await sc({...c,url:n,method:t,signQuery:!0,expiresIn:r})).url}function _(e){return Object.keys(e).sort().map((n)=>`${n.toLowerCase()}:${e[n].trim().replace(/\s+/g," ")}`).join(`
12
12
  `)+`
13
- `}function N(e){return Object.keys(e).sort().map((n)=>n.toLowerCase()).join(";")}function I(e){let n=[];return e.forEach((t,s)=>{n.push([B(s),B(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 j(e){return e.split("/").map((n)=>B(n)).join("/")}function B(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 k(e){let t=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",t);return G(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 G(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>=Q){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>=Q){let p=r.keys().next().value;if(p)r.delete(p)}r.set(i,a)}let h=await z(a,c);return G(h)}function Z(e,n){return n.includes(e)}function T(e,n,t){let s=n*Math.pow(2,e),c=Math.random()*0.3*s;return Math.min(s+c,t)}function H(e){return new Promise((n)=>setTimeout(n,e))}async function kt(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=Y(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=T(m,s,c);await H(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=T(m,s,c);await H(o);continue}throw a}}throw a??Error("Request failed after retries")}async function Pp(e){return kt(e,{maxRetries:0})}async function Dp(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 sc(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=T(h,s,c);await H(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=T(h,s,c);await H(g);continue}throw a}}throw a??Error("Request failed after retries")}async function Pn(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 kp(e){return await e.json()}function Np(){v.clear()}function xp(){return v.size}function _p(){return q!==void 0}function Op(){return typeof crypto<"u"&&typeof crypto.subtle<"u"}
14
- export{oc,Y,sc,ts,Ip,kt,Pp,Dp,Pn,kp,Np,xp,_p,Op};
13
+ `}function N(e){return Object.keys(e).sort().map((n)=>n.toLowerCase()).join(";")}function I(e){let n=[];return e.forEach((t,s)=>{n.push([B(s),B(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 j(e){return e.split("/").map((n)=>B(n)).join("/")}function B(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 k(e){let t=new TextEncoder().encode(e),s=await crypto.subtle.digest("SHA-256",t);return G(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 G(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>=Q){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>=Q){let p=r.keys().next().value;if(p)r.delete(p)}r.set(i,a)}let h=await z(a,c);return G(h)}function Z(e,n){return n.includes(e)}function T(e,n,t){let s=n*Math.pow(2,e),c=Math.random()*0.3*s;return Math.min(s+c,t)}function H(e){return new Promise((n)=>setTimeout(n,e))}async function kt(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=Y(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=T(m,s,c);await H(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=T(m,s,c);await H(o);continue}throw a}}throw a??Error("Request failed after retries")}async function Pp(e){return kt(e,{maxRetries:0})}async function Dp(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 sc(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=T(h,s,c);await H(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=T(h,s,c);await H(g);continue}throw a}}throw a??Error("Request failed after retries")}async function Dn(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 kp(e){return await e.json()}function Np(){v.clear()}function xp(){return v.size}function _p(){return q!==void 0}function Op(){return typeof crypto<"u"&&typeof crypto.subtle<"u"}
14
+ export{oc,Y,sc,is,Ip,kt,Pp,Dp,Dn,kp,Np,xp,_p,Op};