@aws-amplify/storage 6.6.0 → 6.6.1-storage-browser.37d5283.0

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 (361) hide show
  1. package/dist/cjs/errors/constants.js +8 -0
  2. package/dist/cjs/errors/constants.js.map +1 -0
  3. package/dist/cjs/errors/types/validation.js +20 -0
  4. package/dist/cjs/errors/types/validation.js.map +1 -1
  5. package/dist/cjs/providers/s3/apis/downloadData.js +3 -3
  6. package/dist/cjs/providers/s3/apis/downloadData.js.map +1 -1
  7. package/dist/cjs/providers/s3/apis/internal/copy.js +59 -14
  8. package/dist/cjs/providers/s3/apis/internal/copy.js.map +1 -1
  9. package/dist/cjs/providers/s3/apis/internal/getProperties.js +3 -4
  10. package/dist/cjs/providers/s3/apis/internal/getProperties.js.map +1 -1
  11. package/dist/cjs/providers/s3/apis/internal/getUrl.js +3 -3
  12. package/dist/cjs/providers/s3/apis/internal/getUrl.js.map +1 -1
  13. package/dist/cjs/providers/s3/apis/internal/list.js +4 -4
  14. package/dist/cjs/providers/s3/apis/internal/list.js.map +1 -1
  15. package/dist/cjs/providers/s3/apis/internal/remove.js +3 -4
  16. package/dist/cjs/providers/s3/apis/internal/remove.js.map +1 -1
  17. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js +22 -2
  18. package/dist/cjs/providers/s3/apis/uploadData/multipart/initialUpload.js.map +1 -1
  19. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js +3 -2
  20. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadCache.js.map +1 -1
  21. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js +19 -8
  22. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadHandlers.js.map +1 -1
  23. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js +20 -11
  24. package/dist/cjs/providers/s3/apis/uploadData/multipart/uploadPartExecutor.js.map +1 -1
  25. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js +20 -7
  26. package/dist/cjs/providers/s3/apis/uploadData/putObjectJob.js.map +1 -1
  27. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js +25 -0
  28. package/dist/cjs/providers/s3/apis/uploadData/validateObjectNotExists.js.map +1 -0
  29. package/dist/cjs/providers/s3/utils/client/s3control/base.js +45 -0
  30. package/dist/cjs/providers/s3/utils/client/s3control/base.js.map +1 -0
  31. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js +58 -0
  32. package/dist/cjs/providers/s3/utils/client/s3control/getDataAccess.js.map +1 -0
  33. package/dist/cjs/providers/s3/utils/client/s3control/index.js +11 -0
  34. package/dist/cjs/providers/s3/utils/client/s3control/index.js.map +1 -0
  35. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js +59 -0
  36. package/dist/cjs/providers/s3/utils/client/s3control/listCallerAccessGrants.js.map +1 -0
  37. package/dist/cjs/providers/s3/utils/client/s3control/types.js.map +1 -0
  38. package/dist/cjs/providers/s3/utils/client/{abortMultipartUpload.js → s3data/abortMultipartUpload.js} +1 -1
  39. package/dist/cjs/providers/s3/utils/client/s3data/abortMultipartUpload.js.map +1 -0
  40. package/dist/cjs/providers/s3/utils/client/{base.js → s3data/base.js} +2 -2
  41. package/dist/cjs/providers/s3/utils/client/s3data/base.js.map +1 -0
  42. package/dist/cjs/providers/s3/utils/client/{completeMultipartUpload.js → s3data/completeMultipartUpload.js} +14 -9
  43. package/dist/cjs/providers/s3/utils/client/s3data/completeMultipartUpload.js.map +1 -0
  44. package/dist/cjs/providers/s3/utils/client/{copyObject.js → s3data/copyObject.js} +1 -1
  45. package/dist/cjs/providers/s3/utils/client/s3data/copyObject.js.map +1 -0
  46. package/dist/cjs/providers/s3/utils/client/{createMultipartUpload.js → s3data/createMultipartUpload.js} +7 -2
  47. package/dist/cjs/providers/s3/utils/client/s3data/createMultipartUpload.js.map +1 -0
  48. package/dist/cjs/providers/s3/utils/client/{deleteObject.js → s3data/deleteObject.js} +1 -1
  49. package/dist/cjs/providers/s3/utils/client/s3data/deleteObject.js.map +1 -0
  50. package/dist/cjs/providers/s3/utils/client/{getObject.js → s3data/getObject.js} +1 -1
  51. package/dist/cjs/providers/s3/utils/client/s3data/getObject.js.map +1 -0
  52. package/dist/cjs/providers/s3/utils/client/{headObject.js → s3data/headObject.js} +1 -1
  53. package/dist/cjs/providers/s3/utils/client/s3data/headObject.js.map +1 -0
  54. package/dist/cjs/providers/s3/utils/client/s3data/index.js.map +1 -0
  55. package/dist/cjs/providers/s3/utils/client/{listObjectsV2.js → s3data/listObjectsV2.js} +1 -1
  56. package/dist/cjs/providers/s3/utils/client/s3data/listObjectsV2.js.map +1 -0
  57. package/dist/cjs/providers/s3/utils/client/{listParts.js → s3data/listParts.js} +2 -1
  58. package/dist/cjs/providers/s3/utils/client/s3data/listParts.js.map +1 -0
  59. package/dist/cjs/providers/s3/utils/client/{putObject.js → s3data/putObject.js} +2 -1
  60. package/dist/cjs/providers/s3/utils/client/s3data/putObject.js.map +1 -0
  61. package/dist/cjs/providers/s3/utils/client/s3data/types.js +6 -0
  62. package/dist/cjs/providers/s3/utils/client/s3data/types.js.map +1 -0
  63. package/dist/cjs/providers/s3/utils/client/{uploadPart.js → s3data/uploadPart.js} +3 -2
  64. package/dist/cjs/providers/s3/utils/client/s3data/uploadPart.js.map +1 -0
  65. package/dist/cjs/providers/s3/utils/client/utils/index.js +3 -1
  66. package/dist/cjs/providers/s3/utils/client/utils/index.js.map +1 -1
  67. package/dist/cjs/providers/s3/utils/client/utils/retryDecider.js +61 -0
  68. package/dist/cjs/providers/s3/utils/client/utils/retryDecider.js.map +1 -0
  69. package/dist/cjs/providers/s3/utils/crc32.js +37 -0
  70. package/dist/cjs/providers/s3/utils/crc32.js.map +1 -0
  71. package/dist/cjs/providers/s3/utils/crc32.native.js +11 -0
  72. package/dist/cjs/providers/s3/utils/crc32.native.js.map +1 -0
  73. package/dist/cjs/providers/s3/utils/resolveIdentityId.js +14 -0
  74. package/dist/cjs/providers/s3/utils/resolveIdentityId.js.map +1 -0
  75. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js +74 -14
  76. package/dist/cjs/providers/s3/utils/resolveS3ConfigAndInput.js.map +1 -1
  77. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js +4 -1
  78. package/dist/cjs/providers/s3/utils/validateStorageOperationInput.js.map +1 -1
  79. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js +4 -1
  80. package/dist/cjs/providers/s3/utils/validateStorageOperationInputWithPrefix.js.map +1 -1
  81. package/dist/cjs/storageBrowser/apis/constants.js +9 -0
  82. package/dist/cjs/storageBrowser/apis/constants.js.map +1 -0
  83. package/dist/cjs/storageBrowser/apis/getDataAccess.js +57 -0
  84. package/dist/cjs/storageBrowser/apis/getDataAccess.js.map +1 -0
  85. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js +79 -0
  86. package/dist/cjs/storageBrowser/apis/listCallerAccessGrants.js.map +1 -0
  87. package/dist/cjs/storageBrowser/apis/types.js +6 -0
  88. package/dist/cjs/storageBrowser/apis/types.js.map +1 -0
  89. package/dist/cjs/storageBrowser/index.js +11 -0
  90. package/dist/cjs/storageBrowser/index.js.map +1 -0
  91. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js +9 -0
  92. package/dist/cjs/storageBrowser/locationCredentialsStore/constants.js.map +1 -0
  93. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js +36 -0
  94. package/dist/cjs/storageBrowser/locationCredentialsStore/create.js.map +1 -0
  95. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js +9 -0
  96. package/dist/cjs/storageBrowser/locationCredentialsStore/index.js.map +1 -0
  97. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js +58 -0
  98. package/dist/cjs/storageBrowser/locationCredentialsStore/registry.js.map +1 -0
  99. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js +99 -0
  100. package/dist/cjs/storageBrowser/locationCredentialsStore/store.js.map +1 -0
  101. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js +15 -0
  102. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.js.map +1 -0
  103. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js +29 -0
  104. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.js.map +1 -0
  105. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js +32 -0
  106. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.js.map +1 -0
  107. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js +9 -0
  108. package/dist/cjs/storageBrowser/managedAuthConfigAdapter/index.js.map +1 -0
  109. package/dist/cjs/storageBrowser/types.js +6 -0
  110. package/dist/cjs/storageBrowser/types.js.map +1 -0
  111. package/dist/esm/errors/constants.d.ts +1 -0
  112. package/dist/esm/errors/constants.mjs +6 -0
  113. package/dist/esm/errors/constants.mjs.map +1 -0
  114. package/dist/esm/errors/types/validation.d.ts +6 -1
  115. package/dist/esm/errors/types/validation.mjs +20 -0
  116. package/dist/esm/errors/types/validation.mjs.map +1 -1
  117. package/dist/esm/providers/s3/apis/downloadData.mjs +13 -13
  118. package/dist/esm/providers/s3/apis/downloadData.mjs.map +1 -1
  119. package/dist/esm/providers/s3/apis/internal/copy.mjs +69 -24
  120. package/dist/esm/providers/s3/apis/internal/copy.mjs.map +1 -1
  121. package/dist/esm/providers/s3/apis/internal/getProperties.mjs +13 -14
  122. package/dist/esm/providers/s3/apis/internal/getProperties.mjs.map +1 -1
  123. package/dist/esm/providers/s3/apis/internal/getUrl.mjs +13 -13
  124. package/dist/esm/providers/s3/apis/internal/getUrl.mjs.map +1 -1
  125. package/dist/esm/providers/s3/apis/internal/list.mjs +13 -13
  126. package/dist/esm/providers/s3/apis/internal/list.mjs.map +1 -1
  127. package/dist/esm/providers/s3/apis/internal/remove.mjs +13 -14
  128. package/dist/esm/providers/s3/apis/internal/remove.mjs.map +1 -1
  129. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.d.ts +2 -1
  130. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs +32 -12
  131. package/dist/esm/providers/s3/apis/uploadData/multipart/initialUpload.mjs.map +1 -1
  132. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.d.ts +3 -1
  133. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs +13 -12
  134. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadCache.mjs.map +1 -1
  135. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs +27 -16
  136. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadHandlers.mjs.map +1 -1
  137. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.d.ts +3 -2
  138. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs +27 -18
  139. package/dist/esm/providers/s3/apis/uploadData/multipart/uploadPartExecutor.mjs.map +1 -1
  140. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs +30 -17
  141. package/dist/esm/providers/s3/apis/uploadData/putObjectJob.mjs.map +1 -1
  142. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.d.ts +3 -0
  143. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs +34 -0
  144. package/dist/esm/providers/s3/apis/uploadData/validateObjectNotExists.mjs.map +1 -0
  145. package/dist/esm/providers/s3/types/index.d.ts +1 -1
  146. package/dist/esm/providers/s3/types/inputs.d.ts +5 -2
  147. package/dist/esm/providers/s3/types/options.d.ts +38 -1
  148. package/dist/esm/providers/s3/utils/client/s3control/base.d.ts +31 -0
  149. package/dist/esm/providers/s3/utils/client/s3control/base.mjs +48 -0
  150. package/dist/esm/providers/s3/utils/client/s3control/base.mjs.map +1 -0
  151. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.d.ts +26 -0
  152. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs +63 -0
  153. package/dist/esm/providers/s3/utils/client/s3control/getDataAccess.mjs.map +1 -0
  154. package/dist/esm/providers/s3/utils/client/s3control/index.d.ts +2 -0
  155. package/dist/esm/providers/s3/utils/client/s3control/index.mjs +3 -0
  156. package/dist/esm/providers/s3/utils/client/s3control/index.mjs.map +1 -0
  157. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.d.ts +26 -0
  158. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs +64 -0
  159. package/dist/esm/providers/s3/utils/client/s3control/listCallerAccessGrants.mjs.map +1 -0
  160. package/dist/esm/providers/s3/utils/client/s3control/types.d.ts +176 -0
  161. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.d.ts → s3data/abortMultipartUpload.d.ts} +4 -4
  162. package/dist/esm/providers/s3/utils/client/{abortMultipartUpload.mjs → s3data/abortMultipartUpload.mjs} +6 -6
  163. package/dist/esm/providers/s3/utils/client/s3data/abortMultipartUpload.mjs.map +1 -0
  164. package/dist/esm/providers/s3/utils/client/{base.d.ts → s3data/base.d.ts} +1 -1
  165. package/dist/esm/providers/s3/utils/client/{base.mjs → s3data/base.mjs} +5 -5
  166. package/dist/esm/providers/s3/utils/client/s3data/base.mjs.map +1 -0
  167. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.d.ts → s3data/completeMultipartUpload.d.ts} +6 -6
  168. package/dist/esm/providers/s3/utils/client/{completeMultipartUpload.mjs → s3data/completeMultipartUpload.mjs} +20 -14
  169. package/dist/esm/providers/s3/utils/client/s3data/completeMultipartUpload.mjs.map +1 -0
  170. package/dist/esm/providers/s3/utils/client/{copyObject.d.ts → s3data/copyObject.d.ts} +4 -4
  171. package/dist/esm/providers/s3/utils/client/{copyObject.mjs → s3data/copyObject.mjs} +6 -6
  172. package/dist/esm/providers/s3/utils/client/s3data/copyObject.mjs.map +1 -0
  173. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.d.ts → s3data/createMultipartUpload.d.ts} +4 -4
  174. package/dist/esm/providers/s3/utils/client/{createMultipartUpload.mjs → s3data/createMultipartUpload.mjs} +12 -7
  175. package/dist/esm/providers/s3/utils/client/s3data/createMultipartUpload.mjs.map +1 -0
  176. package/dist/esm/providers/s3/utils/client/{deleteObject.d.ts → s3data/deleteObject.d.ts} +4 -4
  177. package/dist/esm/providers/s3/utils/client/{deleteObject.mjs → s3data/deleteObject.mjs} +6 -6
  178. package/dist/esm/providers/s3/utils/client/s3data/deleteObject.mjs.map +1 -0
  179. package/dist/esm/providers/s3/utils/client/{getObject.d.ts → s3data/getObject.d.ts} +4 -4
  180. package/dist/esm/providers/s3/utils/client/{getObject.mjs → s3data/getObject.mjs} +7 -7
  181. package/dist/esm/providers/s3/utils/client/s3data/getObject.mjs.map +1 -0
  182. package/dist/esm/providers/s3/utils/client/{headObject.d.ts → s3data/headObject.d.ts} +4 -4
  183. package/dist/esm/providers/s3/utils/client/{headObject.mjs → s3data/headObject.mjs} +6 -6
  184. package/dist/esm/providers/s3/utils/client/s3data/headObject.mjs.map +1 -0
  185. package/dist/esm/providers/s3/utils/client/{listObjectsV2.d.ts → s3data/listObjectsV2.d.ts} +4 -4
  186. package/dist/esm/providers/s3/utils/client/{listObjectsV2.mjs → s3data/listObjectsV2.mjs} +6 -6
  187. package/dist/esm/providers/s3/utils/client/s3data/listObjectsV2.mjs.map +1 -0
  188. package/dist/esm/providers/s3/utils/client/{listParts.d.ts → s3data/listParts.d.ts} +4 -4
  189. package/dist/esm/providers/s3/utils/client/{listParts.mjs → s3data/listParts.mjs} +7 -6
  190. package/dist/esm/providers/s3/utils/client/s3data/listParts.mjs.map +1 -0
  191. package/dist/esm/providers/s3/utils/client/{putObject.d.ts → s3data/putObject.d.ts} +5 -5
  192. package/dist/esm/providers/s3/utils/client/{putObject.mjs → s3data/putObject.mjs} +7 -6
  193. package/dist/esm/providers/s3/utils/client/s3data/putObject.mjs.map +1 -0
  194. package/dist/esm/providers/s3/utils/client/s3data/types.mjs +2 -0
  195. package/dist/esm/providers/s3/utils/client/s3data/types.mjs.map +1 -0
  196. package/dist/esm/providers/s3/utils/client/{uploadPart.d.ts → s3data/uploadPart.d.ts} +5 -5
  197. package/dist/esm/providers/s3/utils/client/{uploadPart.mjs → s3data/uploadPart.mjs} +8 -7
  198. package/dist/esm/providers/s3/utils/client/s3data/uploadPart.mjs.map +1 -0
  199. package/dist/esm/providers/s3/utils/client/utils/index.d.ts +1 -0
  200. package/dist/esm/providers/s3/utils/client/utils/index.mjs +1 -0
  201. package/dist/esm/providers/s3/utils/client/utils/index.mjs.map +1 -1
  202. package/dist/esm/providers/s3/utils/client/utils/retryDecider.d.ts +13 -0
  203. package/dist/esm/providers/s3/utils/client/utils/retryDecider.mjs +59 -0
  204. package/dist/esm/providers/s3/utils/client/utils/retryDecider.mjs.map +1 -0
  205. package/dist/esm/providers/s3/utils/crc32.d.ts +6 -0
  206. package/dist/esm/providers/s3/utils/crc32.mjs +34 -0
  207. package/dist/esm/providers/s3/utils/crc32.mjs.map +1 -0
  208. package/dist/esm/providers/s3/utils/crc32.native.d.ts +2 -0
  209. package/dist/esm/providers/s3/utils/crc32.native.mjs +8 -0
  210. package/dist/esm/providers/s3/utils/crc32.native.mjs.map +1 -0
  211. package/dist/esm/providers/s3/utils/resolveIdentityId.d.ts +1 -0
  212. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs +12 -0
  213. package/dist/esm/providers/s3/utils/resolveIdentityId.mjs.map +1 -0
  214. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.d.ts +11 -2
  215. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs +72 -12
  216. package/dist/esm/providers/s3/utils/resolveS3ConfigAndInput.mjs.map +1 -1
  217. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs +4 -1
  218. package/dist/esm/providers/s3/utils/validateStorageOperationInput.mjs.map +1 -1
  219. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs +4 -1
  220. package/dist/esm/providers/s3/utils/validateStorageOperationInputWithPrefix.mjs.map +1 -1
  221. package/dist/esm/storageBrowser/apis/constants.d.ts +2 -0
  222. package/dist/esm/storageBrowser/apis/constants.mjs +7 -0
  223. package/dist/esm/storageBrowser/apis/constants.mjs.map +1 -0
  224. package/dist/esm/storageBrowser/apis/getDataAccess.d.ts +2 -0
  225. package/dist/esm/storageBrowser/apis/getDataAccess.mjs +57 -0
  226. package/dist/esm/storageBrowser/apis/getDataAccess.mjs.map +1 -0
  227. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.d.ts +2 -0
  228. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs +79 -0
  229. package/dist/esm/storageBrowser/apis/listCallerAccessGrants.mjs.map +1 -0
  230. package/dist/esm/storageBrowser/apis/types.d.ts +18 -0
  231. package/dist/esm/storageBrowser/apis/types.mjs +2 -0
  232. package/dist/esm/storageBrowser/apis/types.mjs.map +1 -0
  233. package/dist/esm/storageBrowser/index.d.ts +6 -0
  234. package/dist/esm/storageBrowser/index.mjs +3 -0
  235. package/dist/esm/storageBrowser/index.mjs.map +1 -0
  236. package/dist/esm/storageBrowser/locationCredentialsStore/constants.d.ts +2 -0
  237. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs +7 -0
  238. package/dist/esm/storageBrowser/locationCredentialsStore/constants.mjs.map +1 -0
  239. package/dist/esm/storageBrowser/locationCredentialsStore/create.d.ts +2 -0
  240. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs +34 -0
  241. package/dist/esm/storageBrowser/locationCredentialsStore/create.mjs.map +1 -0
  242. package/dist/esm/storageBrowser/locationCredentialsStore/index.d.ts +1 -0
  243. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs +2 -0
  244. package/dist/esm/storageBrowser/locationCredentialsStore/index.mjs.map +1 -0
  245. package/dist/esm/storageBrowser/locationCredentialsStore/registry.d.ts +23 -0
  246. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs +54 -0
  247. package/dist/esm/storageBrowser/locationCredentialsStore/registry.mjs.map +1 -0
  248. package/dist/esm/storageBrowser/locationCredentialsStore/store.d.ts +35 -0
  249. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs +95 -0
  250. package/dist/esm/storageBrowser/locationCredentialsStore/store.mjs.map +1 -0
  251. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.d.ts +8 -0
  252. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs +13 -0
  253. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.mjs.map +1 -0
  254. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.d.ts +8 -0
  255. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs +27 -0
  256. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.mjs.map +1 -0
  257. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.d.ts +19 -0
  258. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs +30 -0
  259. package/dist/esm/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.mjs.map +1 -0
  260. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.d.ts +1 -0
  261. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs +2 -0
  262. package/dist/esm/storageBrowser/managedAuthConfigAdapter/index.mjs.map +1 -0
  263. package/dist/esm/storageBrowser/types.d.ts +92 -0
  264. package/dist/esm/storageBrowser/types.mjs +2 -0
  265. package/dist/esm/storageBrowser/types.mjs.map +1 -0
  266. package/dist/esm/types/inputs.d.ts +3 -3
  267. package/package.json +117 -107
  268. package/src/errors/constants.ts +4 -0
  269. package/src/errors/types/validation.ts +21 -0
  270. package/src/providers/s3/apis/downloadData.ts +2 -2
  271. package/src/providers/s3/apis/internal/copy.ts +77 -23
  272. package/src/providers/s3/apis/internal/getProperties.ts +2 -3
  273. package/src/providers/s3/apis/internal/getUrl.ts +2 -2
  274. package/src/providers/s3/apis/internal/list.ts +3 -3
  275. package/src/providers/s3/apis/internal/remove.ts +2 -3
  276. package/src/providers/s3/apis/uploadData/multipart/initialUpload.ts +30 -1
  277. package/src/providers/s3/apis/uploadData/multipart/uploadCache.ts +4 -1
  278. package/src/providers/s3/apis/uploadData/multipart/uploadHandlers.ts +36 -17
  279. package/src/providers/s3/apis/uploadData/multipart/uploadPartExecutor.ts +23 -7
  280. package/src/providers/s3/apis/uploadData/putObjectJob.ts +22 -5
  281. package/src/providers/s3/apis/uploadData/validateObjectNotExists.ts +25 -0
  282. package/src/providers/s3/types/index.ts +2 -0
  283. package/src/providers/s3/types/inputs.ts +11 -1
  284. package/src/providers/s3/types/options.ts +51 -1
  285. package/src/providers/s3/utils/client/s3control/base.ts +70 -0
  286. package/src/providers/s3/utils/client/s3control/getDataAccess.ts +97 -0
  287. package/src/providers/s3/utils/client/s3control/index.ts +13 -0
  288. package/src/providers/s3/utils/client/s3control/listCallerAccessGrants.ts +104 -0
  289. package/src/providers/s3/utils/client/s3control/types.ts +213 -0
  290. package/src/providers/s3/utils/client/{abortMultipartUpload.ts → s3data/abortMultipartUpload.ts} +4 -3
  291. package/src/providers/s3/utils/client/{base.ts → s3data/base.ts} +2 -3
  292. package/src/providers/s3/utils/client/{completeMultipartUpload.ts → s3data/completeMultipartUpload.ts} +29 -18
  293. package/src/providers/s3/utils/client/{copyObject.ts → s3data/copyObject.ts} +4 -3
  294. package/src/providers/s3/utils/client/{createMultipartUpload.ts → s3data/createMultipartUpload.ts} +15 -8
  295. package/src/providers/s3/utils/client/{deleteObject.ts → s3data/deleteObject.ts} +7 -6
  296. package/src/providers/s3/utils/client/{getObject.ts → s3data/getObject.ts} +8 -7
  297. package/src/providers/s3/utils/client/{headObject.ts → s3data/headObject.ts} +4 -3
  298. package/src/providers/s3/utils/client/{listObjectsV2.ts → s3data/listObjectsV2.ts} +7 -6
  299. package/src/providers/s3/utils/client/{listParts.ts → s3data/listParts.ts} +9 -7
  300. package/src/providers/s3/utils/client/{putObject.ts → s3data/putObject.ts} +6 -3
  301. package/src/providers/s3/utils/client/{uploadPart.ts → s3data/uploadPart.ts} +13 -5
  302. package/src/providers/s3/utils/client/utils/index.ts +1 -0
  303. package/src/providers/s3/utils/client/utils/retryDecider.ts +81 -0
  304. package/src/providers/s3/utils/crc32.native.ts +11 -0
  305. package/src/providers/s3/utils/crc32.ts +51 -0
  306. package/src/providers/s3/utils/resolveIdentityId.ts +11 -0
  307. package/src/providers/s3/utils/resolveS3ConfigAndInput.ts +142 -16
  308. package/src/providers/s3/utils/validateStorageOperationInput.ts +5 -1
  309. package/src/providers/s3/utils/validateStorageOperationInputWithPrefix.ts +5 -1
  310. package/src/storageBrowser/apis/constants.ts +5 -0
  311. package/src/storageBrowser/apis/getDataAccess.ts +79 -0
  312. package/src/storageBrowser/apis/listCallerAccessGrants.ts +107 -0
  313. package/src/storageBrowser/apis/types.ts +33 -0
  314. package/src/storageBrowser/index.ts +25 -0
  315. package/src/storageBrowser/locationCredentialsStore/constants.ts +5 -0
  316. package/src/storageBrowser/locationCredentialsStore/create.ts +54 -0
  317. package/src/storageBrowser/locationCredentialsStore/index.ts +4 -0
  318. package/src/storageBrowser/locationCredentialsStore/registry.ts +88 -0
  319. package/src/storageBrowser/locationCredentialsStore/store.ts +161 -0
  320. package/src/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.ts +21 -0
  321. package/src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts +40 -0
  322. package/src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts +53 -0
  323. package/src/storageBrowser/managedAuthConfigAdapter/index.ts +8 -0
  324. package/src/storageBrowser/types.ts +117 -0
  325. package/src/types/inputs.ts +7 -3
  326. package/dist/cjs/providers/s3/utils/client/abortMultipartUpload.js.map +0 -1
  327. package/dist/cjs/providers/s3/utils/client/base.js.map +0 -1
  328. package/dist/cjs/providers/s3/utils/client/completeMultipartUpload.js.map +0 -1
  329. package/dist/cjs/providers/s3/utils/client/copyObject.js.map +0 -1
  330. package/dist/cjs/providers/s3/utils/client/createMultipartUpload.js.map +0 -1
  331. package/dist/cjs/providers/s3/utils/client/deleteObject.js.map +0 -1
  332. package/dist/cjs/providers/s3/utils/client/getObject.js.map +0 -1
  333. package/dist/cjs/providers/s3/utils/client/headObject.js.map +0 -1
  334. package/dist/cjs/providers/s3/utils/client/index.js.map +0 -1
  335. package/dist/cjs/providers/s3/utils/client/listObjectsV2.js.map +0 -1
  336. package/dist/cjs/providers/s3/utils/client/listParts.js.map +0 -1
  337. package/dist/cjs/providers/s3/utils/client/putObject.js.map +0 -1
  338. package/dist/cjs/providers/s3/utils/client/types.js.map +0 -1
  339. package/dist/cjs/providers/s3/utils/client/uploadPart.js.map +0 -1
  340. package/dist/esm/providers/s3/utils/client/abortMultipartUpload.mjs.map +0 -1
  341. package/dist/esm/providers/s3/utils/client/base.mjs.map +0 -1
  342. package/dist/esm/providers/s3/utils/client/completeMultipartUpload.mjs.map +0 -1
  343. package/dist/esm/providers/s3/utils/client/copyObject.mjs.map +0 -1
  344. package/dist/esm/providers/s3/utils/client/createMultipartUpload.mjs.map +0 -1
  345. package/dist/esm/providers/s3/utils/client/deleteObject.mjs.map +0 -1
  346. package/dist/esm/providers/s3/utils/client/getObject.mjs.map +0 -1
  347. package/dist/esm/providers/s3/utils/client/headObject.mjs.map +0 -1
  348. package/dist/esm/providers/s3/utils/client/listObjectsV2.mjs.map +0 -1
  349. package/dist/esm/providers/s3/utils/client/listParts.mjs.map +0 -1
  350. package/dist/esm/providers/s3/utils/client/putObject.mjs.map +0 -1
  351. package/dist/esm/providers/s3/utils/client/uploadPart.mjs.map +0 -1
  352. /package/dist/cjs/providers/s3/utils/client/{types.js → s3control/types.js} +0 -0
  353. /package/dist/cjs/providers/s3/utils/client/{index.js → s3data/index.js} +0 -0
  354. /package/dist/esm/providers/s3/utils/client/{types.mjs → s3control/types.mjs} +0 -0
  355. /package/dist/esm/providers/s3/utils/client/{types.mjs.map → s3control/types.mjs.map} +0 -0
  356. /package/dist/esm/providers/s3/utils/client/{index.d.ts → s3data/index.d.ts} +0 -0
  357. /package/dist/esm/providers/s3/utils/client/{index.mjs → s3data/index.mjs} +0 -0
  358. /package/dist/esm/providers/s3/utils/client/{index.mjs.map → s3data/index.mjs.map} +0 -0
  359. /package/dist/esm/providers/s3/utils/client/{types.d.ts → s3data/types.d.ts} +0 -0
  360. /package/src/providers/s3/utils/client/{index.ts → s3data/index.ts} +0 -0
  361. /package/src/providers/s3/utils/client/{types.ts → s3data/types.ts} +0 -0
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.listCallerAccessGrants = void 0;
7
+ const utils_1 = require("@aws-amplify/core/internals/utils");
8
+ const utils_2 = require("../../utils");
9
+ const s3control_1 = require("../../providers/s3/utils/client/s3control");
10
+ const StorageError_1 = require("../../errors/StorageError");
11
+ const userAgent_1 = require("../../providers/s3/utils/userAgent");
12
+ const constants_1 = require("./constants");
13
+ const listCallerAccessGrants = async (input) => {
14
+ const { credentialsProvider, accountId, region, nextToken, pageSize } = input;
15
+ utils_2.logger.debug(`listing available locations from account ${input.accountId}`);
16
+ if (!!pageSize && pageSize > constants_1.MAX_PAGE_SIZE) {
17
+ utils_2.logger.debug(`defaulting pageSize to ${constants_1.MAX_PAGE_SIZE}.`);
18
+ }
19
+ const clientCredentialsProvider = async (options) => {
20
+ const { credentials } = await credentialsProvider(options);
21
+ return credentials;
22
+ };
23
+ const { CallerAccessGrantsList, NextToken } = await (0, s3control_1.listCallerAccessGrants)({
24
+ credentials: clientCredentialsProvider,
25
+ region,
26
+ userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.ListCallerAccessGrants),
27
+ }, {
28
+ AccountId: accountId,
29
+ NextToken: nextToken,
30
+ MaxResults: pageSize ?? constants_1.MAX_PAGE_SIZE,
31
+ });
32
+ const accessGrants = CallerAccessGrantsList?.map(grant => {
33
+ // These values are correct from service mostly, but we add assertions to make TSC happy.
34
+ assertPermission(grant.Permission);
35
+ assertGrantScope(grant.GrantScope);
36
+ return {
37
+ scope: grant.GrantScope,
38
+ permission: grant.Permission,
39
+ type: parseGrantType(grant.GrantScope),
40
+ };
41
+ }) ?? [];
42
+ return {
43
+ locations: accessGrants,
44
+ nextToken: NextToken,
45
+ };
46
+ };
47
+ exports.listCallerAccessGrants = listCallerAccessGrants;
48
+ const parseGrantType = (grantScope) => {
49
+ const bucketScopeReg = /^s3:\/\/(.*)\/\*$/;
50
+ const possibleBucketName = grantScope.match(bucketScopeReg)?.[1];
51
+ if (!grantScope.endsWith('*')) {
52
+ return 'OBJECT';
53
+ }
54
+ else if (grantScope.endsWith('/*') &&
55
+ possibleBucketName &&
56
+ possibleBucketName.indexOf('/') === -1) {
57
+ return 'BUCKET';
58
+ }
59
+ else {
60
+ return 'PREFIX';
61
+ }
62
+ };
63
+ function assertPermission(permissionValue) {
64
+ if (!['READ', 'READWRITE', 'WRITE'].includes(permissionValue ?? '')) {
65
+ throw new StorageError_1.StorageError({
66
+ name: 'InvalidPermission',
67
+ message: `Invalid permission: ${permissionValue}`,
68
+ });
69
+ }
70
+ }
71
+ function assertGrantScope(value) {
72
+ if (typeof value !== 'string' || !value.startsWith('s3://')) {
73
+ throw new StorageError_1.StorageError({
74
+ name: 'InvalidGrantScope',
75
+ message: `Expected a valid grant scope, got ${value}`,
76
+ });
77
+ }
78
+ }
79
+ //# sourceMappingURL=listCallerAccessGrants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listCallerAccessGrants.js","sources":["../../../../src/storageBrowser/apis/listCallerAccessGrants.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listCallerAccessGrants = void 0;\nconst utils_1 = require(\"@aws-amplify/core/internals/utils\");\nconst utils_2 = require(\"../../utils\");\nconst s3control_1 = require(\"../../providers/s3/utils/client/s3control\");\nconst StorageError_1 = require(\"../../errors/StorageError\");\nconst userAgent_1 = require(\"../../providers/s3/utils/userAgent\");\nconst constants_1 = require(\"./constants\");\nconst listCallerAccessGrants = async (input) => {\n const { credentialsProvider, accountId, region, nextToken, pageSize } = input;\n utils_2.logger.debug(`listing available locations from account ${input.accountId}`);\n if (!!pageSize && pageSize > constants_1.MAX_PAGE_SIZE) {\n utils_2.logger.debug(`defaulting pageSize to ${constants_1.MAX_PAGE_SIZE}.`);\n }\n const clientCredentialsProvider = async (options) => {\n const { credentials } = await credentialsProvider(options);\n return credentials;\n };\n const { CallerAccessGrantsList, NextToken } = await (0, s3control_1.listCallerAccessGrants)({\n credentials: clientCredentialsProvider,\n region,\n userAgentValue: (0, userAgent_1.getStorageUserAgentValue)(utils_1.StorageAction.ListCallerAccessGrants),\n }, {\n AccountId: accountId,\n NextToken: nextToken,\n MaxResults: pageSize ?? constants_1.MAX_PAGE_SIZE,\n });\n const accessGrants = CallerAccessGrantsList?.map(grant => {\n // These values are correct from service mostly, but we add assertions to make TSC happy.\n assertPermission(grant.Permission);\n assertGrantScope(grant.GrantScope);\n return {\n scope: grant.GrantScope,\n permission: grant.Permission,\n type: parseGrantType(grant.GrantScope),\n };\n }) ?? [];\n return {\n locations: accessGrants,\n nextToken: NextToken,\n };\n};\nexports.listCallerAccessGrants = listCallerAccessGrants;\nconst parseGrantType = (grantScope) => {\n const bucketScopeReg = /^s3:\\/\\/(.*)\\/\\*$/;\n const possibleBucketName = grantScope.match(bucketScopeReg)?.[1];\n if (!grantScope.endsWith('*')) {\n return 'OBJECT';\n }\n else if (grantScope.endsWith('/*') &&\n possibleBucketName &&\n possibleBucketName.indexOf('/') === -1) {\n return 'BUCKET';\n }\n else {\n return 'PREFIX';\n }\n};\nfunction assertPermission(permissionValue) {\n if (!['READ', 'READWRITE', 'WRITE'].includes(permissionValue ?? '')) {\n throw new StorageError_1.StorageError({\n name: 'InvalidPermission',\n message: `Invalid permission: ${permissionValue}`,\n });\n }\n}\nfunction assertGrantScope(value) {\n if (typeof value !== 'string' || !value.startsWith('s3://')) {\n throw new StorageError_1.StorageError({\n name: 'InvalidGrantScope',\n message: `Expected a valid grant scope, got ${value}`,\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../../src/storageBrowser/apis/types.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createManagedAuthConfigAdapter = exports.createLocationCredentialsStore = void 0;
7
+ var locationCredentialsStore_1 = require("./locationCredentialsStore");
8
+ Object.defineProperty(exports, "createLocationCredentialsStore", { enumerable: true, get: function () { return locationCredentialsStore_1.createLocationCredentialsStore; } });
9
+ var managedAuthConfigAdapter_1 = require("./managedAuthConfigAdapter");
10
+ Object.defineProperty(exports, "createManagedAuthConfigAdapter", { enumerable: true, get: function () { return managedAuthConfigAdapter_1.createManagedAuthConfigAdapter; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/storageBrowser/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createManagedAuthConfigAdapter = exports.createLocationCredentialsStore = void 0;\nvar locationCredentialsStore_1 = require(\"./locationCredentialsStore\");\nObject.defineProperty(exports, \"createLocationCredentialsStore\", { enumerable: true, get: function () { return locationCredentialsStore_1.createLocationCredentialsStore; } });\nvar managedAuthConfigAdapter_1 = require(\"./managedAuthConfigAdapter\");\nObject.defineProperty(exports, \"createManagedAuthConfigAdapter\", { enumerable: true, get: function () { return managedAuthConfigAdapter_1.createManagedAuthConfigAdapter; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,8BAA8B,GAAG,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AACzF,IAAI,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACvE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,0BAA0B,CAAC,8BAA8B,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/K,IAAI,0BAA0B,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACvE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,0BAA0B,CAAC,8BAA8B,CAAC,EAAE,EAAE,CAAC;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CREDENTIALS_REFRESH_WINDOW_MS = exports.CREDENTIALS_STORE_DEFAULT_SIZE = void 0;
7
+ exports.CREDENTIALS_STORE_DEFAULT_SIZE = 10;
8
+ exports.CREDENTIALS_REFRESH_WINDOW_MS = 30000;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/storageBrowser/locationCredentialsStore/constants.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CREDENTIALS_REFRESH_WINDOW_MS = exports.CREDENTIALS_STORE_DEFAULT_SIZE = void 0;\nexports.CREDENTIALS_STORE_DEFAULT_SIZE = 10;\nexports.CREDENTIALS_REFRESH_WINDOW_MS = 30000;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AACxF,OAAO,CAAC,8BAA8B,GAAG,EAAE,CAAC;AAC5C,OAAO,CAAC,6BAA6B,GAAG,KAAK;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLocationCredentialsStore = void 0;
7
+ const validation_1 = require("../../errors/types/validation");
8
+ const assertValidationError_1 = require("../../errors/utils/assertValidationError");
9
+ const registry_1 = require("./registry");
10
+ const createLocationCredentialsStore = (input) => {
11
+ const storeSymbol = (0, registry_1.createStore)(input.handler);
12
+ const store = {
13
+ getProvider(providerLocation) {
14
+ const locationCredentialsProvider = async ({ forceRefresh = false, } = {}) => {
15
+ validateS3Uri(providerLocation.scope);
16
+ // TODO(@AllanZhengYP): validate the action bucket and paths matches provider scope.
17
+ return (0, registry_1.getValue)({
18
+ storeSymbol,
19
+ location: { ...providerLocation },
20
+ forceRefresh,
21
+ });
22
+ };
23
+ return locationCredentialsProvider;
24
+ },
25
+ destroy() {
26
+ (0, registry_1.removeStore)(storeSymbol);
27
+ },
28
+ };
29
+ return store;
30
+ };
31
+ exports.createLocationCredentialsStore = createLocationCredentialsStore;
32
+ const validateS3Uri = (uri) => {
33
+ const s3UrlSchemaRegex = /^s3:\/\/[^/]+/;
34
+ (0, assertValidationError_1.assertValidationError)(s3UrlSchemaRegex.test(uri), validation_1.StorageValidationErrorCode.InvalidS3Uri);
35
+ };
36
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sources":["../../../../src/storageBrowser/locationCredentialsStore/create.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createLocationCredentialsStore = void 0;\nconst validation_1 = require(\"../../errors/types/validation\");\nconst assertValidationError_1 = require(\"../../errors/utils/assertValidationError\");\nconst registry_1 = require(\"./registry\");\nconst createLocationCredentialsStore = (input) => {\n const storeSymbol = (0, registry_1.createStore)(input.handler);\n const store = {\n getProvider(providerLocation) {\n const locationCredentialsProvider = async ({ forceRefresh = false, } = {}) => {\n validateS3Uri(providerLocation.scope);\n // TODO(@AllanZhengYP): validate the action bucket and paths matches provider scope.\n return (0, registry_1.getValue)({\n storeSymbol,\n location: { ...providerLocation },\n forceRefresh,\n });\n };\n return locationCredentialsProvider;\n },\n destroy() {\n (0, registry_1.removeStore)(storeSymbol);\n },\n };\n return store;\n};\nexports.createLocationCredentialsStore = createLocationCredentialsStore;\nconst validateS3Uri = (uri) => {\n const s3UrlSchemaRegex = /^s3:\\/\\/[^/]+/;\n (0, assertValidationError_1.assertValidationError)(s3UrlSchemaRegex.test(uri), validation_1.StorageValidationErrorCode.InvalidS3Uri);\n};\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AAChD,MAAM,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC9D,MAAM,uBAAuB,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AACpF,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACzC,MAAM,8BAA8B,GAAG,CAAC,KAAK,KAAK;AAClD,IAAI,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AACnE,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,WAAW,CAAC,gBAAgB,EAAE;AACtC,YAAY,MAAM,2BAA2B,GAAG,OAAO,EAAE,YAAY,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK;AAC1F,gBAAgB,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACtD;AACA,gBAAgB,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE;AAChD,oBAAoB,WAAW;AAC/B,oBAAoB,QAAQ,EAAE,EAAE,GAAG,gBAAgB,EAAE;AACrD,oBAAoB,YAAY;AAChC,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC;AACd,YAAY,OAAO,2BAA2B,CAAC;AAC/C,SAAS;AACT,QAAQ,OAAO,GAAG;AAClB,YAAY,IAAI,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AACrD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF,OAAO,CAAC,8BAA8B,GAAG,8BAA8B,CAAC;AACxE,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK;AAC/B,IAAI,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAC7C,IAAI,IAAI,uBAAuB,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC;AACzI,CAAC;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLocationCredentialsStore = void 0;
7
+ var create_1 = require("./create");
8
+ Object.defineProperty(exports, "createLocationCredentialsStore", { enumerable: true, get: function () { return create_1.createLocationCredentialsStore; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/storageBrowser/locationCredentialsStore/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createLocationCredentialsStore = void 0;\nvar create_1 = require(\"./create\");\nObject.defineProperty(exports, \"createLocationCredentialsStore\", { enumerable: true, get: function () { return create_1.createLocationCredentialsStore; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AAChD,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,QAAQ,CAAC,8BAA8B,CAAC,EAAE,EAAE,CAAC;;"}
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ /* eslint-disable unused-imports/no-unused-vars */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.removeStore = exports.getValue = exports.createStore = void 0;
6
+ const assertValidationError_1 = require("../../errors/utils/assertValidationError");
7
+ const validation_1 = require("../../errors/types/validation");
8
+ const store_1 = require("./store");
9
+ /**
10
+ * Keep all cache records for all instances of credentials store in a singleton
11
+ * so we can reliably de-reference from the memory when we destroy a store
12
+ * instance.
13
+ */
14
+ const storeRegistry = new WeakMap();
15
+ /**
16
+ * @internal
17
+ */
18
+ const createStore = (refreshHandler, size) => {
19
+ const storeSymbol = { value: Symbol('LocationCredentialsStore') };
20
+ storeRegistry.set(storeSymbol, (0, store_1.initStore)(refreshHandler, size));
21
+ return storeSymbol;
22
+ };
23
+ exports.createStore = createStore;
24
+ const getLookUpLocations = (location) => {
25
+ const { scope, permission } = location;
26
+ const locations = [{ scope, permission }];
27
+ if (permission === 'READ' || permission === 'WRITE') {
28
+ locations.push({ scope, permission: 'READWRITE' });
29
+ }
30
+ return locations;
31
+ };
32
+ const getCredentialsStore = (storeSymbol) => {
33
+ (0, assertValidationError_1.assertValidationError)(storeRegistry.has(storeSymbol), validation_1.StorageValidationErrorCode.LocationCredentialsStoreDestroyed);
34
+ return storeRegistry.get(storeSymbol);
35
+ };
36
+ /**
37
+ * @internal
38
+ */
39
+ const getValue = async (input) => {
40
+ const { storeSymbol: storeReference, location, forceRefresh } = input;
41
+ const store = getCredentialsStore(storeReference);
42
+ if (!forceRefresh) {
43
+ const lookupLocations = getLookUpLocations(location);
44
+ for (const lookupLocation of lookupLocations) {
45
+ const credentials = (0, store_1.getCacheValue)(store, lookupLocation);
46
+ if (credentials !== null) {
47
+ return { credentials };
48
+ }
49
+ }
50
+ }
51
+ return (0, store_1.fetchNewValue)(store, location);
52
+ };
53
+ exports.getValue = getValue;
54
+ const removeStore = (storeSymbol) => {
55
+ storeRegistry.delete(storeSymbol);
56
+ };
57
+ exports.removeStore = removeStore;
58
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sources":["../../../../src/storageBrowser/locationCredentialsStore/registry.ts"],"sourcesContent":["\"use strict\";\n/* eslint-disable unused-imports/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.removeStore = exports.getValue = exports.createStore = void 0;\nconst assertValidationError_1 = require(\"../../errors/utils/assertValidationError\");\nconst validation_1 = require(\"../../errors/types/validation\");\nconst store_1 = require(\"./store\");\n/**\n * Keep all cache records for all instances of credentials store in a singleton\n * so we can reliably de-reference from the memory when we destroy a store\n * instance.\n */\nconst storeRegistry = new WeakMap();\n/**\n * @internal\n */\nconst createStore = (refreshHandler, size) => {\n const storeSymbol = { value: Symbol('LocationCredentialsStore') };\n storeRegistry.set(storeSymbol, (0, store_1.initStore)(refreshHandler, size));\n return storeSymbol;\n};\nexports.createStore = createStore;\nconst getLookUpLocations = (location) => {\n const { scope, permission } = location;\n const locations = [{ scope, permission }];\n if (permission === 'READ' || permission === 'WRITE') {\n locations.push({ scope, permission: 'READWRITE' });\n }\n return locations;\n};\nconst getCredentialsStore = (storeSymbol) => {\n (0, assertValidationError_1.assertValidationError)(storeRegistry.has(storeSymbol), validation_1.StorageValidationErrorCode.LocationCredentialsStoreDestroyed);\n return storeRegistry.get(storeSymbol);\n};\n/**\n * @internal\n */\nconst getValue = async (input) => {\n const { storeSymbol: storeReference, location, forceRefresh } = input;\n const store = getCredentialsStore(storeReference);\n if (!forceRefresh) {\n const lookupLocations = getLookUpLocations(location);\n for (const lookupLocation of lookupLocations) {\n const credentials = (0, store_1.getCacheValue)(store, lookupLocation);\n if (credentials !== null) {\n return { credentials };\n }\n }\n }\n return (0, store_1.fetchNewValue)(store, location);\n};\nexports.getValue = getValue;\nconst removeStore = (storeSymbol) => {\n storeRegistry.delete(storeSymbol);\n};\nexports.removeStore = removeStore;\n"],"names":[],"mappings":";;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC;AACtE,MAAM,uBAAuB,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;AACpF,MAAM,YAAY,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,IAAI,OAAO,EAAE,CAAC;AACpC;AACA;AACA;AACA,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,IAAI,KAAK;AAC9C,IAAI,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,0BAA0B,CAAC,EAAE,CAAC;AACtE,IAAI,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC;AACjF,IAAI,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AACF,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;AAClC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,KAAK;AACzC,IAAI,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;AAC3C,IAAI,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,IAAI,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE;AACzD,QAAQ,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAC3D,KAAK;AACL,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AACF,MAAM,mBAAmB,GAAG,CAAC,WAAW,KAAK;AAC7C,IAAI,IAAI,uBAAuB,CAAC,qBAAqB,EAAE,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,0BAA0B,CAAC,iCAAiC,CAAC,CAAC;AAClK,IAAI,OAAO,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC;AACF;AACA;AACA;AACA,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK;AAClC,IAAI,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;AAC1E,IAAI,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACtD,IAAI,IAAI,CAAC,YAAY,EAAE;AACvB,QAAQ,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC7D,QAAQ,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;AACtD,YAAY,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;AAClF,YAAY,IAAI,WAAW,KAAK,IAAI,EAAE;AACtC,gBAAgB,OAAO,EAAE,WAAW,EAAE,CAAC;AACvC,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,OAAO,IAAI,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,CAAC;AACF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC5B,MAAM,WAAW,GAAG,CAAC,WAAW,KAAK;AACrC,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AACF,OAAO,CAAC,WAAW,GAAG,WAAW;;"}
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ /* eslint-disable unused-imports/no-unused-vars */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.fetchNewValue = exports.getCacheValue = exports.initStore = void 0;
6
+ const assertValidationError_1 = require("../../errors/utils/assertValidationError");
7
+ const validation_1 = require("../../errors/types/validation");
8
+ const constants_1 = require("./constants");
9
+ const createCacheKey = (location) => `${location.scope}_${location.permission}`;
10
+ /**
11
+ * @internal
12
+ */
13
+ const initStore = (refreshHandler, size = constants_1.CREDENTIALS_STORE_DEFAULT_SIZE) => {
14
+ (0, assertValidationError_1.assertValidationError)(size > 0, validation_1.StorageValidationErrorCode.InvalidLocationCredentialsCacheSize);
15
+ return {
16
+ capacity: size,
17
+ refreshHandler,
18
+ values: new Map(),
19
+ };
20
+ };
21
+ exports.initStore = initStore;
22
+ const getCacheValue = (store, location) => {
23
+ const cacheKey = createCacheKey(location);
24
+ const cachedValue = store.values.get(cacheKey);
25
+ const cachedCredentials = cachedValue?.credentials;
26
+ if (!cachedCredentials) {
27
+ return null;
28
+ }
29
+ // Delete and re-insert to key to map to indicate a latest reference in LRU.
30
+ store.values.delete(cacheKey);
31
+ if (!pastTTL(cachedCredentials)) {
32
+ // TODO(@AllanZhengYP): If the credential is still valid but will expire
33
+ // soon, we should return credentials AND dispatch a refresh.
34
+ store.values.set(cacheKey, cachedValue);
35
+ return cachedCredentials;
36
+ }
37
+ return null;
38
+ };
39
+ exports.getCacheValue = getCacheValue;
40
+ const pastTTL = (credentials) => {
41
+ const { expiration } = credentials;
42
+ return expiration.getTime() - constants_1.CREDENTIALS_REFRESH_WINDOW_MS <= Date.now();
43
+ };
44
+ /**
45
+ * Fetch new credentials value with refresh handler and cache the result in
46
+ * LRU cache.
47
+ * @internal
48
+ */
49
+ const fetchNewValue = async (store, location) => {
50
+ const storeValues = store.values;
51
+ const key = createCacheKey(location);
52
+ if (!storeValues.has(key)) {
53
+ const newStoreValue = {
54
+ scope: location.scope,
55
+ permission: location.permission,
56
+ };
57
+ setCacheRecord(store, key, newStoreValue);
58
+ }
59
+ const storeValue = storeValues.get(key);
60
+ return dispatchRefresh(store.refreshHandler, storeValue, () => {
61
+ store.values.delete(key);
62
+ });
63
+ };
64
+ exports.fetchNewValue = fetchNewValue;
65
+ const dispatchRefresh = (refreshHandler, value, onRefreshFailure) => {
66
+ if (value.inflightCredentials) {
67
+ return value.inflightCredentials;
68
+ }
69
+ value.inflightCredentials = (async () => {
70
+ try {
71
+ const { credentials } = await refreshHandler({
72
+ scope: value.scope,
73
+ permission: value.permission,
74
+ });
75
+ value.credentials = credentials;
76
+ return { credentials };
77
+ }
78
+ catch (e) {
79
+ onRefreshFailure();
80
+ throw e;
81
+ }
82
+ finally {
83
+ value.inflightCredentials = undefined;
84
+ }
85
+ })();
86
+ return value.inflightCredentials;
87
+ };
88
+ const setCacheRecord = (store, key, value) => {
89
+ if (store.capacity === store.values.size) {
90
+ // Pop least used entry. The Map's key are in insertion order.
91
+ // So first key is the last recently inserted.
92
+ const [oldestKey] = store.values.keys();
93
+ store.values.delete(oldestKey);
94
+ // TODO(@AllanZhengYP): Add log info when record is evicted.
95
+ }
96
+ // Add latest used value to the cache.
97
+ store.values.set(key, value);
98
+ };
99
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sources":["../../../../src/storageBrowser/locationCredentialsStore/store.ts"],"sourcesContent":["\"use strict\";\n/* eslint-disable unused-imports/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fetchNewValue = exports.getCacheValue = exports.initStore = void 0;\nconst assertValidationError_1 = require(\"../../errors/utils/assertValidationError\");\nconst validation_1 = require(\"../../errors/types/validation\");\nconst constants_1 = require(\"./constants\");\nconst createCacheKey = (location) => `${location.scope}_${location.permission}`;\n/**\n * @internal\n */\nconst initStore = (refreshHandler, size = constants_1.CREDENTIALS_STORE_DEFAULT_SIZE) => {\n (0, assertValidationError_1.assertValidationError)(size > 0, validation_1.StorageValidationErrorCode.InvalidLocationCredentialsCacheSize);\n return {\n capacity: size,\n refreshHandler,\n values: new Map(),\n };\n};\nexports.initStore = initStore;\nconst getCacheValue = (store, location) => {\n const cacheKey = createCacheKey(location);\n const cachedValue = store.values.get(cacheKey);\n const cachedCredentials = cachedValue?.credentials;\n if (!cachedCredentials) {\n return null;\n }\n // Delete and re-insert to key to map to indicate a latest reference in LRU.\n store.values.delete(cacheKey);\n if (!pastTTL(cachedCredentials)) {\n // TODO(@AllanZhengYP): If the credential is still valid but will expire\n // soon, we should return credentials AND dispatch a refresh.\n store.values.set(cacheKey, cachedValue);\n return cachedCredentials;\n }\n return null;\n};\nexports.getCacheValue = getCacheValue;\nconst pastTTL = (credentials) => {\n const { expiration } = credentials;\n return expiration.getTime() - constants_1.CREDENTIALS_REFRESH_WINDOW_MS <= Date.now();\n};\n/**\n * Fetch new credentials value with refresh handler and cache the result in\n * LRU cache.\n * @internal\n */\nconst fetchNewValue = async (store, location) => {\n const storeValues = store.values;\n const key = createCacheKey(location);\n if (!storeValues.has(key)) {\n const newStoreValue = {\n scope: location.scope,\n permission: location.permission,\n };\n setCacheRecord(store, key, newStoreValue);\n }\n const storeValue = storeValues.get(key);\n return dispatchRefresh(store.refreshHandler, storeValue, () => {\n store.values.delete(key);\n });\n};\nexports.fetchNewValue = fetchNewValue;\nconst dispatchRefresh = (refreshHandler, value, onRefreshFailure) => {\n if (value.inflightCredentials) {\n return value.inflightCredentials;\n }\n value.inflightCredentials = (async () => {\n try {\n const { credentials } = await refreshHandler({\n scope: value.scope,\n permission: value.permission,\n });\n value.credentials = credentials;\n return { credentials };\n }\n catch (e) {\n onRefreshFailure();\n throw e;\n }\n finally {\n value.inflightCredentials = undefined;\n }\n })();\n return value.inflightCredentials;\n};\nconst setCacheRecord = (store, key, value) => {\n if (store.capacity === store.values.size) {\n // Pop least used entry. The Map's key are in insertion order.\n // So first key is the last recently inserted.\n const [oldestKey] = store.values.keys();\n store.values.delete(oldestKey);\n // TODO(@AllanZhengYP): Add log info when record is evicted.\n }\n // Add latest used value to the cache.\n store.values.set(key, value);\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createListLocationsHandler = void 0;
7
+ const listCallerAccessGrants_1 = require("../apis/listCallerAccessGrants");
8
+ const createListLocationsHandler = (handlerInput) => {
9
+ return async function listLocations(input = {}) {
10
+ const result = await (0, listCallerAccessGrants_1.listCallerAccessGrants)({ ...input, ...handlerInput });
11
+ return result;
12
+ };
13
+ };
14
+ exports.createListLocationsHandler = createListLocationsHandler;
15
+ //# sourceMappingURL=createListLocationsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createListLocationsHandler.js","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/createListLocationsHandler.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createListLocationsHandler = void 0;\nconst listCallerAccessGrants_1 = require(\"../apis/listCallerAccessGrants\");\nconst createListLocationsHandler = (handlerInput) => {\n return async function listLocations(input = {}) {\n const result = await (0, listCallerAccessGrants_1.listCallerAccessGrants)({ ...input, ...handlerInput });\n return result;\n };\n};\nexports.createListLocationsHandler = createListLocationsHandler;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;AAC5C,MAAM,wBAAwB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAC3E,MAAM,0BAA0B,GAAG,CAAC,YAAY,KAAK;AACrD,IAAI,OAAO,eAAe,aAAa,CAAC,KAAK,GAAG,EAAE,EAAE;AACpD,QAAQ,MAAM,MAAM,GAAG,MAAM,IAAI,wBAAwB,CAAC,sBAAsB,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AACjH,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK,CAAC;AACN,CAAC,CAAC;AACF,OAAO,CAAC,0BAA0B,GAAG,0BAA0B;;"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createLocationCredentialsHandler = void 0;
7
+ const getDataAccess_1 = require("../apis/getDataAccess");
8
+ const createLocationCredentialsHandler = (handlerInput) => {
9
+ const { accountId, region, credentialsProvider } = handlerInput;
10
+ /**
11
+ * Retrieves credentials for the specified scope & permission.
12
+ *
13
+ * @param input - An object specifying the requested scope & permission.
14
+ *
15
+ * @returns A promise which will resolve with the requested credentials.
16
+ */
17
+ return (input) => {
18
+ const { scope, permission } = input;
19
+ return (0, getDataAccess_1.getDataAccess)({
20
+ accountId,
21
+ credentialsProvider,
22
+ permission,
23
+ region,
24
+ scope,
25
+ });
26
+ };
27
+ };
28
+ exports.createLocationCredentialsHandler = createLocationCredentialsHandler;
29
+ //# sourceMappingURL=createLocationCredentialsHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createLocationCredentialsHandler.js","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/createLocationCredentialsHandler.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createLocationCredentialsHandler = void 0;\nconst getDataAccess_1 = require(\"../apis/getDataAccess\");\nconst createLocationCredentialsHandler = (handlerInput) => {\n const { accountId, region, credentialsProvider } = handlerInput;\n /**\n * Retrieves credentials for the specified scope & permission.\n *\n * @param input - An object specifying the requested scope & permission.\n *\n * @returns A promise which will resolve with the requested credentials.\n */\n return (input) => {\n const { scope, permission } = input;\n return (0, getDataAccess_1.getDataAccess)({\n accountId,\n credentialsProvider,\n permission,\n region,\n scope,\n });\n };\n};\nexports.createLocationCredentialsHandler = createLocationCredentialsHandler;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,gCAAgC,GAAG,KAAK,CAAC,CAAC;AAClD,MAAM,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AACzD,MAAM,gCAAgC,GAAG,CAAC,YAAY,KAAK;AAC3D,IAAI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAAC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,KAAK,KAAK;AACtB,QAAQ,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;AAC5C,QAAQ,OAAO,IAAI,eAAe,CAAC,aAAa,EAAE;AAClD,YAAY,SAAS;AACrB,YAAY,mBAAmB;AAC/B,YAAY,UAAU;AACtB,YAAY,MAAM;AAClB,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,CAAC,CAAC;AACF,OAAO,CAAC,gCAAgC,GAAG,gCAAgC;;"}
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createManagedAuthConfigAdapter = void 0;
5
+ const createListLocationsHandler_1 = require("./createListLocationsHandler");
6
+ const createLocationCredentialsHandler_1 = require("./createLocationCredentialsHandler");
7
+ /**
8
+ * Create configuration including handlers to call S3 Access Grant APIs to list and get
9
+ * credentials for different locations.
10
+ *
11
+ * @param options - Configuration options for the adapter.
12
+ * @returns - An object containing the handlers to call S3 Access Grant APIs and region
13
+ */
14
+ const createManagedAuthConfigAdapter = ({ credentialsProvider, region, accountId, }) => {
15
+ const listLocations = (0, createListLocationsHandler_1.createListLocationsHandler)({
16
+ credentialsProvider,
17
+ accountId,
18
+ region,
19
+ });
20
+ const getLocationCredentials = (0, createLocationCredentialsHandler_1.createLocationCredentialsHandler)({
21
+ credentialsProvider,
22
+ accountId,
23
+ region,
24
+ });
25
+ return {
26
+ listLocations,
27
+ getLocationCredentials,
28
+ region,
29
+ };
30
+ };
31
+ exports.createManagedAuthConfigAdapter = createManagedAuthConfigAdapter;
32
+ //# sourceMappingURL=createManagedAuthConfigAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createManagedAuthConfigAdapter.js","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/createManagedAuthConfigAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createManagedAuthConfigAdapter = void 0;\nconst createListLocationsHandler_1 = require(\"./createListLocationsHandler\");\nconst createLocationCredentialsHandler_1 = require(\"./createLocationCredentialsHandler\");\n/**\n * Create configuration including handlers to call S3 Access Grant APIs to list and get\n * credentials for different locations.\n *\n * @param options - Configuration options for the adapter.\n * @returns - An object containing the handlers to call S3 Access Grant APIs and region\n */\nconst createManagedAuthConfigAdapter = ({ credentialsProvider, region, accountId, }) => {\n const listLocations = (0, createListLocationsHandler_1.createListLocationsHandler)({\n credentialsProvider,\n accountId,\n region,\n });\n const getLocationCredentials = (0, createLocationCredentialsHandler_1.createLocationCredentialsHandler)({\n credentialsProvider,\n accountId,\n region,\n });\n return {\n listLocations,\n getLocationCredentials,\n region,\n };\n};\nexports.createManagedAuthConfigAdapter = createManagedAuthConfigAdapter;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AAChD,MAAM,4BAA4B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAC7E,MAAM,kCAAkC,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,8BAA8B,GAAG,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK;AACxF,IAAI,MAAM,aAAa,GAAG,IAAI,4BAA4B,CAAC,0BAA0B,EAAE;AACvF,QAAQ,mBAAmB;AAC3B,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,sBAAsB,GAAG,IAAI,kCAAkC,CAAC,gCAAgC,EAAE;AAC5G,QAAQ,mBAAmB;AAC3B,QAAQ,SAAS;AACjB,QAAQ,MAAM;AACd,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,aAAa;AACrB,QAAQ,sBAAsB;AAC9B,QAAQ,MAAM;AACd,KAAK,CAAC;AACN,CAAC,CAAC;AACF,OAAO,CAAC,8BAA8B,GAAG,8BAA8B;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createManagedAuthConfigAdapter = void 0;
7
+ var createManagedAuthConfigAdapter_1 = require("./createManagedAuthConfigAdapter");
8
+ Object.defineProperty(exports, "createManagedAuthConfigAdapter", { enumerable: true, get: function () { return createManagedAuthConfigAdapter_1.createManagedAuthConfigAdapter; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/storageBrowser/managedAuthConfigAdapter/index.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createManagedAuthConfigAdapter = void 0;\nvar createManagedAuthConfigAdapter_1 = require(\"./createManagedAuthConfigAdapter\");\nObject.defineProperty(exports, \"createManagedAuthConfigAdapter\", { enumerable: true, get: function () { return createManagedAuthConfigAdapter_1.createManagedAuthConfigAdapter; } });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,8BAA8B,GAAG,KAAK,CAAC,CAAC;AAChD,IAAI,gCAAgC,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACnF,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,gCAAgC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,gCAAgC,CAAC,8BAA8B,CAAC,EAAE,EAAE,CAAC;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../../src/storageBrowser/types.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
@@ -0,0 +1 @@
1
+ export declare const INVALID_STORAGE_INPUT = "InvalidStorageInput";
@@ -0,0 +1,6 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ const INVALID_STORAGE_INPUT = 'InvalidStorageInput';
4
+
5
+ export { INVALID_STORAGE_INPUT };
6
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../src/errors/constants.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport const INVALID_STORAGE_INPUT = 'InvalidStorageInput';\n"],"names":[],"mappings":"AAAA;AACA;AACY,MAAC,qBAAqB,GAAG;;;;"}
@@ -9,11 +9,16 @@ export declare enum StorageValidationErrorCode {
9
9
  NoDestinationPath = "NoDestinationPath",
10
10
  NoBucket = "NoBucket",
11
11
  NoRegion = "NoRegion",
12
+ InvalidStorageBucket = "InvalidStorageBucket",
13
+ InvalidCopyOperationStorageBucket = "InvalidCopyOperationStorageBucket",
12
14
  InvalidStorageOperationPrefixInput = "InvalidStorageOperationPrefixInput",
13
15
  InvalidStorageOperationInput = "InvalidStorageOperationInput",
14
16
  InvalidStoragePathInput = "InvalidStoragePathInput",
15
17
  InvalidUploadSource = "InvalidUploadSource",
16
18
  ObjectIsTooLarge = "ObjectIsTooLarge",
17
- UrlExpirationMaxLimitExceed = "UrlExpirationMaxLimitExceed"
19
+ UrlExpirationMaxLimitExceed = "UrlExpirationMaxLimitExceed",
20
+ InvalidLocationCredentialsCacheSize = "InvalidLocationCredentialsCacheSize",
21
+ LocationCredentialsStoreDestroyed = "LocationCredentialsStoreDestroyed",
22
+ InvalidS3Uri = "InvalidS3Uri"
18
23
  }
19
24
  export declare const validationErrorMap: AmplifyErrorMap<StorageValidationErrorCode>;
@@ -11,12 +11,17 @@ var StorageValidationErrorCode;
11
11
  StorageValidationErrorCode["NoDestinationPath"] = "NoDestinationPath";
12
12
  StorageValidationErrorCode["NoBucket"] = "NoBucket";
13
13
  StorageValidationErrorCode["NoRegion"] = "NoRegion";
14
+ StorageValidationErrorCode["InvalidStorageBucket"] = "InvalidStorageBucket";
15
+ StorageValidationErrorCode["InvalidCopyOperationStorageBucket"] = "InvalidCopyOperationStorageBucket";
14
16
  StorageValidationErrorCode["InvalidStorageOperationPrefixInput"] = "InvalidStorageOperationPrefixInput";
15
17
  StorageValidationErrorCode["InvalidStorageOperationInput"] = "InvalidStorageOperationInput";
16
18
  StorageValidationErrorCode["InvalidStoragePathInput"] = "InvalidStoragePathInput";
17
19
  StorageValidationErrorCode["InvalidUploadSource"] = "InvalidUploadSource";
18
20
  StorageValidationErrorCode["ObjectIsTooLarge"] = "ObjectIsTooLarge";
19
21
  StorageValidationErrorCode["UrlExpirationMaxLimitExceed"] = "UrlExpirationMaxLimitExceed";
22
+ StorageValidationErrorCode["InvalidLocationCredentialsCacheSize"] = "InvalidLocationCredentialsCacheSize";
23
+ StorageValidationErrorCode["LocationCredentialsStoreDestroyed"] = "LocationCredentialsStoreDestroyed";
24
+ StorageValidationErrorCode["InvalidS3Uri"] = "InvalidS3Uri";
20
25
  })(StorageValidationErrorCode || (StorageValidationErrorCode = {}));
21
26
  const validationErrorMap = {
22
27
  [StorageValidationErrorCode.NoCredentials]: {
@@ -64,6 +69,21 @@ const validationErrorMap = {
64
69
  [StorageValidationErrorCode.InvalidStoragePathInput]: {
65
70
  message: 'Input `path` does not allow a leading slash (/).',
66
71
  },
72
+ [StorageValidationErrorCode.InvalidLocationCredentialsCacheSize]: {
73
+ message: 'locationCredentialsCacheSize must be a positive integer.',
74
+ },
75
+ [StorageValidationErrorCode.LocationCredentialsStoreDestroyed]: {
76
+ message: `Location-specific credentials store has been destroyed.`,
77
+ },
78
+ [StorageValidationErrorCode.InvalidS3Uri]: {
79
+ message: 'Invalid S3 URI.',
80
+ },
81
+ [StorageValidationErrorCode.InvalidStorageBucket]: {
82
+ message: 'Unable to lookup bucket from provided name in Amplify configuration.',
83
+ },
84
+ [StorageValidationErrorCode.InvalidCopyOperationStorageBucket]: {
85
+ message: 'Missing bucket option in either source or destination.',
86
+ },
67
87
  };
68
88
 
69
89
  export { StorageValidationErrorCode, validationErrorMap };