@venizia/ignis-helpers 0.2.0-9 → 0.2.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 (754) hide show
  1. package/LICENSE.md +0 -1
  2. package/README.md +73 -151
  3. package/dist/cjs/common/constants/mime.d.ts +67 -0
  4. package/dist/cjs/common/constants/mime.d.ts.map +1 -1
  5. package/dist/cjs/common/constants/mime.js +138 -1
  6. package/dist/cjs/common/constants/mime.js.map +1 -1
  7. package/dist/cjs/common/redact.d.ts.map +1 -1
  8. package/dist/cjs/common/redact.js +46 -5
  9. package/dist/cjs/common/redact.js.map +1 -1
  10. package/dist/cjs/common/resolvers.d.ts +5 -8
  11. package/dist/cjs/common/resolvers.d.ts.map +1 -1
  12. package/dist/cjs/common/resolvers.js +13 -26
  13. package/dist/cjs/common/resolvers.js.map +1 -1
  14. package/dist/cjs/common/types/resolver.d.ts +1 -4
  15. package/dist/cjs/common/types/resolver.d.ts.map +1 -1
  16. package/dist/cjs/core.d.ts +18 -8
  17. package/dist/cjs/core.d.ts.map +1 -1
  18. package/dist/cjs/core.js +26 -10
  19. package/dist/cjs/core.js.map +1 -1
  20. package/dist/cjs/modules/base.d.ts +4 -1
  21. package/dist/cjs/modules/base.d.ts.map +1 -1
  22. package/dist/cjs/modules/base.js +15 -4
  23. package/dist/cjs/modules/base.js.map +1 -1
  24. package/dist/cjs/modules/cron/helper.d.ts.map +1 -1
  25. package/dist/cjs/modules/cron/helper.js +2 -5
  26. package/dist/cjs/modules/cron/helper.js.map +1 -1
  27. package/dist/cjs/modules/crypto/algorithms/aes-legacy.algorithm.js +3 -3
  28. package/dist/cjs/modules/crypto/algorithms/aes-legacy.algorithm.js.map +1 -1
  29. package/dist/cjs/modules/crypto/algorithms/aes.algorithm.js +5 -5
  30. package/dist/cjs/modules/crypto/algorithms/aes.algorithm.js.map +1 -1
  31. package/dist/cjs/modules/crypto/algorithms/hash.algorithm.d.ts +1 -4
  32. package/dist/cjs/modules/crypto/algorithms/hash.algorithm.d.ts.map +1 -1
  33. package/dist/cjs/modules/crypto/algorithms/hash.algorithm.js +1 -4
  34. package/dist/cjs/modules/crypto/algorithms/hash.algorithm.js.map +1 -1
  35. package/dist/cjs/modules/env/app-env.d.ts +11 -0
  36. package/dist/cjs/modules/env/app-env.d.ts.map +1 -1
  37. package/dist/cjs/modules/env/app-env.js +32 -6
  38. package/dist/cjs/modules/env/app-env.js.map +1 -1
  39. package/dist/cjs/modules/index.d.ts +1 -1
  40. package/dist/cjs/modules/index.d.ts.map +1 -1
  41. package/dist/cjs/modules/index.js +1 -1
  42. package/dist/cjs/modules/index.js.map +1 -1
  43. package/dist/cjs/modules/logger/base/base.d.ts.map +1 -1
  44. package/dist/cjs/modules/logger/base/base.js +3 -0
  45. package/dist/cjs/modules/logger/base/base.js.map +1 -1
  46. package/dist/cjs/modules/logger/factory.d.ts.map +1 -1
  47. package/dist/cjs/modules/logger/factory.js +2 -1
  48. package/dist/cjs/modules/logger/factory.js.map +1 -1
  49. package/dist/cjs/modules/logger/formatting/error-prettier.d.ts +6 -0
  50. package/dist/cjs/modules/logger/formatting/error-prettier.d.ts.map +1 -1
  51. package/dist/cjs/modules/logger/formatting/error-prettier.js +35 -1
  52. package/dist/cjs/modules/logger/formatting/error-prettier.js.map +1 -1
  53. package/dist/cjs/modules/logger/hf/logger.d.ts.map +1 -1
  54. package/dist/cjs/modules/logger/hf/logger.js +3 -0
  55. package/dist/cjs/modules/logger/hf/logger.js.map +1 -1
  56. package/dist/cjs/modules/logger/pino/destination.d.ts.map +1 -1
  57. package/dist/cjs/modules/logger/pino/destination.js +2 -1
  58. package/dist/cjs/modules/logger/pino/destination.js.map +1 -1
  59. package/dist/cjs/modules/logger/resolver.d.ts +1 -1
  60. package/dist/cjs/modules/logger/resolver.d.ts.map +1 -1
  61. package/dist/cjs/modules/logger/resolver.js +8 -1
  62. package/dist/cjs/modules/logger/resolver.js.map +1 -1
  63. package/dist/cjs/modules/logger/slot.d.ts +23 -0
  64. package/dist/cjs/modules/logger/slot.d.ts.map +1 -0
  65. package/dist/cjs/modules/logger/slot.js +124 -0
  66. package/dist/cjs/modules/logger/slot.js.map +1 -0
  67. package/dist/cjs/modules/logger/winston/common/constants.d.ts.map +1 -1
  68. package/dist/cjs/modules/logger/winston/common/constants.js +6 -5
  69. package/dist/cjs/modules/logger/winston/common/constants.js.map +1 -1
  70. package/dist/cjs/modules/network/http-request/base-network-request.helper.d.ts.map +1 -1
  71. package/dist/cjs/modules/network/http-request/base-network-request.helper.js +4 -6
  72. package/dist/cjs/modules/network/http-request/base-network-request.helper.js.map +1 -1
  73. package/dist/cjs/modules/network/http-request/fetcher/node-fetcher.d.ts.map +1 -1
  74. package/dist/cjs/modules/network/http-request/fetcher/node-fetcher.js +3 -3
  75. package/dist/cjs/modules/network/http-request/fetcher/node-fetcher.js.map +1 -1
  76. package/dist/cjs/modules/network/index.d.ts +1 -0
  77. package/dist/cjs/modules/network/index.d.ts.map +1 -1
  78. package/dist/cjs/modules/network/index.js +1 -0
  79. package/dist/cjs/modules/network/index.js.map +1 -1
  80. package/dist/cjs/modules/network/tcp-socket/base-tcp-client.helper.d.ts.map +1 -1
  81. package/dist/cjs/modules/network/tcp-socket/base-tcp-client.helper.js +2 -5
  82. package/dist/cjs/modules/network/tcp-socket/base-tcp-client.helper.js.map +1 -1
  83. package/dist/cjs/modules/network/tcp-socket/base-tcp-server.helper.d.ts +2 -3
  84. package/dist/cjs/modules/network/tcp-socket/base-tcp-server.helper.d.ts.map +1 -1
  85. package/dist/cjs/modules/network/tcp-socket/base-tcp-server.helper.js +5 -5
  86. package/dist/cjs/modules/network/tcp-socket/base-tcp-server.helper.js.map +1 -1
  87. package/dist/cjs/modules/network/utilities/index.d.ts +3 -0
  88. package/dist/cjs/modules/network/utilities/index.d.ts.map +1 -0
  89. package/dist/cjs/modules/network/utilities/index.js +19 -0
  90. package/dist/cjs/modules/network/utilities/index.js.map +1 -0
  91. package/dist/cjs/modules/network/utilities/query-string.d.ts +26 -0
  92. package/dist/cjs/modules/network/utilities/query-string.d.ts.map +1 -0
  93. package/dist/cjs/modules/network/utilities/query-string.js +49 -0
  94. package/dist/cjs/modules/network/utilities/query-string.js.map +1 -0
  95. package/dist/cjs/modules/network/utilities/url-safety/common/constants.d.ts +18 -0
  96. package/dist/cjs/modules/network/utilities/url-safety/common/constants.d.ts.map +1 -0
  97. package/dist/cjs/modules/network/utilities/url-safety/common/constants.js +23 -0
  98. package/dist/cjs/modules/network/utilities/url-safety/common/constants.js.map +1 -0
  99. package/dist/cjs/modules/network/utilities/url-safety/common/errors.d.ts +31 -0
  100. package/dist/cjs/modules/network/utilities/url-safety/common/errors.d.ts.map +1 -0
  101. package/dist/cjs/modules/network/utilities/url-safety/common/errors.js +30 -0
  102. package/dist/cjs/modules/network/utilities/url-safety/common/errors.js.map +1 -0
  103. package/dist/cjs/modules/network/utilities/url-safety/common/index.d.ts +4 -0
  104. package/dist/cjs/modules/network/utilities/url-safety/common/index.d.ts.map +1 -0
  105. package/dist/cjs/modules/network/utilities/url-safety/common/index.js +20 -0
  106. package/dist/cjs/modules/network/utilities/url-safety/common/index.js.map +1 -0
  107. package/dist/cjs/modules/network/utilities/url-safety/common/types.d.ts +24 -0
  108. package/dist/cjs/modules/network/utilities/url-safety/common/types.d.ts.map +1 -0
  109. package/dist/cjs/modules/network/utilities/url-safety/common/types.js +3 -0
  110. package/dist/cjs/modules/network/utilities/url-safety/common/types.js.map +1 -0
  111. package/dist/cjs/modules/network/utilities/url-safety/index.d.ts +4 -0
  112. package/dist/cjs/modules/network/utilities/url-safety/index.d.ts.map +1 -0
  113. package/dist/cjs/modules/network/utilities/url-safety/index.js +20 -0
  114. package/dist/cjs/modules/network/utilities/url-safety/index.js.map +1 -0
  115. package/dist/cjs/modules/network/utilities/url-safety/ingest.d.ts +52 -0
  116. package/dist/cjs/modules/network/utilities/url-safety/ingest.d.ts.map +1 -0
  117. package/dist/cjs/modules/network/utilities/url-safety/ingest.js +167 -0
  118. package/dist/cjs/modules/network/utilities/url-safety/ingest.js.map +1 -0
  119. package/dist/cjs/modules/network/utilities/url-safety/policy.d.ts +29 -0
  120. package/dist/cjs/modules/network/utilities/url-safety/policy.d.ts.map +1 -0
  121. package/dist/cjs/modules/network/utilities/url-safety/policy.js +114 -0
  122. package/dist/cjs/modules/network/utilities/url-safety/policy.js.map +1 -0
  123. package/dist/cjs/modules/queue/bullmq/helper.d.ts +25 -4
  124. package/dist/cjs/modules/queue/bullmq/helper.d.ts.map +1 -1
  125. package/dist/cjs/modules/queue/bullmq/helper.js +45 -14
  126. package/dist/cjs/modules/queue/bullmq/helper.js.map +1 -1
  127. package/dist/cjs/modules/queue/internal/sequential/helper.d.ts.map +1 -1
  128. package/dist/cjs/modules/queue/internal/sequential/helper.js +2 -5
  129. package/dist/cjs/modules/queue/internal/sequential/helper.js.map +1 -1
  130. package/dist/cjs/modules/queue/kafka/base.d.ts +8 -4
  131. package/dist/cjs/modules/queue/kafka/base.d.ts.map +1 -1
  132. package/dist/cjs/modules/queue/kafka/base.js +5 -1
  133. package/dist/cjs/modules/queue/kafka/base.js.map +1 -1
  134. package/dist/cjs/modules/queue/kafka/bundler/platformatic-require.plugin.d.ts +1 -1
  135. package/dist/cjs/modules/queue/kafka/bundler/platformatic-require.plugin.d.ts.map +1 -1
  136. package/dist/cjs/modules/queue/kafka/bundler/platformatic-require.plugin.js +1 -1
  137. package/dist/cjs/modules/queue/kafka/bundler/platformatic-require.plugin.js.map +1 -1
  138. package/dist/cjs/modules/queue/kafka/common/types/callbacks.d.ts +10 -0
  139. package/dist/cjs/modules/queue/kafka/common/types/callbacks.d.ts.map +1 -1
  140. package/dist/cjs/modules/queue/kafka/common/types/consumer.d.ts +5 -1
  141. package/dist/cjs/modules/queue/kafka/common/types/consumer.d.ts.map +1 -1
  142. package/dist/cjs/modules/queue/kafka/consumer.d.ts +64 -28
  143. package/dist/cjs/modules/queue/kafka/consumer.d.ts.map +1 -1
  144. package/dist/cjs/modules/queue/kafka/consumer.js +58 -24
  145. package/dist/cjs/modules/queue/kafka/consumer.js.map +1 -1
  146. package/dist/cjs/modules/queue/mqtt/helper.d.ts.map +1 -1
  147. package/dist/cjs/modules/queue/mqtt/helper.js +6 -5
  148. package/dist/cjs/modules/queue/mqtt/helper.js.map +1 -1
  149. package/dist/cjs/modules/redis/base/abstract.helper.d.ts.map +1 -1
  150. package/dist/cjs/modules/redis/base/abstract.helper.js +10 -5
  151. package/dist/cjs/modules/redis/base/abstract.helper.js.map +1 -1
  152. package/dist/cjs/modules/redis/cluster/cluster.helper.d.ts +3 -2
  153. package/dist/cjs/modules/redis/cluster/cluster.helper.d.ts.map +1 -1
  154. package/dist/cjs/modules/redis/cluster/cluster.helper.js +18 -4
  155. package/dist/cjs/modules/redis/cluster/cluster.helper.js.map +1 -1
  156. package/dist/cjs/modules/redis/common/constants.d.ts +4 -0
  157. package/dist/cjs/modules/redis/common/constants.d.ts.map +1 -1
  158. package/dist/cjs/modules/redis/common/constants.js +6 -1
  159. package/dist/cjs/modules/redis/common/constants.js.map +1 -1
  160. package/dist/cjs/modules/redis/common/types.d.ts +13 -3
  161. package/dist/cjs/modules/redis/common/types.d.ts.map +1 -1
  162. package/dist/cjs/modules/redis/sentinel/sentinel.helper.d.ts +1 -1
  163. package/dist/cjs/modules/redis/sentinel/sentinel.helper.d.ts.map +1 -1
  164. package/dist/cjs/modules/redis/sentinel/sentinel.helper.js +3 -2
  165. package/dist/cjs/modules/redis/sentinel/sentinel.helper.js.map +1 -1
  166. package/dist/cjs/modules/redis/single/single.helper.d.ts +1 -1
  167. package/dist/cjs/modules/redis/single/single.helper.d.ts.map +1 -1
  168. package/dist/cjs/modules/redis/single/single.helper.js +4 -5
  169. package/dist/cjs/modules/redis/single/single.helper.js.map +1 -1
  170. package/dist/cjs/modules/secrets/base/abstract.helper.d.ts.map +1 -1
  171. package/dist/cjs/modules/secrets/base/abstract.helper.js +2 -1
  172. package/dist/cjs/modules/secrets/base/abstract.helper.js.map +1 -1
  173. package/dist/cjs/modules/secrets/hashicorp/hashicorp.helper.d.ts.map +1 -1
  174. package/dist/cjs/modules/secrets/hashicorp/hashicorp.helper.js +2 -1
  175. package/dist/cjs/modules/secrets/hashicorp/hashicorp.helper.js.map +1 -1
  176. package/dist/cjs/modules/secrets/system-envs/system-envs.helper.d.ts.map +1 -1
  177. package/dist/cjs/modules/secrets/system-envs/system-envs.helper.js +2 -1
  178. package/dist/cjs/modules/secrets/system-envs/system-envs.helper.js.map +1 -1
  179. package/dist/cjs/modules/socket/socket-io/client/helper.d.ts +2 -1
  180. package/dist/cjs/modules/socket/socket-io/client/helper.d.ts.map +1 -1
  181. package/dist/cjs/modules/socket/socket-io/client/helper.js +10 -4
  182. package/dist/cjs/modules/socket/socket-io/client/helper.js.map +1 -1
  183. package/dist/cjs/modules/socket/socket-io/common/types/client.d.ts +2 -0
  184. package/dist/cjs/modules/socket/socket-io/common/types/client.d.ts.map +1 -1
  185. package/dist/cjs/modules/socket/socket-io/server/helper.d.ts +1 -0
  186. package/dist/cjs/modules/socket/socket-io/server/helper.d.ts.map +1 -1
  187. package/dist/cjs/modules/socket/socket-io/server/helper.js +17 -30
  188. package/dist/cjs/modules/socket/socket-io/server/helper.js.map +1 -1
  189. package/dist/cjs/modules/socket/websocket/server/helper.d.ts.map +1 -1
  190. package/dist/cjs/modules/socket/websocket/server/helper.js +2 -1
  191. package/dist/cjs/modules/socket/websocket/server/helper.js.map +1 -1
  192. package/dist/cjs/modules/storage/base.d.ts +98 -49
  193. package/dist/cjs/modules/storage/base.d.ts.map +1 -1
  194. package/dist/cjs/modules/storage/base.js +201 -93
  195. package/dist/cjs/modules/storage/base.js.map +1 -1
  196. package/dist/cjs/modules/storage/bun-s3/helper.d.ts +74 -29
  197. package/dist/cjs/modules/storage/bun-s3/helper.d.ts.map +1 -1
  198. package/dist/cjs/modules/storage/bun-s3/helper.js +321 -55
  199. package/dist/cjs/modules/storage/bun-s3/helper.js.map +1 -1
  200. package/dist/cjs/modules/storage/bun-s3/utility.d.ts +59 -0
  201. package/dist/cjs/modules/storage/bun-s3/utility.d.ts.map +1 -1
  202. package/dist/cjs/modules/storage/bun-s3/utility.js +218 -28
  203. package/dist/cjs/modules/storage/bun-s3/utility.js.map +1 -1
  204. package/dist/cjs/modules/storage/common/constants.d.ts +27 -0
  205. package/dist/cjs/modules/storage/common/constants.d.ts.map +1 -0
  206. package/dist/cjs/modules/storage/common/constants.js +35 -0
  207. package/dist/cjs/modules/storage/common/constants.js.map +1 -0
  208. package/dist/cjs/modules/storage/common/errors.d.ts +22 -0
  209. package/dist/cjs/modules/storage/common/errors.d.ts.map +1 -0
  210. package/dist/cjs/modules/storage/common/errors.js +25 -0
  211. package/dist/cjs/modules/storage/common/errors.js.map +1 -0
  212. package/dist/cjs/modules/storage/common/index.d.ts +3 -0
  213. package/dist/cjs/modules/storage/common/index.d.ts.map +1 -1
  214. package/dist/cjs/modules/storage/common/index.js +3 -0
  215. package/dist/cjs/modules/storage/common/index.js.map +1 -1
  216. package/dist/cjs/modules/storage/common/types.d.ts +118 -38
  217. package/dist/cjs/modules/storage/common/types.d.ts.map +1 -1
  218. package/dist/cjs/modules/storage/common/utility.d.ts +7 -0
  219. package/dist/cjs/modules/storage/common/utility.d.ts.map +1 -0
  220. package/dist/cjs/modules/storage/common/utility.js +27 -0
  221. package/dist/cjs/modules/storage/common/utility.js.map +1 -0
  222. package/dist/cjs/modules/storage/disk/helper.d.ts +26 -28
  223. package/dist/cjs/modules/storage/disk/helper.d.ts.map +1 -1
  224. package/dist/cjs/modules/storage/disk/helper.js +125 -86
  225. package/dist/cjs/modules/storage/disk/helper.js.map +1 -1
  226. package/dist/cjs/modules/storage/in-memory/helper.d.ts +10 -5
  227. package/dist/cjs/modules/storage/in-memory/helper.d.ts.map +1 -1
  228. package/dist/cjs/modules/storage/in-memory/helper.js +17 -10
  229. package/dist/cjs/modules/storage/in-memory/helper.js.map +1 -1
  230. package/dist/cjs/modules/storage/minio/helper.d.ts +22 -28
  231. package/dist/cjs/modules/storage/minio/helper.d.ts.map +1 -1
  232. package/dist/cjs/modules/storage/minio/helper.js +87 -33
  233. package/dist/cjs/modules/storage/minio/helper.js.map +1 -1
  234. package/dist/cjs/modules/temporal/adapters/dayjs.d.ts +21 -0
  235. package/dist/cjs/modules/temporal/adapters/dayjs.d.ts.map +1 -0
  236. package/dist/cjs/modules/temporal/adapters/dayjs.js +48 -0
  237. package/dist/cjs/modules/temporal/adapters/dayjs.js.map +1 -0
  238. package/dist/cjs/modules/temporal/adapters/guards.d.ts +4 -0
  239. package/dist/cjs/modules/temporal/adapters/guards.d.ts.map +1 -0
  240. package/dist/cjs/modules/temporal/adapters/guards.js +14 -0
  241. package/dist/cjs/modules/temporal/adapters/guards.js.map +1 -0
  242. package/dist/cjs/modules/temporal/adapters/index.d.ts +4 -0
  243. package/dist/cjs/modules/temporal/adapters/index.d.ts.map +1 -0
  244. package/dist/cjs/modules/temporal/adapters/index.js +20 -0
  245. package/dist/cjs/modules/temporal/adapters/index.js.map +1 -0
  246. package/dist/cjs/modules/temporal/adapters/luxon.d.ts +13 -0
  247. package/dist/cjs/modules/temporal/adapters/luxon.d.ts.map +1 -0
  248. package/dist/cjs/modules/temporal/adapters/luxon.js +26 -0
  249. package/dist/cjs/modules/temporal/adapters/luxon.js.map +1 -0
  250. package/dist/cjs/modules/temporal/adapters/native.d.ts +16 -0
  251. package/dist/cjs/modules/temporal/adapters/native.d.ts.map +1 -0
  252. package/dist/cjs/modules/temporal/adapters/native.js +38 -0
  253. package/dist/cjs/modules/temporal/adapters/native.js.map +1 -0
  254. package/dist/cjs/modules/temporal/calendar.d.ts +52 -0
  255. package/dist/cjs/modules/temporal/calendar.d.ts.map +1 -0
  256. package/dist/cjs/modules/temporal/calendar.js +151 -0
  257. package/dist/cjs/modules/temporal/calendar.js.map +1 -0
  258. package/dist/cjs/modules/temporal/common/constants.d.ts +20 -0
  259. package/dist/cjs/modules/temporal/common/constants.d.ts.map +1 -0
  260. package/dist/cjs/modules/temporal/common/constants.js +33 -0
  261. package/dist/cjs/modules/temporal/common/constants.js.map +1 -0
  262. package/dist/cjs/modules/temporal/common/index.d.ts +3 -0
  263. package/dist/cjs/modules/temporal/common/index.d.ts.map +1 -0
  264. package/dist/cjs/modules/temporal/common/index.js +19 -0
  265. package/dist/cjs/modules/temporal/common/index.js.map +1 -0
  266. package/dist/cjs/modules/temporal/common/types.d.ts +69 -0
  267. package/dist/cjs/modules/temporal/common/types.d.ts.map +1 -0
  268. package/dist/cjs/modules/temporal/common/types.js +3 -0
  269. package/dist/cjs/modules/temporal/common/types.js.map +1 -0
  270. package/dist/cjs/modules/temporal/helper.d.ts +120 -0
  271. package/dist/cjs/modules/temporal/helper.d.ts.map +1 -0
  272. package/dist/cjs/modules/temporal/helper.js +326 -0
  273. package/dist/cjs/modules/temporal/helper.js.map +1 -0
  274. package/dist/cjs/modules/temporal/index.d.ts +4 -0
  275. package/dist/cjs/modules/temporal/index.d.ts.map +1 -0
  276. package/dist/cjs/modules/temporal/index.js +20 -0
  277. package/dist/cjs/modules/temporal/index.js.map +1 -0
  278. package/dist/cjs/modules/temporal/pattern.d.ts +24 -0
  279. package/dist/cjs/modules/temporal/pattern.d.ts.map +1 -0
  280. package/dist/cjs/modules/temporal/pattern.js +133 -0
  281. package/dist/cjs/modules/temporal/pattern.js.map +1 -0
  282. package/dist/cjs/modules/temporal/tokens.d.ts +65 -0
  283. package/dist/cjs/modules/temporal/tokens.d.ts.map +1 -0
  284. package/dist/cjs/modules/temporal/tokens.js +113 -0
  285. package/dist/cjs/modules/temporal/tokens.js.map +1 -0
  286. package/dist/cjs/modules/uid/index.d.ts +1 -0
  287. package/dist/cjs/modules/uid/index.d.ts.map +1 -1
  288. package/dist/cjs/modules/uid/index.js +1 -0
  289. package/dist/cjs/modules/uid/index.js.map +1 -1
  290. package/dist/cjs/modules/uid/request-id.d.ts +5 -12
  291. package/dist/cjs/modules/uid/request-id.d.ts.map +1 -1
  292. package/dist/cjs/modules/uid/request-id.js +7 -44
  293. package/dist/cjs/modules/uid/request-id.js.map +1 -1
  294. package/dist/cjs/modules/uid/uuid/common/constants.d.ts +32 -0
  295. package/dist/cjs/modules/uid/uuid/common/constants.d.ts.map +1 -0
  296. package/dist/cjs/modules/uid/uuid/common/constants.js +36 -0
  297. package/dist/cjs/modules/uid/uuid/common/constants.js.map +1 -0
  298. package/dist/cjs/modules/uid/uuid/common/index.d.ts +3 -0
  299. package/dist/cjs/modules/uid/uuid/common/index.d.ts.map +1 -0
  300. package/dist/cjs/modules/uid/uuid/common/index.js +24 -0
  301. package/dist/cjs/modules/uid/uuid/common/index.js.map +1 -0
  302. package/dist/cjs/modules/uid/uuid/common/types.d.ts +6 -0
  303. package/dist/cjs/modules/uid/uuid/common/types.d.ts.map +1 -0
  304. package/dist/cjs/modules/uid/uuid/common/types.js +3 -0
  305. package/dist/cjs/modules/uid/uuid/common/types.js.map +1 -0
  306. package/dist/cjs/modules/uid/uuid/helper.d.ts +37 -0
  307. package/dist/cjs/modules/uid/uuid/helper.d.ts.map +1 -0
  308. package/dist/cjs/modules/uid/uuid/helper.js +49 -0
  309. package/dist/cjs/modules/uid/uuid/helper.js.map +1 -0
  310. package/dist/cjs/modules/uid/uuid/index.d.ts +6 -0
  311. package/dist/cjs/modules/uid/uuid/index.d.ts.map +1 -0
  312. package/dist/cjs/modules/uid/uuid/index.js +22 -0
  313. package/dist/cjs/modules/uid/uuid/index.js.map +1 -0
  314. package/dist/cjs/modules/uid/uuid/sha1.d.ts +19 -0
  315. package/dist/cjs/modules/uid/uuid/sha1.d.ts.map +1 -0
  316. package/dist/cjs/modules/uid/uuid/sha1.js +105 -0
  317. package/dist/cjs/modules/uid/uuid/sha1.js.map +1 -0
  318. package/dist/cjs/modules/uid/uuid/v4.d.ts +9 -0
  319. package/dist/cjs/modules/uid/uuid/v4.d.ts.map +1 -0
  320. package/dist/cjs/modules/uid/uuid/v4.js +54 -0
  321. package/dist/cjs/modules/uid/uuid/v4.js.map +1 -0
  322. package/dist/cjs/modules/uid/uuid/v5.d.ts +15 -0
  323. package/dist/cjs/modules/uid/uuid/v5.d.ts.map +1 -0
  324. package/dist/cjs/modules/uid/uuid/v5.js +90 -0
  325. package/dist/cjs/modules/uid/uuid/v5.js.map +1 -0
  326. package/dist/cjs/modules/uid/uuid/v7.d.ts +11 -0
  327. package/dist/cjs/modules/uid/uuid/v7.d.ts.map +1 -0
  328. package/dist/cjs/modules/uid/uuid/v7.js +95 -0
  329. package/dist/cjs/modules/uid/uuid/v7.js.map +1 -0
  330. package/dist/cjs/temporal.d.ts +2 -0
  331. package/dist/cjs/temporal.d.ts.map +1 -0
  332. package/dist/cjs/temporal.js +19 -0
  333. package/dist/cjs/temporal.js.map +1 -0
  334. package/dist/cjs/utilities/build-info.utility.d.ts +33 -0
  335. package/dist/cjs/utilities/build-info.utility.d.ts.map +1 -0
  336. package/dist/cjs/utilities/build-info.utility.js +28 -0
  337. package/dist/cjs/utilities/build-info.utility.js.map +1 -0
  338. package/dist/cjs/utilities/hr-time.utility.d.ts +6 -0
  339. package/dist/cjs/utilities/hr-time.utility.d.ts.map +1 -0
  340. package/dist/cjs/utilities/hr-time.utility.js +14 -0
  341. package/dist/cjs/utilities/hr-time.utility.js.map +1 -0
  342. package/dist/cjs/utilities/index.d.ts +3 -1
  343. package/dist/cjs/utilities/index.d.ts.map +1 -1
  344. package/dist/cjs/utilities/index.js +3 -1
  345. package/dist/cjs/utilities/index.js.map +1 -1
  346. package/dist/cjs/utilities/module.utility.d.ts +8 -2
  347. package/dist/cjs/utilities/module.utility.d.ts.map +1 -1
  348. package/dist/cjs/utilities/module.utility.js +25 -6
  349. package/dist/cjs/utilities/module.utility.js.map +1 -1
  350. package/dist/cjs/utilities/parse.utility.d.ts +29 -0
  351. package/dist/cjs/utilities/parse.utility.d.ts.map +1 -1
  352. package/dist/cjs/utilities/parse.utility.js +58 -10
  353. package/dist/cjs/utilities/parse.utility.js.map +1 -1
  354. package/dist/cjs/utilities/project-root.utility.d.ts +17 -0
  355. package/dist/cjs/utilities/project-root.utility.d.ts.map +1 -0
  356. package/dist/cjs/utilities/project-root.utility.js +23 -0
  357. package/dist/cjs/utilities/project-root.utility.js.map +1 -0
  358. package/dist/cjs/utilities/request.utility.d.ts +22 -1
  359. package/dist/cjs/utilities/request.utility.d.ts.map +1 -1
  360. package/dist/cjs/utilities/request.utility.js +44 -3
  361. package/dist/cjs/utilities/request.utility.js.map +1 -1
  362. package/dist/cjs/utilities/sleep.utility.d.ts +0 -1
  363. package/dist/cjs/utilities/sleep.utility.d.ts.map +1 -1
  364. package/dist/cjs/utilities/sleep.utility.js +0 -1
  365. package/dist/cjs/utilities/sleep.utility.js.map +1 -1
  366. package/dist/cjs/uuid.d.ts +2 -0
  367. package/dist/cjs/uuid.d.ts.map +1 -0
  368. package/dist/cjs/uuid.js +19 -0
  369. package/dist/cjs/uuid.js.map +1 -0
  370. package/dist/esm/common/constants/mime.d.ts +67 -0
  371. package/dist/esm/common/constants/mime.d.ts.map +1 -1
  372. package/dist/esm/common/constants/mime.js +134 -0
  373. package/dist/esm/common/constants/mime.js.map +1 -1
  374. package/dist/esm/common/redact.d.ts.map +1 -1
  375. package/dist/esm/common/redact.js +46 -5
  376. package/dist/esm/common/redact.js.map +1 -1
  377. package/dist/esm/common/resolvers.d.ts +5 -8
  378. package/dist/esm/common/resolvers.d.ts.map +1 -1
  379. package/dist/esm/common/resolvers.js +8 -25
  380. package/dist/esm/common/resolvers.js.map +1 -1
  381. package/dist/esm/common/types/resolver.d.ts +1 -4
  382. package/dist/esm/common/types/resolver.d.ts.map +1 -1
  383. package/dist/esm/core.d.ts +18 -8
  384. package/dist/esm/core.d.ts.map +1 -1
  385. package/dist/esm/core.js +19 -6
  386. package/dist/esm/core.js.map +1 -1
  387. package/dist/esm/modules/base.d.ts +4 -1
  388. package/dist/esm/modules/base.d.ts.map +1 -1
  389. package/dist/esm/modules/base.js +15 -4
  390. package/dist/esm/modules/base.js.map +1 -1
  391. package/dist/esm/modules/cron/helper.d.ts.map +1 -1
  392. package/dist/esm/modules/cron/helper.js +2 -2
  393. package/dist/esm/modules/cron/helper.js.map +1 -1
  394. package/dist/esm/modules/crypto/algorithms/aes-legacy.algorithm.js +3 -3
  395. package/dist/esm/modules/crypto/algorithms/aes-legacy.algorithm.js.map +1 -1
  396. package/dist/esm/modules/crypto/algorithms/aes.algorithm.js +5 -5
  397. package/dist/esm/modules/crypto/algorithms/aes.algorithm.js.map +1 -1
  398. package/dist/esm/modules/crypto/algorithms/hash.algorithm.d.ts +1 -4
  399. package/dist/esm/modules/crypto/algorithms/hash.algorithm.d.ts.map +1 -1
  400. package/dist/esm/modules/crypto/algorithms/hash.algorithm.js +1 -4
  401. package/dist/esm/modules/crypto/algorithms/hash.algorithm.js.map +1 -1
  402. package/dist/esm/modules/env/app-env.d.ts +11 -0
  403. package/dist/esm/modules/env/app-env.d.ts.map +1 -1
  404. package/dist/esm/modules/env/app-env.js +32 -6
  405. package/dist/esm/modules/env/app-env.js.map +1 -1
  406. package/dist/esm/modules/index.d.ts +1 -1
  407. package/dist/esm/modules/index.d.ts.map +1 -1
  408. package/dist/esm/modules/index.js +1 -1
  409. package/dist/esm/modules/index.js.map +1 -1
  410. package/dist/esm/modules/logger/base/base.d.ts.map +1 -1
  411. package/dist/esm/modules/logger/base/base.js +3 -0
  412. package/dist/esm/modules/logger/base/base.js.map +1 -1
  413. package/dist/esm/modules/logger/factory.d.ts.map +1 -1
  414. package/dist/esm/modules/logger/factory.js +2 -1
  415. package/dist/esm/modules/logger/factory.js.map +1 -1
  416. package/dist/esm/modules/logger/formatting/error-prettier.d.ts +6 -0
  417. package/dist/esm/modules/logger/formatting/error-prettier.d.ts.map +1 -1
  418. package/dist/esm/modules/logger/formatting/error-prettier.js +35 -1
  419. package/dist/esm/modules/logger/formatting/error-prettier.js.map +1 -1
  420. package/dist/esm/modules/logger/hf/logger.d.ts.map +1 -1
  421. package/dist/esm/modules/logger/hf/logger.js +4 -1
  422. package/dist/esm/modules/logger/hf/logger.js.map +1 -1
  423. package/dist/esm/modules/logger/pino/destination.d.ts.map +1 -1
  424. package/dist/esm/modules/logger/pino/destination.js +2 -1
  425. package/dist/esm/modules/logger/pino/destination.js.map +1 -1
  426. package/dist/esm/modules/logger/resolver.d.ts +1 -1
  427. package/dist/esm/modules/logger/resolver.d.ts.map +1 -1
  428. package/dist/esm/modules/logger/resolver.js +8 -1
  429. package/dist/esm/modules/logger/resolver.js.map +1 -1
  430. package/dist/esm/modules/logger/slot.d.ts +23 -0
  431. package/dist/esm/modules/logger/slot.d.ts.map +1 -0
  432. package/dist/esm/modules/logger/slot.js +119 -0
  433. package/dist/esm/modules/logger/slot.js.map +1 -0
  434. package/dist/esm/modules/logger/winston/common/constants.d.ts.map +1 -1
  435. package/dist/esm/modules/logger/winston/common/constants.js +6 -5
  436. package/dist/esm/modules/logger/winston/common/constants.js.map +1 -1
  437. package/dist/esm/modules/network/http-request/base-network-request.helper.d.ts.map +1 -1
  438. package/dist/esm/modules/network/http-request/base-network-request.helper.js +4 -3
  439. package/dist/esm/modules/network/http-request/base-network-request.helper.js.map +1 -1
  440. package/dist/esm/modules/network/http-request/fetcher/node-fetcher.d.ts.map +1 -1
  441. package/dist/esm/modules/network/http-request/fetcher/node-fetcher.js +3 -3
  442. package/dist/esm/modules/network/http-request/fetcher/node-fetcher.js.map +1 -1
  443. package/dist/esm/modules/network/index.d.ts +1 -0
  444. package/dist/esm/modules/network/index.d.ts.map +1 -1
  445. package/dist/esm/modules/network/index.js +1 -0
  446. package/dist/esm/modules/network/index.js.map +1 -1
  447. package/dist/esm/modules/network/tcp-socket/base-tcp-client.helper.d.ts.map +1 -1
  448. package/dist/esm/modules/network/tcp-socket/base-tcp-client.helper.js +2 -2
  449. package/dist/esm/modules/network/tcp-socket/base-tcp-client.helper.js.map +1 -1
  450. package/dist/esm/modules/network/tcp-socket/base-tcp-server.helper.d.ts +2 -3
  451. package/dist/esm/modules/network/tcp-socket/base-tcp-server.helper.d.ts.map +1 -1
  452. package/dist/esm/modules/network/tcp-socket/base-tcp-server.helper.js +5 -5
  453. package/dist/esm/modules/network/tcp-socket/base-tcp-server.helper.js.map +1 -1
  454. package/dist/esm/modules/network/utilities/index.d.ts +3 -0
  455. package/dist/esm/modules/network/utilities/index.d.ts.map +1 -0
  456. package/dist/esm/modules/network/utilities/index.js +3 -0
  457. package/dist/esm/modules/network/utilities/index.js.map +1 -0
  458. package/dist/esm/modules/network/utilities/query-string.d.ts +26 -0
  459. package/dist/esm/modules/network/utilities/query-string.d.ts.map +1 -0
  460. package/dist/esm/modules/network/utilities/query-string.js +44 -0
  461. package/dist/esm/modules/network/utilities/query-string.js.map +1 -0
  462. package/dist/esm/modules/network/utilities/url-safety/common/constants.d.ts +18 -0
  463. package/dist/esm/modules/network/utilities/url-safety/common/constants.d.ts.map +1 -0
  464. package/dist/esm/modules/network/utilities/url-safety/common/constants.js +18 -0
  465. package/dist/esm/modules/network/utilities/url-safety/common/constants.js.map +1 -0
  466. package/dist/esm/modules/network/utilities/url-safety/common/errors.d.ts +31 -0
  467. package/dist/esm/modules/network/utilities/url-safety/common/errors.d.ts.map +1 -0
  468. package/dist/esm/modules/network/utilities/url-safety/common/errors.js +26 -0
  469. package/dist/esm/modules/network/utilities/url-safety/common/errors.js.map +1 -0
  470. package/dist/esm/modules/network/utilities/url-safety/common/index.d.ts +4 -0
  471. package/dist/esm/modules/network/utilities/url-safety/common/index.d.ts.map +1 -0
  472. package/dist/esm/modules/network/utilities/url-safety/common/index.js +4 -0
  473. package/dist/esm/modules/network/utilities/url-safety/common/index.js.map +1 -0
  474. package/dist/esm/modules/network/utilities/url-safety/common/types.d.ts +24 -0
  475. package/dist/esm/modules/network/utilities/url-safety/common/types.d.ts.map +1 -0
  476. package/dist/esm/modules/network/utilities/url-safety/common/types.js +2 -0
  477. package/dist/esm/modules/network/utilities/url-safety/common/types.js.map +1 -0
  478. package/dist/esm/modules/network/utilities/url-safety/index.d.ts +4 -0
  479. package/dist/esm/modules/network/utilities/url-safety/index.d.ts.map +1 -0
  480. package/dist/esm/modules/network/utilities/url-safety/index.js +4 -0
  481. package/dist/esm/modules/network/utilities/url-safety/index.js.map +1 -0
  482. package/dist/esm/modules/network/utilities/url-safety/ingest.d.ts +52 -0
  483. package/dist/esm/modules/network/utilities/url-safety/ingest.d.ts.map +1 -0
  484. package/dist/esm/modules/network/utilities/url-safety/ingest.js +163 -0
  485. package/dist/esm/modules/network/utilities/url-safety/ingest.js.map +1 -0
  486. package/dist/esm/modules/network/utilities/url-safety/policy.d.ts +29 -0
  487. package/dist/esm/modules/network/utilities/url-safety/policy.d.ts.map +1 -0
  488. package/dist/esm/modules/network/utilities/url-safety/policy.js +109 -0
  489. package/dist/esm/modules/network/utilities/url-safety/policy.js.map +1 -0
  490. package/dist/esm/modules/queue/bullmq/helper.d.ts +25 -4
  491. package/dist/esm/modules/queue/bullmq/helper.d.ts.map +1 -1
  492. package/dist/esm/modules/queue/bullmq/helper.js +45 -14
  493. package/dist/esm/modules/queue/bullmq/helper.js.map +1 -1
  494. package/dist/esm/modules/queue/internal/sequential/helper.d.ts.map +1 -1
  495. package/dist/esm/modules/queue/internal/sequential/helper.js +2 -2
  496. package/dist/esm/modules/queue/internal/sequential/helper.js.map +1 -1
  497. package/dist/esm/modules/queue/kafka/base.d.ts +8 -4
  498. package/dist/esm/modules/queue/kafka/base.d.ts.map +1 -1
  499. package/dist/esm/modules/queue/kafka/base.js +5 -1
  500. package/dist/esm/modules/queue/kafka/base.js.map +1 -1
  501. package/dist/esm/modules/queue/kafka/bundler/platformatic-require.plugin.d.ts +1 -1
  502. package/dist/esm/modules/queue/kafka/bundler/platformatic-require.plugin.d.ts.map +1 -1
  503. package/dist/esm/modules/queue/kafka/bundler/platformatic-require.plugin.js +1 -1
  504. package/dist/esm/modules/queue/kafka/bundler/platformatic-require.plugin.js.map +1 -1
  505. package/dist/esm/modules/queue/kafka/common/types/callbacks.d.ts +10 -0
  506. package/dist/esm/modules/queue/kafka/common/types/callbacks.d.ts.map +1 -1
  507. package/dist/esm/modules/queue/kafka/common/types/consumer.d.ts +5 -1
  508. package/dist/esm/modules/queue/kafka/common/types/consumer.d.ts.map +1 -1
  509. package/dist/esm/modules/queue/kafka/consumer.d.ts +64 -28
  510. package/dist/esm/modules/queue/kafka/consumer.d.ts.map +1 -1
  511. package/dist/esm/modules/queue/kafka/consumer.js +57 -23
  512. package/dist/esm/modules/queue/kafka/consumer.js.map +1 -1
  513. package/dist/esm/modules/queue/mqtt/helper.d.ts.map +1 -1
  514. package/dist/esm/modules/queue/mqtt/helper.js +6 -5
  515. package/dist/esm/modules/queue/mqtt/helper.js.map +1 -1
  516. package/dist/esm/modules/redis/base/abstract.helper.d.ts.map +1 -1
  517. package/dist/esm/modules/redis/base/abstract.helper.js +11 -6
  518. package/dist/esm/modules/redis/base/abstract.helper.js.map +1 -1
  519. package/dist/esm/modules/redis/cluster/cluster.helper.d.ts +3 -2
  520. package/dist/esm/modules/redis/cluster/cluster.helper.d.ts.map +1 -1
  521. package/dist/esm/modules/redis/cluster/cluster.helper.js +18 -4
  522. package/dist/esm/modules/redis/cluster/cluster.helper.js.map +1 -1
  523. package/dist/esm/modules/redis/common/constants.d.ts +4 -0
  524. package/dist/esm/modules/redis/common/constants.d.ts.map +1 -1
  525. package/dist/esm/modules/redis/common/constants.js +4 -0
  526. package/dist/esm/modules/redis/common/constants.js.map +1 -1
  527. package/dist/esm/modules/redis/common/types.d.ts +13 -3
  528. package/dist/esm/modules/redis/common/types.d.ts.map +1 -1
  529. package/dist/esm/modules/redis/sentinel/sentinel.helper.d.ts +1 -1
  530. package/dist/esm/modules/redis/sentinel/sentinel.helper.d.ts.map +1 -1
  531. package/dist/esm/modules/redis/sentinel/sentinel.helper.js +3 -2
  532. package/dist/esm/modules/redis/sentinel/sentinel.helper.js.map +1 -1
  533. package/dist/esm/modules/redis/single/single.helper.d.ts +1 -1
  534. package/dist/esm/modules/redis/single/single.helper.d.ts.map +1 -1
  535. package/dist/esm/modules/redis/single/single.helper.js +4 -2
  536. package/dist/esm/modules/redis/single/single.helper.js.map +1 -1
  537. package/dist/esm/modules/secrets/base/abstract.helper.d.ts.map +1 -1
  538. package/dist/esm/modules/secrets/base/abstract.helper.js +2 -1
  539. package/dist/esm/modules/secrets/base/abstract.helper.js.map +1 -1
  540. package/dist/esm/modules/secrets/hashicorp/hashicorp.helper.d.ts.map +1 -1
  541. package/dist/esm/modules/secrets/hashicorp/hashicorp.helper.js +2 -1
  542. package/dist/esm/modules/secrets/hashicorp/hashicorp.helper.js.map +1 -1
  543. package/dist/esm/modules/secrets/system-envs/system-envs.helper.d.ts.map +1 -1
  544. package/dist/esm/modules/secrets/system-envs/system-envs.helper.js +2 -1
  545. package/dist/esm/modules/secrets/system-envs/system-envs.helper.js.map +1 -1
  546. package/dist/esm/modules/socket/socket-io/client/helper.d.ts +2 -1
  547. package/dist/esm/modules/socket/socket-io/client/helper.d.ts.map +1 -1
  548. package/dist/esm/modules/socket/socket-io/client/helper.js +9 -3
  549. package/dist/esm/modules/socket/socket-io/client/helper.js.map +1 -1
  550. package/dist/esm/modules/socket/socket-io/common/types/client.d.ts +2 -0
  551. package/dist/esm/modules/socket/socket-io/common/types/client.d.ts.map +1 -1
  552. package/dist/esm/modules/socket/socket-io/server/helper.d.ts +1 -0
  553. package/dist/esm/modules/socket/socket-io/server/helper.d.ts.map +1 -1
  554. package/dist/esm/modules/socket/socket-io/server/helper.js +17 -27
  555. package/dist/esm/modules/socket/socket-io/server/helper.js.map +1 -1
  556. package/dist/esm/modules/socket/websocket/server/helper.d.ts.map +1 -1
  557. package/dist/esm/modules/socket/websocket/server/helper.js +2 -1
  558. package/dist/esm/modules/socket/websocket/server/helper.js.map +1 -1
  559. package/dist/esm/modules/storage/base.d.ts +98 -49
  560. package/dist/esm/modules/storage/base.d.ts.map +1 -1
  561. package/dist/esm/modules/storage/base.js +202 -91
  562. package/dist/esm/modules/storage/base.js.map +1 -1
  563. package/dist/esm/modules/storage/bun-s3/helper.d.ts +74 -29
  564. package/dist/esm/modules/storage/bun-s3/helper.d.ts.map +1 -1
  565. package/dist/esm/modules/storage/bun-s3/helper.js +322 -56
  566. package/dist/esm/modules/storage/bun-s3/helper.js.map +1 -1
  567. package/dist/esm/modules/storage/bun-s3/utility.d.ts +59 -0
  568. package/dist/esm/modules/storage/bun-s3/utility.d.ts.map +1 -1
  569. package/dist/esm/modules/storage/bun-s3/utility.js +212 -28
  570. package/dist/esm/modules/storage/bun-s3/utility.js.map +1 -1
  571. package/dist/esm/modules/storage/common/constants.d.ts +27 -0
  572. package/dist/esm/modules/storage/common/constants.d.ts.map +1 -0
  573. package/dist/esm/modules/storage/common/constants.js +28 -0
  574. package/dist/esm/modules/storage/common/constants.js.map +1 -0
  575. package/dist/esm/modules/storage/common/errors.d.ts +22 -0
  576. package/dist/esm/modules/storage/common/errors.d.ts.map +1 -0
  577. package/dist/esm/modules/storage/common/errors.js +21 -0
  578. package/dist/esm/modules/storage/common/errors.js.map +1 -0
  579. package/dist/esm/modules/storage/common/index.d.ts +3 -0
  580. package/dist/esm/modules/storage/common/index.d.ts.map +1 -1
  581. package/dist/esm/modules/storage/common/index.js +3 -0
  582. package/dist/esm/modules/storage/common/index.js.map +1 -1
  583. package/dist/esm/modules/storage/common/types.d.ts +118 -38
  584. package/dist/esm/modules/storage/common/types.d.ts.map +1 -1
  585. package/dist/esm/modules/storage/common/utility.d.ts +7 -0
  586. package/dist/esm/modules/storage/common/utility.d.ts.map +1 -0
  587. package/dist/esm/modules/storage/common/utility.js +23 -0
  588. package/dist/esm/modules/storage/common/utility.js.map +1 -0
  589. package/dist/esm/modules/storage/disk/helper.d.ts +26 -28
  590. package/dist/esm/modules/storage/disk/helper.d.ts.map +1 -1
  591. package/dist/esm/modules/storage/disk/helper.js +125 -86
  592. package/dist/esm/modules/storage/disk/helper.js.map +1 -1
  593. package/dist/esm/modules/storage/in-memory/helper.d.ts +10 -5
  594. package/dist/esm/modules/storage/in-memory/helper.d.ts.map +1 -1
  595. package/dist/esm/modules/storage/in-memory/helper.js +17 -10
  596. package/dist/esm/modules/storage/in-memory/helper.js.map +1 -1
  597. package/dist/esm/modules/storage/minio/helper.d.ts +22 -28
  598. package/dist/esm/modules/storage/minio/helper.d.ts.map +1 -1
  599. package/dist/esm/modules/storage/minio/helper.js +87 -33
  600. package/dist/esm/modules/storage/minio/helper.js.map +1 -1
  601. package/dist/esm/modules/temporal/adapters/dayjs.d.ts +21 -0
  602. package/dist/esm/modules/temporal/adapters/dayjs.d.ts.map +1 -0
  603. package/dist/esm/modules/temporal/adapters/dayjs.js +44 -0
  604. package/dist/esm/modules/temporal/adapters/dayjs.js.map +1 -0
  605. package/dist/esm/modules/temporal/adapters/guards.d.ts +4 -0
  606. package/dist/esm/modules/temporal/adapters/guards.d.ts.map +1 -0
  607. package/dist/esm/modules/temporal/adapters/guards.js +10 -0
  608. package/dist/esm/modules/temporal/adapters/guards.js.map +1 -0
  609. package/dist/esm/modules/temporal/adapters/index.d.ts +4 -0
  610. package/dist/esm/modules/temporal/adapters/index.d.ts.map +1 -0
  611. package/dist/esm/modules/temporal/adapters/index.js +4 -0
  612. package/dist/esm/modules/temporal/adapters/index.js.map +1 -0
  613. package/dist/esm/modules/temporal/adapters/luxon.d.ts +13 -0
  614. package/dist/esm/modules/temporal/adapters/luxon.d.ts.map +1 -0
  615. package/dist/esm/modules/temporal/adapters/luxon.js +22 -0
  616. package/dist/esm/modules/temporal/adapters/luxon.js.map +1 -0
  617. package/dist/esm/modules/temporal/adapters/native.d.ts +16 -0
  618. package/dist/esm/modules/temporal/adapters/native.d.ts.map +1 -0
  619. package/dist/esm/modules/temporal/adapters/native.js +34 -0
  620. package/dist/esm/modules/temporal/adapters/native.js.map +1 -0
  621. package/dist/esm/modules/temporal/calendar.d.ts +52 -0
  622. package/dist/esm/modules/temporal/calendar.d.ts.map +1 -0
  623. package/dist/esm/modules/temporal/calendar.js +138 -0
  624. package/dist/esm/modules/temporal/calendar.js.map +1 -0
  625. package/dist/esm/modules/temporal/common/constants.d.ts +20 -0
  626. package/dist/esm/modules/temporal/common/constants.d.ts.map +1 -0
  627. package/dist/esm/modules/temporal/common/constants.js +29 -0
  628. package/dist/esm/modules/temporal/common/constants.js.map +1 -0
  629. package/dist/esm/modules/temporal/common/index.d.ts +3 -0
  630. package/dist/esm/modules/temporal/common/index.d.ts.map +1 -0
  631. package/dist/esm/modules/temporal/common/index.js +3 -0
  632. package/dist/esm/modules/temporal/common/index.js.map +1 -0
  633. package/dist/esm/modules/temporal/common/types.d.ts +69 -0
  634. package/dist/esm/modules/temporal/common/types.d.ts.map +1 -0
  635. package/dist/esm/modules/temporal/common/types.js +2 -0
  636. package/dist/esm/modules/temporal/common/types.js.map +1 -0
  637. package/dist/esm/modules/temporal/helper.d.ts +120 -0
  638. package/dist/esm/modules/temporal/helper.d.ts.map +1 -0
  639. package/dist/esm/modules/temporal/helper.js +322 -0
  640. package/dist/esm/modules/temporal/helper.js.map +1 -0
  641. package/dist/esm/modules/temporal/index.d.ts +4 -0
  642. package/dist/esm/modules/temporal/index.d.ts.map +1 -0
  643. package/dist/esm/modules/temporal/index.js +4 -0
  644. package/dist/esm/modules/temporal/index.js.map +1 -0
  645. package/dist/esm/modules/temporal/pattern.d.ts +24 -0
  646. package/dist/esm/modules/temporal/pattern.d.ts.map +1 -0
  647. package/dist/esm/modules/temporal/pattern.js +129 -0
  648. package/dist/esm/modules/temporal/pattern.js.map +1 -0
  649. package/dist/esm/modules/temporal/tokens.d.ts +65 -0
  650. package/dist/esm/modules/temporal/tokens.d.ts.map +1 -0
  651. package/dist/esm/modules/temporal/tokens.js +102 -0
  652. package/dist/esm/modules/temporal/tokens.js.map +1 -0
  653. package/dist/esm/modules/uid/index.d.ts +1 -0
  654. package/dist/esm/modules/uid/index.d.ts.map +1 -1
  655. package/dist/esm/modules/uid/index.js +1 -0
  656. package/dist/esm/modules/uid/index.js.map +1 -1
  657. package/dist/esm/modules/uid/request-id.d.ts +5 -12
  658. package/dist/esm/modules/uid/request-id.d.ts.map +1 -1
  659. package/dist/esm/modules/uid/request-id.js +7 -44
  660. package/dist/esm/modules/uid/request-id.js.map +1 -1
  661. package/dist/esm/modules/uid/uuid/common/constants.d.ts +32 -0
  662. package/dist/esm/modules/uid/uuid/common/constants.d.ts.map +1 -0
  663. package/dist/esm/modules/uid/uuid/common/constants.js +32 -0
  664. package/dist/esm/modules/uid/uuid/common/constants.js.map +1 -0
  665. package/dist/esm/modules/uid/uuid/common/index.d.ts +3 -0
  666. package/dist/esm/modules/uid/uuid/common/index.d.ts.map +1 -0
  667. package/dist/esm/modules/uid/uuid/common/index.js +5 -0
  668. package/dist/esm/modules/uid/uuid/common/index.js.map +1 -0
  669. package/dist/esm/modules/uid/uuid/common/types.d.ts +6 -0
  670. package/dist/esm/modules/uid/uuid/common/types.d.ts.map +1 -0
  671. package/dist/esm/modules/uid/uuid/common/types.js +2 -0
  672. package/dist/esm/modules/uid/uuid/common/types.js.map +1 -0
  673. package/dist/esm/modules/uid/uuid/helper.d.ts +37 -0
  674. package/dist/esm/modules/uid/uuid/helper.d.ts.map +1 -0
  675. package/dist/esm/modules/uid/uuid/helper.js +45 -0
  676. package/dist/esm/modules/uid/uuid/helper.js.map +1 -0
  677. package/dist/esm/modules/uid/uuid/index.d.ts +6 -0
  678. package/dist/esm/modules/uid/uuid/index.d.ts.map +1 -0
  679. package/dist/esm/modules/uid/uuid/index.js +6 -0
  680. package/dist/esm/modules/uid/uuid/index.js.map +1 -0
  681. package/dist/esm/modules/uid/uuid/sha1.d.ts +19 -0
  682. package/dist/esm/modules/uid/uuid/sha1.d.ts.map +1 -0
  683. package/dist/esm/modules/uid/uuid/sha1.js +101 -0
  684. package/dist/esm/modules/uid/uuid/sha1.js.map +1 -0
  685. package/dist/esm/modules/uid/uuid/v4.d.ts +9 -0
  686. package/dist/esm/modules/uid/uuid/v4.d.ts.map +1 -0
  687. package/dist/esm/modules/uid/uuid/v4.js +50 -0
  688. package/dist/esm/modules/uid/uuid/v4.js.map +1 -0
  689. package/dist/esm/modules/uid/uuid/v5.d.ts +15 -0
  690. package/dist/esm/modules/uid/uuid/v5.d.ts.map +1 -0
  691. package/dist/esm/modules/uid/uuid/v5.js +86 -0
  692. package/dist/esm/modules/uid/uuid/v5.js.map +1 -0
  693. package/dist/esm/modules/uid/uuid/v7.d.ts +11 -0
  694. package/dist/esm/modules/uid/uuid/v7.d.ts.map +1 -0
  695. package/dist/esm/modules/uid/uuid/v7.js +90 -0
  696. package/dist/esm/modules/uid/uuid/v7.js.map +1 -0
  697. package/dist/esm/package.json +6 -0
  698. package/dist/esm/temporal.d.ts +2 -0
  699. package/dist/esm/temporal.d.ts.map +1 -0
  700. package/dist/esm/temporal.js +3 -0
  701. package/dist/esm/temporal.js.map +1 -0
  702. package/dist/esm/utilities/build-info.utility.d.ts +33 -0
  703. package/dist/esm/utilities/build-info.utility.d.ts.map +1 -0
  704. package/dist/esm/utilities/build-info.utility.js +24 -0
  705. package/dist/esm/utilities/build-info.utility.js.map +1 -0
  706. package/dist/esm/utilities/hr-time.utility.d.ts +6 -0
  707. package/dist/esm/utilities/hr-time.utility.d.ts.map +1 -0
  708. package/dist/esm/utilities/hr-time.utility.js +10 -0
  709. package/dist/esm/utilities/hr-time.utility.js.map +1 -0
  710. package/dist/esm/utilities/index.d.ts +3 -1
  711. package/dist/esm/utilities/index.d.ts.map +1 -1
  712. package/dist/esm/utilities/index.js +3 -1
  713. package/dist/esm/utilities/index.js.map +1 -1
  714. package/dist/esm/utilities/module.utility.d.ts +8 -2
  715. package/dist/esm/utilities/module.utility.d.ts.map +1 -1
  716. package/dist/esm/utilities/module.utility.js +25 -6
  717. package/dist/esm/utilities/module.utility.js.map +1 -1
  718. package/dist/esm/utilities/parse.utility.d.ts +29 -0
  719. package/dist/esm/utilities/parse.utility.d.ts.map +1 -1
  720. package/dist/esm/utilities/parse.utility.js +56 -6
  721. package/dist/esm/utilities/parse.utility.js.map +1 -1
  722. package/dist/esm/utilities/project-root.utility.d.ts +17 -0
  723. package/dist/esm/utilities/project-root.utility.d.ts.map +1 -0
  724. package/dist/esm/utilities/project-root.utility.js +19 -0
  725. package/dist/esm/utilities/project-root.utility.js.map +1 -0
  726. package/dist/esm/utilities/request.utility.d.ts +22 -1
  727. package/dist/esm/utilities/request.utility.d.ts.map +1 -1
  728. package/dist/esm/utilities/request.utility.js +42 -2
  729. package/dist/esm/utilities/request.utility.js.map +1 -1
  730. package/dist/esm/utilities/sleep.utility.d.ts +0 -1
  731. package/dist/esm/utilities/sleep.utility.d.ts.map +1 -1
  732. package/dist/esm/utilities/sleep.utility.js +0 -1
  733. package/dist/esm/utilities/sleep.utility.js.map +1 -1
  734. package/dist/esm/uuid.d.ts +2 -0
  735. package/dist/esm/uuid.d.ts.map +1 -0
  736. package/dist/esm/uuid.js +3 -0
  737. package/dist/esm/uuid.js.map +1 -0
  738. package/package.json +35 -19
  739. package/dist/cjs/modules/error/schemas.d.ts +0 -16
  740. package/dist/cjs/modules/error/schemas.d.ts.map +0 -1
  741. package/dist/cjs/modules/error/schemas.js +0 -36
  742. package/dist/cjs/modules/error/schemas.js.map +0 -1
  743. package/dist/cjs/utilities/date.utility.d.ts +0 -19
  744. package/dist/cjs/utilities/date.utility.d.ts.map +0 -1
  745. package/dist/cjs/utilities/date.utility.js +0 -57
  746. package/dist/cjs/utilities/date.utility.js.map +0 -1
  747. package/dist/esm/modules/error/schemas.d.ts +0 -16
  748. package/dist/esm/modules/error/schemas.d.ts.map +0 -1
  749. package/dist/esm/modules/error/schemas.js +0 -33
  750. package/dist/esm/modules/error/schemas.js.map +0 -1
  751. package/dist/esm/utilities/date.utility.d.ts +0 -19
  752. package/dist/esm/utilities/date.utility.d.ts.map +0 -1
  753. package/dist/esm/utilities/date.utility.js +0 -46
  754. package/dist/esm/utilities/date.utility.js.map +0 -1
