@stacksjs/ts-cloud 0.12.10 → 0.12.12

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 (201) hide show
  1. package/dist/aws/index.js +1 -1
  2. package/dist/bin/{chunk-d7ke90zt.js → chunk-0b49jjgr.js} +1 -1
  3. package/dist/bin/chunk-0xnnkeb1.js +1 -0
  4. package/dist/bin/{chunk-9a88fp00.js → chunk-227jmf2b.js} +2 -2
  5. package/dist/bin/chunk-2nyyg44g.js +1 -0
  6. package/dist/bin/{chunk-e2bybahr.js → chunk-2ztr119n.js} +1 -1
  7. package/dist/bin/chunk-43xj5cny.js +1 -0
  8. package/dist/bin/chunk-5w6y9pmz.js +1 -0
  9. package/dist/bin/{chunk-8ewncfce.js → chunk-5x4rdx8k.js} +1 -1
  10. package/dist/bin/chunk-6zc6a6t3.js +725 -0
  11. package/dist/bin/chunk-7aagqqr9.js +1 -0
  12. package/dist/{chunk-pb47hr0h.js → bin/chunk-85qrgshq.js} +1 -1
  13. package/dist/bin/{chunk-c0bdafbx.js → chunk-8zk8msx0.js} +1 -1
  14. package/dist/bin/chunk-9j83q0r4.js +1 -0
  15. package/dist/bin/{chunk-b4wt9jcg.js → chunk-9nhqbes6.js} +2 -2
  16. package/dist/bin/chunk-a4js49mx.js +1 -0
  17. package/dist/bin/{chunk-6tfwm33r.js → chunk-a9e0hvwe.js} +3 -3
  18. package/dist/bin/{chunk-cd0ps58j.js → chunk-a9tgxf2h.js} +1 -1
  19. package/dist/bin/chunk-aahrv359.js +1 -0
  20. package/dist/bin/{chunk-zpe64t4r.js → chunk-bfx23be3.js} +1 -1
  21. package/dist/bin/{chunk-tfbs8k8v.js → chunk-bpps61am.js} +1 -1
  22. package/dist/bin/{chunk-ja1vjdn1.js → chunk-bzth6d1s.js} +1 -1
  23. package/dist/bin/{chunk-0zwknfwp.js → chunk-ca3taw2m.js} +1 -1
  24. package/dist/bin/chunk-cgzp0328.js +1 -0
  25. package/dist/{chunk-w2ddj42w.js → bin/chunk-d2aaef9v.js} +1 -1
  26. package/dist/bin/{chunk-xk08030d.js → chunk-e0z2t4mf.js} +2 -2
  27. package/dist/bin/{chunk-btsyjhk7.js → chunk-e2dnxp8d.js} +2 -2
  28. package/dist/bin/{chunk-s4yzes15.js → chunk-empfsmdk.js} +1 -1
  29. package/dist/bin/chunk-er3mww4m.js +1 -0
  30. package/dist/bin/{chunk-azymqbcy.js → chunk-fmp5bv0j.js} +1 -1
  31. package/dist/bin/{chunk-71t1gmsq.js → chunk-g3kp5ddx.js} +1 -1
  32. package/dist/bin/{chunk-q5cmfpzt.js → chunk-grepda40.js} +1 -1
  33. package/dist/{chunk-c8cadhgc.js → bin/chunk-h6xqtypj.js} +2 -2
  34. package/dist/bin/{chunk-3aph4c1w.js → chunk-hwk9ahms.js} +1 -1
  35. package/dist/bin/{chunk-dz1ec589.js → chunk-jxd3j00s.js} +2 -2
  36. package/dist/bin/{chunk-my3ewh3a.js → chunk-k1xw3zbm.js} +2 -2
  37. package/dist/bin/{chunk-ehc63fvs.js → chunk-m07s5esk.js} +1 -1
  38. package/dist/bin/{chunk-e5ab5twy.js → chunk-m9r5jype.js} +2 -2
  39. package/dist/bin/{chunk-4q6tad44.js → chunk-n20kbxwb.js} +91 -91
  40. package/dist/bin/{chunk-kg61p5hw.js → chunk-n2fnav53.js} +2 -2
  41. package/dist/bin/{chunk-w32xv8n4.js → chunk-nv211m42.js} +2 -2
  42. package/dist/bin/chunk-psgjy3z4.js +1 -0
  43. package/dist/bin/chunk-qmnr82da.js +1 -0
  44. package/dist/bin/{chunk-mcr0r4at.js → chunk-qqpb82ty.js} +2 -2
  45. package/dist/bin/{chunk-xhwqpgwq.js → chunk-rqc8btkj.js} +1 -1
  46. package/dist/bin/chunk-rs85xvt7.js +1 -0
  47. package/dist/bin/{chunk-hq9x489e.js → chunk-t5ngva49.js} +1 -1
  48. package/dist/bin/{chunk-82mj52xr.js → chunk-t7rcfwqc.js} +1 -1
  49. package/dist/bin/{chunk-vj2dp0nh.js → chunk-tjgy10zm.js} +6 -6
  50. package/dist/bin/chunk-v0beqdna.js +1 -0
  51. package/dist/bin/chunk-vf2s3tba.js +1 -0
  52. package/dist/bin/{chunk-0thy7q96.js → chunk-vzkfjrx2.js} +74 -75
  53. package/dist/bin/{chunk-rtecnmts.js → chunk-wcem4cqb.js} +2 -2
  54. package/dist/bin/chunk-wsh5ervz.js +1 -0
  55. package/dist/bin/chunk-xenhbdmr.js +1 -0
  56. package/dist/bin/chunk-xrdpxwbf.js +1 -0
  57. package/dist/bin/{chunk-mfrf9q4b.js → chunk-y68m9bx7.js} +1 -1
  58. package/dist/bin/cli.js +143 -143
  59. package/dist/bin/dashboard-server.js +1 -1
  60. package/dist/{chunk-982rye5b.js → chunk-2ybcnrte.js} +1 -1
  61. package/dist/chunk-4884der5.js +1 -0
  62. package/dist/{bin/chunk-9kf0np8j.js → chunk-4wdxsnn2.js} +1 -1
  63. package/dist/{bin/chunk-xkfrqqcs.js → chunk-5hhyyhjt.js} +1 -1
  64. package/dist/chunk-5zkacdw1.js +1 -0
  65. package/dist/{chunk-557qj7q9.js → chunk-6cxb8d6y.js} +2 -2
  66. package/dist/chunk-6f68caq0.js +1 -0
  67. package/dist/{chunk-2qm3rw8b.js → chunk-7z50g5xz.js} +2 -2
  68. package/dist/chunk-8fh4m5ge.js +1 -0
  69. package/dist/chunk-97pb7wb1.js +1 -0
  70. package/dist/{chunk-a368cs92.js → chunk-ac87ds1k.js} +1 -1
  71. package/dist/{chunk-qrte4gy2.js → chunk-dndxwssj.js} +1 -1
  72. package/dist/{chunk-y3tbcxb7.js → chunk-ea7tn8nn.js} +89 -90
  73. package/dist/{bin/chunk-a7w13qfm.js → chunk-ess6vxfj.js} +2 -2
  74. package/dist/{chunk-rg7d67xk.js → chunk-j06r5rwv.js} +1 -1
  75. package/dist/{chunk-70v77sqv.js → chunk-j1g67djb.js} +2 -2
  76. package/dist/{chunk-fbwpm0zm.js → chunk-k8x8mrkr.js} +1 -1
  77. package/dist/{chunk-82gezmen.js → chunk-mnmz8t7q.js} +1 -1
  78. package/dist/{chunk-7j100g7w.js → chunk-n1fyryha.js} +1 -1
  79. package/dist/{chunk-c1hr34a5.js → chunk-n1hg0jxs.js} +2 -2
  80. package/dist/{chunk-bcffjsnj.js → chunk-n5xmh0ma.js} +1 -1
  81. package/dist/chunk-q22qfwsc.js +22 -0
  82. package/dist/{chunk-5hkq5081.js → chunk-q9a1z53k.js} +2 -2
  83. package/dist/{chunk-fsssdd5k.js → chunk-r8t25tbm.js} +91 -91
  84. package/dist/chunk-t8hzekmk.js +585 -0
  85. package/dist/{chunk-2k0mt6j5.js → chunk-whyttetx.js} +1 -1
  86. package/dist/{chunk-gkj1tpsn.js → chunk-yf8stygs.js} +1 -1
  87. package/dist/{chunk-jphewtbx.js → chunk-ze5x2bpm.js} +1 -1
  88. package/dist/{chunk-jxrs1219.js → chunk-zh0apedk.js} +2 -2
  89. package/dist/{chunk-0hw5wjjg.js → chunk-zjyz926j.js} +1 -1
  90. package/dist/deploy/index.js +1 -1
  91. package/dist/dns/index.js +1 -1
  92. package/dist/drivers/hetzner/cloud-init.d.ts +14 -1
  93. package/dist/drivers/hetzner/driver.d.ts +2 -15
  94. package/dist/drivers/hetzner/state.d.ts +17 -2
  95. package/dist/drivers/index.d.ts +17 -1
  96. package/dist/drivers/index.js +1 -1
  97. package/dist/drivers/local-box/driver.d.ts +1 -1
  98. package/dist/drivers/shared/compute-deploy.d.ts +0 -12
  99. package/dist/drivers/shared/compute-provision.d.ts +7 -0
  100. package/dist/drivers/shared/driver-state.d.ts +68 -0
  101. package/dist/drivers/shared/remote-exec.d.ts +10 -1
  102. package/dist/drivers/shared/remote-failure.d.ts +41 -0
  103. package/dist/drivers/shared/rpx-gateway.d.ts +124 -4
  104. package/dist/drivers/shared/ssh-transport.d.ts +121 -0
  105. package/dist/drivers/ssh/bootstrap.d.ts +71 -0
  106. package/dist/drivers/ssh/config.d.ts +94 -0
  107. package/dist/drivers/ssh/config.test.d.ts +1 -0
  108. package/dist/drivers/ssh/driver.d.ts +107 -0
  109. package/dist/drivers/ssh/factory-wiring.test.d.ts +1 -0
  110. package/dist/drivers/ssh/first-boot.d.ts +38 -0
  111. package/dist/drivers/ssh/preflight.d.ts +76 -0
  112. package/dist/index.d.ts +2 -1
  113. package/dist/index.js +7 -7
  114. package/dist/operations/index.js +1 -1
  115. package/dist/operations/inventory.d.ts +46 -1
  116. package/dist/protection/index.js +1 -1
  117. package/dist/push/index.js +1 -1
  118. package/dist/spend/index.js +1 -1
  119. package/dist/ui/404.html +1 -1
  120. package/dist/ui/accept-invitation.html +1 -1
  121. package/dist/ui/access-denied.html +1 -1
  122. package/dist/ui/account/automation.html +5 -5
  123. package/dist/ui/account/security.html +2 -2
  124. package/dist/ui/applications/compose.html +5 -5
  125. package/dist/ui/applications/new.html +2 -2
  126. package/dist/ui/data/backups.html +6 -6
  127. package/dist/ui/data/services.html +6 -6
  128. package/dist/ui/data/volumes.html +5 -5
  129. package/dist/ui/index.html +6 -6
  130. package/dist/ui/infrastructure/topology.html +6 -6
  131. package/dist/ui/integrations.html +2 -2
  132. package/dist/ui/operations/alerts.html +6 -6
  133. package/dist/ui/operations/configuration.html +6 -6
  134. package/dist/ui/operations/jobs.html +6 -6
  135. package/dist/ui/operations/maintenance.html +5 -5
  136. package/dist/ui/operations/observability.html +6 -6
  137. package/dist/ui/operations/previews.html +6 -6
  138. package/dist/ui/operations/queue.html +6 -6
  139. package/dist/ui/operations/regions.html +5 -5
  140. package/dist/ui/operations/releases.html +6 -6
  141. package/dist/ui/operations/spend.html +6 -6
  142. package/dist/ui/operations/workloads.html +5 -5
  143. package/dist/ui/security.html +1 -1
  144. package/dist/ui/server/actions.html +5 -5
  145. package/dist/ui/server/activity.html +2 -2
  146. package/dist/ui/server/capacity.html +6 -6
  147. package/dist/ui/server/database.html +5 -5
  148. package/dist/ui/server/deployments.html +5 -5
  149. package/dist/ui/server/diagnostics.html +2 -2
  150. package/dist/ui/server/firewall.html +6 -6
  151. package/dist/ui/server/fleet.html +5 -5
  152. package/dist/ui/server/logs.html +6 -6
  153. package/dist/ui/server/metrics.html +5 -5
  154. package/dist/ui/server/security.html +2 -2
  155. package/dist/ui/server/services.html +1 -1
  156. package/dist/ui/server/sites.html +6 -6
  157. package/dist/ui/server/ssh-keys.html +6 -6
  158. package/dist/ui/server/team.html +6 -6
  159. package/dist/ui/server/terminal.html +2 -2
  160. package/dist/ui/serverless/alarms.html +6 -6
  161. package/dist/ui/serverless/assets.html +2 -2
  162. package/dist/ui/serverless/cost.html +2 -2
  163. package/dist/ui/serverless/data.html +6 -6
  164. package/dist/ui/serverless/deployments.html +2 -2
  165. package/dist/ui/serverless/firewall.html +1 -1
  166. package/dist/ui/serverless/functions.html +6 -6
  167. package/dist/ui/serverless/logs.html +6 -6
  168. package/dist/ui/serverless/metrics.html +1 -1
  169. package/dist/ui/serverless/queues.html +6 -6
  170. package/dist/ui/serverless/secrets.html +6 -6
  171. package/dist/ui/serverless/traces.html +6 -6
  172. package/dist/ui/serverless.html +6 -6
  173. package/dist/ui-src/src/charts.ts +1 -1
  174. package/dist/ui-src/src/topology.ts +1 -1
  175. package/package.json +3 -3
  176. package/dist/bin/chunk-04dkwaqp.js +0 -1
  177. package/dist/bin/chunk-5nkqza92.js +0 -1
  178. package/dist/bin/chunk-64vczwwt.js +0 -1
  179. package/dist/bin/chunk-7g2ahkse.js +0 -1
  180. package/dist/bin/chunk-aw8bhggq.js +0 -594
  181. package/dist/bin/chunk-cxt74wsj.js +0 -1
  182. package/dist/bin/chunk-djg4zyqk.js +0 -1
  183. package/dist/bin/chunk-dkaz333b.js +0 -1
  184. package/dist/bin/chunk-edvvx3hg.js +0 -1
  185. package/dist/bin/chunk-f06c5np9.js +0 -1
  186. package/dist/bin/chunk-gq8794k6.js +0 -1
  187. package/dist/bin/chunk-k3120rx6.js +0 -1
  188. package/dist/bin/chunk-nw3d4k52.js +0 -1
  189. package/dist/bin/chunk-p70bc9yr.js +0 -1
  190. package/dist/bin/chunk-sg1g92cf.js +0 -1
  191. package/dist/bin/chunk-tvz9c388.js +0 -1
  192. package/dist/bin/chunk-y1h63vpm.js +0 -1
  193. package/dist/bin/chunk-zdt2rjk6.js +0 -1
  194. package/dist/bin/chunk-zh2d4704.js +0 -1
  195. package/dist/chunk-1bj94sc2.js +0 -1
  196. package/dist/chunk-3swnmwfc.js +0 -454
  197. package/dist/chunk-5pbtmy2k.js +0 -1
  198. package/dist/chunk-7sc8t7v1.js +0 -1
  199. package/dist/chunk-gny5s4kp.js +0 -1
  200. package/dist/chunk-qpjcd415.js +0 -22
  201. package/dist/chunk-xkw7h4pw.js +0 -1
