@stacksjs/ts-cloud 0.16.13 → 0.16.15

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 (180) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/chunk-01tmdqe3.js +1 -0
  3. package/dist/bin/{chunk-ef4f8sef.js → chunk-0y4a84jm.js} +9 -9
  4. package/dist/bin/{chunk-9jmnmhpy.js → chunk-21am8b1b.js} +1 -1
  5. package/dist/bin/{chunk-4hajw7wc.js → chunk-23nxkj19.js} +1 -1
  6. package/dist/bin/{chunk-pthfzst7.js → chunk-2a8twtvv.js} +1 -1
  7. package/dist/bin/{chunk-3e6ywq3r.js → chunk-2cyhks5n.js} +1 -1
  8. package/dist/bin/{chunk-xbkwnffn.js → chunk-31tmm8kx.js} +2 -2
  9. package/dist/bin/chunk-3bwy7atq.js +1 -0
  10. package/dist/bin/{chunk-v8neg87z.js → chunk-3d8y4a6d.js} +88 -88
  11. package/dist/bin/{chunk-9gqf6ve1.js → chunk-3eht1tp2.js} +4 -4
  12. package/dist/bin/chunk-3rsvrp09.js +1 -0
  13. package/dist/bin/{chunk-t2bn3a09.js → chunk-3z65v87m.js} +6 -6
  14. package/dist/bin/{chunk-450etqze.js → chunk-489c9r4g.js} +3 -3
  15. package/dist/bin/chunk-4gf4mk0b.js +1 -0
  16. package/dist/bin/{chunk-087dfdz8.js → chunk-4mpfdw94.js} +2 -2
  17. package/dist/bin/{chunk-qj1yrcmq.js → chunk-4nbq68h4.js} +1 -1
  18. package/dist/bin/{chunk-m5yvdfr1.js → chunk-58phgtc8.js} +2 -2
  19. package/dist/bin/{chunk-vvtfpk7v.js → chunk-5ffj7508.js} +1 -1
  20. package/dist/bin/{chunk-px61rpsg.js → chunk-5jf6veax.js} +3 -3
  21. package/dist/bin/{chunk-m7afesag.js → chunk-8t0mrz5d.js} +78 -78
  22. package/dist/bin/{chunk-5t0p3fwx.js → chunk-9gcmpcmq.js} +1 -1
  23. package/dist/bin/{chunk-epyk8nmc.js → chunk-9j7qhwe0.js} +1 -1
  24. package/dist/bin/chunk-b7b87gxb.js +2 -0
  25. package/dist/bin/chunk-c7sqa85j.js +1 -0
  26. package/dist/bin/{chunk-pdw0qjq1.js → chunk-cb47f0pb.js} +2 -2
  27. package/dist/bin/chunk-cejjg0ts.js +1 -0
  28. package/dist/bin/chunk-e3hn6atg.js +1 -0
  29. package/dist/bin/chunk-fbq61aj0.js +1 -0
  30. package/dist/bin/{chunk-e0vq4yvj.js → chunk-fjd8tw77.js} +4 -4
  31. package/dist/bin/chunk-g4dytx12.js +1 -0
  32. package/dist/bin/{chunk-06z3c3k9.js → chunk-gwpmn3a3.js} +1 -1
  33. package/dist/bin/{chunk-ep08n0dt.js → chunk-hdr0q89a.js} +5 -5
  34. package/dist/bin/chunk-hssaw82j.js +1 -0
  35. package/dist/bin/chunk-k4x1pq4t.js +1 -0
  36. package/dist/bin/chunk-kcvvpvte.js +1 -0
  37. package/dist/bin/{chunk-rs2d8nj2.js → chunk-kft7wdhy.js} +1 -1
  38. package/dist/bin/{chunk-pd8v6bpd.js → chunk-me81g606.js} +1 -1
  39. package/dist/bin/chunk-n8a76gys.js +1 -0
  40. package/dist/bin/{chunk-kz8h9cwf.js → chunk-nazx54p5.js} +2 -2
  41. package/dist/bin/chunk-p1k08e45.js +1 -0
  42. package/dist/bin/{chunk-nx0pbksa.js → chunk-pm2vz6zp.js} +3 -3
  43. package/dist/bin/chunk-ps8ev3tq.js +1 -0
  44. package/dist/bin/chunk-q8s9v9hv.js +1 -0
  45. package/dist/bin/chunk-qcvmyfp7.js +1 -0
  46. package/dist/bin/chunk-qncvqmzy.js +1 -0
  47. package/dist/bin/{chunk-0vc6kbcr.js → chunk-r0qynqff.js} +4 -4
  48. package/dist/bin/chunk-r35q7kve.js +1 -0
  49. package/dist/bin/{chunk-mj43v7c9.js → chunk-r7k2mkn7.js} +4 -4
  50. package/dist/bin/chunk-rt9nbrwd.js +1 -0
  51. package/dist/bin/{chunk-1xnjsawx.js → chunk-s4z1knq4.js} +1 -1
  52. package/dist/bin/{chunk-mcqkjhgp.js → chunk-tb4ek3s5.js} +1 -1
  53. package/dist/bin/{chunk-rtrq59pg.js → chunk-trdteh51.js} +25 -25
  54. package/dist/bin/chunk-xhwjntw1.js +1 -0
  55. package/dist/bin/{chunk-yszmmsxy.js → chunk-yas09vmt.js} +3 -3
  56. package/dist/bin/{chunk-1hpraxqm.js → chunk-zm95j24a.js} +3 -3
  57. package/dist/bin/cli.js +113 -113
  58. package/dist/bin/dashboard-server.js +1 -1
  59. package/dist/{chunk-ndm0r1vb.js → chunk-21b8nage.js} +1 -1
  60. package/dist/{chunk-f5mqecfk.js → chunk-22ybphxa.js} +1 -1
  61. package/dist/chunk-29xhksd3.js +1 -0
  62. package/dist/{chunk-fjqx22m1.js → chunk-2rt6xbmv.js} +4 -4
  63. package/dist/chunk-2vgdfywj.js +1 -0
  64. package/dist/{chunk-t5e5phth.js → chunk-3bz7xz2d.js} +1 -1
  65. package/dist/{chunk-dbzveymg.js → chunk-42ngwzvc.js} +124 -124
  66. package/dist/chunk-67wrhk75.js +1 -0
  67. package/dist/chunk-7nq2rwjs.js +1 -0
  68. package/dist/{chunk-gdbtz492.js → chunk-80vxhxt5.js} +2 -2
  69. package/dist/{chunk-4w8d2mf0.js → chunk-8a02v9gs.js} +2 -2
  70. package/dist/{chunk-wkbk6pdg.js → chunk-8x24tv2g.js} +41 -41
  71. package/dist/{chunk-w41zkaey.js → chunk-97a7sxpe.js} +2 -2
  72. package/dist/{chunk-9rkyxwex.js → chunk-9be2pb0b.js} +5 -5
  73. package/dist/{chunk-kksj2fy7.js → chunk-9nxb5fyp.js} +4 -4
  74. package/dist/{chunk-d3vsmxhq.js → chunk-bd75na8x.js} +87 -87
  75. package/dist/{chunk-r5pjnw74.js → chunk-dns94gs7.js} +1 -1
  76. package/dist/{chunk-1bxqrj7m.js → chunk-dxcwfj3h.js} +1 -1
  77. package/dist/{chunk-aszeyg2w.js → chunk-fs78rxy1.js} +3 -3
  78. package/dist/{chunk-3nccgrzf.js → chunk-g8tp1zj4.js} +3 -3
  79. package/dist/chunk-gj27zyk5.js +1 -0
  80. package/dist/chunk-ht8rawp1.js +2 -0
  81. package/dist/{chunk-fc2wc5h7.js → chunk-kx7zw3xn.js} +143 -143
  82. package/dist/{chunk-7rygewtr.js → chunk-p0w0kwhx.js} +19 -19
  83. package/dist/{chunk-9s5sm0wt.js → chunk-pc0tz6be.js} +7 -7
  84. package/dist/{chunk-xv3w9q1a.js → chunk-pwpd6jt2.js} +1 -1
  85. package/dist/{chunk-jghkvdgt.js → chunk-s1bfyvmc.js} +1 -1
  86. package/dist/{chunk-30504159.js → chunk-sw1p9qge.js} +1 -1
  87. package/dist/{chunk-wp6pg5sx.js → chunk-tznx5510.js} +6 -6
  88. package/dist/{chunk-v99q99bs.js → chunk-y59rkb2n.js} +4 -4
  89. package/dist/deploy/index.js +1 -1
  90. package/dist/dns/cloudflare.d.ts +31 -0
  91. package/dist/dns/index.js +1 -1
  92. package/dist/drivers/index.js +1 -1
  93. package/dist/drivers/shared/deploy-script.d.ts +62 -29
  94. package/dist/index.js +40 -40
  95. package/dist/operations/index.js +1 -1
  96. package/dist/protection/index.js +1 -1
  97. package/dist/spend/index.js +1 -1
  98. package/dist/ui/404.html +1 -1
  99. package/dist/ui/accept-invitation.html +1 -1
  100. package/dist/ui/access-denied.html +1 -1
  101. package/dist/ui/account/automation.html +6 -6
  102. package/dist/ui/account/security.html +2 -2
  103. package/dist/ui/applications/compose.html +6 -6
  104. package/dist/ui/applications/new.html +2 -2
  105. package/dist/ui/data/backups.html +6 -6
  106. package/dist/ui/data/services.html +6 -6
  107. package/dist/ui/data/volumes.html +6 -6
  108. package/dist/ui/index.html +6 -6
  109. package/dist/ui/infrastructure/topology.html +6 -6
  110. package/dist/ui/integrations.html +2 -2
  111. package/dist/ui/operations/alerts.html +6 -6
  112. package/dist/ui/operations/configuration.html +6 -6
  113. package/dist/ui/operations/jobs.html +6 -6
  114. package/dist/ui/operations/maintenance.html +6 -6
  115. package/dist/ui/operations/observability.html +6 -6
  116. package/dist/ui/operations/previews.html +6 -6
  117. package/dist/ui/operations/queue.html +5 -5
  118. package/dist/ui/operations/regions.html +6 -6
  119. package/dist/ui/operations/releases.html +6 -6
  120. package/dist/ui/operations/spend.html +6 -6
  121. package/dist/ui/operations/workloads.html +6 -6
  122. package/dist/ui/security.html +2 -2
  123. package/dist/ui/server/actions.html +6 -6
  124. package/dist/ui/server/activity.html +2 -2
  125. package/dist/ui/server/capacity.html +5 -5
  126. package/dist/ui/server/database.html +6 -6
  127. package/dist/ui/server/deployments.html +5 -5
  128. package/dist/ui/server/diagnostics.html +2 -2
  129. package/dist/ui/server/firewall.html +6 -6
  130. package/dist/ui/server/fleet.html +5 -5
  131. package/dist/ui/server/logs.html +6 -6
  132. package/dist/ui/server/metrics.html +5 -5
  133. package/dist/ui/server/security.html +2 -2
  134. package/dist/ui/server/services.html +1 -1
  135. package/dist/ui/server/sites.html +6 -6
  136. package/dist/ui/server/ssh-keys.html +6 -6
  137. package/dist/ui/server/team.html +6 -6
  138. package/dist/ui/server/terminal.html +2 -2
  139. package/dist/ui/serverless/alarms.html +6 -6
  140. package/dist/ui/serverless/assets.html +2 -2
  141. package/dist/ui/serverless/cost.html +2 -2
  142. package/dist/ui/serverless/data.html +6 -6
  143. package/dist/ui/serverless/deployments.html +1 -1
  144. package/dist/ui/serverless/firewall.html +1 -1
  145. package/dist/ui/serverless/functions.html +5 -5
  146. package/dist/ui/serverless/logs.html +6 -6
  147. package/dist/ui/serverless/metrics.html +2 -2
  148. package/dist/ui/serverless/queues.html +6 -6
  149. package/dist/ui/serverless/secrets.html +5 -5
  150. package/dist/ui/serverless/traces.html +6 -6
  151. package/dist/ui/serverless.html +6 -6
  152. package/package.json +3 -3
  153. package/dist/bin/chunk-1fpkqcxr.js +0 -1
  154. package/dist/bin/chunk-4qzpqmhe.js +0 -1
  155. package/dist/bin/chunk-5czgtrcd.js +0 -1
  156. package/dist/bin/chunk-5pdjsaxq.js +0 -1
  157. package/dist/bin/chunk-84ep5s0n.js +0 -1
  158. package/dist/bin/chunk-9yra64dd.js +0 -1
  159. package/dist/bin/chunk-c8d1pfyk.js +0 -1
  160. package/dist/bin/chunk-dj05defh.js +0 -1
  161. package/dist/bin/chunk-g5w1fghb.js +0 -1
  162. package/dist/bin/chunk-gpxsnagd.js +0 -1
  163. package/dist/bin/chunk-j3w462ep.js +0 -1
  164. package/dist/bin/chunk-nxm87x83.js +0 -1
  165. package/dist/bin/chunk-p0a1vb1r.js +0 -1
  166. package/dist/bin/chunk-q46ntwdf.js +0 -1
  167. package/dist/bin/chunk-t1eft7s7.js +0 -1
  168. package/dist/bin/chunk-ta8cwf5g.js +0 -1
  169. package/dist/bin/chunk-vjmtc9jv.js +0 -1
  170. package/dist/bin/chunk-w91ws3rh.js +0 -2
  171. package/dist/bin/chunk-x5qg9hwd.js +0 -1
  172. package/dist/bin/chunk-xr8yrtpq.js +0 -1
  173. package/dist/bin/chunk-xxfpxvc1.js +0 -1
  174. package/dist/bin/chunk-zs8bfer0.js +0 -1
  175. package/dist/chunk-6e967ybg.js +0 -2
  176. package/dist/chunk-a6jazwvy.js +0 -1
  177. package/dist/chunk-kgw1dd9b.js +0 -1
  178. package/dist/chunk-mgq54dyz.js +0 -1
  179. package/dist/chunk-pnjajqyw.js +0 -1
  180. package/dist/chunk-y2s8wcdg.js +0 -1