@@ -3,17 +3,8 @@ import { ErrorPrettier } from '../../logger/index.js';
3
3
  import { S3Client } from 'bun';
4
4
  import { Readable } from 'node:stream';
5
5
  import { BaseStorageHelper } from '../base.js';
6
- import { buildSignedRequest } from './utility.js';
7
- /** S3 reports a missing bucket as 404 or a NoSuchBucket/NotFound code; the shape varies by provider, so both are checked. */
8
- const isBucketMissingError = (opts) => {
9
- const { error } = opts;
10
- const source = error;
11
- if (source?.statusCode === 404 || source?.status === 404) {
12
- return true;
13
- }
14
- const marker = `${source?.code ?? ''} ${source?.name ?? ''}`.toLowerCase();
15
- return marker.includes('nosuchbucket') || marker.includes('notfound');
16
- };
6
+ import { S3Audiences, isNotFoundError, StoragePresignDefaults, toExpirySeconds } from '../common/index.js';
7
+ import { buildPostPolicy, buildPresignedUrl, buildSignedRequest, buildTaggingHeader, buildTaggingXml, parseTaggingXml, } from './utility.js';
17
8
  export class BunS3Helper extends BaseStorageHelper {
18
9
  constructor(options) {
19
10
  super({
@@ -23,21 +14,56 @@ export class BunS3Helper extends BaseStorageHelper {
23
14
  this.credentials = {
24
15
  accessKey: options.accessKey,
25
16
  secretKey: options.secretKey,
26
- endpoint: options.endpoint,
17
+ endpoint: {
18
+ default: options.endpoint.default,
19
+ // Falls back to the default, so one reachable host still serves both audiences.
20
+ public: options.endpoint.public ?? options.endpoint.default,
21
+ },
27
22
  region: options.region ?? 'us-east-1',
28
23
  sessionToken: options.sessionToken,
24
+ virtualHostedStyle: options.virtualHostedStyle ?? false,
25
+ };
26
+ this.transfer = {
27
+ partSize: options.partSize,
28
+ queueSize: options.queueSize,
29
+ retry: options.retry,
29
30
  };
30
31
  this.client = new S3Client({
31
32
  accessKeyId: options.accessKey,
32
33
  secretAccessKey: options.secretKey,
33
- endpoint: options.endpoint,
34
+ endpoint: options.endpoint.default,
34
35
  region: options.region,
35
36
  sessionToken: options.sessionToken,
37
+ virtualHostedStyle: options.virtualHostedStyle,
38
+ });
39
+ }
40
+ /** One bucket's objects, in either addressing style. `audience` picks the host: `server` for a call this process makes, `browser` for a URL it hands out. Virtual-hosted derives the per-bucket host, because the bucket arrives per call. */
41
+ objectEndpoint(opts) {
42
+ const { endpoint, virtualHostedStyle } = this.credentials;
43
+ const host = opts.audience === S3Audiences.BROWSER ? endpoint.public : endpoint.default;
44
+ if (!virtualHostedStyle) {
45
+ return { endpoint: host, pathPrefix: `/${opts.bucket}` };
46
+ }
47
+ const parsed = new URL(host);
48
+ parsed.hostname = `${opts.bucket}.${parsed.hostname}`;
49
+ return { endpoint: parsed.origin, pathPrefix: '' };
50
+ }
51
+ /** Per-call overrides, so one client serves every bucket in either addressing style. */
52
+ presignOptions(opts) {
53
+ const { virtualHostedStyle } = this.credentials;
54
+ const { endpoint } = this.objectEndpoint({
55
+ bucket: opts.bucket,
56
+ audience: S3Audiences.BROWSER,
36
57
  });
58
+ return {
59
+ bucket: opts.bucket,
60
+ endpoint,
61
+ ...(virtualHostedStyle ? { virtualHostedStyle: true } : {}),
62
+ };
37
63
  }
38
- async isBucketExists(opts) {
39
- const { name } = opts;
40
- if (!this.isValidName(name)) {
64
+ async hasBucket(opts) {
65
+ const { name } = opts.bucket;
66
+ if (!this.isValidBucketName(opts)) {
41
67
  return false;
42
68
  }
43
69
  try {
@@ -45,15 +71,17 @@ export class BunS3Helper extends BaseStorageHelper {
45
71
  return true;
46
72
  }
47
73
  catch (error) {
48
- // A missing bucket is the answer; credentials, region or network failures are not and must not vanish.
49
- if (!isBucketMissingError({ error })) {
50
- this.logger.warn('[isBucketExists] Cannot determine bucket existence - reporting false | bucket: %s | %s', name, ErrorPrettier.format({ error }));
74
+ // A missing bucket is the answer; a credentials or network failure is not, and must not vanish.
75
+ if (!isNotFoundError({ error })) {
76
+ this.logger.warn('[hasBucket] Cannot determine bucket existence - reporting false | bucket: %s | %s', name, ErrorPrettier.format({ error }));
51
77
  }
52
78
  return false;
53
79
  }
54
80
  }
55
81
  async getBuckets() {
56
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
82
+ // A bucket operation is a call this process makes, so it goes to the default host.
83
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
84
+ const endpoint = this.credentials.endpoint.default;
57
85
  const { url, headers } = await buildSignedRequest({
58
86
  method: 'GET',
59
87
  endpoint,
@@ -78,20 +106,23 @@ export class BunS3Helper extends BaseStorageHelper {
78
106
  }
79
107
  return buckets;
80
108
  }
109
+ /** S3 exposes a creation date only through `ListBuckets`, so one full listing is the cheapest correct answer. */
81
110
  async getBucket(opts) {
82
- const { name } = opts;
83
- if (!this.isValidName(name)) {
111
+ const { name } = opts.bucket;
112
+ if (!this.isValidBucketName(opts)) {
84
113
  return null;
85
114
  }
86
115
  const buckets = await this.getBuckets();
87
- return buckets.find(b => b.name === name) ?? null;
116
+ return buckets.find(bucket => bucket.name === name) ?? null;
88
117
  }
89
118
  async createBucket(opts) {
90
- const { name } = opts;
91
- if (!this.isValidName(name)) {
119
+ const { name } = opts.bucket;
120
+ if (!this.isValidBucketName(opts)) {
92
121
  throw getError({ message: '[createBucket] Invalid name to create bucket!' });
93
122
  }
94
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
123
+ // A bucket operation is a call this process makes, so it goes to the default host.
124
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
125
+ const endpoint = this.credentials.endpoint.default;
95
126
  const { url, headers } = await buildSignedRequest({
96
127
  method: 'PUT',
97
128
  endpoint,
@@ -106,14 +137,16 @@ export class BunS3Helper extends BaseStorageHelper {
106
137
  const xml = await response.text();
107
138
  throw getError({ message: `[createBucket] S3 error: ${xml}` });
108
139
  }
109
- return this.getBucket({ name });
140
+ return this.getBucket(opts);
110
141
  }
111
142
  async removeBucket(opts) {
112
- const { name } = opts;
113
- if (!this.isValidName(name)) {
143
+ const { name } = opts.bucket;
144
+ if (!this.isValidBucketName(opts)) {
114
145
  throw getError({ message: '[removeBucket] Invalid name to remove bucket!' });
115
146
  }
116
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
147
+ // A bucket operation is a call this process makes, so it goes to the default host.
148
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
149
+ const endpoint = this.credentials.endpoint.default;
117
150
  const { url, headers } = await buildSignedRequest({
118
151
  method: 'DELETE',
119
152
  endpoint,
@@ -130,46 +163,279 @@ export class BunS3Helper extends BaseStorageHelper {
130
163
  }
131
164
  return true;
132
165
  }
166
+ async copyObject(opts) {
167
+ const { bucket, source, destination } = opts;
168
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
169
+ const { endpoint, pathPrefix } = this.objectEndpoint({
170
+ bucket: bucket.name,
171
+ audience: S3Audiences.SERVER,
172
+ });
173
+ // `x-amz-copy-source` is what makes this server side: S3 reads the source itself, so a 500 MB
174
+ // object never travels through this process.
175
+ const request = await buildSignedRequest({
176
+ method: 'PUT',
177
+ endpoint,
178
+ path: `${pathPrefix}/${destination.key}`,
179
+ accessKey,
180
+ secretKey,
181
+ region,
182
+ sessionToken,
183
+ headers: { 'x-amz-copy-source': `/${bucket.name}/${source.key}` },
184
+ });
185
+ const response = await fetch(request.url, { method: 'PUT', headers: request.headers });
186
+ if (!response.ok) {
187
+ throw getError({
188
+ message: `[copyObject] Copy failed | bucket: ${bucket.name} | source: ${source.key} | status: ${response.status}`,
189
+ });
190
+ }
191
+ }
192
+ async presignPost(opts) {
193
+ const { bucket, keyPrefix, maxBytes, contentType, expiresIn = StoragePresignDefaults.POST_EXPIRES_IN, } = opts;
194
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
195
+ // The browser posts to the BUCKET, not to an object - the key travels as a form field, because
196
+ // the policy only constrains its prefix.
197
+ const { endpoint } = this.objectEndpoint({
198
+ bucket: bucket.name,
199
+ audience: S3Audiences.BROWSER,
200
+ });
201
+ const { formData, expiresAt } = await buildPostPolicy({
202
+ bucket: bucket.name,
203
+ keyPrefix,
204
+ maxBytes,
205
+ expiresInSeconds: toExpirySeconds({ expiresIn, operation: 'presignPost' }),
206
+ accessKey,
207
+ secretKey,
208
+ region,
209
+ sessionToken,
210
+ contentType,
211
+ });
212
+ return { postURL: `${endpoint.replace(/\/$/, '')}/${bucket.name}`, formData, expiresAt };
213
+ }
214
+ async presignPut(opts) {
215
+ const { bucket, object, tagging, contentLength, contentType, expiresIn = StoragePresignDefaults.PUT_EXPIRES_IN, } = opts;
216
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
217
+ // Not `client.presign`: its options are method and expiry only, and a tag that is merely SENT
218
+ // is a tag S3 ignores. These two have to be inside the signature to exist at all.
219
+ const { endpoint, pathPrefix } = this.objectEndpoint({
220
+ bucket: bucket.name,
221
+ audience: S3Audiences.BROWSER,
222
+ });
223
+ return buildPresignedUrl({
224
+ method: 'PUT',
225
+ endpoint,
226
+ path: `${pathPrefix}/${object.key}`,
227
+ accessKey,
228
+ secretKey,
229
+ region,
230
+ sessionToken,
231
+ expiresInSeconds: toExpirySeconds({ expiresIn, operation: 'presignPut' }),
232
+ headers: {
233
+ ...(tagging ? { 'x-amz-tagging': buildTaggingHeader({ tags: tagging }) } : {}),
234
+ ...(contentLength === undefined ? {} : { 'content-length': String(contentLength) }),
235
+ ...(contentType ? { 'content-type': contentType } : {}),
236
+ },
237
+ });
238
+ }
239
+ async presignGet(opts) {
240
+ const { bucket, object, expiresIn = StoragePresignDefaults.GET_EXPIRES_IN, responseContentType, responseContentDisposition, } = opts;
241
+ return this.client.presign(object.key, {
242
+ ...this.presignOptions({ bucket: bucket.name }),
243
+ method: 'GET',
244
+ expiresIn: toExpirySeconds({ expiresIn, operation: 'presignGet' }),
245
+ ...(responseContentType ? { type: responseContentType } : {}),
246
+ ...(responseContentDisposition ? { contentDisposition: responseContentDisposition } : {}),
247
+ });
248
+ }
249
+ async getObjectTags(opts) {
250
+ const bucketName = opts.bucket.name;
251
+ const key = opts.object.key;
252
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
253
+ const { endpoint, pathPrefix } = this.objectEndpoint({
254
+ bucket: bucketName,
255
+ audience: S3Audiences.SERVER,
256
+ });
257
+ const { url, headers } = await buildSignedRequest({
258
+ method: 'GET',
259
+ endpoint,
260
+ path: `${pathPrefix}/${key}`,
261
+ accessKey,
262
+ secretKey,
263
+ region,
264
+ sessionToken,
265
+ query: { tagging: '' },
266
+ });
267
+ const response = await fetch(url, { method: 'GET', headers });
268
+ // S3 answers a missing tag set with 404: the empty case, not a failure.
269
+ if (response.status === 404) {
270
+ return {};
271
+ }
272
+ const body = await response.text();
273
+ if (!response.ok) {
274
+ throw getError({
275
+ message: `[getObjectTags] S3 error | status: ${response.status} | body: ${body}`,
276
+ });
277
+ }
278
+ return parseTaggingXml({ xml: body });
279
+ }
280
+ async replaceObjectTags(opts) {
281
+ const bucketName = opts.bucket.name;
282
+ const key = opts.object.key;
283
+ const { tags } = opts;
284
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
285
+ const { endpoint, pathPrefix } = this.objectEndpoint({
286
+ bucket: bucketName,
287
+ audience: S3Audiences.SERVER,
288
+ });
289
+ const requestBody = buildTaggingXml({ tags });
290
+ const { url, headers } = await buildSignedRequest({
291
+ method: 'PUT',
292
+ endpoint,
293
+ path: `${pathPrefix}/${key}`,
294
+ accessKey,
295
+ secretKey,
296
+ region,
297
+ sessionToken,
298
+ query: { tagging: '' },
299
+ body: requestBody,
300
+ });
301
+ const response = await fetch(url, { method: 'PUT', headers, body: requestBody });
302
+ if (!response.ok) {
303
+ const body = await response.text();
304
+ throw getError({
305
+ message: `[replaceObjectTags] S3 error | status: ${response.status} | body: ${body}`,
306
+ });
307
+ }
308
+ }
133
309
  get defaultLinkPrefix() {
134
310
  return '/static-assets/';
135
311
  }
136
312
  async writeObject(opts) {
137
- const { bucket, normalizeName, file } = opts;
313
+ const { file } = opts;
314
+ const bucketName = opts.bucket.name;
138
315
  const { mimetype: mimeType, buffer } = file;
139
- await this.client.write(normalizeName, buffer, { bucket, type: mimeType });
316
+ await this.client.write(opts.object.key, buffer, {
317
+ bucket: bucketName,
318
+ type: mimeType,
319
+ partSize: this.transfer.partSize,
320
+ queueSize: this.transfer.queueSize,
321
+ retry: this.transfer.retry,
322
+ });
323
+ }
324
+ /** Streams without holding the object in memory. `upload` carries a `Buffer`, so it cannot; this is the path for anything large. */
325
+ async writeStream(opts) {
326
+ const { bucket, object, source, contentType } = opts;
327
+ // The same depth rule `upload` applies: one object, two doors, one answer.
328
+ if (!this.isValidObjectKey({ object, maxDepth: opts.maxFolderDepth })) {
329
+ throw getError({ message: `[writeStream] Invalid object name | key: ${object.key}` });
330
+ }
331
+ // Bun's `write` takes a Response, not a bare ReadableStream; wrapping streams, never buffers.
332
+ const body = source instanceof ReadableStream ? new Response(source) : source;
333
+ await this.client.write(object.key, body, {
334
+ bucket: bucket.name,
335
+ ...(contentType ? { type: contentType } : {}),
336
+ partSize: this.transfer.partSize,
337
+ queueSize: this.transfer.queueSize,
338
+ retry: this.transfer.retry,
339
+ });
140
340
  }
141
- async getFile(opts) {
142
- const { bucket, name } = opts;
143
- const s3file = this.client.file(name, { bucket });
144
- return Readable.fromWeb(s3file.stream());
341
+ /** `S3File.stream()` is lazy: it reaches the network on first read, so a `try` here never sees a 404 - the failure arrives on the stream. */
342
+ async getObject(opts) {
343
+ const bucketName = opts.bucket.name;
344
+ const key = opts.object.key;
345
+ const source = this.client.file(key, { bucket: bucketName }).stream();
346
+ return Readable.fromWeb(source, {
347
+ // Keeps backpressure meaningful rather than draining S3 into memory.
348
+ objectMode: false,
349
+ });
350
+ }
351
+ /** The conversion-free path a `Response` body wants. `slice` makes it a ranged GET, so only the requested bytes leave S3. */
352
+ async getObjectStream(opts) {
353
+ const bucketName = opts.bucket.name;
354
+ const key = opts.object.key;
355
+ const { range } = opts;
356
+ const file = this.client.file(key, { bucket: bucketName });
357
+ if (!range) {
358
+ return file.stream();
359
+ }
360
+ // HTTP ranges include `end`; `slice` excludes it.
361
+ const window = range.end === undefined ? file.slice(range.start) : file.slice(range.start, range.end + 1);
362
+ return window.stream();
145
363
  }
146
364
  async getStat(opts) {
147
- const { bucket, name } = opts;
148
- const stat = await this.client.stat(name, { bucket });
149
- return {
150
- size: stat.size,
151
- metadata: { contentType: stat.type, mimetype: stat.type },
152
- lastModified: stat.lastModified,
153
- etag: stat.etag,
154
- };
365
+ const bucketName = opts.bucket.name;
366
+ const key = opts.object.key;
367
+ try {
368
+ const stat = await this.client.stat(key, { bucket: bucketName });
369
+ return {
370
+ size: stat.size,
371
+ // One key, not two spellings. The served type comes from the object name; this is diagnostic.
372
+ metadata: { mimetype: stat.type },
373
+ lastModified: stat.lastModified,
374
+ etag: stat.etag,
375
+ };
376
+ }
377
+ catch (error) {
378
+ throw this.asStorageError({
379
+ error,
380
+ operation: 'getStat',
381
+ bucket: opts.bucket,
382
+ object: opts.object,
383
+ });
384
+ }
155
385
  }
156
386
  async removeObject(opts) {
157
- const { bucket, name } = opts;
158
- await this.client.delete(name, { bucket });
387
+ const bucketName = opts.bucket.name;
388
+ const key = opts.object.key;
389
+ try {
390
+ await this.client.delete(key, { bucket: bucketName });
391
+ }
392
+ catch (error) {
393
+ throw this.asStorageError({
394
+ error,
395
+ operation: 'removeObject',
396
+ bucket: opts.bucket,
397
+ object: opts.object,
398
+ });
399
+ }
159
400
  }
160
401
  async removeObjects(opts) {
161
- const { bucket, names } = opts;
162
- await Promise.all(names.map(name => this.removeObject({ bucket, name })));
402
+ const { bucket, objects } = opts;
403
+ await this.mapWithConcurrency({
404
+ items: objects,
405
+ task: ({ item: object }) => this.removeObject({ bucket, object }),
406
+ });
163
407
  }
408
+ /** S3 caps a call at 1000 keys and continues through `nextContinuationToken`. `useRecursive: false` maps to `delimiter: '/'`. */
164
409
  async listObjects(opts) {
165
- const { bucket, prefix, maxKeys } = opts;
166
- const response = await this.client.list({ prefix, maxKeys }, { bucket });
167
- return (response.contents ?? []).map(obj => ({
168
- name: obj.key,
169
- size: obj.size,
170
- lastModified: obj.lastModified ? new Date(obj.lastModified) : undefined,
171
- etag: obj.eTag,
172
- }));
410
+ const { prefix, useRecursive = true, maxKeys } = opts;
411
+ const bucketName = opts.bucket.name;
412
+ // `maxKeys: 0` means zero, not unlimited.
413
+ const limit = maxKeys ?? Number.POSITIVE_INFINITY;
414
+ if (limit <= 0) {
415
+ return [];
416
+ }
417
+ const objects = [];
418
+ let continuationToken;
419
+ do {
420
+ const remaining = limit - objects.length;
421
+ const response = await this.client.list({
422
+ prefix,
423
+ continuationToken,
424
+ ...(useRecursive ? {} : { delimiter: '/' }),
425
+ ...(Number.isFinite(remaining) ? { maxKeys: Math.min(remaining, 1000) } : {}),
426
+ }, { bucket: bucketName });
427
+ const responseContents = response.contents ?? [];
428
+ for (const entry of responseContents) {
429
+ objects.push({
430
+ name: entry.key,
431
+ size: entry.size,
432
+ lastModified: entry.lastModified ? new Date(entry.lastModified) : undefined,
433
+ etag: entry.eTag,
434
+ });
435
+ }
436
+ continuationToken = response.isTruncated ? response.nextContinuationToken : undefined;
437
+ } while (continuationToken && objects.length < limit);
438
+ return objects;
173
439
  }
174
440
  }
175
441
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/storage/bun-s3/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../../src/modules/storage/bun-s3/helper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAa5C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAElG,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,GAChB,MAAM,WAAW,CAAC;AAmBnB,MAAM,OAAO,WAAY,SAAQ,iBAAiB;IAchD,YAAY,OAA4B;QACtC,KAAK,CAAC;YACJ,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI;SACnD,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG;YACjB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;gBACjC,gFAAgF;gBAChF,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO;aAC5D;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,WAAW;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,KAAK;SACxD,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG;YACd,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC;YACzB,WAAW,EAAE,OAAO,CAAC,SAAS;YAC9B,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,8OAA8O;IACtO,cAAc,CAAC,IAA+C;QAIpE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAExF,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;IAED,wFAAwF;IAChF,cAAc,CAAC,IAAwB;QAK7C,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,WAAW,CAAC,OAAO;SAC9B,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;YACR,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAA4B;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gGAAgG;YAChG,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,mFAAmF,EACnF,IAAI,EACJ,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAChC,CAAC;YACJ,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,mFAAmF;QACnF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChD,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,GAAG;YACT,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAElC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAChC,qFAAqF,CACtF,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,YAAY,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iHAAiH;IACjH,KAAK,CAAC,SAAS,CAAC,IAA4B;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA4B;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,mFAAmF;QACnF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChD,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,SAAS,EAAE,SAAS;YACpB,SAAS;YACT,MAAM;YACN,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,4BAA4B,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA4B;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,mFAAmF;QACnF,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEnD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChD,MAAM,EAAE,QAAQ;YAChB,QAAQ;YACR,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,MAAM;YACN,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,4BAA4B,GAAG,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,UAAU,CAAC,IAIzB;QACC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACnD,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,8FAA8F;QAC9F,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC;YACvC,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,GAAG,UAAU,IAAI,WAAW,CAAC,GAAG,EAAE;YACxC,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;YACZ,OAAO,EAAE,EAAE,mBAAmB,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE;SAClE,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,sCAAsC,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,GAAG,cAAc,QAAQ,CAAC,MAAM,EAAE;aAClH,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,IAM1B;QACC,MAAM,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,sBAAsB,CAAC,eAAe,GACnD,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAExE,+FAA+F;QAC/F,yCAAyC;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACvC,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,QAAQ,EAAE,WAAW,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC;YACpD,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,SAAS;YACT,QAAQ;YACR,gBAAgB,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;YAC1E,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC3F,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,IAKC;QAED,MAAM,EACJ,MAAM,EACN,MAAM,EACN,OAAO,EACP,aAAa,EACb,WAAW,EACX,SAAS,GAAG,sBAAsB,CAAC,cAAc,GAClD,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAExE,8FAA8F;QAC9F,kFAAkF;QAClF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACnD,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,QAAQ,EAAE,WAAW,CAAC,OAAO;SAC9B,CAAC,CAAC;QAEH,OAAO,iBAAiB,CAAC;YACvB,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,GAAG,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE;YACnC,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;YACZ,gBAAgB,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YACzE,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnF,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,IAIC;QAED,MAAM,EACJ,MAAM,EACN,MAAM,EACN,SAAS,GAAG,sBAAsB,CAAC,cAAc,EACjD,mBAAmB,EACnB,0BAA0B,GAC3B,GAAG,IAAI,CAAC;QAET,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACrC,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAClE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1F,CAAC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,IAAqB;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACnD,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChD,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,GAAG,UAAU,IAAI,GAAG,EAAE;YAC5B,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;YACZ,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;SACvB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAE9D,wEAAwE;QACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,sCAAsC,QAAQ,CAAC,MAAM,YAAY,IAAI,EAAE;aACjF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,IAAwD;QAExD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACxE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;YACnD,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChD,MAAM,EAAE,KAAK;YACb,QAAQ;YACR,IAAI,EAAE,GAAG,UAAU,IAAI,GAAG,EAAE;YAC5B,SAAS;YACT,SAAS;YACT,MAAM;YACN,YAAY;YACZ,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtB,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,0CAA0C,QAAQ,CAAC,MAAM,YAAY,IAAI,EAAE;aACrF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAc,iBAAiB;QAC7B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAA6C;QACvE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAE5C,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE;YAC/C,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAChC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,oIAAoI;IAC3H,KAAK,CAAC,WAAW,CACxB,IAIC;QAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAErD,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,4CAA4C,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxF,CAAC;QAED,8FAA8F;QAC9F,MAAM,IAAI,GAAG,MAAM,YAAY,cAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAE9E,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE;YACxC,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAChC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;YAClC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,6IAA6I;IAC7I,KAAK,CAAC,SAAS,CAAC,IAAyC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAEtE,OAAO,QAAQ,CAAC,OAAO,CAAC,MAAoC,EAAE;YAC5D,qEAAqE;YACrE,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,6HAA6H;IACpH,KAAK,CAAC,eAAe,CAC5B,IAAmE;QAEnE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,MAAM,EAAgC,CAAC;QACrD,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GACV,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAE7F,OAAO,MAAM,CAAC,MAAM,EAAgC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACjE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,8FAA8F;gBAC9F,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,KAAK;gBACL,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAqB;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,KAAK;gBACL,SAAS,EAAE,cAAc;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAmD;QACrE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEjC,MAAM,IAAI,CAAC,kBAAkB,CAAC;YAC5B,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAED,iIAAiI;IACjI,KAAK,CAAC,WAAW,CAAC,IAAyB;QACzC,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAEpC,0CAA0C;QAC1C,MAAM,KAAK,GAAG,OAAO,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAClD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,iBAAqC,CAAC;QAE1C,GAAG,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC;gBACE,MAAM;gBACN,iBAAiB;gBACjB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;gBAC3C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9E,EACD,EAAE,MAAM,EAAE,UAAU,EAAE,CACvB,CAAC;YAEF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;YACjD,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,CAAC,QAAQ,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE;QAEtD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -7,8 +7,67 @@ export declare function buildSignedRequest(opts: {
7
7
  region: string;
8
8
  sessionToken?: string;
9
9
  body?: string;
10
+ query?: Record<string, string>;
11
+ /** Extra headers to SIGN, not merely to send - anything outside `SignedHeaders` is refused by S3. */
12
+ headers?: Record<string, string>;
10
13
  }): Promise<{
11
14
  url: string;
12
15
  headers: Record<string, string>;
13
16
  }>;
17
+ /** S3's PUT tagging body - no XML dependency, so this is hand-built rather than templated by a library. */
18
+ export declare const buildTaggingXml: (opts: {
19
+ tags: Record<string, string>;
20
+ }) => string;
21
+ /** S3's GET tagging response - hand-parsed rather than a full XML parser; throws rather than returning a half-parsed object. */
22
+ /** The `x-amz-tagging` header: a URL-encoded query string, unlike the XML the tagging API takes. */
23
+ export declare const buildTaggingHeader: (opts: {
24
+ tags: Record<string, string>;
25
+ }) => string;
26
+ export declare const parseTaggingXml: (opts: {
27
+ xml: string;
28
+ }) => Record<string, string>;
29
+ /**
30
+ * A signed POST policy: the form a browser posts straight to S3.
31
+ *
32
+ * This is not a presigned PUT and the difference is the point. A signed PUT binds each header to an
33
+ * EXACT value, so `content-length` names one byte count and never a ceiling - every retry or
34
+ * re-encode becomes an opaque 403. A policy carries `content-length-range`, so "at most N bytes" is
35
+ * expressible at all.
36
+ */
37
+ export declare function buildPostPolicy(opts: {
38
+ bucket: string;
39
+ keyPrefix: string;
40
+ maxBytes: number;
41
+ expiresInSeconds: number;
42
+ accessKey: string;
43
+ secretKey: string;
44
+ region: string;
45
+ sessionToken?: string;
46
+ contentType?: string;
47
+ }): Promise<{
48
+ formData: Record<string, string>;
49
+ expiresAt: string;
50
+ }>;
51
+ /**
52
+ * A presigned URL: the credential travels in the QUERY, so a browser needs no `Authorization` header.
53
+ *
54
+ * `headers` is what `S3Client.presign` cannot do. Anything named there is inside the signature and
55
+ * listed in `X-Amz-SignedHeaders`, so the client must send it back byte for byte. A signature
56
+ * expresses equality and nothing else, so a pinned `content-length` rejects every retry at another
57
+ * size; for a ceiling, use {@link buildPostPolicy}.
58
+ */
59
+ export declare function buildPresignedUrl(opts: {
60
+ method: string;
61
+ endpoint: string;
62
+ path: string;
63
+ accessKey: string;
64
+ secretKey: string;
65
+ region: string;
66
+ sessionToken?: string;
67
+ expiresInSeconds: number;
68
+ /** Headers to SIGN. The client must send each one unchanged, or S3 answers 403. */
69
+ headers?: Record<string, string>;
70
+ /** A fixed clock, so a signature can be checked against a published test vector. */
71
+ now?: Date;
72
+ }): Promise<string>;
14
73
  //# sourceMappingURL=utility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../../src/modules/storage/bun-s3/utility.ts"],"names":[],"mappings":"AA0BA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAwD5D"}
1
+ {"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../../src/modules/storage/bun-s3/utility.ts"],"names":[],"mappings":"AAwFA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAwE5D;AAmBD,2GAA2G;AAC3G,eAAO,MAAM,eAAe,GAAI,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KAAG,MASxE,CAAC;AAEF,gIAAgI;AAChI,oGAAoG;AACpG,eAAO,MAAM,kBAAkB,GAAI,MAAM;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KAAG,MAM9D,CAAC;AAEf,eAAO,MAAM,eAAe,GAAI,MAAM;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA8B5E,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAkDnE;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,oFAAoF;IACpF,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,OAAO,CAAC,MAAM,CAAC,CA6DlB"}