@@ -1,4 +1,4 @@
1
- import{Vf as L}from"./chunk-jphewtbx.js";import{Bu as M,Cu as U,Jt as R,Lt as P,Vt as E,wu as T}from"./chunk-fsssdd5k.js";import{execFileSync as C}from"node:child_process";import{mkdirSync as I,mkdtempSync as q,rmSync as N,writeFileSync as d}from"node:fs";import{tmpdir as z}from"node:os";import{dirname as G,join as s}from"node:path";var r={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m"};function b(t,e){return`${r[e]}${t}${r.reset}`}function _(t){console.log(`${r.green}✓${r.reset} ${t}`)}function H(t){console.error(`${r.red}✗${r.reset} ${t}`)}function K(t){console.warn(`${r.yellow}⚠${r.reset} ${t}`)}function k(t){console.log(`${r.blue}ℹ${r.reset} ${t}`)}function V(t){console.log(`${r.cyan}→${r.reset} ${t}`)}function J(t){console.log(`
1
+ import{Vf as L}from"./chunk-ze5x2bpm.js";import{Av as U,Hu as R,Ju as P,Tu as E,uv as T,zv as M}from"./chunk-r8t25tbm.js";import{execFileSync as C}from"node:child_process";import{mkdirSync as I,mkdtempSync as q,rmSync as N,writeFileSync as d}from"node:fs";import{tmpdir as z}from"node:os";import{dirname as G,join as s}from"node:path";var r={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m"};function b(t,e){return`${r[e]}${t}${r.reset}`}function _(t){console.log(`${r.green}✓${r.reset} ${t}`)}function H(t){console.error(`${r.red}✗${r.reset} ${t}`)}function K(t){console.warn(`${r.yellow}⚠${r.reset} ${t}`)}function k(t){console.log(`${r.blue}ℹ${r.reset} ${t}`)}function V(t){console.log(`${r.cyan}→${r.reset} ${t}`)}function J(t){console.log(`
2
2
  ${r.bright}${r.cyan}${t}${r.reset}
3
3
  `)}var Q=!!(process.env.CI||process.env.GITHUB_ACTIONS||process.env.BUILDKITE||process.env.CIRCLECI||process.env.GITLAB_CI);function X(t,e="cyan"){let n=t.split(`
4
4
  `),i=Math.max(...n.map((l)=>l.length)),a="─".repeat(i+2);console.log(b(`┌${a}┐`,e)),n.forEach((l)=>{console.log(b(`│ ${l.padEnd(i)} │`,e))}),console.log(b(`└${a}┘`,e))}function A(t,e){for(let n of e){let i=s(t,n.name);I(G(i),{recursive:!0}),d(i,n.data,n.mode?{mode:n.mode}:void 0)}}async function ot(t){let{app:e,projectRoot:n,region:i,repository:a}=t,l=e.architecture??"x86_64",O=l==="arm64"?"linux/arm64":"linux/amd64",j=e.kind==="php",c=t.onStep??(()=>{}),p=q(s(z(),"tscloud-img-"));try{let f=s(p,"app");I(f,{recursive:!0});let y,w;if(j){M({projectRoot:n,app:e,skipBuild:t.skipBuild,onStep:c}),c("staging application tree");let o=U(n);A(f,o),A(s(p,"runtime"),T().map((g)=>({name:g.path,data:g.contents,mode:g.mode})));let B=e.handlers?.http??"public/index.php";y={http:B,queue:e.handlers?.queue??B,cli:e.handlers?.cli??B},w=R(o.map((g)=>`${g.name}:${g.data.length}`).join("|"))}else{c("bundling application");let o=await P({projectRoot:n,app:e,skipBuild:t.skipBuild,onStep:c});d(s(f,"index.mjs"),o.bundle),y=o.handlers,w=o.sha256}let S=w.slice(0,16);d(s(p,"Dockerfile"),E({kind:e.kind??"node",phpVersion:e.phpVersion,architecture:l}));let v=new L(i),u;try{u=(await v.describeRepositories({repositoryNames:[a]})).repositories?.[0]?.repositoryUri??""}catch{u=""}if(!u)c(`creating ECR repository ${a}`),u=(await v.createRepository({repositoryName:a,imageScanningConfiguration:{scanOnPush:!0}})).repository?.repositoryUri??"";if(!u)throw Error(`could not resolve ECR repository URI for ${a}`);let m=`${u}:${S}`;c("docker build"),C("docker",["build","--platform",O,"--provenance=false","--sbom=false","-t",m,p],{stdio:"inherit"}),c("ecr auth + push");let h=(await v.getAuthorizationToken()).authorizationData?.[0];if(!h?.authorizationToken||!h.proxyEndpoint)throw Error("failed to get an ECR authorization token");let D=h.proxyEndpoint.replace(/^https?:\/\//,""),x=s(p,".docker");return I(x,{recursive:!0}),d(s(x,"config.json"),JSON.stringify({auths:{[D]:{auth:h.authorizationToken}}})),C("docker",["push",m],{stdio:"inherit",env:{...process.env,DOCKER_CONFIG:x}}),k(`Image: ${m}`),{imageUri:m,tag:S,handlers:y}}finally{N(p,{recursive:!0,force:!0})}}
@@ -1,4 +1,4 @@
1
- import{Rf as le}from"./chunk-82gezmen.js";import{ti as oe,ui as C}from"./chunk-70v77sqv.js";import{wi as h}from"./chunk-a368cs92.js";import{Qu as ce}from"./chunk-0hw5wjjg.js";class De{region;client;constructor(e="us-east-1",t=new h){this.region=e;this.client=t}request(e,t){return this.client.request({service:"backup",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`CryoControllerFrontendService.${e}`},body:JSON.stringify(t)})}startBackupJob(e){return this.request("StartBackupJob",e)}describeBackupJob(e){return this.request("DescribeBackupJob",{BackupJobId:e})}startRestoreJob(e){return this.request("StartRestoreJob",e)}describeRestoreJob(e){return this.request("DescribeRestoreJob",{RestoreJobId:e})}deleteRecoveryPoint(e,t){return this.request("DeleteRecoveryPoint",{BackupVaultName:e,RecoveryPointArn:t})}}function Re(e,t){if(!t)return e;return e.startsWith(t)?e.slice(t.length):e}function X(e,t,n){let r=Re(e,t);return`${n??""}${r}`}function Q(e,t,n){if(n&&n.some((r)=>e.startsWith(r)))return!1;if(t&&t.length>0)return t.some((r)=>e.startsWith(r));return!0}async function Ne(e,t,n){let r=0,i=[],s=Math.max(1,Math.min(t,e.length||1));for(let o=0;o<s;o++)i.push((async()=>{while(!0){let a=r++;if(a>=e.length)return;await n(e[a],a)}})());await Promise.all(i)}function Y(e){if(e.client)return e.client;return Z({provider:e.provider,region:e.region,endpoint:e.endpoint,forcePathStyle:e.forcePathStyle,credentials:e.credentials})}async function Ot(e){let t=e.concurrency??8,n=Y(e.from),r=Y(e.to),i=await n.listAllObjects({bucket:e.from.bucket,prefix:e.from.prefix}),s={copied:0,skipped:0,excluded:0,bytesCopied:0,errors:[],excludedKeys:[],deleted:[]},o=[];for(let u of i){if(!Q(u.Key,e.include,e.exclude)){s.excluded++,s.excludedKeys.push(u.Key);continue}o.push({source:u,destKey:X(u.Key,e.from.prefix,e.to.prefix)})}if(e.dryRun){s.plan=o.map(({source:m,destKey:l})=>({key:m.Key,destKey:l,size:m.Size}));let u=i.length,d=0;for(let m of i){d++;let l=!Q(m.Key,e.include,e.exclude);e.onProgress?.({key:m.Key,destKey:l?"":X(m.Key,e.from.prefix,e.to.prefix),size:m.Size,action:l?"excluded":"planned",index:d,total:u})}return s}let a=o.length,c=0;await Ne(o,t,async({source:u,destKey:d})=>{let m=++c;try{if(!e.force){let y=await r.headObject(e.to.bucket,d);if(y&&y.ContentLength===u.Size){s.skipped++,e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"skipped",index:m,total:a});return}}let{body:l,contentType:p}=await n.getObjectBytes(e.from.bucket,u.Key);await r.putObject({bucket:e.to.bucket,key:d,body:l,contentType:p}),s.copied++,s.bytesCopied+=l.byteLength,e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"copied",index:m,total:a})}catch(l){s.errors.push({key:u.Key,message:l?.message??String(l)}),e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"error",index:m,total:a})}});let g=new Set(o.map((u)=>u.destKey));if(e.deleteExtraneous){let d=(await r.listAllObjects({bucket:e.to.bucket,prefix:e.to.prefix})).filter((m)=>!g.has(m.Key)).map((m)=>m.Key);for(let m of d)try{await r.deleteObject(e.to.bucket,m),s.deleted.push(m)}catch(l){s.errors.push({key:m,message:`delete failed: ${l?.message??String(l)}`})}}if(e.verify){let u=await r.listAllObjects({bucket:e.to.bucket,prefix:e.to.prefix}),d=new Map(u.map((y)=>[y.Key,y.Size])),m=[],l=[],p=0;for(let{source:y,destKey:f}of o){if(!d.has(f)){m.push(f);continue}let S=d.get(f);if(S!==y.Size){l.push({key:f,expected:y.Size,actual:S});continue}p++}s.verification={ok:m.length===0&&l.length===0,matched:p,missing:m,sizeMismatches:l}}return s}var Oe={aws:"us-east-1",backblaze:"us-west-004",hetzner:"fsn1"};function ve(e,t){switch(e){case"backblaze":return`s3.${t}.backblazeb2.com`;case"hetzner":return`${t}.your-objectstorage.com`;case"aws":default:return}}function b(...e){for(let t of e){let n=process.env[t];if(n)return n}return}function we(e,t){if(t?.accessKeyId&&t.secretAccessKey)return t;let n,r;if(e==="backblaze")n=b("B2_APPLICATION_KEY_ID","B2_KEY_ID","S3_ACCESS_KEY_ID","AWS_ACCESS_KEY_ID"),r=b("B2_APPLICATION_KEY","B2_SECRET_KEY","S3_SECRET_ACCESS_KEY","AWS_SECRET_ACCESS_KEY");else if(e==="hetzner")n=b("HETZNER_S3_ACCESS_KEY","HETZNER_ACCESS_KEY","S3_ACCESS_KEY_ID","AWS_ACCESS_KEY_ID"),r=b("HETZNER_S3_SECRET_KEY","HETZNER_SECRET_KEY","S3_SECRET_ACCESS_KEY","AWS_SECRET_ACCESS_KEY");else n=b("S3_ACCESS_KEY_ID"),r=b("S3_SECRET_ACCESS_KEY");if(n&&r)return{accessKeyId:n,secretAccessKey:r,sessionToken:b("AWS_SESSION_TOKEN")};return}function ke(e={}){let t=e.provider||b("OBJECT_STORAGE_PROVIDER","STORAGE_PROVIDER")||"aws",n=e.region||(t==="backblaze"?b("B2_REGION"):void 0)||(t==="hetzner"?b("HETZNER_S3_REGION","HETZNER_REGION"):void 0)||b("S3_REGION","AWS_REGION","AWS_DEFAULT_REGION")||Oe[t],r=e.endpoint||b("S3_ENDPOINT")||ve(t,n),i=e.forcePathStyle??b("S3_FORCE_PATH_STYLE")==="true",s=we(t,e.credentials),o=(a)=>{let c=r||`s3.${n}.amazonaws.com`;return i?`https://${c}/${a}`:`https://${a}.${c}`};return{provider:t,region:n,endpoint:r,forcePathStyle:i,credentials:s,profile:e.profile,publicBaseUrl:o}}function Z(e={}){let t=ke(e),n={endpoint:t.endpoint,forcePathStyle:t.forcePathStyle,credentials:t.credentials};return new C(t.region,t.profile,n)}import{createHash as Le}from"node:crypto";import{existsSync as Me,mkdirSync as Fe,readdirSync as Ut,readFileSync as Ue,rmSync as Bt,writeFileSync as Be}from"node:fs";import{homedir as Ve}from"node:os";import{join as D}from"node:path";var ee=1,te=3600000,Ge=24*te,qe=te,$e=30*Ge;function _e(){let e=process.env.XDG_CACHE_HOME;return D(e&&e.trim()?e:D(Ve(),".cache"),"ts-cloud","cost-explorer")}function ne(e){return D(_e(),e??"__default__")}function re(e){let t={s:e.start,e:e.end,g:e.granularity,m:[...e.metrics].sort(),gb:[...e.groupBy].map((n)=>`${n.Type}:${n.Key}`).sort(),f:e.filter??null};return Le("sha256").update(JSON.stringify(t)).digest("hex").slice(0,24)}function je(e,t){let n=Date.parse(`${t}T00:00:00Z`);if(Number.isNaN(n))return!1;let r=new Date,i=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1);return n<=i}function Je(e){return je(e.start,e.end)?$e:qe}function ie(e,t){let n=D(ne(e),`${re(t)}.json`);if(!Me(n))return null;let r;try{r=JSON.parse(Ue(n,"utf-8"))}catch{return null}if(r.schema!==ee)return null;let i=Date.now()-r.savedAt;if(i<0||i>Je(t))return null;return{response:r.response,ageSeconds:Math.floor(i/1000)}}function se(e,t,n){let r=ne(e);Fe(r,{recursive:!0});let i={schema:ee,savedAt:Date.now(),key:t,response:n};Be(D(r,`${re(t)}.json`),JSON.stringify(i))}class Ke{client;profile;useCache;lastCacheAgeSeconds=null;constructor(e,t){this.profile=e,this.useCache=t?.useCache??!0,this.client=new h(oe(e))}async getCostByService(e){return(await this.getCostByDimension({...e,dimension:"SERVICE"})).map((n)=>({service:n.key,amount:n.amount,unit:n.unit}))}async getCostByDimension(e){let{start:t,end:n,dimension:r,granularity:i="MONTHLY",filter:s}=e,o=["UnblendedCost"],a=[{Type:"DIMENSION",Key:r}],c={start:t,end:n,granularity:i,metrics:o,groupBy:a,filter:s};if(this.useCache){let m=ie(this.profile,c);if(m)return this.lastCacheAgeSeconds=m.ageSeconds,m.response}this.lastCacheAgeSeconds=null;let g=new Map,u;do{let m={TimePeriod:{Start:t,End:n},Granularity:i,Metrics:o,GroupBy:a};if(s)m.Filter=s;if(u)m.NextPageToken=u;let l=await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify(m)});for(let p of l?.ResultsByTime??[])for(let y of p?.Groups??[]){let f=y.Keys?.[0]??"Unknown",S=Number.parseFloat(y.Metrics?.UnblendedCost?.Amount??"0"),I=y.Metrics?.UnblendedCost?.Unit??"USD",A=g.get(f);g.set(f,{key:f,amount:(A?.amount??0)+S,unit:I})}u=l?.NextPageToken||void 0}while(u);let d=[...g.values()].filter((m)=>m.amount>0).sort((m,l)=>l.amount-m.amount);if(this.useCache)se(this.profile,c,d);return d}async getDailyTotals(e){return((await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify({TimePeriod:{Start:e.start,End:e.end},Granularity:"DAILY",Metrics:["UnblendedCost"]})}))?.ResultsByTime??[]).map((r)=>Number.parseFloat(r.Total?.UnblendedCost?.Amount??"0"))}}class ze{client;region="us-east-1";constructor(){this.client=new h}async getDomainDetail(e){let t=JSON.stringify({DomainName:e.DomainName}),n=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.GetDomainDetail"},body:t});return this.parseDomainDetail(n)}async updateDomainNameservers(e){let t=JSON.stringify({DomainName:e.DomainName,Nameservers:e.Nameservers.map((r)=>({Name:r.Name,...r.GlueIps&&{GlueIps:r.GlueIps}}))});return{OperationId:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.UpdateDomainNameservers"},body:t})).OperationId||""}}async listDomains(e){let t={};if(e?.Marker)t.Marker=e.Marker;if(e?.MaxItems)t.MaxItems=e.MaxItems;if(e?.SortCondition)t.SortCondition=e.SortCondition;let n=JSON.stringify(t),r=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.ListDomains"},body:n});return{Domains:r.Domains||[],NextPageMarker:r.NextPageMarker}}async checkDomainAvailability(e){let t=JSON.stringify({DomainName:e.DomainName});return{Availability:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.CheckDomainAvailability"},body:t})).Availability||"DONT_KNOW"}}async getDomainPrice(e){let t=e.DomainName.split(".").slice(1).join("."),n=JSON.stringify({Tld:t}),i=(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.ListPrices"},body:n})).Prices?.[0]||{};return{RegistrationPrice:i.RegistrationPrice?{Price:i.RegistrationPrice.Price,Currency:i.RegistrationPrice.Currency}:void 0,RenewalPrice:i.RenewalPrice?{Price:i.RenewalPrice.Price,Currency:i.RenewalPrice.Currency}:void 0,TransferPrice:i.TransferPrice?{Price:i.TransferPrice.Price,Currency:i.TransferPrice.Currency}:void 0}}async registerDomain(e){let t=JSON.stringify({DomainName:e.DomainName,DurationInYears:e.DurationInYears,AutoRenew:e.AutoRenew??!0,AdminContact:e.AdminContact,RegistrantContact:e.RegistrantContact,TechContact:e.TechContact,PrivacyProtectAdminContact:e.PrivacyProtectAdminContact??!0,PrivacyProtectRegistrantContact:e.PrivacyProtectRegistrantContact??!0,PrivacyProtectTechContact:e.PrivacyProtectTechContact??!0});return{OperationId:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.RegisterDomain"},body:t})).OperationId||""}}async getOperationDetail(e){let t=JSON.stringify({OperationId:e.OperationId}),n=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.GetOperationDetail"},body:t});return{OperationId:n.OperationId||"",Status:n.Status||"SUBMITTED",Message:n.Message,DomainName:n.DomainName,Type:n.Type,SubmittedDate:n.SubmittedDate}}parseDomainDetail(e){return{DomainName:e.DomainName||"",Nameservers:e.Nameservers?.map((t)=>({Name:t.Name,GlueIps:t.GlueIps})),AutoRenew:e.AutoRenew,AdminContact:e.AdminContact,RegistrantContact:e.RegistrantContact,TechContact:e.TechContact,AdminPrivacy:e.AdminPrivacy,RegistrantPrivacy:e.RegistrantPrivacy,TechPrivacy:e.TechPrivacy,RegistrarName:e.RegistrarName,WhoIsServer:e.WhoIsServer,RegistrarUrl:e.RegistrarUrl,AbuseContactEmail:e.AbuseContactEmail,AbuseContactPhone:e.AbuseContactPhone,RegistryDomainId:e.RegistryDomainId,CreationDate:e.CreationDate,UpdatedDate:e.UpdatedDate,ExpirationDate:e.ExpirationDate,Reseller:e.Reseller,DnsSec:e.DnsSec,StatusList:e.StatusList}}}class He{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async describeServices(e){let t={cluster:e.cluster,services:e.services};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeServices","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async listServices(e,t={}){let n={cluster:e,...t};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListServices","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(n)})}async listTasks(e,t,n={}){let r={cluster:e,...n};if(t)r.serviceName=t;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListTasks","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(r)})}async describeTasks(e,t){let n={cluster:e,tasks:t};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeTasks","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(n)})}async updateService(e){let t={cluster:e.cluster,service:e.service};if(e.forceNewDeployment!==void 0)t.forceNewDeployment=e.forceNewDeployment;if(e.desiredCount!==void 0)t.desiredCount=e.desiredCount;if(e.taskDefinition)t.taskDefinition=e.taskDefinition;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.UpdateService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async createService(e){let t={cluster:e.cluster,serviceName:e.serviceName,taskDefinition:e.taskDefinition,desiredCount:e.desiredCount};if(e.launchType)t.launchType=e.launchType;if(e.networkConfiguration)t.networkConfiguration=e.networkConfiguration;if(e.loadBalancers)t.loadBalancers=e.loadBalancers;if(e.healthCheckGracePeriodSeconds!==void 0)t.healthCheckGracePeriodSeconds=e.healthCheckGracePeriodSeconds;if(e.deploymentConfiguration)t.deploymentConfiguration=e.deploymentConfiguration;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.CreateService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteService(e){let t={cluster:e.cluster,service:e.service};if(e.force!==void 0)t.force=e.force;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DeleteService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async listClusters(e={}){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListClusters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(e)})}async describeClusters(e){let t={clusters:e,include:["ATTACHMENTS","CONFIGURATIONS","SETTINGS","STATISTICS","TAGS"]};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeClusters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async stopTask(e){let t={cluster:e.cluster,task:e.task};if(e.reason)t.reason=e.reason;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.StopTask","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async runTask(e){let t={cluster:e.cluster,taskDefinition:e.taskDefinition};if(e.count!==void 0)t.count=e.count;if(e.launchType)t.launchType=e.launchType;if(e.networkConfiguration)t.networkConfiguration=e.networkConfiguration;if(e.overrides)t.overrides=e.overrides;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.RunTask","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async registerTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.RegisterTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(e)})}async deregisterTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DeregisterTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({taskDefinition:e})})}async describeTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({taskDefinition:e,include:["TAGS"]})})}async listTaskDefinitionFamilies(e){let t={};if(e?.familyPrefix)t.familyPrefix=e.familyPrefix;if(e?.status)t.status=e.status;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListTaskDefinitionFamilies","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async waitForServiceStable(e,t,n=40,r=15000){for(let i=0;i<n;i++){let o=(await this.describeServices({cluster:e,services:[t]})).services?.[0];if(o){let a=o.deployments?.find((c)=>c.status==="PRIMARY");if(a&&a.runningCount===a.desiredCount&&o.deployments?.length===1)return!0}await new Promise((a)=>setTimeout(a,r))}return!1}async forceNewDeployment(e,t){return this.updateService({cluster:e,service:t,forceNewDeployment:!0})}async scaleService(e,t,n){return this.updateService({cluster:e,service:t,desiredCount:n})}}class We{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async getCallerIdentity(){let e=await this.client.request({service:"sts",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"Action=GetCallerIdentity&Version=2011-06-15"});if(typeof e==="string"){let n=e.match(/<Account>(\d+)<\/Account>/),r=e.match(/<UserId>([^<]+)<\/UserId>/),i=e.match(/<Arn>([^<]+)<\/Arn>/);return{Account:n?.[1],UserId:r?.[1],Arn:i?.[1]}}let t=e?.GetCallerIdentityResponse?.GetCallerIdentityResult||e?.GetCallerIdentityResult;if(t)return{Account:String(t.Account),UserId:t.UserId,Arn:t.Arn};if(e?.Account)return{Account:String(e.Account),UserId:e.UserId,Arn:e.Arn};return{Account:void 0,UserId:void 0,Arn:void 0}}}class Xe{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h}async createSecret(e){let t={Name:e.Name};if(e.Description)t.Description=e.Description;if(e.KmsKeyId)t.KmsKeyId=e.KmsKeyId;if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;if(e.Tags&&e.Tags.length>0)t.Tags=e.Tags;if(e.AddReplicaRegions&&e.AddReplicaRegions.length>0)t.AddReplicaRegions=e.AddReplicaRegions;if(e.ForceOverwriteReplicaSecret!==void 0)t.ForceOverwriteReplicaSecret=e.ForceOverwriteReplicaSecret;t.ClientRequestToken=e.ClientRequestToken||crypto.randomUUID();let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.CreateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,ReplicationStatus:n.ReplicationStatus}}async updateSecret(e){let t={SecretId:e.SecretId};if(e.Description)t.Description=e.Description;if(e.KmsKeyId)t.KmsKeyId=e.KmsKeyId;if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.UpdateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId}}async putSecretValue(e){let t={SecretId:e.SecretId};if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;if(e.VersionStages&&e.VersionStages.length>0)t.VersionStages=e.VersionStages;if(e.ClientRequestToken)t.ClientRequestToken=e.ClientRequestToken;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.PutSecretValue","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,VersionStages:n.VersionStages}}async getSecretValue(e){let t={SecretId:e.SecretId};if(e.VersionId)t.VersionId=e.VersionId;if(e.VersionStage)t.VersionStage=e.VersionStage;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.GetSecretValue","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,SecretBinary:n.SecretBinary,SecretString:n.SecretString,VersionStages:n.VersionStages,CreatedDate:n.CreatedDate}}async describeSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DescribeSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return this.parseSecret(n)}async listSecrets(e){let t={};if(e?.MaxResults)t.MaxResults=e.MaxResults;if(e?.NextToken)t.NextToken=e.NextToken;if(e?.Filters&&e.Filters.length>0)t.Filters=e.Filters;if(e?.SortOrder)t.SortOrder=e.SortOrder;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.ListSecrets","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{SecretList:n.SecretList?.map((r)=>this.parseSecret(r)),NextToken:n.NextToken}}async deleteSecret(e){let t={SecretId:e.SecretId};if(e.RecoveryWindowInDays!==void 0)t.RecoveryWindowInDays=e.RecoveryWindowInDays;if(e.ForceDeleteWithoutRecovery!==void 0)t.ForceDeleteWithoutRecovery=e.ForceDeleteWithoutRecovery;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DeleteSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,DeletionDate:n.DeletionDate}}async restoreSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.RestoreSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async rotateSecret(e){let t={SecretId:e.SecretId};if(e.ClientRequestToken)t.ClientRequestToken=e.ClientRequestToken;if(e.RotationLambdaARN)t.RotationLambdaARN=e.RotationLambdaARN;if(e.RotationRules)t.RotationRules=e.RotationRules;if(e.RotateImmediately!==void 0)t.RotateImmediately=e.RotateImmediately;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.RotateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId}}async cancelRotateSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.CancelRotateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async getResourcePolicy(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.GetResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,ResourcePolicy:n.ResourcePolicy}}async putResourcePolicy(e){let t={SecretId:e.SecretId,ResourcePolicy:e.ResourcePolicy};if(e.BlockPublicPolicy!==void 0)t.BlockPublicPolicy=e.BlockPublicPolicy;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.PutResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async deleteResourcePolicy(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DeleteResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async tagResource(e){let t={SecretId:e.SecretId,Tags:e.Tags};await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.TagResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async untagResource(e){let t={SecretId:e.SecretId,TagKeys:e.TagKeys};await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.UntagResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async setString(e,t,n){try{let r=await this.putSecretValue({SecretId:e,SecretString:t});return{ARN:r.ARN,VersionId:r.VersionId}}catch(r){if(r.code==="ResourceNotFoundException"){let i=await this.createSecret({Name:e,SecretString:t,Description:n?.description,KmsKeyId:n?.kmsKeyId,Tags:n?.tags});return{ARN:i.ARN,VersionId:i.VersionId}}throw r}}async setJson(e,t,n){return this.setString(e,JSON.stringify(t),n)}async getString(e){return(await this.getSecretValue({SecretId:e})).SecretString}async getJson(e){let t=await this.getString(e);if(t)return JSON.parse(t);return}async listAll(){let e=[],t;do{let n=await this.listSecrets({NextToken:t});if(n.SecretList)e.push(...n.SecretList);t=n.NextToken}while(t);return e}parseSecret(e){return{ARN:e.ARN,Name:e.Name,Description:e.Description,KmsKeyId:e.KmsKeyId,RotationEnabled:e.RotationEnabled,RotationLambdaARN:e.RotationLambdaARN,RotationRules:e.RotationRules,LastRotatedDate:e.LastRotatedDate,LastChangedDate:e.LastChangedDate,LastAccessedDate:e.LastAccessedDate,DeletedDate:e.DeletedDate,NextRotationDate:e.NextRotationDate,Tags:e.Tags,SecretVersionsToStages:e.SecretVersionsToStages,CreatedDate:e.CreatedDate,PrimaryRegion:e.PrimaryRegion}}}class P{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}buildFormBody(e){return Object.entries(e).filter(([,n])=>n!==void 0).map(([n,r])=>`${encodeURIComponent(n)}=${encodeURIComponent(r)}`).join("&")}async createTopic(e){let t={Action:"CreateTopic",Version:"2010-03-31",Name:e.Name};if(e.DisplayName)t["Attributes.entry.1.key"]="DisplayName",t["Attributes.entry.1.value"]=e.DisplayName;if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});if(e.Attributes){let r=e.DisplayName?2:1;Object.entries(e.Attributes).forEach(([i,s])=>{t[`Attributes.entry.${r}.key`]=i,t[`Attributes.entry.${r}.value`]=s,r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{TopicArn:n?.CreateTopicResponse?.CreateTopicResult?.TopicArn||n?.TopicArn}}async deleteTopic(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteTopic",Version:"2010-03-31",TopicArn:e})})}async listTopics(e){let t={Action:"ListTopics",Version:"2010-03-31"};if(e)t.NextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListTopicsResponse?.ListTopicsResult||n?.ListTopicsResult,i=r?.Topics?.member;return{Topics:Array.isArray(i)?i:i?[i]:[],NextToken:r?.NextToken}}async getTopicAttributes(e){let n=(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetTopicAttributes",Version:"2010-03-31",TopicArn:e})}))?.GetTopicAttributesResponse?.GetTopicAttributesResult?.Attributes?.entry,r={TopicArn:e};if(Array.isArray(n))n.forEach((i)=>{r[i.key]=i.value});return r}async setTopicAttributes(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"SetTopicAttributes",Version:"2010-03-31",TopicArn:e.TopicArn,AttributeName:e.AttributeName,AttributeValue:e.AttributeValue})})}async subscribe(e){let t={Action:"Subscribe",Version:"2010-03-31",TopicArn:e.TopicArn,Protocol:e.Protocol,Endpoint:e.Endpoint};if(e.ReturnSubscriptionArn)t.ReturnSubscriptionArn="true";if(e.Attributes){let r=1;Object.entries(e.Attributes).forEach(([i,s])=>{t[`Attributes.entry.${r}.key`]=i,t[`Attributes.entry.${r}.value`]=s,r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{SubscriptionArn:n?.SubscribeResponse?.SubscribeResult?.SubscriptionArn||n?.SubscriptionArn}}async unsubscribe(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"Unsubscribe",Version:"2010-03-31",SubscriptionArn:e})})}async listSubscriptionsByTopic(e,t){let n={Action:"ListSubscriptionsByTopic",Version:"2010-03-31",TopicArn:e};if(t)n.NextToken=t;let r=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(n)}),i=r?.ListSubscriptionsByTopicResponse?.ListSubscriptionsByTopicResult?.Subscriptions?.member;return{Subscriptions:Array.isArray(i)?i:i?[i]:[],NextToken:r?.ListSubscriptionsByTopicResponse?.ListSubscriptionsByTopicResult?.NextToken}}async publish(e){let t={Action:"Publish",Version:"2010-03-31",Message:e.Message};if(e.TopicArn)t.TopicArn=e.TopicArn;if(e.TargetArn)t.TargetArn=e.TargetArn;if(e.PhoneNumber)t.PhoneNumber=e.PhoneNumber;if(e.Subject)t.Subject=e.Subject;if(e.MessageStructure)t.MessageStructure=e.MessageStructure;if(e.MessageAttributes){let r=1;Object.entries(e.MessageAttributes).forEach(([i,s])=>{if(t[`MessageAttributes.entry.${r}.Name`]=i,t[`MessageAttributes.entry.${r}.Value.DataType`]=s.DataType,s.StringValue)t[`MessageAttributes.entry.${r}.Value.StringValue`]=s.StringValue;if(s.BinaryValue)t[`MessageAttributes.entry.${r}.Value.BinaryValue`]=s.BinaryValue;r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{MessageId:n?.PublishResponse?.PublishResult?.MessageId||n?.MessageId}}async publishSMS(e,t,n){let r={};if(n)r["AWS.SNS.SMS.SenderID"]={DataType:"String",StringValue:n};return this.publish({PhoneNumber:e,Message:t,MessageAttributes:Object.keys(r).length>0?r:void 0})}async subscribeEmail(e,t){return this.subscribe({TopicArn:e,Protocol:"email",Endpoint:t})}async subscribeLambda(e,t){return this.subscribe({TopicArn:e,Protocol:"lambda",Endpoint:t})}async subscribeSqs(e,t,n){let r={};if(n)r.RawMessageDelivery="true";return this.subscribe({TopicArn:e,Protocol:"sqs",Endpoint:t,Attributes:Object.keys(r).length>0?r:void 0})}async subscribeHttp(e,t,n){let r=t.startsWith("https")?"https":"http",i={};if(n)i.RawMessageDelivery="true";return this.subscribe({TopicArn:e,Protocol:r,Endpoint:t,Attributes:Object.keys(i).length>0?i:void 0})}async subscribeSms(e,t){return this.subscribe({TopicArn:e,Protocol:"sms",Endpoint:t})}async topicExists(e){try{return await this.getTopicAttributes(e),!0}catch(t){if(t.code==="NotFound"||t.statusCode===404)return!1;throw t}}async getSMSAttributes(){let t=(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetSMSAttributes",Version:"2010-03-31"})}))?.GetSMSAttributesResponse?.GetSMSAttributesResult?.attributes?.entry,n={};if(Array.isArray(t))t.forEach((r)=>{n[r.key]=r.value});else if(t)n[t.key]=t.value;return n}async setSMSAttributes(e){let t={Action:"SetSMSAttributes",Version:"2010-03-31"},n=1;Object.entries(e).forEach(([r,i])=>{if(i!==void 0)t[`attributes.entry.${n}.key`]=r,t[`attributes.entry.${n}.value`]=i,n++}),await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)})}async checkIfPhoneNumberIsOptedOut(e){return(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"CheckIfPhoneNumberIsOptedOut",Version:"2010-03-31",phoneNumber:e})}))?.CheckIfPhoneNumberIsOptedOutResponse?.CheckIfPhoneNumberIsOptedOutResult?.isOptedOut==="true"}async listPhoneNumbersOptedOut(e){let t={Action:"ListPhoneNumbersOptedOut",Version:"2010-03-31"};if(e)t.nextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListPhoneNumbersOptedOutResponse?.ListPhoneNumbersOptedOutResult?.phoneNumbers?.member;return{phoneNumbers:Array.isArray(r)?r:r?[r]:[],nextToken:n?.ListPhoneNumbersOptedOutResponse?.ListPhoneNumbersOptedOutResult?.nextToken}}async optInPhoneNumber(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"OptInPhoneNumber",Version:"2010-03-31",phoneNumber:e})})}async listSMSSandboxPhoneNumbers(e){let t={Action:"ListSMSSandboxPhoneNumbers",Version:"2010-03-31"};if(e)t.NextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListSMSSandboxPhoneNumbersResponse?.ListSMSSandboxPhoneNumbersResult?.PhoneNumbers?.member;return{PhoneNumbers:Array.isArray(r)?r:r?[r]:[],NextToken:n?.ListSMSSandboxPhoneNumbersResponse?.ListSMSSandboxPhoneNumbersResult?.NextToken}}async createSMSSandboxPhoneNumber(e,t){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"CreateSMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e,LanguageCode:t||"en-US"})})}async verifySMSSandboxPhoneNumber(e,t){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"VerifySMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e,OneTimePassword:t})})}async deleteSMSSandboxPhoneNumber(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteSMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e})})}async getSMSSandboxAccountStatus(){return{IsInSandbox:(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetSMSSandboxAccountStatus",Version:"2010-03-31"})}))?.GetSMSSandboxAccountStatusResponse?.GetSMSSandboxAccountStatusResult?.IsInSandbox==="true"}}}class Qe{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h}async createQueue(e){let n={Action:"CreateQueue",QueueName:e.fifo&&!e.queueName.endsWith(".fifo")?`${e.queueName}.fifo`:e.queueName,Version:"2012-11-05"},r=1;if(e.visibilityTimeout!==void 0)n[`Attribute.${r}.Name`]="VisibilityTimeout",n[`Attribute.${r}.Value`]=e.visibilityTimeout.toString(),r++;if(e.messageRetentionPeriod!==void 0)n[`Attribute.${r}.Name`]="MessageRetentionPeriod",n[`Attribute.${r}.Value`]=e.messageRetentionPeriod.toString(),r++;if(e.delaySeconds!==void 0)n[`Attribute.${r}.Name`]="DelaySeconds",n[`Attribute.${r}.Value`]=e.delaySeconds.toString(),r++;if(e.maxMessageSize!==void 0)n[`Attribute.${r}.Name`]="MaximumMessageSize",n[`Attribute.${r}.Value`]=e.maxMessageSize.toString(),r++;if(e.receiveMessageWaitTime!==void 0)n[`Attribute.${r}.Name`]="ReceiveMessageWaitTimeSeconds",n[`Attribute.${r}.Value`]=e.receiveMessageWaitTime.toString(),r++;if(e.fifo){if(n[`Attribute.${r}.Name`]="FifoQueue",n[`Attribute.${r}.Value`]="true",r++,e.contentBasedDeduplication)n[`Attribute.${r}.Name`]="ContentBasedDeduplication",n[`Attribute.${r}.Value`]="true",r++}if(e.deadLetterTargetArn&&e.maxReceiveCount)n[`Attribute.${r}.Name`]="RedrivePolicy",n[`Attribute.${r}.Value`]=JSON.stringify({deadLetterTargetArn:e.deadLetterTargetArn,maxReceiveCount:e.maxReceiveCount}),r++;if(e.tags&&Object.keys(e.tags).length>0){let s=1;for(let[o,a]of Object.entries(e.tags))n[`Tag.${s}.Key`]=o,n[`Tag.${s}.Value`]=a,s++}let i=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(n).toString()});return{QueueUrl:i.QueueUrl||i.CreateQueueResult?.QueueUrl}}async listQueues(e){let t={Action:"ListQueues",Version:"2012-11-05"};if(e)t.QueueNamePrefix=e;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}),r=[];if(n.QueueUrl)r.push(n.QueueUrl);else if(n.ListQueuesResult?.QueueUrl)if(Array.isArray(n.ListQueuesResult.QueueUrl))r.push(...n.ListQueuesResult.QueueUrl);else r.push(n.ListQueuesResult.QueueUrl);return{QueueUrls:r}}async getQueueAttributes(e){let t={Action:"GetQueueAttributes",QueueUrl:e,Version:"2012-11-05","AttributeName.1":"All"},n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{Attributes:n.Attributes||n.GetQueueAttributesResult?.Attributes||{}}}async getQueueUrl(e){let t={Action:"GetQueueUrl",QueueName:e,Version:"2012-11-05"},n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{QueueUrl:n.QueueUrl||n.GetQueueUrlResult?.QueueUrl}}async deleteQueue(e){let t={Action:"DeleteQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}async purgeQueue(e){let t={Action:"PurgeQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}async sendMessage(e){let t={Action:"SendMessage",QueueUrl:e.queueUrl,MessageBody:e.messageBody,Version:"2012-11-05"};if(e.delaySeconds!==void 0)t.DelaySeconds=e.delaySeconds;if(e.messageGroupId)t.MessageGroupId=e.messageGroupId;if(e.messageDeduplicationId)t.MessageDeduplicationId=e.messageDeduplicationId;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{MessageId:n.MessageId||n.SendMessageResult?.MessageId}}async receiveMessages(e){let t={Action:"ReceiveMessage",QueueUrl:e.queueUrl,Version:"2012-11-05"};if(e.maxMessages!==void 0)t.MaxNumberOfMessages=e.maxMessages;if(e.visibilityTimeout!==void 0)t.VisibilityTimeout=e.visibilityTimeout;if(e.waitTimeSeconds!==void 0)t.WaitTimeSeconds=e.waitTimeSeconds;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}),r=[],i=n.Message||n.ReceiveMessageResult?.Message;if(i)if(Array.isArray(i))r.push(...i.map((s)=>({MessageId:s.MessageId,ReceiptHandle:s.ReceiptHandle,Body:s.Body})));else r.push({MessageId:i.MessageId,ReceiptHandle:i.ReceiptHandle,Body:i.Body});return{Messages:r}}async deleteMessage(e,t){let n={Action:"DeleteMessage",QueueUrl:e,ReceiptHandle:t,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(n).toString()})}}import{deflateRawSync as Ye}from"zlib";function ae(e,t){let n=typeof t==="string"?Buffer.from(t,"utf-8"):t,r=Ye(n),i=Ze(n),s=new Date,o=(s.getHours()<<11|s.getMinutes()<<5|s.getSeconds()>>1)&65535,a=(s.getFullYear()-1980<<9|s.getMonth()+1<<5|s.getDate())&65535,c=Buffer.from(e,"utf-8"),g=Buffer.alloc(30+c.length);g.writeUInt32LE(67324752,0),g.writeUInt16LE(20,4),g.writeUInt16LE(0,6),g.writeUInt16LE(8,8),g.writeUInt16LE(o,10),g.writeUInt16LE(a,12),g.writeUInt32LE(i,14),g.writeUInt32LE(r.length,18),g.writeUInt32LE(n.length,22),g.writeUInt16LE(c.length,26),g.writeUInt16LE(0,28),c.copy(g,30);let u=Buffer.alloc(46+c.length);u.writeUInt32LE(33639248,0),u.writeUInt16LE(20,4),u.writeUInt16LE(20,6),u.writeUInt16LE(0,8),u.writeUInt16LE(8,10),u.writeUInt16LE(o,12),u.writeUInt16LE(a,14),u.writeUInt32LE(i,16),u.writeUInt32LE(r.length,20),u.writeUInt32LE(n.length,24),u.writeUInt16LE(c.length,28),u.writeUInt16LE(0,30),u.writeUInt16LE(0,32),u.writeUInt16LE(0,34),u.writeUInt16LE(0,36),u.writeUInt32LE(0,38),u.writeUInt32LE(0,42),c.copy(u,46);let d=g.length+r.length,m=u.length,l=Buffer.alloc(22);return l.writeUInt32LE(101010256,0),l.writeUInt16LE(0,4),l.writeUInt16LE(0,6),l.writeUInt16LE(1,8),l.writeUInt16LE(1,10),l.writeUInt32LE(m,12),l.writeUInt32LE(d,16),l.writeUInt16LE(0,20),Buffer.concat([g,r,u,l])}function Ze(e){let t=[];for(let r=0;r<256;r++){let i=r;for(let s=0;s<8;s++)i=i&1?3988292384^i>>>1:i>>>1;t[r]=i}let n=4294967295;for(let r=0;r<e.length;r++)n=t[(n^e[r])&255]^n>>>8;return(n^4294967295)>>>0}class et{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async createFunction(e){return await this.client.request({service:"lambda",region:this.region,method:"POST",path:"/2015-03-31/functions",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getFunction(e){return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2015-03-31/functions/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async updateFunctionCode(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/code`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async updateFunctionCodeInline(e,t,n="index.js"){let r=ae(n,t);return this.updateFunctionCode({FunctionName:e,ZipFile:r.toString("base64")})}async updateFunctionConfiguration(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/configuration`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async deleteFunction(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2015-03-31/functions/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async invoke(e){let{FunctionName:t,InvocationType:n="RequestResponse",Payload:r,LogType:i}=e,s={"Content-Type":"application/json","X-Amz-Invocation-Type":n};if(i)s["X-Amz-Log-Type"]=i;let o=r?typeof r==="string"?r:JSON.stringify(r):void 0,a=await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/invocations`,headers:s,body:o,returnHeaders:!0});return{StatusCode:a.statusCode||200,FunctionError:a.headers?.["x-amz-function-error"],LogResult:a.headers?.["x-amz-log-result"],Payload:typeof a.body==="string"?a.body:JSON.stringify(a.body),ExecutedVersion:a.headers?.["x-amz-executed-version"]}}async listFunctions(e){let t={};if(e?.MaxItems)t.MaxItems=String(e.MaxItems);if(e?.Marker)t.Marker=e.Marker;if(e?.FunctionVersion)t.FunctionVersion=e.FunctionVersion;return await this.client.request({service:"lambda",region:this.region,method:"GET",path:"/2015-03-31/functions",queryParams:Object.keys(t).length>0?t:void 0,headers:{"Content-Type":"application/json"}})}async addPermission(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/policy`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async removePermission(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2015-03-31/functions/${encodeURIComponent(e)}/policy/${encodeURIComponent(t)}`,headers:{"Content-Type":"application/json"}})}async publishVersion(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/versions`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async createAlias(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/aliases`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async updateAlias(e){let{FunctionName:t,Name:n,...r}=e;return this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/aliases/${encodeURIComponent(n)}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}async getAlias(e,t){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2015-03-31/functions/${encodeURIComponent(e)}/aliases/${encodeURIComponent(t)}`})}catch(n){if(/ResourceNotFound/i.test(String(n?.message)))return null;throw n}}async getProvisionedConcurrencyConfig(e,t){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2019-09-30/functions/${encodeURIComponent(e)}/provisioned-concurrency`,queryParams:{Qualifier:t}})}catch(n){if(/ProvisionedConcurrencyConfigNotFound|ResourceNotFound/i.test(String(n?.message)))return null;throw n}}async putProvisionedConcurrencyConfig(e){let{FunctionName:t,Qualifier:n,ProvisionedConcurrentExecutions:r}=e;return this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2019-09-30/functions/${encodeURIComponent(t)}/provisioned-concurrency`,queryParams:{Qualifier:n},headers:{"Content-Type":"application/json"},body:JSON.stringify({ProvisionedConcurrentExecutions:r})})}async getFunctionConcurrency(e){try{return(await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`}))?.ReservedConcurrentExecutions??null}catch(t){if(/ResourceNotFound|ProvisionedConcurrencyConfigNotFound/i.test(String(t?.message)))return null;throw t}}async putFunctionConcurrency(e,t){await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`,headers:{"Content-Type":"application/json"},body:JSON.stringify({ReservedConcurrentExecutions:t})})}async deleteFunctionConcurrency(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`})}async deleteProvisionedConcurrencyConfig(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2019-09-30/functions/${encodeURIComponent(e)}/provisioned-concurrency`,queryParams:{Qualifier:t}})}async waitForFunctionActive(e,t=60){let n=Date.now(),r=t*1000;while(Date.now()-n<r)try{let i=await this.getFunction(e),s=i.Configuration?.State;if(s==="Active")return i.Configuration;if(s==="Failed")throw Error(`Function ${e} failed: ${i.Configuration?.StateReason}`);await new Promise((o)=>setTimeout(o,2000))}catch(i){if(i.code==="ResourceNotFoundException"){await new Promise((s)=>setTimeout(s,2000));continue}throw i}throw Error(`Timeout waiting for function ${e} to become active`)}async functionExists(e){try{return await this.getFunction(e),!0}catch(t){if(t.code==="ResourceNotFoundException"||t.statusCode===404)return!1;throw t}}async createFunctionUrl(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2021-10-31/functions/${encodeURIComponent(t)}/url`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async getFunctionUrl(e){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2021-10-31/functions/${encodeURIComponent(e)}/url`,headers:{"Content-Type":"application/json"}})}catch(t){if(t.statusCode===404)return null;throw t}}async deleteFunctionUrl(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2021-10-31/functions/${encodeURIComponent(e)}/url`,headers:{"Content-Type":"application/json"}})}async createFunctionWithCode(e){let{Code:t,Filename:n="index.js",...r}=e,i=ae(n,t);return this.createFunction({...r,Code:{ZipFile:i.toString("base64")}})}async addFunctionUrlPermission(e){return this.addPermission({FunctionName:e,StatementId:"FunctionURLAllowPublicAccess",Action:"lambda:InvokeFunctionUrl",Principal:"*",FunctionUrlAuthType:"NONE"})}async publishLayerVersion(e){let{LayerName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2018-10-31/layers/${encodeURIComponent(t)}/versions`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async listLayerVersions(e,t){let n={};if(t?.CompatibleRuntime)n.CompatibleRuntime=t.CompatibleRuntime;if(t?.CompatibleArchitecture)n.CompatibleArchitecture=t.CompatibleArchitecture;if(t?.MaxItems)n.MaxItems=String(t.MaxItems);if(t?.Marker)n.Marker=t.Marker;return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions`,queryParams:Object.keys(n).length>0?n:void 0,headers:{"Content-Type":"application/json"}})}async getLayerVersion(e,t){return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions/${t}`,headers:{"Content-Type":"application/json"}})}async addLayerVersionPermission(e){let{LayerName:t,VersionNumber:n,...r}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2018-10-31/layers/${encodeURIComponent(t)}/versions/${n}/policy`,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}async deleteLayerVersion(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions/${t}`,headers:{"Content-Type":"application/json"}})}}class tt{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async createLogGroup(e,t){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.CreateLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,...t?{tags:t}:{}})})}async putRetentionPolicy(e,t){if(![1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1096,1827,2192,2557,2922,3288,3653].includes(t))throw Error("Unsupported CloudWatch Logs retention period");await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.PutRetentionPolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,retentionInDays:t})})}async describeLogStreams(e){let t={logGroupName:e.logGroupName};if(e.logStreamNamePrefix)t.logStreamNamePrefix=e.logStreamNamePrefix;if(e.orderBy)t.orderBy=e.orderBy;if(e.descending!==void 0)t.descending=e.descending;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogStreams","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async getLogEvents(e){let t={logGroupName:e.logGroupName,logStreamName:e.logStreamName};if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.limit)t.limit=e.limit;if(e.startFromHead!==void 0)t.startFromHead=e.startFromHead;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.GetLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async describeLogGroups(e){let t={};if(e?.logGroupNamePrefix)t.logGroupNamePrefix=e.logGroupNamePrefix;if(e?.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogGroups","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteLogGroup(e){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DeleteLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e})})}async filterLogEvents(e){let t={logGroupName:e.logGroupName};if(e.logStreamNames)t.logStreamNames=e.logStreamNames;if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.filterPattern)t.filterPattern=e.filterPattern;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.FilterLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}}class V{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async createInstance(e){let t={InstanceAlias:e.InstanceAlias,IdentityManagementType:e.IdentityManagementType||"CONNECT_MANAGED",InboundCallsEnabled:e.InboundCallsEnabled??!0,OutboundCallsEnabled:e.OutboundCallsEnabled??!0};if(e.DirectoryId)t.DirectoryId=e.DirectoryId;if(e.ClientToken)t.ClientToken=e.ClientToken;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:"/instance",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async deleteInstance(e){await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/instance/${e}`})}async describeInstance(e){let t=await this.client.request({service:"connect",region:this.region,method:"GET",path:`/instance/${e}`});return t.Instance||t}async listInstances(e){let t={};if(e?.MaxResults)t.maxResults=String(e.MaxResults);if(e?.NextToken)t.nextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"GET",path:"/instance",queryParams:t})}async searchAvailablePhoneNumbers(e){let t={TargetArn:e.TargetArn,PhoneNumberCountryCode:e.PhoneNumberCountryCode,PhoneNumberType:e.PhoneNumberType};if(e.PhoneNumberPrefix)t.PhoneNumberPrefix=e.PhoneNumberPrefix;if(e.MaxResults)t.MaxResults=e.MaxResults;if(e.NextToken)t.NextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/search-available",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async claimPhoneNumber(e){let t={TargetArn:e.TargetArn,PhoneNumber:e.PhoneNumber};if(e.PhoneNumberDescription)t.PhoneNumberDescription=e.PhoneNumberDescription;if(e.Tags)t.Tags=e.Tags;if(e.ClientToken)t.ClientToken=e.ClientToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/claim",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async releasePhoneNumber(e,t){let n={};if(t)n.clientToken=t;await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/phone-number/${e}`,queryParams:n})}async listPhoneNumbers(e){let t={};if(e.TargetArn)t.TargetArn=e.TargetArn;if(e.InstanceId)t.InstanceId=e.InstanceId;if(e.PhoneNumberTypes)t.PhoneNumberTypes=e.PhoneNumberTypes;if(e.PhoneNumberCountryCodes)t.PhoneNumberCountryCodes=e.PhoneNumberCountryCodes;if(e.MaxResults)t.MaxResults=e.MaxResults;if(e.NextToken)t.NextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/list",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async createContactFlow(e){let t={Name:e.Name,Type:e.Type,Content:e.Content};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact-flows/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async updateContactFlowContent(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact-flows/${e.InstanceId}/${e.ContactFlowId}/content`,headers:{"Content-Type":"application/json"},body:JSON.stringify({Content:e.Content})})}async listContactFlows(e){let t={};if(e.ContactFlowTypes)t.contactFlowTypes=e.ContactFlowTypes.join(",");if(e.MaxResults)t.maxResults=String(e.MaxResults);if(e.NextToken)t.nextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"GET",path:`/contact-flows-summary/${e.InstanceId}`,queryParams:t})}async createQueue(e){let t={Name:e.Name,HoursOfOperationId:e.HoursOfOperationId};if(e.Description)t.Description=e.Description;if(e.MaxContacts)t.MaxContacts=e.MaxContacts;if(e.OutboundCallerConfig)t.OutboundCallerConfig=e.OutboundCallerConfig;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/queues/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async createHoursOfOperation(e){let t={Name:e.Name,TimeZone:e.TimeZone,Config:e.Config};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/hours-of-operations/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async associatePhoneNumberContactFlow(e){await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/phone-number/${e.PhoneNumberId}/contact-flow`,headers:{"Content-Type":"application/json"},body:JSON.stringify({InstanceId:e.InstanceId,ContactFlowId:e.ContactFlowId})})}async createRoutingProfile(e){let t={Name:e.Name,DefaultOutboundQueueId:e.DefaultOutboundQueueId,MediaConcurrencies:e.MediaConcurrencies};if(e.Description)t.Description=e.Description;if(e.QueueConfigs)t.QueueConfigs=e.QueueConfigs;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/routing-profiles/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async instanceExists(e){try{return(await this.listInstances({MaxResults:100})).InstanceSummaryList?.some((n)=>n.InstanceAlias===e)||!1}catch{return!1}}async startOutboundVoiceContact(e){let t={ContactFlowId:e.ContactFlowId,DestinationPhoneNumber:e.DestinationPhoneNumber};if(e.SourcePhoneNumber)t.SourcePhoneNumber=e.SourcePhoneNumber;if(e.QueueId)t.QueueId=e.QueueId;if(e.Attributes)t.Attributes=e.Attributes;if(e.AnswerMachineDetectionConfig)t.AnswerMachineDetectionConfig=e.AnswerMachineDetectionConfig;if(e.CampaignId)t.CampaignId=e.CampaignId;if(e.TrafficType)t.TrafficType=e.TrafficType;if(e.ClientToken)t.ClientToken=e.ClientToken;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/outbound-voice/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async makeCall(e){return this.startOutboundVoiceContact({InstanceId:e.instanceId,ContactFlowId:e.contactFlowId,DestinationPhoneNumber:e.to,SourcePhoneNumber:e.from,Attributes:e.attributes})}async stopContact(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact/stop/${e.InstanceId}/${e.ContactId}`})}async describeContact(e){return this.client.request({service:"connect",region:this.region,method:"GET",path:`/contacts/${e.InstanceId}/${e.ContactId}`})}async updateContactAttributes(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact/attributes/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify({InitialContactId:e.InitialContactId,Attributes:e.Attributes})})}async createUser(e){let t={Username:e.Username,PhoneConfig:e.PhoneConfig,SecurityProfileIds:e.SecurityProfileIds,RoutingProfileId:e.RoutingProfileId};if(e.Password)t.Password=e.Password;if(e.IdentityInfo)t.IdentityInfo=e.IdentityInfo;if(e.DirectoryUserId)t.DirectoryUserId=e.DirectoryUserId;if(e.HierarchyGroupId)t.HierarchyGroupId=e.HierarchyGroupId;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/users/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async deleteUser(e){await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/users/${e.InstanceId}/${e.UserId}`})}async listUsers(e){let t={};if(e.NextToken)t.nextToken=e.NextToken;if(e.MaxResults)t.maxResults=String(e.MaxResults);return this.client.request({service:"connect",region:this.region,method:"GET",path:`/users-summary/${e.InstanceId}`,queryParams:t})}async createPrompt(e){let t={Name:e.Name,S3Uri:e.S3Uri};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/prompts/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async listPrompts(e){let t={};if(e.NextToken)t.nextToken=e.NextToken;if(e.MaxResults)t.maxResults=String(e.MaxResults);return this.client.request({service:"connect",region:this.region,method:"GET",path:`/prompts-summary/${e.InstanceId}`,queryParams:t})}async createQuickConnect(e){let t={Name:e.Name,QuickConnectConfig:e.QuickConnectConfig};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/quick-connects/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async startChatContact(e){return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/chat/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async startTaskContact(e){return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/task/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}createOutboundIvrFlow(e){let t=e.voiceId||"Joanna";return JSON.stringify({Version:"2019-10-30",StartAction:"play-prompt",Actions:{"play-prompt":{Type:"MessageParticipant",Parameters:{Text:e.message,TextToSpeechVoice:t,TextToSpeechEngine:"neural"},Transitions:{NextAction:"disconnect",Errors:[{NextAction:"disconnect",ErrorType:"NoMatchingError"}]}},disconnect:{Type:"DisconnectParticipant",Parameters:{},Transitions:{}}}})}createInputCollectionFlow(e){let t=e.voiceId||"Joanna",n=e.inputTimeout||5,r=e.maxDigits||1;return JSON.stringify({Version:"2019-10-30",StartAction:"get-input",Actions:{"get-input":{Type:"GetParticipantInput",Parameters:{Text:e.promptMessage,TextToSpeechVoice:t,TextToSpeechEngine:"neural",InputTimeLimitSeconds:String(n),MaxDigits:r,EncryptEntry:!1},Transitions:{NextAction:e.successNextAction||"disconnect",Conditions:[],Errors:[{NextAction:"disconnect",ErrorType:"NoMatchingCondition"},{NextAction:"disconnect",ErrorType:"NoMatchingError"}]}},disconnect:{Type:"DisconnectParticipant",Parameters:{},Transitions:{}}}})}async getCurrentMetricData(e){return this.client.request({service:"connect",region:this.region,method:"POST",path:`/metrics/current/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}class nt{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async describeLoadBalancers(e){let t={};if(e?.LoadBalancerArns)e.LoadBalancerArns.forEach((r,i)=>{t[`LoadBalancerArns.member.${i+1}`]=r});if(e?.Names)e.Names.forEach((r,i)=>{t[`Names.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeLoadBalancers",t)});return this.normalizeResult(n,"DescribeLoadBalancersResult")}async describeTargetGroups(e){let t={};if(e?.LoadBalancerArn)t.LoadBalancerArn=e.LoadBalancerArn;if(e?.TargetGroupArns)e.TargetGroupArns.forEach((r,i)=>{t[`TargetGroupArns.member.${i+1}`]=r});if(e?.Names)e.Names.forEach((r,i)=>{t[`Names.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetGroups",t)});return this.normalizeResult(n,"DescribeTargetGroupsResult")}async describeTargetHealth(e){let t={TargetGroupArn:e.TargetGroupArn};if(e.Targets)e.Targets.forEach((r,i)=>{if(t[`Targets.member.${i+1}.Id`]=r.Id,r.Port)t[`Targets.member.${i+1}.Port`]=r.Port;if(r.AvailabilityZone)t[`Targets.member.${i+1}.AvailabilityZone`]=r.AvailabilityZone});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetHealth",t)});return this.normalizeResult(n,"DescribeTargetHealthResult")}async describeListeners(e){let t={};if(e?.LoadBalancerArn)t.LoadBalancerArn=e.LoadBalancerArn;if(e?.ListenerArns)e.ListenerArns.forEach((r,i)=>{t[`ListenerArns.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeListeners",t)});return this.normalizeResult(n,"DescribeListenersResult")}async describeRules(e){let t={};if(e?.ListenerArn)t.ListenerArn=e.ListenerArn;if(e?.RuleArns)e.RuleArns.forEach((r,i)=>{t[`RuleArns.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeRules",t)});return this.normalizeResult(n,"DescribeRulesResult")}async describeLoadBalancerAttributes(e){let t={LoadBalancerArn:e},n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeLoadBalancerAttributes",t)});return this.normalizeResult(n,"DescribeLoadBalancerAttributesResult")}async describeTargetGroupAttributes(e){let t={TargetGroupArn:e},n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetGroupAttributes",t)});return this.normalizeResult(n,"DescribeTargetGroupAttributesResult")}async createLoadBalancer(e){let t={Name:e.Name};if(e.Subnets)e.Subnets.forEach((r,i)=>{t[`Subnets.member.${i+1}`]=r});if(e.SubnetMappings)e.SubnetMappings.forEach((r,i)=>{if(t[`SubnetMappings.member.${i+1}.SubnetId`]=r.SubnetId,r.AllocationId)t[`SubnetMappings.member.${i+1}.AllocationId`]=r.AllocationId;if(r.PrivateIPv4Address)t[`SubnetMappings.member.${i+1}.PrivateIPv4Address`]=r.PrivateIPv4Address;if(r.IPv6Address)t[`SubnetMappings.member.${i+1}.IPv6Address`]=r.IPv6Address});if(e.SecurityGroups)e.SecurityGroups.forEach((r,i)=>{t[`SecurityGroups.member.${i+1}`]=r});if(e.Scheme)t.Scheme=e.Scheme;if(e.Type)t.Type=e.Type;if(e.IpAddressType)t.IpAddressType=e.IpAddressType;if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateLoadBalancer",t)});return this.normalizeResult(n,"CreateLoadBalancerResult")}async deleteLoadBalancer(e){let t={LoadBalancerArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteLoadBalancer",t)})}async createTargetGroup(e){let t={Name:e.Name};if(e.Protocol)t.Protocol=e.Protocol;if(e.ProtocolVersion)t.ProtocolVersion=e.ProtocolVersion;if(e.Port)t.Port=e.Port;if(e.VpcId)t.VpcId=e.VpcId;if(e.HealthCheckProtocol)t.HealthCheckProtocol=e.HealthCheckProtocol;if(e.HealthCheckPort)t.HealthCheckPort=e.HealthCheckPort;if(e.HealthCheckEnabled!==void 0)t.HealthCheckEnabled=e.HealthCheckEnabled;if(e.HealthCheckPath)t.HealthCheckPath=e.HealthCheckPath;if(e.HealthCheckIntervalSeconds)t.HealthCheckIntervalSeconds=e.HealthCheckIntervalSeconds;if(e.HealthCheckTimeoutSeconds)t.HealthCheckTimeoutSeconds=e.HealthCheckTimeoutSeconds;if(e.HealthyThresholdCount)t.HealthyThresholdCount=e.HealthyThresholdCount;if(e.UnhealthyThresholdCount)t.UnhealthyThresholdCount=e.UnhealthyThresholdCount;if(e.TargetType)t.TargetType=e.TargetType;if(e.IpAddressType)t.IpAddressType=e.IpAddressType;if(e.Matcher){if(e.Matcher.HttpCode)t["Matcher.HttpCode"]=e.Matcher.HttpCode;if(e.Matcher.GrpcCode)t["Matcher.GrpcCode"]=e.Matcher.GrpcCode}if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateTargetGroup",t)});return this.normalizeResult(n,"CreateTargetGroupResult")}async deleteTargetGroup(e){let t={TargetGroupArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteTargetGroup",t)})}async registerTargets(e){let t={TargetGroupArn:e.TargetGroupArn};e.Targets.forEach((n,r)=>{if(t[`Targets.member.${r+1}.Id`]=n.Id,n.Port)t[`Targets.member.${r+1}.Port`]=n.Port;if(n.AvailabilityZone)t[`Targets.member.${r+1}.AvailabilityZone`]=n.AvailabilityZone}),await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("RegisterTargets",t)})}async deregisterTargets(e){let t={TargetGroupArn:e.TargetGroupArn};e.Targets.forEach((n,r)=>{if(t[`Targets.member.${r+1}.Id`]=n.Id,n.Port)t[`Targets.member.${r+1}.Port`]=n.Port;if(n.AvailabilityZone)t[`Targets.member.${r+1}.AvailabilityZone`]=n.AvailabilityZone}),await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeregisterTargets",t)})}async createListener(e){let t={LoadBalancerArn:e.LoadBalancerArn,Port:e.Port};if(e.Protocol)t.Protocol=e.Protocol;if(e.SslPolicy)t.SslPolicy=e.SslPolicy;if(e.Certificates)e.Certificates.forEach((r,i)=>{t[`Certificates.member.${i+1}.CertificateArn`]=r.CertificateArn});if(e.DefaultActions.forEach((r,i)=>{if(t[`DefaultActions.member.${i+1}.Type`]=r.Type,r.TargetGroupArn)t[`DefaultActions.member.${i+1}.TargetGroupArn`]=r.TargetGroupArn;if(r.Order!==void 0)t[`DefaultActions.member.${i+1}.Order`]=r.Order;if(r.RedirectConfig){let s=r.RedirectConfig;if(s.Protocol)t[`DefaultActions.member.${i+1}.RedirectConfig.Protocol`]=s.Protocol;if(s.Port)t[`DefaultActions.member.${i+1}.RedirectConfig.Port`]=s.Port;if(s.Host)t[`DefaultActions.member.${i+1}.RedirectConfig.Host`]=s.Host;if(s.Path)t[`DefaultActions.member.${i+1}.RedirectConfig.Path`]=s.Path;if(s.Query)t[`DefaultActions.member.${i+1}.RedirectConfig.Query`]=s.Query;t[`DefaultActions.member.${i+1}.RedirectConfig.StatusCode`]=s.StatusCode}if(r.FixedResponseConfig){let s=r.FixedResponseConfig;if(s.MessageBody)t[`DefaultActions.member.${i+1}.FixedResponseConfig.MessageBody`]=s.MessageBody;if(t[`DefaultActions.member.${i+1}.FixedResponseConfig.StatusCode`]=s.StatusCode,s.ContentType)t[`DefaultActions.member.${i+1}.FixedResponseConfig.ContentType`]=s.ContentType}}),e.AlpnPolicy)e.AlpnPolicy.forEach((r,i)=>{t[`AlpnPolicy.member.${i+1}`]=r});if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateListener",t)});return this.normalizeResult(n,"CreateListenerResult")}async deleteListener(e){let t={ListenerArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteListener",t)})}async modifyListener(e){let t={ListenerArn:e.ListenerArn};if(e.Port)t.Port=e.Port;if(e.Protocol)t.Protocol=e.Protocol;if(e.SslPolicy)t.SslPolicy=e.SslPolicy;if(e.Certificates)e.Certificates.forEach((r,i)=>{t[`Certificates.member.${i+1}.CertificateArn`]=r.CertificateArn});if(e.DefaultActions)e.DefaultActions.forEach((r,i)=>{if(r.Type)t[`DefaultActions.member.${i+1}.Type`]=r.Type;if(r.TargetGroupArn)t[`DefaultActions.member.${i+1}.TargetGroupArn`]=r.TargetGroupArn;if(r.Order!==void 0)t[`DefaultActions.member.${i+1}.Order`]=r.Order});if(e.AlpnPolicy)e.AlpnPolicy.forEach((r,i)=>{t[`AlpnPolicy.member.${i+1}`]=r});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("ModifyListener",t)});return this.normalizeResult(n,"ModifyListenerResult")}buildFormBody(e,t){let n={Action:e,Version:"2015-12-01"};for(let[r,i]of Object.entries(t))if(i!==void 0&&i!==null)n[r]=String(i);return Object.entries(n).map(([r,i])=>`${encodeURIComponent(r)}=${encodeURIComponent(i)}`).join("&")}normalizeResult(e,t){if(e&&e[t])return this.normalizeArrays(e[t]);let n=t.replace("Result","Response");if(e&&e[n]&&e[n][t])return this.normalizeArrays(e[n][t]);return this.normalizeArrays(e)}normalizeArrays(e){if(!e||typeof e!=="object")return e;if(Array.isArray(e))return e.map((n)=>this.normalizeArrays(n));let t={};for(let[n,r]of Object.entries(e)){let i=["LoadBalancers","TargetGroups","Listeners","Rules","TargetHealthDescriptions","Attributes","SecurityGroups","AvailabilityZones","Certificates","DefaultActions","Conditions","Actions","member"];if(n==="member"){if(Array.isArray(r))return r.map((s)=>this.normalizeArrays(s));return[this.normalizeArrays(r)]}if(i.includes(n))if(r&&typeof r==="object"&&"member"in r){let s=r.member;t[n]=Array.isArray(s)?s.map((o)=>this.normalizeArrays(o)):[this.normalizeArrays(s)]}else if(Array.isArray(r))t[n]=r.map((s)=>this.normalizeArrays(s));else if(r)t[n]=[this.normalizeArrays(r)];else t[n]=[];else if(typeof r==="object")t[n]=this.normalizeArrays(r);else t[n]=r}return t}}class E{client;region;endpoint;constructor(e="us-east-1",t){this.region=e,this.endpoint=t?.endpoint,this.client=new h}async request(e,t){if(this.endpoint){let n=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","X-Amz-Target":`DynamoDB_20120810.${e}`},body:JSON.stringify(t)});if(!n.ok){let r=await n.text();throw Error(`DynamoDB request failed: ${n.status} ${r}`)}return n.json()}return this.client.request({service:"dynamodb",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.0","X-Amz-Target":`DynamoDB_20120810.${e}`},body:JSON.stringify(t)})}async createTable(e){return this.request("CreateTable",e)}async deleteTable(e){return this.request("DeleteTable",e)}async describeTable(e){return this.request("DescribeTable",e)}async listTables(e){return this.request("ListTables",e||{})}async putItem(e){return this.request("PutItem",e)}async getItem(e){return this.request("GetItem",e)}async updateItem(e){return this.request("UpdateItem",e)}async deleteItem(e){return this.request("DeleteItem",e)}async query(e){return this.request("Query",e)}async scan(e){return this.request("Scan",e)}async batchWriteItem(e){return this.request("BatchWriteItem",e)}async batchGetItem(e){return this.request("BatchGetItem",e)}async updateTimeToLive(e){return this.request("UpdateTimeToLive",e)}static marshal(e){let t={};for(let[n,r]of Object.entries(e))t[n]=E.marshalValue(r);return t}static marshalValue(e){if(e===null||e===void 0)return{NULL:!0};if(typeof e==="string")return{S:e};if(typeof e==="number")return{N:String(e)};if(typeof e==="boolean")return{BOOL:e};if(Array.isArray(e))return{L:e.map((t)=>E.marshalValue(t))};if(typeof e==="object")return{M:E.marshal(e)};return{S:String(e)}}static unmarshal(e){let t={};for(let[n,r]of Object.entries(e))t[n]=E.unmarshalValue(r);return t}static unmarshalValue(e){if(e.S!==void 0)return e.S;if(e.N!==void 0)return Number(e.N);if(e.BOOL!==void 0)return e.BOOL;if(e.NULL!==void 0)return null;if(e.L!==void 0)return e.L.map((t)=>E.unmarshalValue(t));if(e.M!==void 0)return E.unmarshal(e.M);if(e.SS!==void 0)return e.SS;if(e.NS!==void 0)return e.NS.map(Number);return null}}class rt{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async createDomain(e){return this.client.request({service:"es",region:this.region,method:"POST",path:"/2021-01-01/opensearch/domain",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async deleteDomain(e){return this.client.request({service:"es",region:this.region,method:"DELETE",path:`/2021-01-01/opensearch/domain/${e}`})}async describeDomain(e){return this.client.request({service:"es",region:this.region,method:"GET",path:`/2021-01-01/opensearch/domain/${e}`})}async listDomainNames(){return this.client.request({service:"es",region:this.region,method:"GET",path:"/2021-01-01/domain"})}async updateDomainConfig(e){let{DomainName:t,...n}=e;return this.client.request({service:"es",region:this.region,method:"POST",path:`/2021-01-01/opensearch/domain/${t}/config`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}}class G{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async request(e,t){return this.client.request({service:"transcribe",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`Transcribe.${e}`},body:JSON.stringify(t)})}async startTranscriptionJob(e){return this.request("StartTranscriptionJob",e)}async getTranscriptionJob(e){return this.request("GetTranscriptionJob",e)}async listTranscriptionJobs(e){return this.request("ListTranscriptionJobs",e||{})}async deleteTranscriptionJob(e){return this.request("DeleteTranscriptionJob",e)}}class q{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async invokeModel(e){let t=typeof e.body==="string"?e.body:e.body instanceof Uint8Array?new TextDecoder().decode(e.body):JSON.stringify(e.body),n={"Content-Type":e.contentType||"application/json",Accept:e.accept||"application/json"};if(e.trace)n["X-Amzn-Bedrock-Trace"]=e.trace;if(e.guardrailIdentifier)n["X-Amzn-Bedrock-GuardrailIdentifier"]=e.guardrailIdentifier;if(e.guardrailVersion)n["X-Amzn-Bedrock-GuardrailVersion"]=e.guardrailVersion;let r=await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/model/${encodeURIComponent(e.modelId)}/invoke`,headers:n,body:t,rawResponse:!0,returnHeaders:!0});return{body:new TextEncoder().encode(r.body),contentType:r.headers?.["content-type"]||"application/json"}}async invokeModelWithResponseStream(e){let t=typeof e.body==="string"?e.body:e.body instanceof Uint8Array?new TextDecoder().decode(e.body):JSON.stringify(e.body),n={"Content-Type":e.contentType||"application/json",Accept:e.accept||"application/vnd.amazon.eventstream"};if(e.trace)n["X-Amzn-Bedrock-Trace"]=e.trace;if(e.guardrailIdentifier)n["X-Amzn-Bedrock-GuardrailIdentifier"]=e.guardrailIdentifier;if(e.guardrailVersion)n["X-Amzn-Bedrock-GuardrailVersion"]=e.guardrailVersion;return{body:await this.makeStreamRequest(e.modelId,n,t),contentType:"application/vnd.amazon.eventstream"}}async makeStreamRequest(e,t,n){let r=this.getCredentialsFromEnv(),i=`https://bedrock-runtime.${this.region}.amazonaws.com/model/${encodeURIComponent(e)}/invoke-with-response-stream`,s=this.signStreamRequest("POST",`/model/${encodeURIComponent(e)}/invoke-with-response-stream`,t,n,r),o=await fetch(i,{method:"POST",headers:s,body:n});if(!o.ok){let c=await o.text();throw Error(`Bedrock streaming error (${o.status}): ${c}`)}let a=o.body?.getReader();if(!a)throw Error("No response body for streaming");return this.parseEventStream(a)}async*parseEventStream(e){let t=new TextDecoder,n="";try{while(!0){let{done:r,value:i}=await e.read();if(r)break;n+=t.decode(i,{stream:!0});let s=this.extractJsonChunks(n);for(let o of s.parsed)yield{chunk:{bytes:new TextEncoder().encode(JSON.stringify(o))}};n=s.remaining}}finally{e.releaseLock()}}extractJsonChunks(e){let t=[],n=e,r=0,i=-1;for(let s=0;s<n.length;s++)if(n[s]==="{"){if(r===0)i=s;r++}else if(n[s]==="}"){if(r--,r===0&&i!==-1)try{let o=JSON.parse(n.slice(i,s+1));t.push(o),n=n.slice(s+1),s=-1,i=-1}catch{}}return{parsed:t,remaining:n}}getCredentialsFromEnv(){let e=process.env.AWS_ACCESS_KEY_ID,t=process.env.AWS_SECRET_ACCESS_KEY,n=process.env.AWS_SESSION_TOKEN;if(!e||!t)throw Error("AWS credentials not found in environment variables");return{accessKeyId:e,secretAccessKey:t,sessionToken:n}}signStreamRequest(e,t,n,r,i){let s=ce("node:crypto"),o="bedrock-runtime",a=this.region,c=`bedrock-runtime.${a}.amazonaws.com`,g=new Date,u=g.toISOString().replace(/[:-]|\.\d{3}/g,""),d=g.toISOString().slice(0,10).replace(/-/g,""),m={host:c,"x-amz-date":u,...n};if(i.sessionToken)m["x-amz-security-token"]=i.sessionToken;let l=s.createHash("sha256").update(r,"utf8").digest("hex");m["x-amz-content-sha256"]=l,m["content-length"]=Buffer.byteLength(r).toString();let p=Object.keys(m).sort((x,Pe)=>x.toLowerCase().localeCompare(Pe.toLowerCase())),y=p.map((x)=>`${x.toLowerCase()}:${m[x].trim()}
1
+ import{Rf as le}from"./chunk-mnmz8t7q.js";import{qj as oe,rj as C}from"./chunk-j1g67djb.js";import{tj as h}from"./chunk-ac87ds1k.js";import{Ov as ce}from"./chunk-zjyz926j.js";class De{region;client;constructor(e="us-east-1",t=new h){this.region=e;this.client=t}request(e,t){return this.client.request({service:"backup",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`CryoControllerFrontendService.${e}`},body:JSON.stringify(t)})}startBackupJob(e){return this.request("StartBackupJob",e)}describeBackupJob(e){return this.request("DescribeBackupJob",{BackupJobId:e})}startRestoreJob(e){return this.request("StartRestoreJob",e)}describeRestoreJob(e){return this.request("DescribeRestoreJob",{RestoreJobId:e})}deleteRecoveryPoint(e,t){return this.request("DeleteRecoveryPoint",{BackupVaultName:e,RecoveryPointArn:t})}}function Re(e,t){if(!t)return e;return e.startsWith(t)?e.slice(t.length):e}function X(e,t,n){let r=Re(e,t);return`${n??""}${r}`}function Q(e,t,n){if(n&&n.some((r)=>e.startsWith(r)))return!1;if(t&&t.length>0)return t.some((r)=>e.startsWith(r));return!0}async function Ne(e,t,n){let r=0,i=[],s=Math.max(1,Math.min(t,e.length||1));for(let o=0;o<s;o++)i.push((async()=>{while(!0){let a=r++;if(a>=e.length)return;await n(e[a],a)}})());await Promise.all(i)}function Y(e){if(e.client)return e.client;return Z({provider:e.provider,region:e.region,endpoint:e.endpoint,forcePathStyle:e.forcePathStyle,credentials:e.credentials})}async function Ot(e){let t=e.concurrency??8,n=Y(e.from),r=Y(e.to),i=await n.listAllObjects({bucket:e.from.bucket,prefix:e.from.prefix}),s={copied:0,skipped:0,excluded:0,bytesCopied:0,errors:[],excludedKeys:[],deleted:[]},o=[];for(let u of i){if(!Q(u.Key,e.include,e.exclude)){s.excluded++,s.excludedKeys.push(u.Key);continue}o.push({source:u,destKey:X(u.Key,e.from.prefix,e.to.prefix)})}if(e.dryRun){s.plan=o.map(({source:m,destKey:l})=>({key:m.Key,destKey:l,size:m.Size}));let u=i.length,d=0;for(let m of i){d++;let l=!Q(m.Key,e.include,e.exclude);e.onProgress?.({key:m.Key,destKey:l?"":X(m.Key,e.from.prefix,e.to.prefix),size:m.Size,action:l?"excluded":"planned",index:d,total:u})}return s}let a=o.length,c=0;await Ne(o,t,async({source:u,destKey:d})=>{let m=++c;try{if(!e.force){let y=await r.headObject(e.to.bucket,d);if(y&&y.ContentLength===u.Size){s.skipped++,e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"skipped",index:m,total:a});return}}let{body:l,contentType:p}=await n.getObjectBytes(e.from.bucket,u.Key);await r.putObject({bucket:e.to.bucket,key:d,body:l,contentType:p}),s.copied++,s.bytesCopied+=l.byteLength,e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"copied",index:m,total:a})}catch(l){s.errors.push({key:u.Key,message:l?.message??String(l)}),e.onProgress?.({key:u.Key,destKey:d,size:u.Size,action:"error",index:m,total:a})}});let g=new Set(o.map((u)=>u.destKey));if(e.deleteExtraneous){let d=(await r.listAllObjects({bucket:e.to.bucket,prefix:e.to.prefix})).filter((m)=>!g.has(m.Key)).map((m)=>m.Key);for(let m of d)try{await r.deleteObject(e.to.bucket,m),s.deleted.push(m)}catch(l){s.errors.push({key:m,message:`delete failed: ${l?.message??String(l)}`})}}if(e.verify){let u=await r.listAllObjects({bucket:e.to.bucket,prefix:e.to.prefix}),d=new Map(u.map((y)=>[y.Key,y.Size])),m=[],l=[],p=0;for(let{source:y,destKey:f}of o){if(!d.has(f)){m.push(f);continue}let S=d.get(f);if(S!==y.Size){l.push({key:f,expected:y.Size,actual:S});continue}p++}s.verification={ok:m.length===0&&l.length===0,matched:p,missing:m,sizeMismatches:l}}return s}var Oe={aws:"us-east-1",backblaze:"us-west-004",hetzner:"fsn1"};function ve(e,t){switch(e){case"backblaze":return`s3.${t}.backblazeb2.com`;case"hetzner":return`${t}.your-objectstorage.com`;case"aws":default:return}}function b(...e){for(let t of e){let n=process.env[t];if(n)return n}return}function we(e,t){if(t?.accessKeyId&&t.secretAccessKey)return t;let n,r;if(e==="backblaze")n=b("B2_APPLICATION_KEY_ID","B2_KEY_ID","S3_ACCESS_KEY_ID","AWS_ACCESS_KEY_ID"),r=b("B2_APPLICATION_KEY","B2_SECRET_KEY","S3_SECRET_ACCESS_KEY","AWS_SECRET_ACCESS_KEY");else if(e==="hetzner")n=b("HETZNER_S3_ACCESS_KEY","HETZNER_ACCESS_KEY","S3_ACCESS_KEY_ID","AWS_ACCESS_KEY_ID"),r=b("HETZNER_S3_SECRET_KEY","HETZNER_SECRET_KEY","S3_SECRET_ACCESS_KEY","AWS_SECRET_ACCESS_KEY");else n=b("S3_ACCESS_KEY_ID"),r=b("S3_SECRET_ACCESS_KEY");if(n&&r)return{accessKeyId:n,secretAccessKey:r,sessionToken:b("AWS_SESSION_TOKEN")};return}function ke(e={}){let t=e.provider||b("OBJECT_STORAGE_PROVIDER","STORAGE_PROVIDER")||"aws",n=e.region||(t==="backblaze"?b("B2_REGION"):void 0)||(t==="hetzner"?b("HETZNER_S3_REGION","HETZNER_REGION"):void 0)||b("S3_REGION","AWS_REGION","AWS_DEFAULT_REGION")||Oe[t],r=e.endpoint||b("S3_ENDPOINT")||ve(t,n),i=e.forcePathStyle??b("S3_FORCE_PATH_STYLE")==="true",s=we(t,e.credentials),o=(a)=>{let c=r||`s3.${n}.amazonaws.com`;return i?`https://${c}/${a}`:`https://${a}.${c}`};return{provider:t,region:n,endpoint:r,forcePathStyle:i,credentials:s,profile:e.profile,publicBaseUrl:o}}function Z(e={}){let t=ke(e),n={endpoint:t.endpoint,forcePathStyle:t.forcePathStyle,credentials:t.credentials};return new C(t.region,t.profile,n)}import{createHash as Le}from"node:crypto";import{existsSync as Me,mkdirSync as Fe,readdirSync as Ut,readFileSync as Ue,rmSync as Bt,writeFileSync as Be}from"node:fs";import{homedir as Ve}from"node:os";import{join as D}from"node:path";var ee=1,te=3600000,Ge=24*te,qe=te,$e=30*Ge;function _e(){let e=process.env.XDG_CACHE_HOME;return D(e&&e.trim()?e:D(Ve(),".cache"),"ts-cloud","cost-explorer")}function ne(e){return D(_e(),e??"__default__")}function re(e){let t={s:e.start,e:e.end,g:e.granularity,m:[...e.metrics].sort(),gb:[...e.groupBy].map((n)=>`${n.Type}:${n.Key}`).sort(),f:e.filter??null};return Le("sha256").update(JSON.stringify(t)).digest("hex").slice(0,24)}function je(e,t){let n=Date.parse(`${t}T00:00:00Z`);if(Number.isNaN(n))return!1;let r=new Date,i=Date.UTC(r.getUTCFullYear(),r.getUTCMonth(),1);return n<=i}function Je(e){return je(e.start,e.end)?$e:qe}function ie(e,t){let n=D(ne(e),`${re(t)}.json`);if(!Me(n))return null;let r;try{r=JSON.parse(Ue(n,"utf-8"))}catch{return null}if(r.schema!==ee)return null;let i=Date.now()-r.savedAt;if(i<0||i>Je(t))return null;return{response:r.response,ageSeconds:Math.floor(i/1000)}}function se(e,t,n){let r=ne(e);Fe(r,{recursive:!0});let i={schema:ee,savedAt:Date.now(),key:t,response:n};Be(D(r,`${re(t)}.json`),JSON.stringify(i))}class Ke{client;profile;useCache;lastCacheAgeSeconds=null;constructor(e,t){this.profile=e,this.useCache=t?.useCache??!0,this.client=new h(oe(e))}async getCostByService(e){return(await this.getCostByDimension({...e,dimension:"SERVICE"})).map((n)=>({service:n.key,amount:n.amount,unit:n.unit}))}async getCostByDimension(e){let{start:t,end:n,dimension:r,granularity:i="MONTHLY",filter:s}=e,o=["UnblendedCost"],a=[{Type:"DIMENSION",Key:r}],c={start:t,end:n,granularity:i,metrics:o,groupBy:a,filter:s};if(this.useCache){let m=ie(this.profile,c);if(m)return this.lastCacheAgeSeconds=m.ageSeconds,m.response}this.lastCacheAgeSeconds=null;let g=new Map,u;do{let m={TimePeriod:{Start:t,End:n},Granularity:i,Metrics:o,GroupBy:a};if(s)m.Filter=s;if(u)m.NextPageToken=u;let l=await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify(m)});for(let p of l?.ResultsByTime??[])for(let y of p?.Groups??[]){let f=y.Keys?.[0]??"Unknown",S=Number.parseFloat(y.Metrics?.UnblendedCost?.Amount??"0"),I=y.Metrics?.UnblendedCost?.Unit??"USD",A=g.get(f);g.set(f,{key:f,amount:(A?.amount??0)+S,unit:I})}u=l?.NextPageToken||void 0}while(u);let d=[...g.values()].filter((m)=>m.amount>0).sort((m,l)=>l.amount-m.amount);if(this.useCache)se(this.profile,c,d);return d}async getDailyTotals(e){return((await this.client.request({service:"ce",region:"us-east-1",method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"AWSInsightsIndexService.GetCostAndUsage"},body:JSON.stringify({TimePeriod:{Start:e.start,End:e.end},Granularity:"DAILY",Metrics:["UnblendedCost"]})}))?.ResultsByTime??[]).map((r)=>Number.parseFloat(r.Total?.UnblendedCost?.Amount??"0"))}}class ze{client;region="us-east-1";constructor(){this.client=new h}async getDomainDetail(e){let t=JSON.stringify({DomainName:e.DomainName}),n=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.GetDomainDetail"},body:t});return this.parseDomainDetail(n)}async updateDomainNameservers(e){let t=JSON.stringify({DomainName:e.DomainName,Nameservers:e.Nameservers.map((r)=>({Name:r.Name,...r.GlueIps&&{GlueIps:r.GlueIps}}))});return{OperationId:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.UpdateDomainNameservers"},body:t})).OperationId||""}}async listDomains(e){let t={};if(e?.Marker)t.Marker=e.Marker;if(e?.MaxItems)t.MaxItems=e.MaxItems;if(e?.SortCondition)t.SortCondition=e.SortCondition;let n=JSON.stringify(t),r=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.ListDomains"},body:n});return{Domains:r.Domains||[],NextPageMarker:r.NextPageMarker}}async checkDomainAvailability(e){let t=JSON.stringify({DomainName:e.DomainName});return{Availability:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.CheckDomainAvailability"},body:t})).Availability||"DONT_KNOW"}}async getDomainPrice(e){let t=e.DomainName.split(".").slice(1).join("."),n=JSON.stringify({Tld:t}),i=(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.ListPrices"},body:n})).Prices?.[0]||{};return{RegistrationPrice:i.RegistrationPrice?{Price:i.RegistrationPrice.Price,Currency:i.RegistrationPrice.Currency}:void 0,RenewalPrice:i.RenewalPrice?{Price:i.RenewalPrice.Price,Currency:i.RenewalPrice.Currency}:void 0,TransferPrice:i.TransferPrice?{Price:i.TransferPrice.Price,Currency:i.TransferPrice.Currency}:void 0}}async registerDomain(e){let t=JSON.stringify({DomainName:e.DomainName,DurationInYears:e.DurationInYears,AutoRenew:e.AutoRenew??!0,AdminContact:e.AdminContact,RegistrantContact:e.RegistrantContact,TechContact:e.TechContact,PrivacyProtectAdminContact:e.PrivacyProtectAdminContact??!0,PrivacyProtectRegistrantContact:e.PrivacyProtectRegistrantContact??!0,PrivacyProtectTechContact:e.PrivacyProtectTechContact??!0});return{OperationId:(await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.RegisterDomain"},body:t})).OperationId||""}}async getOperationDetail(e){let t=JSON.stringify({OperationId:e.OperationId}),n=await this.client.request({service:"route53domains",region:this.region,method:"POST",path:"/",headers:{"content-type":"application/x-amz-json-1.1","x-amz-target":"Route53Domains_v20140515.GetOperationDetail"},body:t});return{OperationId:n.OperationId||"",Status:n.Status||"SUBMITTED",Message:n.Message,DomainName:n.DomainName,Type:n.Type,SubmittedDate:n.SubmittedDate}}parseDomainDetail(e){return{DomainName:e.DomainName||"",Nameservers:e.Nameservers?.map((t)=>({Name:t.Name,GlueIps:t.GlueIps})),AutoRenew:e.AutoRenew,AdminContact:e.AdminContact,RegistrantContact:e.RegistrantContact,TechContact:e.TechContact,AdminPrivacy:e.AdminPrivacy,RegistrantPrivacy:e.RegistrantPrivacy,TechPrivacy:e.TechPrivacy,RegistrarName:e.RegistrarName,WhoIsServer:e.WhoIsServer,RegistrarUrl:e.RegistrarUrl,AbuseContactEmail:e.AbuseContactEmail,AbuseContactPhone:e.AbuseContactPhone,RegistryDomainId:e.RegistryDomainId,CreationDate:e.CreationDate,UpdatedDate:e.UpdatedDate,ExpirationDate:e.ExpirationDate,Reseller:e.Reseller,DnsSec:e.DnsSec,StatusList:e.StatusList}}}class He{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async describeServices(e){let t={cluster:e.cluster,services:e.services};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeServices","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async listServices(e,t={}){let n={cluster:e,...t};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListServices","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(n)})}async listTasks(e,t,n={}){let r={cluster:e,...n};if(t)r.serviceName=t;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListTasks","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(r)})}async describeTasks(e,t){let n={cluster:e,tasks:t};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeTasks","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(n)})}async updateService(e){let t={cluster:e.cluster,service:e.service};if(e.forceNewDeployment!==void 0)t.forceNewDeployment=e.forceNewDeployment;if(e.desiredCount!==void 0)t.desiredCount=e.desiredCount;if(e.taskDefinition)t.taskDefinition=e.taskDefinition;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.UpdateService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async createService(e){let t={cluster:e.cluster,serviceName:e.serviceName,taskDefinition:e.taskDefinition,desiredCount:e.desiredCount};if(e.launchType)t.launchType=e.launchType;if(e.networkConfiguration)t.networkConfiguration=e.networkConfiguration;if(e.loadBalancers)t.loadBalancers=e.loadBalancers;if(e.healthCheckGracePeriodSeconds!==void 0)t.healthCheckGracePeriodSeconds=e.healthCheckGracePeriodSeconds;if(e.deploymentConfiguration)t.deploymentConfiguration=e.deploymentConfiguration;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.CreateService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteService(e){let t={cluster:e.cluster,service:e.service};if(e.force!==void 0)t.force=e.force;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DeleteService","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async listClusters(e={}){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListClusters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(e)})}async describeClusters(e){let t={clusters:e,include:["ATTACHMENTS","CONFIGURATIONS","SETTINGS","STATISTICS","TAGS"]};return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeClusters","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async stopTask(e){let t={cluster:e.cluster,task:e.task};if(e.reason)t.reason=e.reason;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.StopTask","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async runTask(e){let t={cluster:e.cluster,taskDefinition:e.taskDefinition};if(e.count!==void 0)t.count=e.count;if(e.launchType)t.launchType=e.launchType;if(e.networkConfiguration)t.networkConfiguration=e.networkConfiguration;if(e.overrides)t.overrides=e.overrides;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.RunTask","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async registerTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.RegisterTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(e)})}async deregisterTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DeregisterTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({taskDefinition:e})})}async describeTaskDefinition(e){return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.DescribeTaskDefinition","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({taskDefinition:e,include:["TAGS"]})})}async listTaskDefinitionFamilies(e){let t={};if(e?.familyPrefix)t.familyPrefix=e.familyPrefix;if(e?.status)t.status=e.status;return await this.client.request({service:"ecs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"AmazonEC2ContainerServiceV20141113.ListTaskDefinitionFamilies","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async waitForServiceStable(e,t,n=40,r=15000){for(let i=0;i<n;i++){let o=(await this.describeServices({cluster:e,services:[t]})).services?.[0];if(o){let a=o.deployments?.find((c)=>c.status==="PRIMARY");if(a&&a.runningCount===a.desiredCount&&o.deployments?.length===1)return!0}await new Promise((a)=>setTimeout(a,r))}return!1}async forceNewDeployment(e,t){return this.updateService({cluster:e,service:t,forceNewDeployment:!0})}async scaleService(e,t,n){return this.updateService({cluster:e,service:t,desiredCount:n})}}class We{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async getCallerIdentity(){let e=await this.client.request({service:"sts",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:"Action=GetCallerIdentity&Version=2011-06-15"});if(typeof e==="string"){let n=e.match(/<Account>(\d+)<\/Account>/),r=e.match(/<UserId>([^<]+)<\/UserId>/),i=e.match(/<Arn>([^<]+)<\/Arn>/);return{Account:n?.[1],UserId:r?.[1],Arn:i?.[1]}}let t=e?.GetCallerIdentityResponse?.GetCallerIdentityResult||e?.GetCallerIdentityResult;if(t)return{Account:String(t.Account),UserId:t.UserId,Arn:t.Arn};if(e?.Account)return{Account:String(e.Account),UserId:e.UserId,Arn:e.Arn};return{Account:void 0,UserId:void 0,Arn:void 0}}}class Xe{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h}async createSecret(e){let t={Name:e.Name};if(e.Description)t.Description=e.Description;if(e.KmsKeyId)t.KmsKeyId=e.KmsKeyId;if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;if(e.Tags&&e.Tags.length>0)t.Tags=e.Tags;if(e.AddReplicaRegions&&e.AddReplicaRegions.length>0)t.AddReplicaRegions=e.AddReplicaRegions;if(e.ForceOverwriteReplicaSecret!==void 0)t.ForceOverwriteReplicaSecret=e.ForceOverwriteReplicaSecret;t.ClientRequestToken=e.ClientRequestToken||crypto.randomUUID();let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.CreateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,ReplicationStatus:n.ReplicationStatus}}async updateSecret(e){let t={SecretId:e.SecretId};if(e.Description)t.Description=e.Description;if(e.KmsKeyId)t.KmsKeyId=e.KmsKeyId;if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.UpdateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId}}async putSecretValue(e){let t={SecretId:e.SecretId};if(e.SecretBinary)t.SecretBinary=e.SecretBinary;if(e.SecretString)t.SecretString=e.SecretString;if(e.VersionStages&&e.VersionStages.length>0)t.VersionStages=e.VersionStages;if(e.ClientRequestToken)t.ClientRequestToken=e.ClientRequestToken;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.PutSecretValue","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,VersionStages:n.VersionStages}}async getSecretValue(e){let t={SecretId:e.SecretId};if(e.VersionId)t.VersionId=e.VersionId;if(e.VersionStage)t.VersionStage=e.VersionStage;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.GetSecretValue","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId,SecretBinary:n.SecretBinary,SecretString:n.SecretString,VersionStages:n.VersionStages,CreatedDate:n.CreatedDate}}async describeSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DescribeSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return this.parseSecret(n)}async listSecrets(e){let t={};if(e?.MaxResults)t.MaxResults=e.MaxResults;if(e?.NextToken)t.NextToken=e.NextToken;if(e?.Filters&&e.Filters.length>0)t.Filters=e.Filters;if(e?.SortOrder)t.SortOrder=e.SortOrder;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.ListSecrets","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{SecretList:n.SecretList?.map((r)=>this.parseSecret(r)),NextToken:n.NextToken}}async deleteSecret(e){let t={SecretId:e.SecretId};if(e.RecoveryWindowInDays!==void 0)t.RecoveryWindowInDays=e.RecoveryWindowInDays;if(e.ForceDeleteWithoutRecovery!==void 0)t.ForceDeleteWithoutRecovery=e.ForceDeleteWithoutRecovery;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DeleteSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,DeletionDate:n.DeletionDate}}async restoreSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.RestoreSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async rotateSecret(e){let t={SecretId:e.SecretId};if(e.ClientRequestToken)t.ClientRequestToken=e.ClientRequestToken;if(e.RotationLambdaARN)t.RotationLambdaARN=e.RotationLambdaARN;if(e.RotationRules)t.RotationRules=e.RotationRules;if(e.RotateImmediately!==void 0)t.RotateImmediately=e.RotateImmediately;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.RotateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,VersionId:n.VersionId}}async cancelRotateSecret(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.CancelRotateSecret","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async getResourcePolicy(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.GetResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name,ResourcePolicy:n.ResourcePolicy}}async putResourcePolicy(e){let t={SecretId:e.SecretId,ResourcePolicy:e.ResourcePolicy};if(e.BlockPublicPolicy!==void 0)t.BlockPublicPolicy=e.BlockPublicPolicy;let n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.PutResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async deleteResourcePolicy(e){let t={SecretId:e},n=await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.DeleteResourcePolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)});return{ARN:n.ARN,Name:n.Name}}async tagResource(e){let t={SecretId:e.SecretId,Tags:e.Tags};await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.TagResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async untagResource(e){let t={SecretId:e.SecretId,TagKeys:e.TagKeys};await this.client.request({service:"secretsmanager",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"secretsmanager.UntagResource","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async setString(e,t,n){try{let r=await this.putSecretValue({SecretId:e,SecretString:t});return{ARN:r.ARN,VersionId:r.VersionId}}catch(r){if(r.code==="ResourceNotFoundException"){let i=await this.createSecret({Name:e,SecretString:t,Description:n?.description,KmsKeyId:n?.kmsKeyId,Tags:n?.tags});return{ARN:i.ARN,VersionId:i.VersionId}}throw r}}async setJson(e,t,n){return this.setString(e,JSON.stringify(t),n)}async getString(e){return(await this.getSecretValue({SecretId:e})).SecretString}async getJson(e){let t=await this.getString(e);if(t)return JSON.parse(t);return}async listAll(){let e=[],t;do{let n=await this.listSecrets({NextToken:t});if(n.SecretList)e.push(...n.SecretList);t=n.NextToken}while(t);return e}parseSecret(e){return{ARN:e.ARN,Name:e.Name,Description:e.Description,KmsKeyId:e.KmsKeyId,RotationEnabled:e.RotationEnabled,RotationLambdaARN:e.RotationLambdaARN,RotationRules:e.RotationRules,LastRotatedDate:e.LastRotatedDate,LastChangedDate:e.LastChangedDate,LastAccessedDate:e.LastAccessedDate,DeletedDate:e.DeletedDate,NextRotationDate:e.NextRotationDate,Tags:e.Tags,SecretVersionsToStages:e.SecretVersionsToStages,CreatedDate:e.CreatedDate,PrimaryRegion:e.PrimaryRegion}}}class P{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}buildFormBody(e){return Object.entries(e).filter(([,n])=>n!==void 0).map(([n,r])=>`${encodeURIComponent(n)}=${encodeURIComponent(r)}`).join("&")}async createTopic(e){let t={Action:"CreateTopic",Version:"2010-03-31",Name:e.Name};if(e.DisplayName)t["Attributes.entry.1.key"]="DisplayName",t["Attributes.entry.1.value"]=e.DisplayName;if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});if(e.Attributes){let r=e.DisplayName?2:1;Object.entries(e.Attributes).forEach(([i,s])=>{t[`Attributes.entry.${r}.key`]=i,t[`Attributes.entry.${r}.value`]=s,r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{TopicArn:n?.CreateTopicResponse?.CreateTopicResult?.TopicArn||n?.TopicArn}}async deleteTopic(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteTopic",Version:"2010-03-31",TopicArn:e})})}async listTopics(e){let t={Action:"ListTopics",Version:"2010-03-31"};if(e)t.NextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListTopicsResponse?.ListTopicsResult||n?.ListTopicsResult,i=r?.Topics?.member;return{Topics:Array.isArray(i)?i:i?[i]:[],NextToken:r?.NextToken}}async getTopicAttributes(e){let n=(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetTopicAttributes",Version:"2010-03-31",TopicArn:e})}))?.GetTopicAttributesResponse?.GetTopicAttributesResult?.Attributes?.entry,r={TopicArn:e};if(Array.isArray(n))n.forEach((i)=>{r[i.key]=i.value});return r}async setTopicAttributes(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"SetTopicAttributes",Version:"2010-03-31",TopicArn:e.TopicArn,AttributeName:e.AttributeName,AttributeValue:e.AttributeValue})})}async subscribe(e){let t={Action:"Subscribe",Version:"2010-03-31",TopicArn:e.TopicArn,Protocol:e.Protocol,Endpoint:e.Endpoint};if(e.ReturnSubscriptionArn)t.ReturnSubscriptionArn="true";if(e.Attributes){let r=1;Object.entries(e.Attributes).forEach(([i,s])=>{t[`Attributes.entry.${r}.key`]=i,t[`Attributes.entry.${r}.value`]=s,r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{SubscriptionArn:n?.SubscribeResponse?.SubscribeResult?.SubscriptionArn||n?.SubscriptionArn}}async unsubscribe(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"Unsubscribe",Version:"2010-03-31",SubscriptionArn:e})})}async listSubscriptionsByTopic(e,t){let n={Action:"ListSubscriptionsByTopic",Version:"2010-03-31",TopicArn:e};if(t)n.NextToken=t;let r=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(n)}),i=r?.ListSubscriptionsByTopicResponse?.ListSubscriptionsByTopicResult?.Subscriptions?.member;return{Subscriptions:Array.isArray(i)?i:i?[i]:[],NextToken:r?.ListSubscriptionsByTopicResponse?.ListSubscriptionsByTopicResult?.NextToken}}async publish(e){let t={Action:"Publish",Version:"2010-03-31",Message:e.Message};if(e.TopicArn)t.TopicArn=e.TopicArn;if(e.TargetArn)t.TargetArn=e.TargetArn;if(e.PhoneNumber)t.PhoneNumber=e.PhoneNumber;if(e.Subject)t.Subject=e.Subject;if(e.MessageStructure)t.MessageStructure=e.MessageStructure;if(e.MessageAttributes){let r=1;Object.entries(e.MessageAttributes).forEach(([i,s])=>{if(t[`MessageAttributes.entry.${r}.Name`]=i,t[`MessageAttributes.entry.${r}.Value.DataType`]=s.DataType,s.StringValue)t[`MessageAttributes.entry.${r}.Value.StringValue`]=s.StringValue;if(s.BinaryValue)t[`MessageAttributes.entry.${r}.Value.BinaryValue`]=s.BinaryValue;r++})}let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)});return{MessageId:n?.PublishResponse?.PublishResult?.MessageId||n?.MessageId}}async publishSMS(e,t,n){let r={};if(n)r["AWS.SNS.SMS.SenderID"]={DataType:"String",StringValue:n};return this.publish({PhoneNumber:e,Message:t,MessageAttributes:Object.keys(r).length>0?r:void 0})}async subscribeEmail(e,t){return this.subscribe({TopicArn:e,Protocol:"email",Endpoint:t})}async subscribeLambda(e,t){return this.subscribe({TopicArn:e,Protocol:"lambda",Endpoint:t})}async subscribeSqs(e,t,n){let r={};if(n)r.RawMessageDelivery="true";return this.subscribe({TopicArn:e,Protocol:"sqs",Endpoint:t,Attributes:Object.keys(r).length>0?r:void 0})}async subscribeHttp(e,t,n){let r=t.startsWith("https")?"https":"http",i={};if(n)i.RawMessageDelivery="true";return this.subscribe({TopicArn:e,Protocol:r,Endpoint:t,Attributes:Object.keys(i).length>0?i:void 0})}async subscribeSms(e,t){return this.subscribe({TopicArn:e,Protocol:"sms",Endpoint:t})}async topicExists(e){try{return await this.getTopicAttributes(e),!0}catch(t){if(t.code==="NotFound"||t.statusCode===404)return!1;throw t}}async getSMSAttributes(){let t=(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetSMSAttributes",Version:"2010-03-31"})}))?.GetSMSAttributesResponse?.GetSMSAttributesResult?.attributes?.entry,n={};if(Array.isArray(t))t.forEach((r)=>{n[r.key]=r.value});else if(t)n[t.key]=t.value;return n}async setSMSAttributes(e){let t={Action:"SetSMSAttributes",Version:"2010-03-31"},n=1;Object.entries(e).forEach(([r,i])=>{if(i!==void 0)t[`attributes.entry.${n}.key`]=r,t[`attributes.entry.${n}.value`]=i,n++}),await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)})}async checkIfPhoneNumberIsOptedOut(e){return(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"CheckIfPhoneNumberIsOptedOut",Version:"2010-03-31",phoneNumber:e})}))?.CheckIfPhoneNumberIsOptedOutResponse?.CheckIfPhoneNumberIsOptedOutResult?.isOptedOut==="true"}async listPhoneNumbersOptedOut(e){let t={Action:"ListPhoneNumbersOptedOut",Version:"2010-03-31"};if(e)t.nextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListPhoneNumbersOptedOutResponse?.ListPhoneNumbersOptedOutResult?.phoneNumbers?.member;return{phoneNumbers:Array.isArray(r)?r:r?[r]:[],nextToken:n?.ListPhoneNumbersOptedOutResponse?.ListPhoneNumbersOptedOutResult?.nextToken}}async optInPhoneNumber(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"OptInPhoneNumber",Version:"2010-03-31",phoneNumber:e})})}async listSMSSandboxPhoneNumbers(e){let t={Action:"ListSMSSandboxPhoneNumbers",Version:"2010-03-31"};if(e)t.NextToken=e;let n=await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody(t)}),r=n?.ListSMSSandboxPhoneNumbersResponse?.ListSMSSandboxPhoneNumbersResult?.PhoneNumbers?.member;return{PhoneNumbers:Array.isArray(r)?r:r?[r]:[],NextToken:n?.ListSMSSandboxPhoneNumbersResponse?.ListSMSSandboxPhoneNumbersResult?.NextToken}}async createSMSSandboxPhoneNumber(e,t){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"CreateSMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e,LanguageCode:t||"en-US"})})}async verifySMSSandboxPhoneNumber(e,t){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"VerifySMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e,OneTimePassword:t})})}async deleteSMSSandboxPhoneNumber(e){await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"DeleteSMSSandboxPhoneNumber",Version:"2010-03-31",PhoneNumber:e})})}async getSMSSandboxAccountStatus(){return{IsInSandbox:(await this.client.request({service:"sns",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody({Action:"GetSMSSandboxAccountStatus",Version:"2010-03-31"})}))?.GetSMSSandboxAccountStatusResponse?.GetSMSSandboxAccountStatusResult?.IsInSandbox==="true"}}}class Qe{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h}async createQueue(e){let n={Action:"CreateQueue",QueueName:e.fifo&&!e.queueName.endsWith(".fifo")?`${e.queueName}.fifo`:e.queueName,Version:"2012-11-05"},r=1;if(e.visibilityTimeout!==void 0)n[`Attribute.${r}.Name`]="VisibilityTimeout",n[`Attribute.${r}.Value`]=e.visibilityTimeout.toString(),r++;if(e.messageRetentionPeriod!==void 0)n[`Attribute.${r}.Name`]="MessageRetentionPeriod",n[`Attribute.${r}.Value`]=e.messageRetentionPeriod.toString(),r++;if(e.delaySeconds!==void 0)n[`Attribute.${r}.Name`]="DelaySeconds",n[`Attribute.${r}.Value`]=e.delaySeconds.toString(),r++;if(e.maxMessageSize!==void 0)n[`Attribute.${r}.Name`]="MaximumMessageSize",n[`Attribute.${r}.Value`]=e.maxMessageSize.toString(),r++;if(e.receiveMessageWaitTime!==void 0)n[`Attribute.${r}.Name`]="ReceiveMessageWaitTimeSeconds",n[`Attribute.${r}.Value`]=e.receiveMessageWaitTime.toString(),r++;if(e.fifo){if(n[`Attribute.${r}.Name`]="FifoQueue",n[`Attribute.${r}.Value`]="true",r++,e.contentBasedDeduplication)n[`Attribute.${r}.Name`]="ContentBasedDeduplication",n[`Attribute.${r}.Value`]="true",r++}if(e.deadLetterTargetArn&&e.maxReceiveCount)n[`Attribute.${r}.Name`]="RedrivePolicy",n[`Attribute.${r}.Value`]=JSON.stringify({deadLetterTargetArn:e.deadLetterTargetArn,maxReceiveCount:e.maxReceiveCount}),r++;if(e.tags&&Object.keys(e.tags).length>0){let s=1;for(let[o,a]of Object.entries(e.tags))n[`Tag.${s}.Key`]=o,n[`Tag.${s}.Value`]=a,s++}let i=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(n).toString()});return{QueueUrl:i.QueueUrl||i.CreateQueueResult?.QueueUrl}}async listQueues(e){let t={Action:"ListQueues",Version:"2012-11-05"};if(e)t.QueueNamePrefix=e;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}),r=[];if(n.QueueUrl)r.push(n.QueueUrl);else if(n.ListQueuesResult?.QueueUrl)if(Array.isArray(n.ListQueuesResult.QueueUrl))r.push(...n.ListQueuesResult.QueueUrl);else r.push(n.ListQueuesResult.QueueUrl);return{QueueUrls:r}}async getQueueAttributes(e){let t={Action:"GetQueueAttributes",QueueUrl:e,Version:"2012-11-05","AttributeName.1":"All"},n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{Attributes:n.Attributes||n.GetQueueAttributesResult?.Attributes||{}}}async getQueueUrl(e){let t={Action:"GetQueueUrl",QueueName:e,Version:"2012-11-05"},n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{QueueUrl:n.QueueUrl||n.GetQueueUrlResult?.QueueUrl}}async deleteQueue(e){let t={Action:"DeleteQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}async purgeQueue(e){let t={Action:"PurgeQueue",QueueUrl:e,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()})}async sendMessage(e){let t={Action:"SendMessage",QueueUrl:e.queueUrl,MessageBody:e.messageBody,Version:"2012-11-05"};if(e.delaySeconds!==void 0)t.DelaySeconds=e.delaySeconds;if(e.messageGroupId)t.MessageGroupId=e.messageGroupId;if(e.messageDeduplicationId)t.MessageDeduplicationId=e.messageDeduplicationId;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()});return{MessageId:n.MessageId||n.SendMessageResult?.MessageId}}async receiveMessages(e){let t={Action:"ReceiveMessage",QueueUrl:e.queueUrl,Version:"2012-11-05"};if(e.maxMessages!==void 0)t.MaxNumberOfMessages=e.maxMessages;if(e.visibilityTimeout!==void 0)t.VisibilityTimeout=e.visibilityTimeout;if(e.waitTimeSeconds!==void 0)t.WaitTimeSeconds=e.waitTimeSeconds;let n=await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(t).toString()}),r=[],i=n.Message||n.ReceiveMessageResult?.Message;if(i)if(Array.isArray(i))r.push(...i.map((s)=>({MessageId:s.MessageId,ReceiptHandle:s.ReceiptHandle,Body:s.Body})));else r.push({MessageId:i.MessageId,ReceiptHandle:i.ReceiptHandle,Body:i.Body});return{Messages:r}}async deleteMessage(e,t){let n={Action:"DeleteMessage",QueueUrl:e,ReceiptHandle:t,Version:"2012-11-05"};await this.client.request({service:"sqs",region:this.region,method:"POST",path:"/",body:new URLSearchParams(n).toString()})}}import{deflateRawSync as Ye}from"zlib";function ae(e,t){let n=typeof t==="string"?Buffer.from(t,"utf-8"):t,r=Ye(n),i=Ze(n),s=new Date,o=(s.getHours()<<11|s.getMinutes()<<5|s.getSeconds()>>1)&65535,a=(s.getFullYear()-1980<<9|s.getMonth()+1<<5|s.getDate())&65535,c=Buffer.from(e,"utf-8"),g=Buffer.alloc(30+c.length);g.writeUInt32LE(67324752,0),g.writeUInt16LE(20,4),g.writeUInt16LE(0,6),g.writeUInt16LE(8,8),g.writeUInt16LE(o,10),g.writeUInt16LE(a,12),g.writeUInt32LE(i,14),g.writeUInt32LE(r.length,18),g.writeUInt32LE(n.length,22),g.writeUInt16LE(c.length,26),g.writeUInt16LE(0,28),c.copy(g,30);let u=Buffer.alloc(46+c.length);u.writeUInt32LE(33639248,0),u.writeUInt16LE(20,4),u.writeUInt16LE(20,6),u.writeUInt16LE(0,8),u.writeUInt16LE(8,10),u.writeUInt16LE(o,12),u.writeUInt16LE(a,14),u.writeUInt32LE(i,16),u.writeUInt32LE(r.length,20),u.writeUInt32LE(n.length,24),u.writeUInt16LE(c.length,28),u.writeUInt16LE(0,30),u.writeUInt16LE(0,32),u.writeUInt16LE(0,34),u.writeUInt16LE(0,36),u.writeUInt32LE(0,38),u.writeUInt32LE(0,42),c.copy(u,46);let d=g.length+r.length,m=u.length,l=Buffer.alloc(22);return l.writeUInt32LE(101010256,0),l.writeUInt16LE(0,4),l.writeUInt16LE(0,6),l.writeUInt16LE(1,8),l.writeUInt16LE(1,10),l.writeUInt32LE(m,12),l.writeUInt32LE(d,16),l.writeUInt16LE(0,20),Buffer.concat([g,r,u,l])}function Ze(e){let t=[];for(let r=0;r<256;r++){let i=r;for(let s=0;s<8;s++)i=i&1?3988292384^i>>>1:i>>>1;t[r]=i}let n=4294967295;for(let r=0;r<e.length;r++)n=t[(n^e[r])&255]^n>>>8;return(n^4294967295)>>>0}class et{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async createFunction(e){return await this.client.request({service:"lambda",region:this.region,method:"POST",path:"/2015-03-31/functions",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getFunction(e){return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2015-03-31/functions/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async updateFunctionCode(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/code`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async updateFunctionCodeInline(e,t,n="index.js"){let r=ae(n,t);return this.updateFunctionCode({FunctionName:e,ZipFile:r.toString("base64")})}async updateFunctionConfiguration(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/configuration`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async deleteFunction(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2015-03-31/functions/${encodeURIComponent(e)}`,headers:{"Content-Type":"application/json"}})}async invoke(e){let{FunctionName:t,InvocationType:n="RequestResponse",Payload:r,LogType:i}=e,s={"Content-Type":"application/json","X-Amz-Invocation-Type":n};if(i)s["X-Amz-Log-Type"]=i;let o=r?typeof r==="string"?r:JSON.stringify(r):void 0,a=await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/invocations`,headers:s,body:o,returnHeaders:!0});return{StatusCode:a.statusCode||200,FunctionError:a.headers?.["x-amz-function-error"],LogResult:a.headers?.["x-amz-log-result"],Payload:typeof a.body==="string"?a.body:JSON.stringify(a.body),ExecutedVersion:a.headers?.["x-amz-executed-version"]}}async listFunctions(e){let t={};if(e?.MaxItems)t.MaxItems=String(e.MaxItems);if(e?.Marker)t.Marker=e.Marker;if(e?.FunctionVersion)t.FunctionVersion=e.FunctionVersion;return await this.client.request({service:"lambda",region:this.region,method:"GET",path:"/2015-03-31/functions",queryParams:Object.keys(t).length>0?t:void 0,headers:{"Content-Type":"application/json"}})}async addPermission(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/policy`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async removePermission(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2015-03-31/functions/${encodeURIComponent(e)}/policy/${encodeURIComponent(t)}`,headers:{"Content-Type":"application/json"}})}async publishVersion(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/versions`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async createAlias(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2015-03-31/functions/${encodeURIComponent(t)}/aliases`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async updateAlias(e){let{FunctionName:t,Name:n,...r}=e;return this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2015-03-31/functions/${encodeURIComponent(t)}/aliases/${encodeURIComponent(n)}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}async getAlias(e,t){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2015-03-31/functions/${encodeURIComponent(e)}/aliases/${encodeURIComponent(t)}`})}catch(n){if(/ResourceNotFound/i.test(String(n?.message)))return null;throw n}}async getProvisionedConcurrencyConfig(e,t){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2019-09-30/functions/${encodeURIComponent(e)}/provisioned-concurrency`,queryParams:{Qualifier:t}})}catch(n){if(/ProvisionedConcurrencyConfigNotFound|ResourceNotFound/i.test(String(n?.message)))return null;throw n}}async putProvisionedConcurrencyConfig(e){let{FunctionName:t,Qualifier:n,ProvisionedConcurrentExecutions:r}=e;return this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2019-09-30/functions/${encodeURIComponent(t)}/provisioned-concurrency`,queryParams:{Qualifier:n},headers:{"Content-Type":"application/json"},body:JSON.stringify({ProvisionedConcurrentExecutions:r})})}async getFunctionConcurrency(e){try{return(await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`}))?.ReservedConcurrentExecutions??null}catch(t){if(/ResourceNotFound|ProvisionedConcurrencyConfigNotFound/i.test(String(t?.message)))return null;throw t}}async putFunctionConcurrency(e,t){await this.client.request({service:"lambda",region:this.region,method:"PUT",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`,headers:{"Content-Type":"application/json"},body:JSON.stringify({ReservedConcurrentExecutions:t})})}async deleteFunctionConcurrency(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2019-10-31/functions/${encodeURIComponent(e)}/concurrency`})}async deleteProvisionedConcurrencyConfig(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2019-09-30/functions/${encodeURIComponent(e)}/provisioned-concurrency`,queryParams:{Qualifier:t}})}async waitForFunctionActive(e,t=60){let n=Date.now(),r=t*1000;while(Date.now()-n<r)try{let i=await this.getFunction(e),s=i.Configuration?.State;if(s==="Active")return i.Configuration;if(s==="Failed")throw Error(`Function ${e} failed: ${i.Configuration?.StateReason}`);await new Promise((o)=>setTimeout(o,2000))}catch(i){if(i.code==="ResourceNotFoundException"){await new Promise((s)=>setTimeout(s,2000));continue}throw i}throw Error(`Timeout waiting for function ${e} to become active`)}async functionExists(e){try{return await this.getFunction(e),!0}catch(t){if(t.code==="ResourceNotFoundException"||t.statusCode===404)return!1;throw t}}async createFunctionUrl(e){let{FunctionName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2021-10-31/functions/${encodeURIComponent(t)}/url`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async getFunctionUrl(e){try{return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2021-10-31/functions/${encodeURIComponent(e)}/url`,headers:{"Content-Type":"application/json"}})}catch(t){if(t.statusCode===404)return null;throw t}}async deleteFunctionUrl(e){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2021-10-31/functions/${encodeURIComponent(e)}/url`,headers:{"Content-Type":"application/json"}})}async createFunctionWithCode(e){let{Code:t,Filename:n="index.js",...r}=e,i=ae(n,t);return this.createFunction({...r,Code:{ZipFile:i.toString("base64")}})}async addFunctionUrlPermission(e){return this.addPermission({FunctionName:e,StatementId:"FunctionURLAllowPublicAccess",Action:"lambda:InvokeFunctionUrl",Principal:"*",FunctionUrlAuthType:"NONE"})}async publishLayerVersion(e){let{LayerName:t,...n}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2018-10-31/layers/${encodeURIComponent(t)}/versions`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}async listLayerVersions(e,t){let n={};if(t?.CompatibleRuntime)n.CompatibleRuntime=t.CompatibleRuntime;if(t?.CompatibleArchitecture)n.CompatibleArchitecture=t.CompatibleArchitecture;if(t?.MaxItems)n.MaxItems=String(t.MaxItems);if(t?.Marker)n.Marker=t.Marker;return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions`,queryParams:Object.keys(n).length>0?n:void 0,headers:{"Content-Type":"application/json"}})}async getLayerVersion(e,t){return await this.client.request({service:"lambda",region:this.region,method:"GET",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions/${t}`,headers:{"Content-Type":"application/json"}})}async addLayerVersionPermission(e){let{LayerName:t,VersionNumber:n,...r}=e;return await this.client.request({service:"lambda",region:this.region,method:"POST",path:`/2018-10-31/layers/${encodeURIComponent(t)}/versions/${n}/policy`,headers:{"Content-Type":"application/json"},body:JSON.stringify(r)})}async deleteLayerVersion(e,t){await this.client.request({service:"lambda",region:this.region,method:"DELETE",path:`/2018-10-31/layers/${encodeURIComponent(e)}/versions/${t}`,headers:{"Content-Type":"application/json"}})}}class tt{client;region;constructor(e="us-east-1",t){this.region=e,this.client=new h(void 0,{profile:t})}async createLogGroup(e,t){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.CreateLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,...t?{tags:t}:{}})})}async putRetentionPolicy(e,t){if(![1,3,5,7,14,30,60,90,120,150,180,365,400,545,731,1096,1827,2192,2557,2922,3288,3653].includes(t))throw Error("Unsupported CloudWatch Logs retention period");await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.PutRetentionPolicy","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e,retentionInDays:t})})}async describeLogStreams(e){let t={logGroupName:e.logGroupName};if(e.logStreamNamePrefix)t.logStreamNamePrefix=e.logStreamNamePrefix;if(e.orderBy)t.orderBy=e.orderBy;if(e.descending!==void 0)t.descending=e.descending;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogStreams","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async getLogEvents(e){let t={logGroupName:e.logGroupName,logStreamName:e.logStreamName};if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.limit)t.limit=e.limit;if(e.startFromHead!==void 0)t.startFromHead=e.startFromHead;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.GetLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async describeLogGroups(e){let t={};if(e?.logGroupNamePrefix)t.logGroupNamePrefix=e.logGroupNamePrefix;if(e?.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DescribeLogGroups","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}async deleteLogGroup(e){await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.DeleteLogGroup","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify({logGroupName:e})})}async filterLogEvents(e){let t={logGroupName:e.logGroupName};if(e.logStreamNames)t.logStreamNames=e.logStreamNames;if(e.startTime)t.startTime=e.startTime;if(e.endTime)t.endTime=e.endTime;if(e.filterPattern)t.filterPattern=e.filterPattern;if(e.limit)t.limit=e.limit;return await this.client.request({service:"logs",region:this.region,method:"POST",path:"/",headers:{"X-Amz-Target":"Logs_20140328.FilterLogEvents","Content-Type":"application/x-amz-json-1.1"},body:JSON.stringify(t)})}}class V{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async createInstance(e){let t={InstanceAlias:e.InstanceAlias,IdentityManagementType:e.IdentityManagementType||"CONNECT_MANAGED",InboundCallsEnabled:e.InboundCallsEnabled??!0,OutboundCallsEnabled:e.OutboundCallsEnabled??!0};if(e.DirectoryId)t.DirectoryId=e.DirectoryId;if(e.ClientToken)t.ClientToken=e.ClientToken;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:"/instance",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async deleteInstance(e){await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/instance/${e}`})}async describeInstance(e){let t=await this.client.request({service:"connect",region:this.region,method:"GET",path:`/instance/${e}`});return t.Instance||t}async listInstances(e){let t={};if(e?.MaxResults)t.maxResults=String(e.MaxResults);if(e?.NextToken)t.nextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"GET",path:"/instance",queryParams:t})}async searchAvailablePhoneNumbers(e){let t={TargetArn:e.TargetArn,PhoneNumberCountryCode:e.PhoneNumberCountryCode,PhoneNumberType:e.PhoneNumberType};if(e.PhoneNumberPrefix)t.PhoneNumberPrefix=e.PhoneNumberPrefix;if(e.MaxResults)t.MaxResults=e.MaxResults;if(e.NextToken)t.NextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/search-available",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async claimPhoneNumber(e){let t={TargetArn:e.TargetArn,PhoneNumber:e.PhoneNumber};if(e.PhoneNumberDescription)t.PhoneNumberDescription=e.PhoneNumberDescription;if(e.Tags)t.Tags=e.Tags;if(e.ClientToken)t.ClientToken=e.ClientToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/claim",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async releasePhoneNumber(e,t){let n={};if(t)n.clientToken=t;await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/phone-number/${e}`,queryParams:n})}async listPhoneNumbers(e){let t={};if(e.TargetArn)t.TargetArn=e.TargetArn;if(e.InstanceId)t.InstanceId=e.InstanceId;if(e.PhoneNumberTypes)t.PhoneNumberTypes=e.PhoneNumberTypes;if(e.PhoneNumberCountryCodes)t.PhoneNumberCountryCodes=e.PhoneNumberCountryCodes;if(e.MaxResults)t.MaxResults=e.MaxResults;if(e.NextToken)t.NextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"POST",path:"/phone-number/list",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async createContactFlow(e){let t={Name:e.Name,Type:e.Type,Content:e.Content};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact-flows/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async updateContactFlowContent(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact-flows/${e.InstanceId}/${e.ContactFlowId}/content`,headers:{"Content-Type":"application/json"},body:JSON.stringify({Content:e.Content})})}async listContactFlows(e){let t={};if(e.ContactFlowTypes)t.contactFlowTypes=e.ContactFlowTypes.join(",");if(e.MaxResults)t.maxResults=String(e.MaxResults);if(e.NextToken)t.nextToken=e.NextToken;return await this.client.request({service:"connect",region:this.region,method:"GET",path:`/contact-flows-summary/${e.InstanceId}`,queryParams:t})}async createQueue(e){let t={Name:e.Name,HoursOfOperationId:e.HoursOfOperationId};if(e.Description)t.Description=e.Description;if(e.MaxContacts)t.MaxContacts=e.MaxContacts;if(e.OutboundCallerConfig)t.OutboundCallerConfig=e.OutboundCallerConfig;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/queues/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async createHoursOfOperation(e){let t={Name:e.Name,TimeZone:e.TimeZone,Config:e.Config};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/hours-of-operations/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async associatePhoneNumberContactFlow(e){await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/phone-number/${e.PhoneNumberId}/contact-flow`,headers:{"Content-Type":"application/json"},body:JSON.stringify({InstanceId:e.InstanceId,ContactFlowId:e.ContactFlowId})})}async createRoutingProfile(e){let t={Name:e.Name,DefaultOutboundQueueId:e.DefaultOutboundQueueId,MediaConcurrencies:e.MediaConcurrencies};if(e.Description)t.Description=e.Description;if(e.QueueConfigs)t.QueueConfigs=e.QueueConfigs;if(e.Tags)t.Tags=e.Tags;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/routing-profiles/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async instanceExists(e){try{return(await this.listInstances({MaxResults:100})).InstanceSummaryList?.some((n)=>n.InstanceAlias===e)||!1}catch{return!1}}async startOutboundVoiceContact(e){let t={ContactFlowId:e.ContactFlowId,DestinationPhoneNumber:e.DestinationPhoneNumber};if(e.SourcePhoneNumber)t.SourcePhoneNumber=e.SourcePhoneNumber;if(e.QueueId)t.QueueId=e.QueueId;if(e.Attributes)t.Attributes=e.Attributes;if(e.AnswerMachineDetectionConfig)t.AnswerMachineDetectionConfig=e.AnswerMachineDetectionConfig;if(e.CampaignId)t.CampaignId=e.CampaignId;if(e.TrafficType)t.TrafficType=e.TrafficType;if(e.ClientToken)t.ClientToken=e.ClientToken;return await this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/outbound-voice/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async makeCall(e){return this.startOutboundVoiceContact({InstanceId:e.instanceId,ContactFlowId:e.contactFlowId,DestinationPhoneNumber:e.to,SourcePhoneNumber:e.from,Attributes:e.attributes})}async stopContact(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact/stop/${e.InstanceId}/${e.ContactId}`})}async describeContact(e){return this.client.request({service:"connect",region:this.region,method:"GET",path:`/contacts/${e.InstanceId}/${e.ContactId}`})}async updateContactAttributes(e){await this.client.request({service:"connect",region:this.region,method:"POST",path:`/contact/attributes/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify({InitialContactId:e.InitialContactId,Attributes:e.Attributes})})}async createUser(e){let t={Username:e.Username,PhoneConfig:e.PhoneConfig,SecurityProfileIds:e.SecurityProfileIds,RoutingProfileId:e.RoutingProfileId};if(e.Password)t.Password=e.Password;if(e.IdentityInfo)t.IdentityInfo=e.IdentityInfo;if(e.DirectoryUserId)t.DirectoryUserId=e.DirectoryUserId;if(e.HierarchyGroupId)t.HierarchyGroupId=e.HierarchyGroupId;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/users/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async deleteUser(e){await this.client.request({service:"connect",region:this.region,method:"DELETE",path:`/users/${e.InstanceId}/${e.UserId}`})}async listUsers(e){let t={};if(e.NextToken)t.nextToken=e.NextToken;if(e.MaxResults)t.maxResults=String(e.MaxResults);return this.client.request({service:"connect",region:this.region,method:"GET",path:`/users-summary/${e.InstanceId}`,queryParams:t})}async createPrompt(e){let t={Name:e.Name,S3Uri:e.S3Uri};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/prompts/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async listPrompts(e){let t={};if(e.NextToken)t.nextToken=e.NextToken;if(e.MaxResults)t.maxResults=String(e.MaxResults);return this.client.request({service:"connect",region:this.region,method:"GET",path:`/prompts-summary/${e.InstanceId}`,queryParams:t})}async createQuickConnect(e){let t={Name:e.Name,QuickConnectConfig:e.QuickConnectConfig};if(e.Description)t.Description=e.Description;if(e.Tags)t.Tags=e.Tags;return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/quick-connects/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async startChatContact(e){return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/chat/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async startTaskContact(e){return this.client.request({service:"connect",region:this.region,method:"PUT",path:`/contact/task/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}createOutboundIvrFlow(e){let t=e.voiceId||"Joanna";return JSON.stringify({Version:"2019-10-30",StartAction:"play-prompt",Actions:{"play-prompt":{Type:"MessageParticipant",Parameters:{Text:e.message,TextToSpeechVoice:t,TextToSpeechEngine:"neural"},Transitions:{NextAction:"disconnect",Errors:[{NextAction:"disconnect",ErrorType:"NoMatchingError"}]}},disconnect:{Type:"DisconnectParticipant",Parameters:{},Transitions:{}}}})}createInputCollectionFlow(e){let t=e.voiceId||"Joanna",n=e.inputTimeout||5,r=e.maxDigits||1;return JSON.stringify({Version:"2019-10-30",StartAction:"get-input",Actions:{"get-input":{Type:"GetParticipantInput",Parameters:{Text:e.promptMessage,TextToSpeechVoice:t,TextToSpeechEngine:"neural",InputTimeLimitSeconds:String(n),MaxDigits:r,EncryptEntry:!1},Transitions:{NextAction:e.successNextAction||"disconnect",Conditions:[],Errors:[{NextAction:"disconnect",ErrorType:"NoMatchingCondition"},{NextAction:"disconnect",ErrorType:"NoMatchingError"}]}},disconnect:{Type:"DisconnectParticipant",Parameters:{},Transitions:{}}}})}async getCurrentMetricData(e){return this.client.request({service:"connect",region:this.region,method:"POST",path:`/metrics/current/${e.InstanceId}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}class nt{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async describeLoadBalancers(e){let t={};if(e?.LoadBalancerArns)e.LoadBalancerArns.forEach((r,i)=>{t[`LoadBalancerArns.member.${i+1}`]=r});if(e?.Names)e.Names.forEach((r,i)=>{t[`Names.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeLoadBalancers",t)});return this.normalizeResult(n,"DescribeLoadBalancersResult")}async describeTargetGroups(e){let t={};if(e?.LoadBalancerArn)t.LoadBalancerArn=e.LoadBalancerArn;if(e?.TargetGroupArns)e.TargetGroupArns.forEach((r,i)=>{t[`TargetGroupArns.member.${i+1}`]=r});if(e?.Names)e.Names.forEach((r,i)=>{t[`Names.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetGroups",t)});return this.normalizeResult(n,"DescribeTargetGroupsResult")}async describeTargetHealth(e){let t={TargetGroupArn:e.TargetGroupArn};if(e.Targets)e.Targets.forEach((r,i)=>{if(t[`Targets.member.${i+1}.Id`]=r.Id,r.Port)t[`Targets.member.${i+1}.Port`]=r.Port;if(r.AvailabilityZone)t[`Targets.member.${i+1}.AvailabilityZone`]=r.AvailabilityZone});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetHealth",t)});return this.normalizeResult(n,"DescribeTargetHealthResult")}async describeListeners(e){let t={};if(e?.LoadBalancerArn)t.LoadBalancerArn=e.LoadBalancerArn;if(e?.ListenerArns)e.ListenerArns.forEach((r,i)=>{t[`ListenerArns.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeListeners",t)});return this.normalizeResult(n,"DescribeListenersResult")}async describeRules(e){let t={};if(e?.ListenerArn)t.ListenerArn=e.ListenerArn;if(e?.RuleArns)e.RuleArns.forEach((r,i)=>{t[`RuleArns.member.${i+1}`]=r});if(e?.Marker)t.Marker=e.Marker;if(e?.PageSize)t.PageSize=e.PageSize;let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeRules",t)});return this.normalizeResult(n,"DescribeRulesResult")}async describeLoadBalancerAttributes(e){let t={LoadBalancerArn:e},n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeLoadBalancerAttributes",t)});return this.normalizeResult(n,"DescribeLoadBalancerAttributesResult")}async describeTargetGroupAttributes(e){let t={TargetGroupArn:e},n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DescribeTargetGroupAttributes",t)});return this.normalizeResult(n,"DescribeTargetGroupAttributesResult")}async createLoadBalancer(e){let t={Name:e.Name};if(e.Subnets)e.Subnets.forEach((r,i)=>{t[`Subnets.member.${i+1}`]=r});if(e.SubnetMappings)e.SubnetMappings.forEach((r,i)=>{if(t[`SubnetMappings.member.${i+1}.SubnetId`]=r.SubnetId,r.AllocationId)t[`SubnetMappings.member.${i+1}.AllocationId`]=r.AllocationId;if(r.PrivateIPv4Address)t[`SubnetMappings.member.${i+1}.PrivateIPv4Address`]=r.PrivateIPv4Address;if(r.IPv6Address)t[`SubnetMappings.member.${i+1}.IPv6Address`]=r.IPv6Address});if(e.SecurityGroups)e.SecurityGroups.forEach((r,i)=>{t[`SecurityGroups.member.${i+1}`]=r});if(e.Scheme)t.Scheme=e.Scheme;if(e.Type)t.Type=e.Type;if(e.IpAddressType)t.IpAddressType=e.IpAddressType;if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateLoadBalancer",t)});return this.normalizeResult(n,"CreateLoadBalancerResult")}async deleteLoadBalancer(e){let t={LoadBalancerArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteLoadBalancer",t)})}async createTargetGroup(e){let t={Name:e.Name};if(e.Protocol)t.Protocol=e.Protocol;if(e.ProtocolVersion)t.ProtocolVersion=e.ProtocolVersion;if(e.Port)t.Port=e.Port;if(e.VpcId)t.VpcId=e.VpcId;if(e.HealthCheckProtocol)t.HealthCheckProtocol=e.HealthCheckProtocol;if(e.HealthCheckPort)t.HealthCheckPort=e.HealthCheckPort;if(e.HealthCheckEnabled!==void 0)t.HealthCheckEnabled=e.HealthCheckEnabled;if(e.HealthCheckPath)t.HealthCheckPath=e.HealthCheckPath;if(e.HealthCheckIntervalSeconds)t.HealthCheckIntervalSeconds=e.HealthCheckIntervalSeconds;if(e.HealthCheckTimeoutSeconds)t.HealthCheckTimeoutSeconds=e.HealthCheckTimeoutSeconds;if(e.HealthyThresholdCount)t.HealthyThresholdCount=e.HealthyThresholdCount;if(e.UnhealthyThresholdCount)t.UnhealthyThresholdCount=e.UnhealthyThresholdCount;if(e.TargetType)t.TargetType=e.TargetType;if(e.IpAddressType)t.IpAddressType=e.IpAddressType;if(e.Matcher){if(e.Matcher.HttpCode)t["Matcher.HttpCode"]=e.Matcher.HttpCode;if(e.Matcher.GrpcCode)t["Matcher.GrpcCode"]=e.Matcher.GrpcCode}if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateTargetGroup",t)});return this.normalizeResult(n,"CreateTargetGroupResult")}async deleteTargetGroup(e){let t={TargetGroupArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteTargetGroup",t)})}async registerTargets(e){let t={TargetGroupArn:e.TargetGroupArn};e.Targets.forEach((n,r)=>{if(t[`Targets.member.${r+1}.Id`]=n.Id,n.Port)t[`Targets.member.${r+1}.Port`]=n.Port;if(n.AvailabilityZone)t[`Targets.member.${r+1}.AvailabilityZone`]=n.AvailabilityZone}),await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("RegisterTargets",t)})}async deregisterTargets(e){let t={TargetGroupArn:e.TargetGroupArn};e.Targets.forEach((n,r)=>{if(t[`Targets.member.${r+1}.Id`]=n.Id,n.Port)t[`Targets.member.${r+1}.Port`]=n.Port;if(n.AvailabilityZone)t[`Targets.member.${r+1}.AvailabilityZone`]=n.AvailabilityZone}),await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeregisterTargets",t)})}async createListener(e){let t={LoadBalancerArn:e.LoadBalancerArn,Port:e.Port};if(e.Protocol)t.Protocol=e.Protocol;if(e.SslPolicy)t.SslPolicy=e.SslPolicy;if(e.Certificates)e.Certificates.forEach((r,i)=>{t[`Certificates.member.${i+1}.CertificateArn`]=r.CertificateArn});if(e.DefaultActions.forEach((r,i)=>{if(t[`DefaultActions.member.${i+1}.Type`]=r.Type,r.TargetGroupArn)t[`DefaultActions.member.${i+1}.TargetGroupArn`]=r.TargetGroupArn;if(r.Order!==void 0)t[`DefaultActions.member.${i+1}.Order`]=r.Order;if(r.RedirectConfig){let s=r.RedirectConfig;if(s.Protocol)t[`DefaultActions.member.${i+1}.RedirectConfig.Protocol`]=s.Protocol;if(s.Port)t[`DefaultActions.member.${i+1}.RedirectConfig.Port`]=s.Port;if(s.Host)t[`DefaultActions.member.${i+1}.RedirectConfig.Host`]=s.Host;if(s.Path)t[`DefaultActions.member.${i+1}.RedirectConfig.Path`]=s.Path;if(s.Query)t[`DefaultActions.member.${i+1}.RedirectConfig.Query`]=s.Query;t[`DefaultActions.member.${i+1}.RedirectConfig.StatusCode`]=s.StatusCode}if(r.FixedResponseConfig){let s=r.FixedResponseConfig;if(s.MessageBody)t[`DefaultActions.member.${i+1}.FixedResponseConfig.MessageBody`]=s.MessageBody;if(t[`DefaultActions.member.${i+1}.FixedResponseConfig.StatusCode`]=s.StatusCode,s.ContentType)t[`DefaultActions.member.${i+1}.FixedResponseConfig.ContentType`]=s.ContentType}}),e.AlpnPolicy)e.AlpnPolicy.forEach((r,i)=>{t[`AlpnPolicy.member.${i+1}`]=r});if(e.Tags)e.Tags.forEach((r,i)=>{t[`Tags.member.${i+1}.Key`]=r.Key,t[`Tags.member.${i+1}.Value`]=r.Value});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("CreateListener",t)});return this.normalizeResult(n,"CreateListenerResult")}async deleteListener(e){let t={ListenerArn:e};await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("DeleteListener",t)})}async modifyListener(e){let t={ListenerArn:e.ListenerArn};if(e.Port)t.Port=e.Port;if(e.Protocol)t.Protocol=e.Protocol;if(e.SslPolicy)t.SslPolicy=e.SslPolicy;if(e.Certificates)e.Certificates.forEach((r,i)=>{t[`Certificates.member.${i+1}.CertificateArn`]=r.CertificateArn});if(e.DefaultActions)e.DefaultActions.forEach((r,i)=>{if(r.Type)t[`DefaultActions.member.${i+1}.Type`]=r.Type;if(r.TargetGroupArn)t[`DefaultActions.member.${i+1}.TargetGroupArn`]=r.TargetGroupArn;if(r.Order!==void 0)t[`DefaultActions.member.${i+1}.Order`]=r.Order});if(e.AlpnPolicy)e.AlpnPolicy.forEach((r,i)=>{t[`AlpnPolicy.member.${i+1}`]=r});let n=await this.client.request({service:"elasticloadbalancing",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:this.buildFormBody("ModifyListener",t)});return this.normalizeResult(n,"ModifyListenerResult")}buildFormBody(e,t){let n={Action:e,Version:"2015-12-01"};for(let[r,i]of Object.entries(t))if(i!==void 0&&i!==null)n[r]=String(i);return Object.entries(n).map(([r,i])=>`${encodeURIComponent(r)}=${encodeURIComponent(i)}`).join("&")}normalizeResult(e,t){if(e&&e[t])return this.normalizeArrays(e[t]);let n=t.replace("Result","Response");if(e&&e[n]&&e[n][t])return this.normalizeArrays(e[n][t]);return this.normalizeArrays(e)}normalizeArrays(e){if(!e||typeof e!=="object")return e;if(Array.isArray(e))return e.map((n)=>this.normalizeArrays(n));let t={};for(let[n,r]of Object.entries(e)){let i=["LoadBalancers","TargetGroups","Listeners","Rules","TargetHealthDescriptions","Attributes","SecurityGroups","AvailabilityZones","Certificates","DefaultActions","Conditions","Actions","member"];if(n==="member"){if(Array.isArray(r))return r.map((s)=>this.normalizeArrays(s));return[this.normalizeArrays(r)]}if(i.includes(n))if(r&&typeof r==="object"&&"member"in r){let s=r.member;t[n]=Array.isArray(s)?s.map((o)=>this.normalizeArrays(o)):[this.normalizeArrays(s)]}else if(Array.isArray(r))t[n]=r.map((s)=>this.normalizeArrays(s));else if(r)t[n]=[this.normalizeArrays(r)];else t[n]=[];else if(typeof r==="object")t[n]=this.normalizeArrays(r);else t[n]=r}return t}}class E{client;region;endpoint;constructor(e="us-east-1",t){this.region=e,this.endpoint=t?.endpoint,this.client=new h}async request(e,t){if(this.endpoint){let n=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","X-Amz-Target":`DynamoDB_20120810.${e}`},body:JSON.stringify(t)});if(!n.ok){let r=await n.text();throw Error(`DynamoDB request failed: ${n.status} ${r}`)}return n.json()}return this.client.request({service:"dynamodb",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.0","X-Amz-Target":`DynamoDB_20120810.${e}`},body:JSON.stringify(t)})}async createTable(e){return this.request("CreateTable",e)}async deleteTable(e){return this.request("DeleteTable",e)}async describeTable(e){return this.request("DescribeTable",e)}async listTables(e){return this.request("ListTables",e||{})}async putItem(e){return this.request("PutItem",e)}async getItem(e){return this.request("GetItem",e)}async updateItem(e){return this.request("UpdateItem",e)}async deleteItem(e){return this.request("DeleteItem",e)}async query(e){return this.request("Query",e)}async scan(e){return this.request("Scan",e)}async batchWriteItem(e){return this.request("BatchWriteItem",e)}async batchGetItem(e){return this.request("BatchGetItem",e)}async updateTimeToLive(e){return this.request("UpdateTimeToLive",e)}static marshal(e){let t={};for(let[n,r]of Object.entries(e))t[n]=E.marshalValue(r);return t}static marshalValue(e){if(e===null||e===void 0)return{NULL:!0};if(typeof e==="string")return{S:e};if(typeof e==="number")return{N:String(e)};if(typeof e==="boolean")return{BOOL:e};if(Array.isArray(e))return{L:e.map((t)=>E.marshalValue(t))};if(typeof e==="object")return{M:E.marshal(e)};return{S:String(e)}}static unmarshal(e){let t={};for(let[n,r]of Object.entries(e))t[n]=E.unmarshalValue(r);return t}static unmarshalValue(e){if(e.S!==void 0)return e.S;if(e.N!==void 0)return Number(e.N);if(e.BOOL!==void 0)return e.BOOL;if(e.NULL!==void 0)return null;if(e.L!==void 0)return e.L.map((t)=>E.unmarshalValue(t));if(e.M!==void 0)return E.unmarshal(e.M);if(e.SS!==void 0)return e.SS;if(e.NS!==void 0)return e.NS.map(Number);return null}}class rt{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async createDomain(e){return this.client.request({service:"es",region:this.region,method:"POST",path:"/2021-01-01/opensearch/domain",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async deleteDomain(e){return this.client.request({service:"es",region:this.region,method:"DELETE",path:`/2021-01-01/opensearch/domain/${e}`})}async describeDomain(e){return this.client.request({service:"es",region:this.region,method:"GET",path:`/2021-01-01/opensearch/domain/${e}`})}async listDomainNames(){return this.client.request({service:"es",region:this.region,method:"GET",path:"/2021-01-01/domain"})}async updateDomainConfig(e){let{DomainName:t,...n}=e;return this.client.request({service:"es",region:this.region,method:"POST",path:`/2021-01-01/opensearch/domain/${t}/config`,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)})}}class G{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async request(e,t){return this.client.request({service:"transcribe",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`Transcribe.${e}`},body:JSON.stringify(t)})}async startTranscriptionJob(e){return this.request("StartTranscriptionJob",e)}async getTranscriptionJob(e){return this.request("GetTranscriptionJob",e)}async listTranscriptionJobs(e){return this.request("ListTranscriptionJobs",e||{})}async deleteTranscriptionJob(e){return this.request("DeleteTranscriptionJob",e)}}class q{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async invokeModel(e){let t=typeof e.body==="string"?e.body:e.body instanceof Uint8Array?new TextDecoder().decode(e.body):JSON.stringify(e.body),n={"Content-Type":e.contentType||"application/json",Accept:e.accept||"application/json"};if(e.trace)n["X-Amzn-Bedrock-Trace"]=e.trace;if(e.guardrailIdentifier)n["X-Amzn-Bedrock-GuardrailIdentifier"]=e.guardrailIdentifier;if(e.guardrailVersion)n["X-Amzn-Bedrock-GuardrailVersion"]=e.guardrailVersion;let r=await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/model/${encodeURIComponent(e.modelId)}/invoke`,headers:n,body:t,rawResponse:!0,returnHeaders:!0});return{body:new TextEncoder().encode(r.body),contentType:r.headers?.["content-type"]||"application/json"}}async invokeModelWithResponseStream(e){let t=typeof e.body==="string"?e.body:e.body instanceof Uint8Array?new TextDecoder().decode(e.body):JSON.stringify(e.body),n={"Content-Type":e.contentType||"application/json",Accept:e.accept||"application/vnd.amazon.eventstream"};if(e.trace)n["X-Amzn-Bedrock-Trace"]=e.trace;if(e.guardrailIdentifier)n["X-Amzn-Bedrock-GuardrailIdentifier"]=e.guardrailIdentifier;if(e.guardrailVersion)n["X-Amzn-Bedrock-GuardrailVersion"]=e.guardrailVersion;return{body:await this.makeStreamRequest(e.modelId,n,t),contentType:"application/vnd.amazon.eventstream"}}async makeStreamRequest(e,t,n){let r=this.getCredentialsFromEnv(),i=`https://bedrock-runtime.${this.region}.amazonaws.com/model/${encodeURIComponent(e)}/invoke-with-response-stream`,s=this.signStreamRequest("POST",`/model/${encodeURIComponent(e)}/invoke-with-response-stream`,t,n,r),o=await fetch(i,{method:"POST",headers:s,body:n});if(!o.ok){let c=await o.text();throw Error(`Bedrock streaming error (${o.status}): ${c}`)}let a=o.body?.getReader();if(!a)throw Error("No response body for streaming");return this.parseEventStream(a)}async*parseEventStream(e){let t=new TextDecoder,n="";try{while(!0){let{done:r,value:i}=await e.read();if(r)break;n+=t.decode(i,{stream:!0});let s=this.extractJsonChunks(n);for(let o of s.parsed)yield{chunk:{bytes:new TextEncoder().encode(JSON.stringify(o))}};n=s.remaining}}finally{e.releaseLock()}}extractJsonChunks(e){let t=[],n=e,r=0,i=-1;for(let s=0;s<n.length;s++)if(n[s]==="{"){if(r===0)i=s;r++}else if(n[s]==="}"){if(r--,r===0&&i!==-1)try{let o=JSON.parse(n.slice(i,s+1));t.push(o),n=n.slice(s+1),s=-1,i=-1}catch{}}return{parsed:t,remaining:n}}getCredentialsFromEnv(){let e=process.env.AWS_ACCESS_KEY_ID,t=process.env.AWS_SECRET_ACCESS_KEY,n=process.env.AWS_SESSION_TOKEN;if(!e||!t)throw Error("AWS credentials not found in environment variables");return{accessKeyId:e,secretAccessKey:t,sessionToken:n}}signStreamRequest(e,t,n,r,i){let s=ce("node:crypto"),o="bedrock-runtime",a=this.region,c=`bedrock-runtime.${a}.amazonaws.com`,g=new Date,u=g.toISOString().replace(/[:-]|\.\d{3}/g,""),d=g.toISOString().slice(0,10).replace(/-/g,""),m={host:c,"x-amz-date":u,...n};if(i.sessionToken)m["x-amz-security-token"]=i.sessionToken;let l=s.createHash("sha256").update(r,"utf8").digest("hex");m["x-amz-content-sha256"]=l,m["content-length"]=Buffer.byteLength(r).toString();let p=Object.keys(m).sort((x,Pe)=>x.toLowerCase().localeCompare(Pe.toLowerCase())),y=p.map((x)=>`${x.toLowerCase()}:${m[x].trim()}
2
2
  `).join(""),f=p.map((x)=>x.toLowerCase()).join(";"),S=[e,t,"",y,f,l].join(`
3
3
  `),I="AWS4-HMAC-SHA256",A=`${d}/${a}/bedrock-runtime/aws4_request`,W=[I,u,A,s.createHash("sha256").update(S).digest("hex")].join(`
4
4
  `),Ce=s.createHmac("sha256",`AWS4${i.secretAccessKey}`).update(d).digest(),Te=s.createHmac("sha256",Ce).update(a).digest(),Ie=s.createHmac("sha256",Te).update("bedrock-runtime").digest(),Ae=s.createHmac("sha256",Ie).update("aws4_request").digest(),Ee=s.createHmac("sha256",Ae).update(W).digest("hex"),xe=`${I} Credential=${i.accessKeyId}/${A}, SignedHeaders=${f}, Signature=${Ee}`;return{...m,Authorization:xe}}async invokeClaudeMessages(e){let t=e.modelId||"anthropic.claude-3-haiku-20240307-v1:0",n={anthropic_version:"bedrock-2023-05-31",max_tokens:e.maxTokens||1024,messages:e.messages};if(e.temperature!==void 0)n.temperature=e.temperature;if(e.topP!==void 0)n.top_p=e.topP;if(e.topK!==void 0)n.top_k=e.topK;if(e.stopSequences)n.stop_sequences=e.stopSequences;if(e.system)n.system=e.system;if(e.tools)n.tools=e.tools;if(e.toolChoice)n.tool_choice=e.toolChoice;return await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/model/${encodeURIComponent(t)}/invoke`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n)})}async converse(e){let t={modelId:e.modelId,messages:e.messages};if(e.system)t.system=e.system;if(e.inferenceConfig)t.inferenceConfig=e.inferenceConfig;if(e.toolConfig)t.toolConfig=e.toolConfig;if(e.guardrailConfig)t.guardrailConfig=e.guardrailConfig;return await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/model/${encodeURIComponent(e.modelId)}/converse`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(t)})}async generateEmbeddings(e){let t=e.modelId||"amazon.titan-embed-text-v1",n;if(t.includes("cohere"))n={texts:Array.isArray(e.inputText)?e.inputText:[e.inputText],input_type:"search_document"};else if(t.includes("titan")){if(n={inputText:Array.isArray(e.inputText)?e.inputText[0]:e.inputText},e.dimensions)n.dimensions=e.dimensions;if(e.normalize!==void 0)n.normalize=e.normalize}else n={inputText:Array.isArray(e.inputText)?e.inputText[0]:e.inputText};return await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/model/${encodeURIComponent(t)}/invoke`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n)})}async applyGuardrail(e){return await this.client.request({service:"bedrock-runtime",region:this.region,method:"POST",path:`/guardrail/${encodeURIComponent(e.guardrailIdentifier)}/version/${encodeURIComponent(e.guardrailVersion)}/apply`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({source:e.source,content:e.content})})}}class _{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async listFoundationModels(e){let t={};if(e?.byProvider)t.byProvider=e.byProvider;if(e?.byCustomizationType)t.byCustomizationType=e.byCustomizationType;if(e?.byOutputModality)t.byOutputModality=e.byOutputModality;if(e?.byInferenceType)t.byInferenceType=e.byInferenceType;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/foundation-models",queryParams:Object.keys(t).length>0?t:void 0})}async getFoundationModel(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/foundation-models/${encodeURIComponent(e.modelIdentifier)}`})}async createModelCustomizationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/model-customization-jobs",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getModelCustomizationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/model-customization-jobs/${encodeURIComponent(e.jobIdentifier)}`})}async listModelCustomizationJobs(e){let t={};if(e?.creationTimeAfter)t.creationTimeAfter=e.creationTimeAfter;if(e?.creationTimeBefore)t.creationTimeBefore=e.creationTimeBefore;if(e?.statusEquals)t.statusEquals=e.statusEquals;if(e?.nameContains)t.nameContains=e.nameContains;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/model-customization-jobs",queryParams:Object.keys(t).length>0?t:void 0})}async stopModelCustomizationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:`/model-customization-jobs/${encodeURIComponent(e.jobIdentifier)}/stop`,headers:{"Content-Type":"application/json"}})}async listCustomModels(e){let t={};if(e?.creationTimeBefore)t.creationTimeBefore=e.creationTimeBefore;if(e?.creationTimeAfter)t.creationTimeAfter=e.creationTimeAfter;if(e?.nameContains)t.nameContains=e.nameContains;if(e?.baseModelArnEquals)t.baseModelArnEquals=e.baseModelArnEquals;if(e?.foundationModelArnEquals)t.foundationModelArnEquals=e.foundationModelArnEquals;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/custom-models",queryParams:Object.keys(t).length>0?t:void 0})}async getCustomModel(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/custom-models/${encodeURIComponent(e.modelIdentifier)}`})}async deleteCustomModel(e){return this.client.request({service:"bedrock",region:this.region,method:"DELETE",path:`/custom-models/${encodeURIComponent(e.modelIdentifier)}`})}async requestModelAccess(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/foundation-model-entitlement",headers:{"Content-Type":"application/json"},body:JSON.stringify({modelId:e.modelId})})}async createGuardrail(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/guardrails",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getGuardrail(e){let t=`/guardrails/${encodeURIComponent(e.guardrailIdentifier)}`;if(e.guardrailVersion)t+=`?guardrailVersion=${encodeURIComponent(e.guardrailVersion)}`;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:t})}async listGuardrails(e){let t={};if(e?.guardrailIdentifier)t.guardrailIdentifier=e.guardrailIdentifier;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/guardrails",queryParams:Object.keys(t).length>0?t:void 0})}async deleteGuardrail(e){let t=`/guardrails/${encodeURIComponent(e.guardrailIdentifier)}`;if(e.guardrailVersion)t+=`?guardrailVersion=${encodeURIComponent(e.guardrailVersion)}`;return this.client.request({service:"bedrock",region:this.region,method:"DELETE",path:t})}async listModelInvocationJobs(e){let t={};if(e?.submitTimeAfter)t.submitTimeAfter=e.submitTimeAfter;if(e?.submitTimeBefore)t.submitTimeBefore=e.submitTimeBefore;if(e?.statusEquals)t.statusEquals=e.statusEquals;if(e?.nameContains)t.nameContains=e.nameContains;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/model-invocation-jobs",queryParams:Object.keys(t).length>0?t:void 0})}async waitForModelCustomizationJob(e,t){let n=t?.maxWaitMs??3600000,r=t?.pollIntervalMs??30000,i=Date.now();while(Date.now()-i<n){let s=await this.getModelCustomizationJob({jobIdentifier:e});if(s.status==="Completed"||s.status==="Failed"||s.status==="Stopped")return s;await new Promise((o)=>setTimeout(o,r))}throw Error(`Timeout waiting for model customization job ${e}`)}async requestAccessToModels(e){let t=[];for(let n of e)try{let r=await this.requestModelAccess({modelId:n});t.push({modelId:n,status:r.status})}catch(r){let i=r instanceof Error?r.message:String(r);t.push({modelId:n,status:"ERROR",error:i})}return t}async listModelsByProvider(e){return(await this.listFoundationModels({byProvider:e})).modelSummaries||[]}async listClaudeModels(){return this.listModelsByProvider("Anthropic")}async listEmbeddingModels(){return(await this.listFoundationModels({byOutputModality:"EMBEDDING"})).modelSummaries||[]}async createModelInvocationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/model-invocation-jobs",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getModelInvocationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/model-invocation-jobs/${encodeURIComponent(e.jobIdentifier)}`})}async stopModelInvocationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:`/model-invocation-jobs/${encodeURIComponent(e.jobIdentifier)}/stop`,headers:{"Content-Type":"application/json"}})}async createProvisionedModelThroughput(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/provisioned-model-throughput",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getProvisionedModelThroughput(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/provisioned-model-throughput/${encodeURIComponent(e.provisionedModelId)}`})}async listProvisionedModelThroughputs(e){let t={};if(e?.creationTimeAfter)t.creationTimeAfter=e.creationTimeAfter;if(e?.creationTimeBefore)t.creationTimeBefore=e.creationTimeBefore;if(e?.statusEquals)t.statusEquals=e.statusEquals;if(e?.modelArnEquals)t.modelArnEquals=e.modelArnEquals;if(e?.nameContains)t.nameContains=e.nameContains;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/provisioned-model-throughput",queryParams:Object.keys(t).length>0?t:void 0})}async updateProvisionedModelThroughput(e){return this.client.request({service:"bedrock",region:this.region,method:"PATCH",path:`/provisioned-model-throughput/${encodeURIComponent(e.provisionedModelId)}`,headers:{"Content-Type":"application/json"},body:JSON.stringify({desiredProvisionedModelName:e.desiredProvisionedModelName,desiredModelId:e.desiredModelId})})}async deleteProvisionedModelThroughput(e){return this.client.request({service:"bedrock",region:this.region,method:"DELETE",path:`/provisioned-model-throughput/${encodeURIComponent(e.provisionedModelId)}`})}async createEvaluationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/evaluation-jobs",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getEvaluationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/evaluation-jobs/${encodeURIComponent(e.jobIdentifier)}`})}async listEvaluationJobs(e){let t={};if(e?.creationTimeAfter)t.creationTimeAfter=e.creationTimeAfter;if(e?.creationTimeBefore)t.creationTimeBefore=e.creationTimeBefore;if(e?.statusEquals)t.statusEquals=e.statusEquals;if(e?.nameContains)t.nameContains=e.nameContains;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/evaluation-jobs",queryParams:Object.keys(t).length>0?t:void 0})}async stopEvaluationJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:`/evaluation-jobs/${encodeURIComponent(e.jobIdentifier)}/stop`,headers:{"Content-Type":"application/json"}})}async getInferenceProfile(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/inference-profiles/${encodeURIComponent(e.inferenceProfileIdentifier)}`})}async listInferenceProfiles(e){let t={};if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.typeEquals)t.typeEquals=e.typeEquals;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/inference-profiles",queryParams:Object.keys(t).length>0?t:void 0})}async createInferenceProfile(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/inference-profiles",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async deleteInferenceProfile(e){return this.client.request({service:"bedrock",region:this.region,method:"DELETE",path:`/inference-profiles/${encodeURIComponent(e.inferenceProfileIdentifier)}`})}async createModelCopyJob(e){return this.client.request({service:"bedrock",region:this.region,method:"POST",path:"/model-copy-jobs",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getModelCopyJob(e){return this.client.request({service:"bedrock",region:this.region,method:"GET",path:`/model-copy-jobs/${encodeURIComponent(e.jobArn)}`})}async listModelCopyJobs(e){let t={};if(e?.creationTimeAfter)t.creationTimeAfter=e.creationTimeAfter;if(e?.creationTimeBefore)t.creationTimeBefore=e.creationTimeBefore;if(e?.statusEquals)t.statusEquals=e.statusEquals;if(e?.sourceAccountEquals)t.sourceAccountEquals=e.sourceAccountEquals;if(e?.sourceModelArnEquals)t.sourceModelArnEquals=e.sourceModelArnEquals;if(e?.targetModelNameContains)t.targetModelNameContains=e.targetModelNameContains;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;if(e?.sortBy)t.sortBy=e.sortBy;if(e?.sortOrder)t.sortOrder=e.sortOrder;return this.client.request({service:"bedrock",region:this.region,method:"GET",path:"/model-copy-jobs",queryParams:Object.keys(t).length>0?t:void 0})}}class it{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async invokeAgent(e){let t={inputText:e.inputText};if(e.endSession!==void 0)t.endSession=e.endSession;if(e.enableTrace!==void 0)t.enableTrace=e.enableTrace;if(e.memoryId)t.memoryId=e.memoryId;if(e.sessionState)t.sessionState=e.sessionState;return await this.client.request({service:"bedrock-agent-runtime",region:this.region,method:"POST",path:`/agents/${encodeURIComponent(e.agentId)}/agentAliases/${encodeURIComponent(e.agentAliasId)}/sessions/${encodeURIComponent(e.sessionId)}/text`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(t)})}async retrieve(e){return this.client.request({service:"bedrock-agent-runtime",region:this.region,method:"POST",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/retrieve`,headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({retrievalQuery:e.retrievalQuery,retrievalConfiguration:e.retrievalConfiguration,nextToken:e.nextToken})})}async retrieveAndGenerate(e){return this.client.request({service:"bedrock-agent-runtime",region:this.region,method:"POST",path:"/retrieveAndGenerate",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(e)})}}class st{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async createAgent(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:"/agents/",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getAgent(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/agents/${encodeURIComponent(e.agentId)}/`})}async listAgents(e){let t={};if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:"/agents/",queryParams:Object.keys(t).length>0?t:void 0})}async deleteAgent(e){let t={};if(e.skipResourceInUseCheck!==void 0)t.skipResourceInUseCheck=e.skipResourceInUseCheck.toString();return this.client.request({service:"bedrock-agent",region:this.region,method:"DELETE",path:`/agents/${encodeURIComponent(e.agentId)}/`,queryParams:Object.keys(t).length>0?t:void 0})}async prepareAgent(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/agents/${encodeURIComponent(e.agentId)}/`,headers:{"Content-Type":"application/json"}})}async createKnowledgeBase(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:"/knowledgebases/",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getKnowledgeBase(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}`})}async listKnowledgeBases(e){let t={};if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:"/knowledgebases/",queryParams:Object.keys(t).length>0?t:void 0})}async deleteKnowledgeBase(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"DELETE",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}`})}async createDataSource(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getDataSource(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}`})}async listDataSources(e){let t={};if(e.maxResults)t.maxResults=e.maxResults.toString();if(e.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/`,queryParams:Object.keys(t).length>0?t:void 0})}async updateDataSource(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async deleteDataSource(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"DELETE",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}`})}async startIngestionJob(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}/ingestionjobs/`,headers:{"Content-Type":"application/json"},body:JSON.stringify({clientToken:e.clientToken,description:e.description})})}async getIngestionJob(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}/ingestionjobs/${encodeURIComponent(e.ingestionJobId)}`})}async listIngestionJobs(e){let t={};if(e.maxResults)t.maxResults=e.maxResults.toString();if(e.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/knowledgebases/${encodeURIComponent(e.knowledgeBaseId)}/datasources/${encodeURIComponent(e.dataSourceId)}/ingestionjobs/`,headers:{"Content-Type":"application/json"},body:JSON.stringify({filters:e.filters,sortBy:e.sortBy,maxResults:e.maxResults,nextToken:e.nextToken})})}async createPrompt(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:"/prompts/",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getPrompt(e){let t={};if(e.promptVersion)t.promptVersion=e.promptVersion;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/prompts/${encodeURIComponent(e.promptIdentifier)}/`,queryParams:Object.keys(t).length>0?t:void 0})}async listPrompts(e){let t={};if(e?.promptIdentifier)t.promptIdentifier=e.promptIdentifier;if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:"/prompts/",queryParams:Object.keys(t).length>0?t:void 0})}async deletePrompt(e){let t={};if(e.promptVersion)t.promptVersion=e.promptVersion;return this.client.request({service:"bedrock-agent",region:this.region,method:"DELETE",path:`/prompts/${encodeURIComponent(e.promptIdentifier)}/`,queryParams:Object.keys(t).length>0?t:void 0})}async createPromptVersion(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/prompts/${encodeURIComponent(e.promptIdentifier)}/versions/`,headers:{"Content-Type":"application/json"},body:JSON.stringify({description:e.description,clientToken:e.clientToken,tags:e.tags})})}async createFlow(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:"/flows/",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async getFlow(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/`})}async listFlows(e){let t={};if(e?.maxResults)t.maxResults=e.maxResults.toString();if(e?.nextToken)t.nextToken=e.nextToken;return this.client.request({service:"bedrock-agent",region:this.region,method:"GET",path:"/flows/",queryParams:Object.keys(t).length>0?t:void 0})}async updateFlow(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"PUT",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}async deleteFlow(e){let t={};if(e.skipResourceInUseCheck!==void 0)t.skipResourceInUseCheck=e.skipResourceInUseCheck.toString();return this.client.request({service:"bedrock-agent",region:this.region,method:"DELETE",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/`,queryParams:Object.keys(t).length>0?t:void 0})}async prepareFlow(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/`,headers:{"Content-Type":"application/json"}})}async createFlowVersion(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/versions/`,headers:{"Content-Type":"application/json"},body:JSON.stringify({description:e.description,clientToken:e.clientToken})})}async createFlowAlias(e){return this.client.request({service:"bedrock-agent",region:this.region,method:"POST",path:`/flows/${encodeURIComponent(e.flowIdentifier)}/aliases/`,headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})}}async function Tn(e,t="us-east-1"){return new _(t).requestAccessToModels(e)}async function In(e="us-east-1"){return new _(e).listClaudeModels()}async function An(e,t){let i=(await new q(t?.region||"us-east-1").invokeClaudeMessages({modelId:t?.modelId||"anthropic.claude-3-haiku-20240307-v1:0",messages:[{role:"user",content:e}],maxTokens:t?.maxTokens||1024,temperature:t?.temperature})).content.find((s)=>s.type==="text");return i?.type==="text"?i.text:""}async function En(e,t){let r=await new q(t?.region||"us-east-1").generateEmbeddings({modelId:t?.modelId||"amazon.titan-embed-text-v1",inputText:e});return r.embeddings||r.embedding||[]}class R{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async request(e,t){return this.client.request({service:"comprehend",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`Comprehend_20171127.${e}`},body:JSON.stringify(t)})}async detectSentiment(e){return this.request("DetectSentiment",e)}async detectEntities(e){return this.request("DetectEntities",e)}async detectKeyPhrases(e){return this.request("DetectKeyPhrases",e)}async detectDominantLanguage(e){return this.request("DetectDominantLanguage",e)}async detectPiiEntities(e){return this.request("DetectPiiEntities",e)}async containsPiiEntities(e){return this.request("ContainsPiiEntities",e)}async detectSyntax(e){return this.request("DetectSyntax",e)}async detectTargetedSentiment(e){return this.request("DetectTargetedSentiment",e)}async classifyDocument(e){return this.request("ClassifyDocument",e)}async batchDetectSentiment(e){return this.request("BatchDetectSentiment",e)}async batchDetectEntities(e){return this.request("BatchDetectEntities",e)}async batchDetectKeyPhrases(e){return this.request("BatchDetectKeyPhrases",e)}async batchDetectDominantLanguage(e){return this.request("BatchDetectDominantLanguage",e)}async batchDetectSyntax(e){return this.request("BatchDetectSyntax",e)}async startSentimentDetectionJob(e){return this.request("StartSentimentDetectionJob",e)}async startEntitiesDetectionJob(e){return this.request("StartEntitiesDetectionJob",e)}async startKeyPhrasesDetectionJob(e){return this.request("StartKeyPhrasesDetectionJob",e)}async startPiiEntitiesDetectionJob(e){return this.request("StartPiiEntitiesDetectionJob",e)}async describeSentimentDetectionJob(e){return this.request("DescribeSentimentDetectionJob",e)}async analyzeSentiment(e,t="en"){let n=await this.detectSentiment({Text:e,LanguageCode:t});return{sentiment:n.Sentiment,scores:{positive:n.SentimentScore.Positive,negative:n.SentimentScore.Negative,neutral:n.SentimentScore.Neutral,mixed:n.SentimentScore.Mixed}}}async extractEntities(e,t="en"){return(await this.detectEntities({Text:e,LanguageCode:t})).Entities.map((r)=>({text:r.Text||"",type:r.Type||"UNKNOWN",score:r.Score||0}))}async extractKeyPhrases(e,t="en"){return(await this.detectKeyPhrases({Text:e,LanguageCode:t})).KeyPhrases.map((r)=>r.Text||"").filter(Boolean)}async detectLanguage(e){let n=(await this.detectDominantLanguage({Text:e})).Languages[0];return{languageCode:n?.LanguageCode||"unknown",confidence:n?.Score||0}}async findPii(e,t="en"){return(await this.detectPiiEntities({Text:e,LanguageCode:t})).Entities.map((r)=>({type:r.Type||"UNKNOWN",beginOffset:r.BeginOffset||0,endOffset:r.EndOffset||0,score:r.Score||0}))}async hasPii(e,t="en"){return(await this.detectPiiEntities({Text:e,LanguageCode:t})).Entities.length>0}async redactPii(e,t="en"){let r=[...(await this.detectPiiEntities({Text:e,LanguageCode:t})).Entities].sort((s,o)=>(o.EndOffset||0)-(s.EndOffset||0)),i=e;for(let s of r)if(s.BeginOffset!==void 0&&s.EndOffset!==void 0)i=i.slice(0,s.BeginOffset)+`[${s.Type}]`+i.slice(s.EndOffset);return i}}async function Dn(e,t){let r=await new R(t?.region||"us-east-1").analyzeSentiment(e,t?.languageCode||"en"),i=Math.max(r.scores.positive,r.scores.negative,r.scores.neutral,r.scores.mixed);return{sentiment:r.sentiment,confidence:i}}async function Rn(e,t){return new R(t?.region||"us-east-1").extractEntities(e,t?.languageCode||"en")}async function Nn(e,t){return(await new R(t||"us-east-1").detectLanguage(e)).languageCode}async function On(e,t){return new R(t?.region||"us-east-1").hasPii(e,t?.languageCode||"en")}class N{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async request(e,t){return this.client.request({service:"rekognition",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`RekognitionService.${e}`},body:JSON.stringify(t)})}async detectFaces(e){return this.request("DetectFaces",e)}async detectLabels(e){return this.request("DetectLabels",e)}async detectText(e){return this.request("DetectText",e)}async detectModerationLabels(e){return this.request("DetectModerationLabels",e)}async recognizeCelebrities(e){return this.request("RecognizeCelebrities",e)}async compareFaces(e){return this.request("CompareFaces",e)}async createCollection(e){return this.request("CreateCollection",e)}async deleteCollection(e){return this.request("DeleteCollection",e)}async listCollections(e){return this.request("ListCollections",e||{})}async indexFaces(e){return this.request("IndexFaces",e)}async searchFacesByImage(e){return this.request("SearchFacesByImage",e)}async searchFaces(e){return this.request("SearchFaces",e)}async startLabelDetection(e){return this.request("StartLabelDetection",e)}async getLabelDetection(e){return this.request("GetLabelDetection",e)}async startFaceDetection(e){return this.request("StartFaceDetection",e)}async getFaceDetection(e){return this.request("GetFaceDetection",e)}async startContentModeration(e){return this.request("StartContentModeration",e)}async getContentModeration(e){return this.request("GetContentModeration",e)}async analyzeS3Image(e,t,n){return(await this.detectLabels({Image:{S3Object:{Bucket:e,Name:t}},MaxLabels:n?.maxLabels,MinConfidence:n?.minConfidence})).Labels||[]}async analyzeImageBytes(e,t){return(await this.detectLabels({Image:{Bytes:e},MaxLabels:t?.maxLabels,MinConfidence:t?.minConfidence})).Labels||[]}async isImageSafe(e,t=50){return((await this.detectModerationLabels({Image:e,MinConfidence:t})).ModerationLabels?.length||0)===0}async countFaces(e){return(await this.detectFaces({Image:e,Attributes:["DEFAULT"]})).FaceDetails?.length||0}async extractText(e){return(await this.detectText({Image:e})).TextDetections?.filter((n)=>n.Type==="LINE").map((n)=>n.DetectedText||"")||[]}async findFace(e,t,n=80){try{return(await this.searchFacesByImage({CollectionId:e,Image:t,FaceMatchThreshold:n,MaxFaces:1})).FaceMatches?.[0]||null}catch(r){if(r instanceof Error&&r.message.includes("InvalidParameterException"))return null;throw r}}}async function ot(e,t,n){return(await new N(n?.region||"us-east-1").analyzeS3Image(e,t,{maxLabels:n?.maxLabels})).map((s)=>s.Name||"").filter(Boolean)}async function at(e,t,n){return new N(n||"us-east-1").countFaces({S3Object:{Bucket:e,Name:t}})}async function ct(e,t,n){return new N(n?.region||"us-east-1").isImageSafe({S3Object:{Bucket:e,Name:t}},n?.threshold)}class O{client;region;constructor(e="us-east-1"){this.region=e,this.client=new h}async request(e,t){return this.client.request({service:"textract",region:this.region,method:"POST",path:"/",headers:{"Content-Type":"application/x-amz-json-1.1","X-Amz-Target":`Textract.${e}`},body:JSON.stringify(t)})}async detectDocumentText(e){return this.request("DetectDocumentText",e)}async analyzeDocument(e){return this.request("AnalyzeDocument",e)}async analyzeExpense(e){return this.request("AnalyzeExpense",e)}async analyzeID(e){return this.request("AnalyzeID",e)}async startDocumentTextDetection(e){return this.request("StartDocumentTextDetection",e)}async getDocumentTextDetection(e){return this.request("GetDocumentTextDetection",e)}async startDocumentAnalysis(e){return this.request("StartDocumentAnalysis",e)}async getDocumentAnalysis(e){return this.request("GetDocumentAnalysis",e)}async startExpenseAnalysis(e){return this.request("StartExpenseAnalysis",e)}async getExpenseAnalysis(e){return this.request("GetExpenseAnalysis",e)}async startLendingAnalysis(e){return this.request("StartLendingAnalysis",e)}async getLendingAnalysis(e){return this.request("GetLendingAnalysis",e)}async extractText(e){return(await this.detectDocumentText({Document:e})).Blocks?.filter((n)=>n.BlockType==="LINE").map((n)=>n.Text||"")||[]}async extractTextFromS3(e,t){return this.extractText({S3Object:{Bucket:e,Name:t}})}async extractForms(e){let n=(await this.analyzeDocument({Document:e,FeatureTypes:["FORMS"]})).Blocks||[],r=new Map;n.forEach((s)=>s.Id&&r.set(s.Id,s));let i=[];for(let s of n)if(s.BlockType==="KEY_VALUE_SET"&&s.EntityTypes?.includes("KEY")){let o=this.getBlockText(s,r),a=s.Relationships?.find((g)=>g.Type==="VALUE"),c="";if(a?.Ids)for(let g of a.Ids){let u=r.get(g);if(u)c+=this.getBlockText(u,r)+" "}i.push({key:o.trim(),value:c.trim(),confidence:s.Confidence||0})}return i}async extractTables(e){let n=(await this.analyzeDocument({Document:e,FeatureTypes:["TABLES"]})).Blocks||[],r=new Map;n.forEach((s)=>s.Id&&r.set(s.Id,s));let i=[];for(let s of n)if(s.BlockType==="TABLE"){let a=(s.Relationships?.find((d)=>d.Type==="CHILD")?.Ids||[]).map((d)=>r.get(d)).filter(Boolean),c=0,g=0;for(let d of a){if(d.RowIndex&&d.RowIndex>c)c=d.RowIndex;if(d.ColumnIndex&&d.ColumnIndex>g)g=d.ColumnIndex}let u=Array.from({length:c},()=>Array.from({length:g},()=>""));for(let d of a)if(d.RowIndex&&d.ColumnIndex)u[d.RowIndex-1][d.ColumnIndex-1]=this.getBlockText(d,r);i.push({rows:u})}return i}async extractExpenseSummary(e){let n=(await this.analyzeExpense({Document:e})).ExpenseDocuments?.[0];if(!n)return{items:[]};let r={};for(let s of n.SummaryFields||[]){let o=s.Type?.Text?.toUpperCase(),a=s.ValueDetection?.Text;if(o==="VENDOR_NAME")r.vendor=a;if(o==="TOTAL")r.total=a;if(o==="INVOICE_RECEIPT_DATE")r.date=a}let i=[];for(let s of n.LineItemGroups||[])for(let o of s.LineItems||[]){let a={};for(let c of o.LineItemExpenseFields||[]){let g=c.Type?.Text?.toUpperCase(),u=c.ValueDetection?.Text;if(g==="ITEM")a.description=u;if(g==="QUANTITY")a.quantity=u;if(g==="PRICE")a.price=u}if(a.description||a.price)i.push(a)}return{...r,items:i}}async queryDocument(e,t){let r=(await this.analyzeDocument({Document:e,FeatureTypes:["QUERIES"],QueriesConfig:{Queries:t.map((s)=>({Text:s}))}})).Blocks||[],i=[];for(let s of r)if(s.BlockType==="QUERY_RESULT"&&s.Text){let o=r.find((a)=>a.BlockType==="QUERY"&&a.Relationships?.some((c)=>c.Type==="ANSWER"&&c.Ids?.includes(s.Id||"")));i.push({question:o?.Query?.Text||"",answer:s.Text,confidence:s.Confidence||0})}return i}async waitForJob(e,t,n){let r=n?.maxWaitMs??300000,i=n?.pollIntervalMs??5000,s=Date.now();while(Date.now()-s<r){let o=await t(e);if(o.JobStatus==="SUCCEEDED"||o.JobStatus==="PARTIAL_SUCCESS")return;if(o.JobStatus==="FAILED")throw Error(`Textract job ${e} failed`);await new Promise((a)=>setTimeout(a,i))}throw Error(`Timeout waiting for Textract job ${e}`)}getBlockText(e,t){if(e.Text)return e.Text;return(e.Relationships?.find((r)=>r.Type==="CHILD")?.Ids||[]).map((r)=>t.get(r)?.Text||"").join(" ")}}async function ut(e,t,n){return(await new O(n||"us-east-1").extractTextFromS3(e,t)).join(`