@@ -0,0 +1 @@
1
+ import{j}from"./chunk-dxcwfj3h.js";import"./chunk-8a02v9gs.js";export{j as RDSClient};
@@ -0,0 +1 @@
1
+ import{yr,n,l,gh}from"./chunk-8a02v9gs.js";export{n as AWSClient,l as buildQueryParams,gh as detectCredentialSource,yr as resolveS3Endpoint};
@@ -1,2 +1,2 @@
1
- import{createRequire as q}from"node:module";var k=Object.create;var{getPrototypeOf:l,defineProperty:i,getOwnPropertyNames:m}=Object;var j=Object.prototype.hasOwnProperty;function n(a){return this[a]}var o,p,ah=(a,b,d)=>{var f=a!=null&&typeof a==="object";if(f){var g=b?o??=new WeakMap:p??=new WeakMap,h=g.get(a);if(h)return h}d=a!=null?k(l(a)):{};let c=b||!a||!a.__esModule||!j.call(a,"default")?i(d,"default",{value:a,enumerable:!0}):d;if(a&&typeof a==="object"||typeof a==="function"){for(let e of m(a))if(!j.call(c,e))i(c,e,{get:n.bind(a,e),enumerable:!0})}if(f)g.set(a,c);return c};var ch=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var Me=q(import.meta.url);
2
- export{ah,ch,Me};
1
+ import{createRequire as q}from"node:module";var k=Object.create;var{getPrototypeOf:l,defineProperty:i,getOwnPropertyNames:m}=Object;var j=Object.prototype.hasOwnProperty;function n(a){return this[a]}var o,p,uh=(a,b,d)=>{var f=a!=null&&typeof a==="object";if(f){var g=b?o??=new WeakMap:p??=new WeakMap,h=g.get(a);if(h)return h}d=a!=null?k(l(a)):{};let c=b||!a||!a.__esModule||!j.call(a,"default")?i(d,"default",{value:a,enumerable:!0}):d;if(a&&typeof a==="object"||typeof a==="function"){for(let e of m(a))if(!j.call(c,e))i(c,e,{get:n.bind(a,e),enumerable:!0})}if(f)g.set(a,c);return c};var ph=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var Me=q(import.meta.url);
2
+ export{uh,ph,Me};
@@ -2,5 +2,5 @@ import*as T from"node:crypto";import{existsSync as W,readFileSync as J}from"node
2
2
  `),i="",s="",a="",o;for(let c of r){let h=c.trim();if(!h||h.startsWith("#"))continue;let A=h.match(/^\[([^\]]+)\]$/);if(A){i=A[1];continue}if(i===e){let[m,...f]=h.split("="),b=f.join("=").trim();if(m.trim()==="aws_access_key_id")s=b;else if(m.trim()==="aws_secret_access_key")a=b;else if(m.trim()==="aws_session_token")o=b}}return{accessKeyId:s,secretAccessKey:a,sessionToken:o}}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(),o=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/${o}`,{headers:{"X-aws-ec2-metadata-token":s}})).json(),A={accessKeyId:h.AccessKeyId,secretAccessKey:h.SecretAccessKey,sessionToken:h.Token};return this.ec2CredentialsCache={credentials:A,expiration:new Date(h.Expiration).getTime()},A}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 o=this.calculateRetryDelay(i);await this.sleep(o)}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}),a=await s.text();if(!s.ok)throw this.parseError(a,s.status,s.headers);if(!a||a.trim()===""){if(t.returnHeaders)return{body:null,headers:this.headersToObject(s.headers)};return null}if(t.rawResponse){if(t.returnHeaders)return{body:a,headers:this.headersToObject(s.headers)};return a}let o;if(a.startsWith("<"))o=this.parseXmlResponse(a);else try{o=JSON.parse(a)}catch{o=a}if(t.returnHeaders)return{body:o,headers:this.headersToObject(s.headers)};return o}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,a,o="https";if(e==="s3"){let h=yr({region:r,path:s,bucket:t.bucket,endpoint:this.config.endpoint,forcePathStyle:this.config.forcePathStyle});o=h.protocol,a=h.host,s=h.path}else if(e==="cloudfront")a="cloudfront.amazonaws.com";else if(e==="iam")a="iam.amazonaws.com";else if(e==="route53")a="route53.amazonaws.com";else if(e==="route53domains")a="route53domains.us-east-1.amazonaws.com";else if(e==="ecr")a=`api.ecr.${r}.amazonaws.com`;else if(e==="ses")a=`email.${r}.amazonaws.com`;else a=`${e}.${r}.amazonaws.com`;let c=`${o}://${a}${s}`;if(i&&Object.keys(i).length>0){let h=Object.keys(i).map((A)=>`${this.uriEncode(A)}=${this.uriEncode(i[A])}`).join("&");c+=`?${h}`}return c}signRequest(t,e){let{service:r,region:i,method:s,queryParams:a,body:o}=t,{path:c}=t,h=new Date,A=this.getAmzDate(h),m=this.getDateStamp(h),f;if(r==="s3"){let S=yr({region:i,path:c,bucket:t.bucket,endpoint:this.config.endpoint,forcePathStyle:this.config.forcePathStyle});f=S.host,c=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 b={host:f,"x-amz-date":A,...t.headers||{}};if(e.sessionToken)b["x-amz-security-token"]=e.sessionToken;if(o){if(!Object.keys(b).some((O)=>O.toLowerCase()==="content-type"))b["content-type"]="application/x-www-form-urlencoded";b["content-length"]=Buffer.byteLength(o).toString()}let p=this.sha256(o||"");b["x-amz-content-sha256"]=p;let C=c,E=a?Object.keys(a).sort().map((S)=>`${this.uriEncode(S)}=${this.uriEncode(a[S])}`).join("&"):"",d=Object.keys(b).sort((S,O)=>S.toLowerCase().localeCompare(O.toLowerCase())),u=d.map((S)=>`${S.toLowerCase()}:${b[S].trim()}
3
3
  `).join(""),g=d.map((S)=>S.toLowerCase()).join(";"),y=[s,C,E,u,g,p].join(`
4
4
  `),N="AWS4-HMAC-SHA256",w=r;if(r==="email")w="ses";let I=`${m}/${i}/${w}/aws4_request`,F=[N,A,I,this.sha256(y)].join(`
5
- `),q=this.getSignatureKey(e.secretAccessKey,m,i,w),U=this.hmac(q,F),j=`${N} Credential=${e.accessKeyId}/${I}, SignedHeaders=${g}, Signature=${U}`;return{...b,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(),a=T.createHmac("sha256",s).update(r).digest(),o=T.createHmac("sha256",a).update(i).digest();return T.createHmac("sha256",o).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 a=s.ErrorResponse.Error;return i.code=a.Code,i.message=`AWS Error [${a.Code}]: ${a.Message||"Unknown error"}`,i.type=a.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 l(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,a)=>{e[`${r}.${a+1}`]=String(s)});else if(typeof i==="object")for(let[s,a]of Object.entries(i))e[`${r}.${s}`]=String(a);else e[r]=String(i)}return e}function dh(){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",a=process.env.AWS_SHARED_CREDENTIALS_FILE||K(B(),".aws","credentials");if(W(a))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{yr,n,l,dh};
5
+ `),q=this.getSignatureKey(e.secretAccessKey,m,i,w),U=this.hmac(q,F),j=`${N} Credential=${e.accessKeyId}/${I}, SignedHeaders=${g}, Signature=${U}`;return{...b,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(),a=T.createHmac("sha256",s).update(r).digest(),o=T.createHmac("sha256",a).update(i).digest();return T.createHmac("sha256",o).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 a=s.ErrorResponse.Error;return i.code=a.Code,i.message=`AWS Error [${a.Code}]: ${a.Message||"Unknown error"}`,i.type=a.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 l(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,a)=>{e[`${r}.${a+1}`]=String(s)});else if(typeof i==="object")for(let[s,a]of Object.entries(i))e[`${r}.${s}`]=String(a);else e[r]=String(i)}return e}function gh(){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",a=process.env.AWS_SHARED_CREDENTIALS_FILE||K(B(),".aws","credentials");if(W(a))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{yr,n,l,gh};