@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
@@ -6,17 +6,8 @@ const logger_1 = require("../../logger");
6
6
  const bun_1 = require("bun");
7
7
  const node_stream_1 = require("node:stream");
8
8
  const base_1 = require("../base");
9
+ const common_1 = require("../common");
9
10
  const utility_1 = require("./utility");
10
- /** S3 reports a missing bucket as 404 or a NoSuchBucket/NotFound code; the shape varies by provider, so both are checked. */
11
- const isBucketMissingError = (opts) => {
12
- const { error } = opts;
13
- const source = error;
14
- if (source?.statusCode === 404 || source?.status === 404) {
15
- return true;
16
- }
17
- const marker = `${source?.code ?? ''} ${source?.name ?? ''}`.toLowerCase();
18
- return marker.includes('nosuchbucket') || marker.includes('notfound');
19
- };
20
11
  class BunS3Helper extends base_1.BaseStorageHelper {
21
12
  constructor(options) {
22
13
  super({
@@ -26,21 +17,56 @@ class BunS3Helper extends base_1.BaseStorageHelper {
26
17
  this.credentials = {
27
18
  accessKey: options.accessKey,
28
19
  secretKey: options.secretKey,
29
- endpoint: options.endpoint,
20
+ endpoint: {
21
+ default: options.endpoint.default,
22
+ // Falls back to the default, so one reachable host still serves both audiences.
23
+ public: options.endpoint.public ?? options.endpoint.default,
24
+ },
30
25
  region: options.region ?? 'us-east-1',
31
26
  sessionToken: options.sessionToken,
27
+ virtualHostedStyle: options.virtualHostedStyle ?? false,
28
+ };
29
+ this.transfer = {
30
+ partSize: options.partSize,
31
+ queueSize: options.queueSize,
32
+ retry: options.retry,
32
33
  };
33
34
  this.client = new bun_1.S3Client({
34
35
  accessKeyId: options.accessKey,
35
36
  secretAccessKey: options.secretKey,
36
- endpoint: options.endpoint,
37
+ endpoint: options.endpoint.default,
37
38
  region: options.region,
38
39
  sessionToken: options.sessionToken,
40
+ virtualHostedStyle: options.virtualHostedStyle,
41
+ });
42
+ }
43
+ /** 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. */
44
+ objectEndpoint(opts) {
45
+ const { endpoint, virtualHostedStyle } = this.credentials;
46
+ const host = opts.audience === common_1.S3Audiences.BROWSER ? endpoint.public : endpoint.default;
47
+ if (!virtualHostedStyle) {
48
+ return { endpoint: host, pathPrefix: `/${opts.bucket}` };
49
+ }
50
+ const parsed = new URL(host);
51
+ parsed.hostname = `${opts.bucket}.${parsed.hostname}`;
52
+ return { endpoint: parsed.origin, pathPrefix: '' };
53
+ }
54
+ /** Per-call overrides, so one client serves every bucket in either addressing style. */
55
+ presignOptions(opts) {
56
+ const { virtualHostedStyle } = this.credentials;
57
+ const { endpoint } = this.objectEndpoint({
58
+ bucket: opts.bucket,
59
+ audience: common_1.S3Audiences.BROWSER,
39
60
  });
61
+ return {
62
+ bucket: opts.bucket,
63
+ endpoint,
64
+ ...(virtualHostedStyle ? { virtualHostedStyle: true } : {}),
65
+ };
40
66
  }
41
- async isBucketExists(opts) {
42
- const { name } = opts;
43
- if (!this.isValidName(name)) {
67
+ async hasBucket(opts) {
68
+ const { name } = opts.bucket;
69
+ if (!this.isValidBucketName(opts)) {
44
70
  return false;
45
71
  }
46
72
  try {
@@ -48,15 +74,17 @@ class BunS3Helper extends base_1.BaseStorageHelper {
48
74
  return true;
49
75
  }
50
76
  catch (error) {
51
- // A missing bucket is the answer; credentials, region or network failures are not and must not vanish.
52
- if (!isBucketMissingError({ error })) {
53
- this.logger.warn('[isBucketExists] Cannot determine bucket existence - reporting false | bucket: %s | %s', name, logger_1.ErrorPrettier.format({ error }));
77
+ // A missing bucket is the answer; a credentials or network failure is not, and must not vanish.
78
+ if (!(0, common_1.isNotFoundError)({ error })) {
79
+ this.logger.warn('[hasBucket] Cannot determine bucket existence - reporting false | bucket: %s | %s', name, logger_1.ErrorPrettier.format({ error }));
54
80
  }
55
81
  return false;
56
82
  }
57
83
  }
58
84
  async getBuckets() {
59
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
85
+ // A bucket operation is a call this process makes, so it goes to the default host.
86
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
87
+ const endpoint = this.credentials.endpoint.default;
60
88
  const { url, headers } = await (0, utility_1.buildSignedRequest)({
61
89
  method: 'GET',
62
90
  endpoint,
@@ -81,20 +109,23 @@ class BunS3Helper extends base_1.BaseStorageHelper {
81
109
  }
82
110
  return buckets;
83
111
  }
112
+ /** S3 exposes a creation date only through `ListBuckets`, so one full listing is the cheapest correct answer. */
84
113
  async getBucket(opts) {
85
- const { name } = opts;
86
- if (!this.isValidName(name)) {
114
+ const { name } = opts.bucket;
115
+ if (!this.isValidBucketName(opts)) {
87
116
  return null;
88
117
  }
89
118
  const buckets = await this.getBuckets();
90
- return buckets.find(b => b.name === name) ?? null;
119
+ return buckets.find(bucket => bucket.name === name) ?? null;
91
120
  }
92
121
  async createBucket(opts) {
93
- const { name } = opts;
94
- if (!this.isValidName(name)) {
122
+ const { name } = opts.bucket;
123
+ if (!this.isValidBucketName(opts)) {
95
124
  throw (0, error_1.getError)({ message: '[createBucket] Invalid name to create bucket!' });
96
125
  }
97
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
126
+ // A bucket operation is a call this process makes, so it goes to the default host.
127
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
128
+ const endpoint = this.credentials.endpoint.default;
98
129
  const { url, headers } = await (0, utility_1.buildSignedRequest)({
99
130
  method: 'PUT',
100
131
  endpoint,
@@ -109,14 +140,16 @@ class BunS3Helper extends base_1.BaseStorageHelper {
109
140
  const xml = await response.text();
110
141
  throw (0, error_1.getError)({ message: `[createBucket] S3 error: ${xml}` });
111
142
  }
112
- return this.getBucket({ name });
143
+ return this.getBucket(opts);
113
144
  }
114
145
  async removeBucket(opts) {
115
- const { name } = opts;
116
- if (!this.isValidName(name)) {
146
+ const { name } = opts.bucket;
147
+ if (!this.isValidBucketName(opts)) {
117
148
  throw (0, error_1.getError)({ message: '[removeBucket] Invalid name to remove bucket!' });
118
149
  }
119
- const { accessKey, secretKey, endpoint, region, sessionToken } = this.credentials;
150
+ // A bucket operation is a call this process makes, so it goes to the default host.
151
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
152
+ const endpoint = this.credentials.endpoint.default;
120
153
  const { url, headers } = await (0, utility_1.buildSignedRequest)({
121
154
  method: 'DELETE',
122
155
  endpoint,
@@ -133,46 +166,279 @@ class BunS3Helper extends base_1.BaseStorageHelper {
133
166
  }
134
167
  return true;
135
168
  }
169
+ async copyObject(opts) {
170
+ const { bucket, source, destination } = opts;
171
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
172
+ const { endpoint, pathPrefix } = this.objectEndpoint({
173
+ bucket: bucket.name,
174
+ audience: common_1.S3Audiences.SERVER,
175
+ });
176
+ // `x-amz-copy-source` is what makes this server side: S3 reads the source itself, so a 500 MB
177
+ // object never travels through this process.
178
+ const request = await (0, utility_1.buildSignedRequest)({
179
+ method: 'PUT',
180
+ endpoint,
181
+ path: `${pathPrefix}/${destination.key}`,
182
+ accessKey,
183
+ secretKey,
184
+ region,
185
+ sessionToken,
186
+ headers: { 'x-amz-copy-source': `/${bucket.name}/${source.key}` },
187
+ });
188
+ const response = await fetch(request.url, { method: 'PUT', headers: request.headers });
189
+ if (!response.ok) {
190
+ throw (0, error_1.getError)({
191
+ message: `[copyObject] Copy failed | bucket: ${bucket.name} | source: ${source.key} | status: ${response.status}`,
192
+ });
193
+ }
194
+ }
195
+ async presignPost(opts) {
196
+ const { bucket, keyPrefix, maxBytes, contentType, expiresIn = common_1.StoragePresignDefaults.POST_EXPIRES_IN, } = opts;
197
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
198
+ // The browser posts to the BUCKET, not to an object - the key travels as a form field, because
199
+ // the policy only constrains its prefix.
200
+ const { endpoint } = this.objectEndpoint({
201
+ bucket: bucket.name,
202
+ audience: common_1.S3Audiences.BROWSER,
203
+ });
204
+ const { formData, expiresAt } = await (0, utility_1.buildPostPolicy)({
205
+ bucket: bucket.name,
206
+ keyPrefix,
207
+ maxBytes,
208
+ expiresInSeconds: (0, common_1.toExpirySeconds)({ expiresIn, operation: 'presignPost' }),
209
+ accessKey,
210
+ secretKey,
211
+ region,
212
+ sessionToken,
213
+ contentType,
214
+ });
215
+ return { postURL: `${endpoint.replace(/\/$/, '')}/${bucket.name}`, formData, expiresAt };
216
+ }
217
+ async presignPut(opts) {
218
+ const { bucket, object, tagging, contentLength, contentType, expiresIn = common_1.StoragePresignDefaults.PUT_EXPIRES_IN, } = opts;
219
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
220
+ // Not `client.presign`: its options are method and expiry only, and a tag that is merely SENT
221
+ // is a tag S3 ignores. These two have to be inside the signature to exist at all.
222
+ const { endpoint, pathPrefix } = this.objectEndpoint({
223
+ bucket: bucket.name,
224
+ audience: common_1.S3Audiences.BROWSER,
225
+ });
226
+ return (0, utility_1.buildPresignedUrl)({
227
+ method: 'PUT',
228
+ endpoint,
229
+ path: `${pathPrefix}/${object.key}`,
230
+ accessKey,
231
+ secretKey,
232
+ region,
233
+ sessionToken,
234
+ expiresInSeconds: (0, common_1.toExpirySeconds)({ expiresIn, operation: 'presignPut' }),
235
+ headers: {
236
+ ...(tagging ? { 'x-amz-tagging': (0, utility_1.buildTaggingHeader)({ tags: tagging }) } : {}),
237
+ ...(contentLength === undefined ? {} : { 'content-length': String(contentLength) }),
238
+ ...(contentType ? { 'content-type': contentType } : {}),
239
+ },
240
+ });
241
+ }
242
+ async presignGet(opts) {
243
+ const { bucket, object, expiresIn = common_1.StoragePresignDefaults.GET_EXPIRES_IN, responseContentType, responseContentDisposition, } = opts;
244
+ return this.client.presign(object.key, {
245
+ ...this.presignOptions({ bucket: bucket.name }),
246
+ method: 'GET',
247
+ expiresIn: (0, common_1.toExpirySeconds)({ expiresIn, operation: 'presignGet' }),
248
+ ...(responseContentType ? { type: responseContentType } : {}),
249
+ ...(responseContentDisposition ? { contentDisposition: responseContentDisposition } : {}),
250
+ });
251
+ }
252
+ async getObjectTags(opts) {
253
+ const bucketName = opts.bucket.name;
254
+ const key = opts.object.key;
255
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
256
+ const { endpoint, pathPrefix } = this.objectEndpoint({
257
+ bucket: bucketName,
258
+ audience: common_1.S3Audiences.SERVER,
259
+ });
260
+ const { url, headers } = await (0, utility_1.buildSignedRequest)({
261
+ method: 'GET',
262
+ endpoint,
263
+ path: `${pathPrefix}/${key}`,
264
+ accessKey,
265
+ secretKey,
266
+ region,
267
+ sessionToken,
268
+ query: { tagging: '' },
269
+ });
270
+ const response = await fetch(url, { method: 'GET', headers });
271
+ // S3 answers a missing tag set with 404: the empty case, not a failure.
272
+ if (response.status === 404) {
273
+ return {};
274
+ }
275
+ const body = await response.text();
276
+ if (!response.ok) {
277
+ throw (0, error_1.getError)({
278
+ message: `[getObjectTags] S3 error | status: ${response.status} | body: ${body}`,
279
+ });
280
+ }
281
+ return (0, utility_1.parseTaggingXml)({ xml: body });
282
+ }
283
+ async replaceObjectTags(opts) {
284
+ const bucketName = opts.bucket.name;
285
+ const key = opts.object.key;
286
+ const { tags } = opts;
287
+ const { accessKey, secretKey, region, sessionToken } = this.credentials;
288
+ const { endpoint, pathPrefix } = this.objectEndpoint({
289
+ bucket: bucketName,
290
+ audience: common_1.S3Audiences.SERVER,
291
+ });
292
+ const requestBody = (0, utility_1.buildTaggingXml)({ tags });
293
+ const { url, headers } = await (0, utility_1.buildSignedRequest)({
294
+ method: 'PUT',
295
+ endpoint,
296
+ path: `${pathPrefix}/${key}`,
297
+ accessKey,
298
+ secretKey,
299
+ region,
300
+ sessionToken,
301
+ query: { tagging: '' },
302
+ body: requestBody,
303
+ });
304
+ const response = await fetch(url, { method: 'PUT', headers, body: requestBody });
305
+ if (!response.ok) {
306
+ const body = await response.text();
307
+ throw (0, error_1.getError)({
308
+ message: `[replaceObjectTags] S3 error | status: ${response.status} | body: ${body}`,
309
+ });
310
+ }
311
+ }
136
312
  get defaultLinkPrefix() {
137
313
  return '/static-assets/';
138
314
  }
139
315
  async writeObject(opts) {
140
- const { bucket, normalizeName, file } = opts;
316
+ const { file } = opts;
317
+ const bucketName = opts.bucket.name;
141
318
  const { mimetype: mimeType, buffer } = file;
142
- await this.client.write(normalizeName, buffer, { bucket, type: mimeType });
319
+ await this.client.write(opts.object.key, buffer, {
320
+ bucket: bucketName,
321
+ type: mimeType,
322
+ partSize: this.transfer.partSize,
323
+ queueSize: this.transfer.queueSize,
324
+ retry: this.transfer.retry,
325
+ });
326
+ }
327
+ /** Streams without holding the object in memory. `upload` carries a `Buffer`, so it cannot; this is the path for anything large. */
328
+ async writeStream(opts) {
329
+ const { bucket, object, source, contentType } = opts;
330
+ // The same depth rule `upload` applies: one object, two doors, one answer.
331
+ if (!this.isValidObjectKey({ object, maxDepth: opts.maxFolderDepth })) {
332
+ throw (0, error_1.getError)({ message: `[writeStream] Invalid object name | key: ${object.key}` });
333
+ }
334
+ // Bun's `write` takes a Response, not a bare ReadableStream; wrapping streams, never buffers.
335
+ const body = source instanceof ReadableStream ? new Response(source) : source;
336
+ await this.client.write(object.key, body, {
337
+ bucket: bucket.name,
338
+ ...(contentType ? { type: contentType } : {}),
339
+ partSize: this.transfer.partSize,
340
+ queueSize: this.transfer.queueSize,
341
+ retry: this.transfer.retry,
342
+ });
143
343
  }
144
- async getFile(opts) {
145
- const { bucket, name } = opts;
146
- const s3file = this.client.file(name, { bucket });
147
- return node_stream_1.Readable.fromWeb(s3file.stream());
344
+ /** `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. */
345
+ async getObject(opts) {
346
+ const bucketName = opts.bucket.name;
347
+ const key = opts.object.key;
348
+ const source = this.client.file(key, { bucket: bucketName }).stream();
349
+ return node_stream_1.Readable.fromWeb(source, {
350
+ // Keeps backpressure meaningful rather than draining S3 into memory.
351
+ objectMode: false,
352
+ });
353
+ }
354
+ /** The conversion-free path a `Response` body wants. `slice` makes it a ranged GET, so only the requested bytes leave S3. */
355
+ async getObjectStream(opts) {
356
+ const bucketName = opts.bucket.name;
357
+ const key = opts.object.key;
358
+ const { range } = opts;
359
+ const file = this.client.file(key, { bucket: bucketName });
360
+ if (!range) {
361
+ return file.stream();
362
+ }
363
+ // HTTP ranges include `end`; `slice` excludes it.
364
+ const window = range.end === undefined ? file.slice(range.start) : file.slice(range.start, range.end + 1);
365
+ return window.stream();
148
366
  }
149
367
  async getStat(opts) {
150
- const { bucket, name } = opts;
151
- const stat = await this.client.stat(name, { bucket });
152
- return {
153
- size: stat.size,
154
- metadata: { contentType: stat.type, mimetype: stat.type },
155
- lastModified: stat.lastModified,
156
- etag: stat.etag,
157
- };
368
+ const bucketName = opts.bucket.name;
369
+ const key = opts.object.key;
370
+ try {
371
+ const stat = await this.client.stat(key, { bucket: bucketName });
372
+ return {
373
+ size: stat.size,
374
+ // One key, not two spellings. The served type comes from the object name; this is diagnostic.
375
+ metadata: { mimetype: stat.type },
376
+ lastModified: stat.lastModified,
377
+ etag: stat.etag,
378
+ };
379
+ }
380
+ catch (error) {
381
+ throw this.asStorageError({
382
+ error,
383
+ operation: 'getStat',
384
+ bucket: opts.bucket,
385
+ object: opts.object,
386
+ });
387
+ }
158
388
  }
159
389
  async removeObject(opts) {
160
- const { bucket, name } = opts;
161
- await this.client.delete(name, { bucket });
390
+ const bucketName = opts.bucket.name;
391
+ const key = opts.object.key;
392
+ try {
393
+ await this.client.delete(key, { bucket: bucketName });
394
+ }
395
+ catch (error) {
396
+ throw this.asStorageError({
397
+ error,
398
+ operation: 'removeObject',
399
+ bucket: opts.bucket,
400
+ object: opts.object,
401
+ });
402
+ }
162
403
  }
163
404
  async removeObjects(opts) {
164
- const { bucket, names } = opts;
165
- await Promise.all(names.map(name => this.removeObject({ bucket, name })));
405
+ const { bucket, objects } = opts;
406
+ await this.mapWithConcurrency({
407
+ items: objects,
408
+ task: ({ item: object }) => this.removeObject({ bucket, object }),
409
+ });
166
410
  }
411
+ /** S3 caps a call at 1000 keys and continues through `nextContinuationToken`. `useRecursive: false` maps to `delimiter: '/'`. */
167
412
  async listObjects(opts) {
168
- const { bucket, prefix, maxKeys } = opts;
169
- const response = await this.client.list({ prefix, maxKeys }, { bucket });
170
- return (response.contents ?? []).map(obj => ({
171
- name: obj.key,
172
- size: obj.size,
173
- lastModified: obj.lastModified ? new Date(obj.lastModified) : undefined,
174
- etag: obj.eTag,
175
- }));
413
+ const { prefix, useRecursive = true, maxKeys } = opts;
414
+ const bucketName = opts.bucket.name;
415
+ // `maxKeys: 0` means zero, not unlimited.
416
+ const limit = maxKeys ?? Number.POSITIVE_INFINITY;
417
+ if (limit <= 0) {
418
+ return [];
419
+ }
420
+ const objects = [];
421
+ let continuationToken;
422
+ do {
423
+ const remaining = limit - objects.length;
424
+ const response = await this.client.list({
425
+ prefix,
426
+ continuationToken,
427
+ ...(useRecursive ? {} : { delimiter: '/' }),
428
+ ...(Number.isFinite(remaining) ? { maxKeys: Math.min(remaining, 1000) } : {}),
429
+ }, { bucket: bucketName });
430
+ const responseContents = response.contents ?? [];
431
+ for (const entry of responseContents) {
432
+ objects.push({
433
+ name: entry.key,
434
+ size: entry.size,
435
+ lastModified: entry.lastModified ? new Date(entry.lastModified) : undefined,
436
+ etag: entry.eTag,
437
+ });
438
+ }
439
+ continuationToken = response.isTruncated ? response.nextContinuationToken : undefined;
440
+ } while (continuationToken && objects.length < limit);
441
+ return objects;
176
442
  }
177
443
  }
178
444
  exports.BunS3Helper = BunS3Helper;
@@ -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":"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"}
@@ -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"}