@bkm016/basalt 0.1.7 → 0.1.8

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 (250) hide show
  1. package/README.md +1 -1
  2. package/{chunk-n981vx1t.js → chunk-0d51ggzj.js} +6 -6
  3. package/chunk-12trygzx.js +25 -0
  4. package/{chunk-s6dejhfj.js → chunk-26cz8et8.js} +1 -1
  5. package/{chunk-zxkq9m8e.js → chunk-2ek3wq4b.js} +2 -2
  6. package/chunk-2gcp3xdc.js +2 -0
  7. package/{chunk-x4874m8e.js → chunk-2ks2tnac.js} +2 -2
  8. package/{chunk-0javrjcm.js → chunk-2nrkqq45.js} +22 -22
  9. package/chunk-320174qe.js +2 -0
  10. package/{chunk-ey15ye2h.js → chunk-3hg7yn1t.js} +1 -1
  11. package/{chunk-benrzwea.js → chunk-3j2kkgsc.js} +1 -1
  12. package/{chunk-8x21n7y9.js → chunk-47vf66t6.js} +1 -1
  13. package/chunk-4n49ptbz.js +3 -0
  14. package/{chunk-7hr6zw2m.js → chunk-5gxj9560.js} +1 -1
  15. package/{chunk-g0t9c3gv.js → chunk-6vnjg5x9.js} +1 -1
  16. package/{chunk-dnx91jrd.js → chunk-7kjr9gdx.js} +2 -2
  17. package/{chunk-y8dkfpmj.js → chunk-7p6e2f5s.js} +3 -3
  18. package/{chunk-053vb71h.js → chunk-86xhmz7k.js} +1 -1
  19. package/{chunk-ebpyvs1d.js → chunk-91r5nvth.js} +2 -2
  20. package/{chunk-c7rcw9fb.js → chunk-adys4qq4.js} +4 -4
  21. package/{chunk-npez1492.js → chunk-ckjw3b61.js} +2 -2
  22. package/{chunk-f156y565.js → chunk-d37gemt2.js} +3 -3
  23. package/{chunk-j7yvh0ae.js → chunk-dcwdmpw2.js} +1 -1
  24. package/chunk-dvb5nd2x.js +2 -0
  25. package/{chunk-063vbmtp.js → chunk-e6c2mzxc.js} +2 -2
  26. package/{chunk-s7skpgm2.js → chunk-ef9yhnk3.js} +1 -1
  27. package/{chunk-ecf896fz.js → chunk-fpxc6qjr.js} +2 -2
  28. package/chunk-frt9k18g.js +480 -0
  29. package/{chunk-bdy4jksd.js → chunk-fzcmzbsq.js} +1 -1
  30. package/{chunk-q9dd6fhj.js → chunk-g3ed130w.js} +3 -3
  31. package/{chunk-d48bfd2e.js → chunk-h1kb8b49.js} +2 -2
  32. package/{chunk-arcqjt91.js → chunk-hd3x1w46.js} +1 -1
  33. package/{chunk-dpz4hwqb.js → chunk-j781n7ca.js} +2 -2
  34. package/{chunk-z02sj1je.js → chunk-jp5afrwm.js} +2 -2
  35. package/{chunk-r8vvcp6c.js → chunk-jyv9cae6.js} +1 -1
  36. package/{chunk-whj87h4r.js → chunk-k3q5jqjj.js} +3 -3
  37. package/{chunk-75434aay.js → chunk-k3rmjrf1.js} +1 -1
  38. package/{chunk-peja51xv.js → chunk-kgkrccr1.js} +2 -2
  39. package/{chunk-pg5nkf1y.js → chunk-kpvaqb7c.js} +2 -2
  40. package/{chunk-sjjtxpg2.js → chunk-ky55taar.js} +330 -288
  41. package/{chunk-10p3mb40.js → chunk-mr807v9n.js} +1 -1
  42. package/chunk-n015c8nx.js +2 -0
  43. package/chunk-ndt6rjt9.js +2 -0
  44. package/{chunk-gv7wqkey.js → chunk-nmtk9xra.js} +2 -2
  45. package/{chunk-d6p2hgxh.js → chunk-pehyqj8k.js} +1 -1
  46. package/{chunk-ca982n62.js → chunk-pkpj7s2k.js} +1 -1
  47. package/{chunk-fx7f4m3c.js → chunk-pn413hjw.js} +1 -1
  48. package/{chunk-6ptv4g5e.js → chunk-ppxv5q7y.js} +3 -3
  49. package/{chunk-8wj32837.js → chunk-qmdpgbg3.js} +1 -1
  50. package/{chunk-8wv5t0w6.js → chunk-rnt1ckk9.js} +6 -6
  51. package/{chunk-prgm07j4.js → chunk-t40fag3z.js} +2 -2
  52. package/{chunk-w67dvqtb.js → chunk-t66jqz12.js} +2 -2
  53. package/{chunk-39vwrg8n.js → chunk-v2srrqcv.js} +2 -2
  54. package/{chunk-n85qs7cs.js → chunk-x496kg3v.js} +1 -1
  55. package/{chunk-6kdgk70p.js → chunk-xjw78yey.js} +4 -4
  56. package/chunk-xy2bxwq8.js +2 -0
  57. package/{chunk-y69ewdn2.js → chunk-ypqjfv3a.js} +2 -2
  58. package/{chunk-f544p9rh.js → chunk-yyy2yp6f.js} +10 -10
  59. package/{chunk-8gw5bvh3.js → chunk-yzevjkms.js} +5 -5
  60. package/chunk-z3ch1wg6.js +16 -0
  61. package/chunk-zdyd8hbn.js +2 -0
  62. package/compiled.js +6 -6
  63. package/package.json +1 -1
  64. package/ui-test-worker.js +19 -19
  65. package/web/{chunk-kjacapzd.js → chunk-0j9a7811.js} +6 -6
  66. package/web/chunk-0jfda4jw.js +2 -0
  67. package/web/{chunk-z1geewdf.js → chunk-0zwc2rvh.js} +2 -2
  68. package/web/{chunk-ht4mx2dt.js → chunk-1gx0zpmp.js} +7 -7
  69. package/web/{chunk-q3jevm51.js → chunk-1s8zg6fb.js} +51 -51
  70. package/web/chunk-2axwda8c.js +89 -0
  71. package/web/chunk-2p3fkhy8.js +1 -0
  72. package/web/{chunk-tz4twwmw.js → chunk-33w36n91.js} +2 -2
  73. package/web/{chunk-1s53190z.js → chunk-3q0v8w45.js} +81 -81
  74. package/web/chunk-3sz5qcwj.js +1 -0
  75. package/web/chunk-433c80pc.js +1 -0
  76. package/web/chunk-48cnmhvd.js +106 -0
  77. package/web/{chunk-da7m1kva.js → chunk-4anjs6yp.js} +2 -2
  78. package/web/chunk-5r37rwq1.js +4 -0
  79. package/web/{chunk-pjz30xcp.js → chunk-6e38yf3a.js} +23 -23
  80. package/web/{chunk-xckxtfp8.js → chunk-7a4xk6j9.js} +72 -72
  81. package/web/chunk-7f1t7z72.js +2 -0
  82. package/web/chunk-7qq1ypvj.js +1 -0
  83. package/web/{chunk-h6k1x096.js → chunk-7tkgbbf9.js} +2 -2
  84. package/web/chunk-7x35g67d.js +78 -0
  85. package/web/{chunk-xbpc6x9m.js → chunk-823b7866.js} +15 -15
  86. package/web/chunk-85gdsmt4.js +1 -0
  87. package/web/{chunk-gyp6v7jd.js → chunk-8773nwdc.js} +2 -2
  88. package/web/{chunk-2cem4sv7.js → chunk-8dp7h6w8.js} +24 -24
  89. package/web/{chunk-y99ed8rd.js → chunk-8nv7q5ac.js} +9 -9
  90. package/web/chunk-8pzg8qw4.js +1 -0
  91. package/web/chunk-8wg44w91.js +2 -0
  92. package/web/chunk-9p5dfvav.js +1 -0
  93. package/web/chunk-9q9w9pay.js +1 -0
  94. package/web/chunk-a3teqvz2.js +39 -0
  95. package/web/chunk-bd8ftfxn.js +3 -0
  96. package/web/chunk-c03bt2pz.js +1 -0
  97. package/web/chunk-c1ha2xg6.js +8 -0
  98. package/web/chunk-cez1k71m.js +1 -0
  99. package/web/chunk-cgng31df.js +1 -0
  100. package/web/chunk-cn0tmwjs.js +2 -0
  101. package/web/{chunk-t6sq85s6.js → chunk-cn1xpg3q.js} +2 -2
  102. package/web/chunk-cvd4f51j.js +1 -0
  103. package/web/chunk-cybvxssy.js +1 -0
  104. package/web/{chunk-geh05ghh.js → chunk-cyjnert7.js} +19 -19
  105. package/web/{chunk-twdy2f67.js → chunk-d0m0h0eb.js} +1 -1
  106. package/web/{chunk-sn3tkwme.js → chunk-dgwkqcz6.js} +37 -37
  107. package/web/{chunk-nfvqjzz5.js → chunk-dtg5yhhs.js} +1 -1
  108. package/web/chunk-dynajx8x.js +2 -0
  109. package/web/{chunk-svh4n157.js → chunk-et8q775x.js} +4 -4
  110. package/web/chunk-f3vv7n52.js +1 -0
  111. package/web/{chunk-tmndcktk.js → chunk-f93pe4kb.js} +15 -15
  112. package/web/{chunk-5nda24gv.js → chunk-fe31sv6t.js} +1 -1
  113. package/web/chunk-fpa81dv7.js +62 -0
  114. package/web/{chunk-4q7wf0wd.js → chunk-fx4mackk.js} +9 -9
  115. package/web/chunk-g17n6asp.js +1 -0
  116. package/web/chunk-g9dzaw9e.js +30 -0
  117. package/web/chunk-gcwhx3av.js +1139 -0
  118. package/web/chunk-gf8vm6b5.js +1 -0
  119. package/web/chunk-gnmeyy4h.js +1 -0
  120. package/web/chunk-h5cfg3vv.js +2 -0
  121. package/web/{chunk-femhej5w.js → chunk-hbkasy6c.js} +46 -46
  122. package/web/chunk-hn7mhsbg.js +1 -0
  123. package/web/{chunk-tfn0rqg9.js → chunk-hstbgb83.js} +26 -26
  124. package/web/chunk-jjjtv2r1.js +2 -0
  125. package/web/chunk-jzte2phh.js +2 -0
  126. package/web/chunk-k8h8zx6r.js +24 -0
  127. package/web/chunk-m3ajw575.js +1 -0
  128. package/web/chunk-m5y2d4zv.js +1 -0
  129. package/web/chunk-mbwwj216.js +1 -0
  130. package/web/chunk-mf6xng5b.js +2 -0
  131. package/web/chunk-nky3bqfg.js +1 -0
  132. package/web/chunk-np33kmn4.js +1 -0
  133. package/web/chunk-nvk8mazs.js +1 -0
  134. package/web/chunk-nyw5ewgv.js +1 -0
  135. package/web/{chunk-dg3p8db5.js → chunk-p0cjvjdx.js} +1 -1
  136. package/web/chunk-p56dcqpr.js +1 -0
  137. package/web/chunk-pdn4r8x4.js +1 -0
  138. package/web/chunk-q1xxs319.js +41 -0
  139. package/web/chunk-qpt34d8d.js +1 -0
  140. package/web/{chunk-4fm55fgb.js → chunk-qq2v8h6d.js} +7 -7
  141. package/web/chunk-qskt3tqa.js +1 -0
  142. package/web/chunk-qt3n897m.js +4 -0
  143. package/web/chunk-r1rt48h9.js +1 -0
  144. package/web/{chunk-4sve9xrj.js → chunk-r4ffr96e.js} +1 -1
  145. package/web/chunk-r7tgd2fm.js +7 -0
  146. package/web/{chunk-gksf7cek.js → chunk-rbdvc8x7.js} +7 -7
  147. package/web/{chunk-q97hn4j5.js → chunk-rkjkynm3.js} +33 -33
  148. package/web/chunk-rznszqmy.js +1 -0
  149. package/web/chunk-s1pefd34.js +1 -0
  150. package/web/chunk-s38s9ff9.js +370 -0
  151. package/web/{chunk-n754s8xd.js → chunk-s7e93552.js} +8 -8
  152. package/web/chunk-sc29azev.js +1 -0
  153. package/web/{chunk-czjk218p.js → chunk-sda7cyrt.js} +52 -52
  154. package/web/chunk-svh2gkx8.js +2 -0
  155. package/web/chunk-t4jc4nac.js +1 -0
  156. package/web/chunk-t7g366a5.js +24 -0
  157. package/web/chunk-tj1fn8v2.js +1 -0
  158. package/web/{chunk-sy7e4dmq.js → chunk-tkp72r9b.js} +1 -1
  159. package/web/{chunk-5wbnjjhg.js → chunk-v14s4vgc.js} +1 -1
  160. package/web/chunk-v94v68xg.js +36 -0
  161. package/web/{chunk-0whceqes.js → chunk-vvvd3grf.js} +2 -2
  162. package/web/chunk-w37n09px.js +21 -0
  163. package/web/chunk-wcphswcx.js +2 -0
  164. package/web/{chunk-aangfjqc.js → chunk-wj3ymejj.js} +38 -38
  165. package/web/chunk-wwcnvyjh.css +1 -0
  166. package/web/{chunk-e8yj05t1.js → chunk-xabcx3ry.js} +6 -6
  167. package/web/chunk-xb9m0092.js +1 -0
  168. package/web/chunk-xfd3b01q.js +1 -0
  169. package/web/{chunk-4vjnrz87.js → chunk-xqyazzm7.js} +17 -17
  170. package/web/{chunk-bdydzbqk.js → chunk-xsz1dfm2.js} +23 -23
  171. package/web/chunk-z0zrp8n8.js +1 -0
  172. package/web/index.html +1 -1
  173. package/worker.js +1 -1
  174. package/chunk-654cny9a.js +0 -480
  175. package/chunk-8saewt61.js +0 -3
  176. package/chunk-a0c989ky.js +0 -2
  177. package/chunk-a5apjjcn.js +0 -16
  178. package/chunk-a81p46j7.js +0 -2
  179. package/chunk-agsfy9w7.js +0 -2
  180. package/chunk-d20p02ny.js +0 -2
  181. package/chunk-ejsneb6f.js +0 -2
  182. package/chunk-fmq3zwzk.js +0 -2
  183. package/chunk-rfb85nj7.js +0 -2
  184. package/chunk-rfdt992v.js +0 -25
  185. package/web/chunk-079091ar.js +0 -39
  186. package/web/chunk-083r4f80.js +0 -1
  187. package/web/chunk-0cng7r2x.js +0 -2
  188. package/web/chunk-0k0ande6.js +0 -1
  189. package/web/chunk-14deqqhr.js +0 -2
  190. package/web/chunk-2b63adsj.js +0 -89
  191. package/web/chunk-3baypnwn.js +0 -4
  192. package/web/chunk-4067nwjp.js +0 -19
  193. package/web/chunk-59678wmg.js +0 -1
  194. package/web/chunk-5k8sv4f5.js +0 -1
  195. package/web/chunk-5vjhvw1m.js +0 -2
  196. package/web/chunk-6ft5pz3c.js +0 -1
  197. package/web/chunk-7c8rwqtx.js +0 -1
  198. package/web/chunk-7qzz025k.js +0 -1
  199. package/web/chunk-7xbaqqd7.css +0 -1
  200. package/web/chunk-80eyv2mk.js +0 -1
  201. package/web/chunk-89paytbk.js +0 -4
  202. package/web/chunk-8ceej2g7.js +0 -1
  203. package/web/chunk-8nyhy122.js +0 -1
  204. package/web/chunk-989jq2h8.js +0 -2
  205. package/web/chunk-9w5tf22s.js +0 -1
  206. package/web/chunk-c3nn0vvc.js +0 -1
  207. package/web/chunk-cpwtt6ny.js +0 -1
  208. package/web/chunk-dsw5t58p.js +0 -1
  209. package/web/chunk-dv72fat3.js +0 -1
  210. package/web/chunk-dvvs1jjq.js +0 -3
  211. package/web/chunk-e131rg6p.js +0 -2
  212. package/web/chunk-ekw54h1q.js +0 -1
  213. package/web/chunk-hwsvhst3.js +0 -1
  214. package/web/chunk-k02b36g1.js +0 -62
  215. package/web/chunk-kkfrs7d1.js +0 -41
  216. package/web/chunk-kkyn8yhj.js +0 -106
  217. package/web/chunk-mh4rx5cf.js +0 -1
  218. package/web/chunk-n448vaba.js +0 -1
  219. package/web/chunk-n8j88qxy.js +0 -1
  220. package/web/chunk-nmpbsvwb.js +0 -2
  221. package/web/chunk-nws1s56b.js +0 -1
  222. package/web/chunk-p7126wwy.js +0 -7
  223. package/web/chunk-phnqnhj9.js +0 -1
  224. package/web/chunk-qg31p6cn.js +0 -1
  225. package/web/chunk-qhm3cfq9.js +0 -1
  226. package/web/chunk-qsd595b9.js +0 -1
  227. package/web/chunk-r7frwjqx.js +0 -2
  228. package/web/chunk-rddft5ce.js +0 -1139
  229. package/web/chunk-rgbdf2m9.js +0 -370
  230. package/web/chunk-rsbkbg6x.js +0 -78
  231. package/web/chunk-s2bs5vxh.js +0 -2
  232. package/web/chunk-sgwccs54.js +0 -1
  233. package/web/chunk-sjh8gtm9.js +0 -30
  234. package/web/chunk-t3658ehb.js +0 -2
  235. package/web/chunk-t81p4wqc.js +0 -24
  236. package/web/chunk-tewmsd7t.js +0 -1
  237. package/web/chunk-tf57s7ry.js +0 -1
  238. package/web/chunk-tqr80b5w.js +0 -2
  239. package/web/chunk-v282r683.js +0 -24
  240. package/web/chunk-v4vjjtn7.js +0 -1
  241. package/web/chunk-vbwdwcdp.js +0 -1
  242. package/web/chunk-vjngfh0q.js +0 -1
  243. package/web/chunk-vnt34mkb.js +0 -1
  244. package/web/chunk-wbgkwxrc.js +0 -1
  245. package/web/chunk-wjbk50hn.js +0 -2
  246. package/web/chunk-wjy848e2.js +0 -1
  247. package/web/chunk-wqsczy57.js +0 -36
  248. package/web/chunk-wvfmmw1v.js +0 -8
  249. package/web/chunk-x1jm4zsg.js +0 -1
  250. package/web/chunk-xmsb2g71.js +0 -1
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{L}from"./chunk-q9dd6fhj.js";import{b,H}from"./chunk-c7rcw9fb.js";import{i}from"./chunk-bwawt15q.js";var N=i(L()),p=i(b());var f=i(b()),A=i(H());import{createHash as K,createPrivateKey as _,createPublicKey as v,sign as B}from"crypto";import{promises as E}from"fs";import{homedir as q}from"os";import{dirname as U,join as P}from"path";class d{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new f.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();if(new Date(t.expiresAt).getTime()-s<=d.REFRESH_THRESHOLD)return this.refresh(e);return this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),n=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&n>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>d.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:h,CreateOAuth2TokenCommand:y}=await import("./chunk-g0t9c3gv.js"),{logger:m,userAgentAppId:T}=this.callerClientConfig??{},x=((a)=>a?.metadata?.handlerProtocol==="h2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,u=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,k=new h({credentials:{accessKeyId:"",secretAccessKey:""},region:u,requestHandler:x,logger:m,userAgentAppId:T,...this.init?.clientConfig});this.createDPoPInterceptor(k.middlewareStack);let D={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let a=await k.send(new y(D)),{accessKeyId:l,secretAccessKey:w,sessionToken:g}=a.tokenOutput?.accessToken??{},{refreshToken:C,expiresIn:R}=a.tokenOutput??{};if(!l||!w||!g||!C)throw new f.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let F=(R??900)*1000,O=new Date(Date.now()+F),I={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:w,sessionToken:g,expiresAt:O.toISOString()},refreshToken:C};return await this.saveToken(I),this.toCredentials(I.accessToken)}catch(a){if(a.name==="AccessDeniedException"){let w=a.error,g;switch(w){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(a)}. Please re-authenticate using \`aws login\``}throw new f.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(a)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new f.CredentialsProviderError(`Failed to refresh token: ${String(a)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await E.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter((n)=>!s[n]);if(!s.accessToken?.accountId)r.push("accountId");if(r.length>0)throw new f.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new f.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=U(t);try{await E.mkdir(s,{recursive:!0})}catch(r){}await E.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??P(q(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=K("sha256").update(t).digest("hex");return P(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw Error("Invalid DER signature");t++;let n=e[t++],o=e.subarray(t,t+n);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),h=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add((t)=>async(s)=>{if(A.HttpRequest.isInstance(s.request)){let r=s.request,n=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,n);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=v(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let h=o.slice(c+1,c+33),y=o.slice(c+33,c+65),m={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:y.toString("base64url")}},T={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1000)},S=Buffer.from(JSON.stringify(m)).toString("base64url"),x=Buffer.from(JSON.stringify(T)).toString("base64url"),u=`${S}.${x}`,k=B("sha256",Buffer.from(u),r),a=this.derToRawSignature(k).toString("base64url");return`${u}.${a}`}catch(r){throw new f.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}}var j=(e)=>async({callerClientConfig:t}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let s=await p.parseKnownFiles(e||{}),r=p.getProfileName({profile:e?.profile??t?.profile}),n=s[r];if(!n?.login_session)throw new p.CredentialsProviderError(`Profile ${r} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new d(n,e,t).loadCredentials();return N.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};export{j as fromLoginCredentials};
2
+ import{L}from"./chunk-g3ed130w.js";import{b,H}from"./chunk-adys4qq4.js";import{i}from"./chunk-bwawt15q.js";var N=i(L()),p=i(b());var f=i(b()),A=i(H());import{createHash as K,createPrivateKey as _,createPublicKey as v,sign as B}from"crypto";import{promises as E}from"fs";import{homedir as q}from"os";import{dirname as U,join as P}from"path";class d{profileData;init;callerClientConfig;static REFRESH_THRESHOLD=300000;constructor(e,t,s){this.profileData=e,this.init=t,this.callerClientConfig=s}async loadCredentials(){let e=await this.loadToken();if(!e)throw new f.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`,{tryNextLink:!1,logger:this.logger});let t=e.accessToken,s=Date.now();if(new Date(t.expiresAt).getTime()-s<=d.REFRESH_THRESHOLD)return this.refresh(e);return this.toCredentials(e.accessToken)}get logger(){return this.init?.logger}get loginSession(){return this.profileData.login_session}toCredentials(e){return{accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,sessionToken:e.sessionToken,accountId:e.accountId,expiration:new Date(e.expiresAt)}}async refresh(e){let t=await this.loadToken().catch(()=>e),s=Date.now(),r=new Date(t.accessToken.expiresAt).getTime(),n=new Date(e.accessToken.expiresAt).getTime(),o=r<=s&&n>s?e:t;if(new Date(o.accessToken.expiresAt).getTime()-Date.now()>d.REFRESH_THRESHOLD)return this.toCredentials(o.accessToken);let{SigninClient:h,CreateOAuth2TokenCommand:y}=await import("./chunk-6vnjg5x9.js"),{logger:m,userAgentAppId:T}=this.callerClientConfig??{},x=((a)=>a?.metadata?.handlerProtocol==="h2")(this.callerClientConfig?.requestHandler)?void 0:this.callerClientConfig?.requestHandler,u=this.profileData.region??await this.callerClientConfig?.region?.()??process.env.AWS_REGION,k=new h({credentials:{accessKeyId:"",secretAccessKey:""},region:u,requestHandler:x,logger:m,userAgentAppId:T,...this.init?.clientConfig});this.createDPoPInterceptor(k.middlewareStack);let D={tokenInput:{clientId:o.clientId,refreshToken:o.refreshToken,grantType:"refresh_token"}};try{let a=await k.send(new y(D)),{accessKeyId:l,secretAccessKey:w,sessionToken:g}=a.tokenOutput?.accessToken??{},{refreshToken:C,expiresIn:R}=a.tokenOutput??{};if(!l||!w||!g||!C)throw new f.CredentialsProviderError("Token refresh response missing required fields",{logger:this.logger,tryNextLink:!1});let F=(R??900)*1000,O=new Date(Date.now()+F),I={...o,accessToken:{...o.accessToken,accessKeyId:l,secretAccessKey:w,sessionToken:g,expiresAt:O.toISOString()},refreshToken:C};return await this.saveToken(I),this.toCredentials(I.accessToken)}catch(a){if(a.name==="AccessDeniedException"){let w=a.error,g;switch(w){case"TOKEN_EXPIRED":g="Your session has expired. Please reauthenticate.";break;case"USER_CREDENTIALS_CHANGED":g="Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.";break;case"INSUFFICIENT_PERMISSIONS":g="Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.";break;default:g=`Failed to refresh token: ${String(a)}. Please re-authenticate using \`aws login\``}throw new f.CredentialsProviderError(g,{logger:this.logger,tryNextLink:!1})}if(new Date(o.accessToken.expiresAt).getTime()>Date.now())return this.logger?.warn?.(`Failed to refresh token: ${String(a)}. Using existing token until expiry.`),this.toCredentials(o.accessToken);throw new f.CredentialsProviderError(`Failed to refresh token: ${String(a)}. Please re-authenticate using aws login`,{logger:this.logger})}}async loadToken(){let e=this.getTokenFilePath();try{let t=await E.readFile(e,"utf8"),s=JSON.parse(t),r=["accessToken","clientId","refreshToken","dpopKey"].filter((n)=>!s[n]);if(!s.accessToken?.accountId)r.push("accountId");if(r.length>0)throw new f.CredentialsProviderError(`Token validation failed, missing fields: ${r.join(", ")}`,{logger:this.logger,tryNextLink:!1});return s}catch(t){throw new f.CredentialsProviderError(`Failed to load token from ${e}: ${String(t)}`,{logger:this.logger,tryNextLink:!1})}}async saveToken(e){let t=this.getTokenFilePath(),s=U(t);try{await E.mkdir(s,{recursive:!0})}catch(r){}await E.writeFile(t,JSON.stringify(e,null,2),"utf8")}getTokenFilePath(){let e=process.env.AWS_LOGIN_CACHE_DIRECTORY??P(q(),".aws","login","cache"),t=Buffer.from(this.loginSession,"utf8"),s=K("sha256").update(t).digest("hex");return P(e,`${s}.json`)}derToRawSignature(e){let t=2;if(e[t]!==2)throw Error("Invalid DER signature");t++;let s=e[t++],r=e.subarray(t,t+s);if(t+=s,e[t]!==2)throw Error("Invalid DER signature");t++;let n=e[t++],o=e.subarray(t,t+n);r=r[0]===0?r.subarray(1):r,o=o[0]===0?o.subarray(1):o;let c=Buffer.concat([Buffer.alloc(32-r.length),r]),h=Buffer.concat([Buffer.alloc(32-o.length),o]);return Buffer.concat([c,h])}createDPoPInterceptor(e){e.add((t)=>async(s)=>{if(A.HttpRequest.isInstance(s.request)){let r=s.request,n=`${r.protocol}//${r.hostname}${r.port?`:${r.port}`:""}${r.path}`,o=await this.generateDpop(r.method,n);r.headers={...r.headers,DPoP:o}}return t(s)},{step:"finalizeRequest",name:"dpopInterceptor",override:!0})}async generateDpop(e="POST",t){let s=await this.loadToken();try{let r=_({key:s.dpopKey,format:"pem",type:"sec1"}),o=v(r).export({format:"der",type:"spki"}),c=-1;for(let l=0;l<o.length;l++)if(o[l]===4){c=l;break}let h=o.slice(c+1,c+33),y=o.slice(c+33,c+65),m={alg:"ES256",typ:"dpop+jwt",jwk:{kty:"EC",crv:"P-256",x:h.toString("base64url"),y:y.toString("base64url")}},T={jti:crypto.randomUUID(),htm:e,htu:t,iat:Math.floor(Date.now()/1000)},S=Buffer.from(JSON.stringify(m)).toString("base64url"),x=Buffer.from(JSON.stringify(T)).toString("base64url"),u=`${S}.${x}`,k=B("sha256",Buffer.from(u),r),a=this.derToRawSignature(k).toString("base64url");return`${u}.${a}`}catch(r){throw new f.CredentialsProviderError(`Failed to generate Dpop proof: ${r instanceof Error?r.message:String(r)}`,{logger:this.logger,tryNextLink:!1})}}}var j=(e)=>async({callerClientConfig:t}={})=>{e?.logger?.debug?.("@aws-sdk/credential-providers - fromLoginCredentials");let s=await p.parseKnownFiles(e||{}),r=p.getProfileName({profile:e?.profile??t?.profile}),n=s[r];if(!n?.login_session)throw new p.CredentialsProviderError(`Profile ${r} does not contain login_session.`,{tryNextLink:!0,logger:e?.logger});let c=await new d(n,e,t).loadCredentials();return N.setCredentialFeature(c,"CREDENTIALS_LOGIN","AD")};export{j as fromLoginCredentials};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{Be}from"./chunk-ecf896fz.js";import{L}from"./chunk-q9dd6fhj.js";import{b,J,H}from"./chunk-c7rcw9fb.js";import{i}from"./chunk-bwawt15q.js";var w=i(L()),d=i(b()),R=i(Be());import k from"fs/promises";var A=i(b());var y="169.254.170.2",v="169.254.170.23",U="[fd00:ec2::23]",C=(e,o)=>{if(e.protocol==="https:")return;if(e.hostname===y||e.hostname===v||e.hostname===U)return;if(e.hostname.includes("[")){if(e.hostname==="[::1]"||e.hostname==="[0000:0000:0000:0000:0000:0000:0000:0001]")return}else{if(e.hostname==="localhost")return;let n=e.hostname.split("."),r=(t)=>{let s=parseInt(t,10);return 0<=s&&s<=255};if(n[0]==="127"&&r(n[1])&&r(n[2])&&r(n[3])&&n.length===4)return}throw new A.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
2
+ import{Fe}from"./chunk-fpxc6qjr.js";import{L}from"./chunk-g3ed130w.js";import{b,J,H}from"./chunk-adys4qq4.js";import{i}from"./chunk-bwawt15q.js";var w=i(L()),d=i(b()),R=i(Fe());import k from"fs/promises";var A=i(b());var y="169.254.170.2",v="169.254.170.23",U="[fd00:ec2::23]",C=(e,o)=>{if(e.protocol==="https:")return;if(e.hostname===y||e.hostname===v||e.hostname===U)return;if(e.hostname.includes("[")){if(e.hostname==="[::1]"||e.hostname==="[0000:0000:0000:0000:0000:0000:0000:0001]")return}else{if(e.hostname==="localhost")return;let n=e.hostname.split("."),r=(t)=>{let s=parseInt(t,10);return 0<=s&&s<=255};if(n[0]==="127"&&r(n[1])&&r(n[2])&&r(n[3])&&n.length===4)return}throw new A.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:
3
3
  - loopback CIDR 127.0.0.0/8 or [::1/128]
4
4
  - ECS container host 169.254.170.2
5
5
  - EKS container host 169.254.170.23 or [fd00:ec2::23]`,{logger:o})};var c=i(b()),p=i(H()),_=i(J()),f=i(J());function I(e){return new p.HttpRequest({protocol:e.protocol,hostname:e.hostname,port:Number(e.port),path:e.pathname,query:Array.from(e.searchParams.entries()).reduce((o,[n,r])=>(o[n]=r,o),{}),fragment:e.hash})}async function u(e,o){let r=await f.sdkStreamMixin(e.body).transformToString();if(e.statusCode===200){let t=JSON.parse(r);if(typeof t.AccessKeyId!=="string"||typeof t.SecretAccessKey!=="string"||typeof t.Token!=="string"||typeof t.Expiration!=="string")throw new c.CredentialsProviderError("HTTP credential provider response not of the required format, an object matching: { AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }",{logger:o});return{accessKeyId:t.AccessKeyId,secretAccessKey:t.SecretAccessKey,sessionToken:t.Token,expiration:_.parseRfc3339DateTime(t.Expiration)}}if(e.statusCode>=400&&e.statusCode<500){let t={};try{t=JSON.parse(r)}catch(s){}throw Object.assign(new c.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:o}),{Code:t.Code,Message:t.Message})}throw new c.CredentialsProviderError(`Server responded with status: ${e.statusCode}`,{logger:o})}var E=(e,o,n)=>async()=>{for(let r=0;r<o;++r)try{return await e()}catch(t){await new Promise((s)=>setTimeout(s,n))}return await e()};var K="AWS_CONTAINER_CREDENTIALS_RELATIVE_URI",P="http://169.254.170.2",F="AWS_CONTAINER_CREDENTIALS_FULL_URI",x="AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",D="AWS_CONTAINER_AUTHORIZATION_TOKEN",W=(e={})=>{e.logger?.debug("@aws-sdk/credential-provider-http - fromHttp");let o,n=e.awsContainerCredentialsRelativeUri??process.env[K],r=e.awsContainerCredentialsFullUri??process.env[F],t=e.awsContainerAuthorizationToken??process.env[D],s=e.awsContainerAuthorizationTokenFile??process.env[x],a=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?.warn?console.warn:e.logger.warn.bind(e.logger);if(n&&r)a("@aws-sdk/credential-provider-http: you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri."),a("awsContainerCredentialsRelativeUri will take precedence.");if(t&&s)a("@aws-sdk/credential-provider-http: you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile."),a("awsContainerAuthorizationTokenFile will take precedence.");if(n)o=`${P}${n}`;else if(r)o=r;else throw new d.CredentialsProviderError(`No HTTP credential provider host provided.
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{se,De,Ar,Er}from"./chunk-zxkq9m8e.js";import{q,j}from"./chunk-y69ewdn2.js";function a(r,o,s){if(!se(o))throw Error(`${r} returned invalid probabilities for ${s}`);return Object.fromEntries(Object.entries(o).map(([t,e])=>[t,De(r,e,`probability for ${s}.${t}`)]))}function f(r,o,s){if(!se(o))throw Error(`${r} returned an unexpected response`);let t=[];for(let[e,n]of Object.entries(s.questions)){let i=o[e];if(!se(i))throw Error(`${r} did not return an answer for ${e}`);if(n.type==="choice"){if(i.type!=="choice"||typeof i.choice!=="string")throw Error(`${r} did not return a choice answer for ${e}`);t.push([e,{type:"choice",choice:i.choice,probabilities:a(r,i.probabilities,e),confidence:De(r,i.confidence,`confidence for ${e}`)}])}else if(n.type==="score"){if(i.type!=="score")throw Error(`${r} did not return a score answer for ${e}`);t.push([e,{type:"score",score:De(r,i.score,`score for ${e}`),confidence:De(r,i.confidence,`confidence for ${e}`)}])}else{if(i.type!=="noul")throw Error(`${r} did not return a bool answer for ${e}`);t.push([e,{type:"bool",probability:De(r,i.noul,`probability for ${e}`)}])}}return Object.fromEntries(t)}function p(r){return{state:r.state,questions:Object.fromEntries(Object.entries(r.questions).map(([o,s])=>[o,s.type==="bool"?{...s,type:"noul"}:s]))}}async function hr(r,o,s,t){let e={api:o.api,provider:o.provider,model:o.id,answers:{},stopReason:"stop",timestamp:Date.now()};try{if(o.api!==r.api)throw Error(`Unsupported classifier API: ${o.api}`);if(s.images?.length)throw Error(`${r.label} does not support image input`);let n=await Ar(r.label,r.url(o),o,r.payload(o,p(s)),t),i=r.output(n),c=Er(i.usage,o);if(c)e.usage=c;return e.answers=f(r.label,i.answers,s),e}catch(n){return e.stopReason=t?.signal?.aborted?"aborted":"error",e.errorMessage=j(q(n),`${r.label} error`),e}}
2
+ import{ae,Ue,Ar,Er}from"./chunk-2ek3wq4b.js";import{q,V}from"./chunk-ypqjfv3a.js";function a(r,o,s){if(!ae(o))throw Error(`${r} returned invalid probabilities for ${s}`);return Object.fromEntries(Object.entries(o).map(([t,e])=>[t,Ue(r,e,`probability for ${s}.${t}`)]))}function f(r,o,s){if(!ae(o))throw Error(`${r} returned an unexpected response`);let t=[];for(let[e,n]of Object.entries(s.questions)){let i=o[e];if(!ae(i))throw Error(`${r} did not return an answer for ${e}`);if(n.type==="choice"){if(i.type!=="choice"||typeof i.choice!=="string")throw Error(`${r} did not return a choice answer for ${e}`);t.push([e,{type:"choice",choice:i.choice,probabilities:a(r,i.probabilities,e),confidence:Ue(r,i.confidence,`confidence for ${e}`)}])}else if(n.type==="score"){if(i.type!=="score")throw Error(`${r} did not return a score answer for ${e}`);t.push([e,{type:"score",score:Ue(r,i.score,`score for ${e}`),confidence:Ue(r,i.confidence,`confidence for ${e}`)}])}else{if(i.type!=="noul")throw Error(`${r} did not return a bool answer for ${e}`);t.push([e,{type:"bool",probability:Ue(r,i.noul,`probability for ${e}`)}])}}return Object.fromEntries(t)}function p(r){return{state:r.state,questions:Object.fromEntries(Object.entries(r.questions).map(([o,s])=>[o,s.type==="bool"?{...s,type:"noul"}:s]))}}async function hr(r,o,s,t){let e={api:o.api,provider:o.provider,model:o.id,answers:{},stopReason:"stop",timestamp:Date.now()};try{if(o.api!==r.api)throw Error(`Unsupported classifier API: ${o.api}`);if(s.images?.length)throw Error(`${r.label} does not support image input`);let n=await Ar(r.label,r.url(o),o,r.payload(o,p(s)),t),i=r.output(n),c=Er(i.usage,o);if(c)e.usage=c;return e.answers=f(r.label,i.answers,s),e}catch(n){return e.stopReason=t?.signal?.aborted?"aborted":"error",e.errorMessage=V(q(n),`${r.label} error`),e}}
3
3
  export{hr};