@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
@@ -0,0 +1,3 @@
1
+ export * from './query-string.js';
2
+ export * from './url-safety/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/network/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './query-string.js';
2
+ export * from './url-safety/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/network/utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { AnyObject } from '../../../common/types/index.js';
2
+ /** The punctuation of a query string, named so a reader sees the role rather than the character. */
3
+ export declare class QueryStringSeparators {
4
+ /** Between the path and the first pair. */
5
+ static readonly START = "?";
6
+ /** Between two pairs. */
7
+ static readonly PAIR = "&";
8
+ /** Between a name and its value. */
9
+ static readonly ASSIGN = "=";
10
+ }
11
+ /**
12
+ * `node:querystring`'s `stringify`, written out so nothing on the HTTP path carries a node builtin -
13
+ * that one import is what kept the whole network layer out of a browser bundle.
14
+ *
15
+ * Not `new URLSearchParams(params).toString()`, which differs on four counts measured against the
16
+ * original: an array becomes `a=1%2C2` instead of `a=1&a=2`, `undefined` and `null` become the
17
+ * STRINGS "undefined" and "null" instead of an empty value, and a space encodes as `+` rather than
18
+ * `%20`. The first changes what a server parses; the second is the same coercion that sends a header
19
+ * reading "undefined".
20
+ *
21
+ * Diffed against `node:querystring` across 22 shapes with zero mismatches.
22
+ */
23
+ export declare const toQueryString: (opts: {
24
+ params: AnyObject;
25
+ }) => string;
26
+ //# sourceMappingURL=query-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-string.d.ts","sourceRoot":"","sources":["../../../../../src/modules/network/utilities/query-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,oGAAoG;AACpG,qBAAa,qBAAqB;IAChC,2CAA2C;IAC3C,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO;IAC5B,yBAAyB;IACzB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO;IAC3B,oCAAoC;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,KAAG,MA4B3D,CAAC"}
@@ -0,0 +1,44 @@
1
+ /** The punctuation of a query string, named so a reader sees the role rather than the character. */
2
+ export class QueryStringSeparators {
3
+ /** Between the path and the first pair. */
4
+ static { this.START = '?'; }
5
+ /** Between two pairs. */
6
+ static { this.PAIR = '&'; }
7
+ /** Between a name and its value. */
8
+ static { this.ASSIGN = '='; }
9
+ }
10
+ /**
11
+ * `node:querystring`'s `stringify`, written out so nothing on the HTTP path carries a node builtin -
12
+ * that one import is what kept the whole network layer out of a browser bundle.
13
+ *
14
+ * Not `new URLSearchParams(params).toString()`, which differs on four counts measured against the
15
+ * original: an array becomes `a=1%2C2` instead of `a=1&a=2`, `undefined` and `null` become the
16
+ * STRINGS "undefined" and "null" instead of an empty value, and a space encodes as `+` rather than
17
+ * `%20`. The first changes what a server parses; the second is the same coercion that sends a header
18
+ * reading "undefined".
19
+ *
20
+ * Diffed against `node:querystring` across 22 shapes with zero mismatches.
21
+ */
22
+ export const toQueryString = (opts) => {
23
+ const { params } = opts;
24
+ const parts = [];
25
+ // A primitive only. `querystring` drops an object or a nested array to an empty value rather than
26
+ // stringifying it, and a caller that passed one meant something this format cannot carry anyway.
27
+ const encode = (value) => value === null || value === undefined || typeof value === 'object'
28
+ ? ''
29
+ : encodeURIComponent(String(value));
30
+ const entries = Object.entries(params);
31
+ for (const [key, value] of entries) {
32
+ const name = encodeURIComponent(key);
33
+ // An array repeats the key, which is what a server reading a list expects.
34
+ if (Array.isArray(value)) {
35
+ for (const entry of value) {
36
+ parts.push(`${name}${QueryStringSeparators.ASSIGN}${encode(entry)}`);
37
+ }
38
+ continue;
39
+ }
40
+ parts.push(`${name}${QueryStringSeparators.ASSIGN}${encode(value)}`);
41
+ }
42
+ return parts.join(QueryStringSeparators.PAIR);
43
+ };
44
+ //# sourceMappingURL=query-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-string.js","sourceRoot":"","sources":["../../../../../src/modules/network/utilities/query-string.ts"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,MAAM,OAAO,qBAAqB;IAChC,2CAA2C;aAC3B,UAAK,GAAG,GAAG,CAAC;IAC5B,yBAAyB;aACT,SAAI,GAAG,GAAG,CAAC;IAC3B,oCAAoC;aACpB,WAAM,GAAG,GAAG,CAAC;;AAG/B;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAA2B,EAAU,EAAE;IACnE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,kGAAkG;IAClG,iGAAiG;IACjG,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,EAAE,CAChC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;QAChE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAErC,2EAA2E;QAC3E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;YAED,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,qBAAqB,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { TConstValue } from '../../../../../common/types/index.js';
2
+ /** The only schemes a guarded fetch will speak. `file:` and `gopher:` are the classic SSRF pivots. */
3
+ export declare class UrlSchemes {
4
+ static readonly HTTP = "http:";
5
+ static readonly HTTPS = "https:";
6
+ static readonly SCHEME_SET: Set<string>;
7
+ static isValid(value: string): boolean;
8
+ }
9
+ export type TUrlScheme = TConstValue<typeof UrlSchemes>;
10
+ /** Safe by default: https only, no private address, three hops, ten seconds. */
11
+ export declare class UrlSafetyDefaults {
12
+ static readonly ALLOWED_SCHEMES: string[];
13
+ static readonly ALLOW_PRIVATE_ADDRESS = false;
14
+ static readonly MAX_REDIRECTS = 3;
15
+ static readonly TIMEOUT_MILLISECONDS = 10000;
16
+ static readonly MAX_BYTES: number;
17
+ }
18
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,sGAAsG;AACtG,qBAAa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;IAC/B,MAAM,CAAC,QAAQ,CAAC,KAAK,YAAY;IAEjC,MAAM,CAAC,QAAQ,CAAC,UAAU,cAA4C;IAEtE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AACD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;AAExD,gFAAgF;AAChF,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAsB;IAC/D,MAAM,CAAC,QAAQ,CAAC,qBAAqB,SAAS;IAC9C,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK;IAClC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,SAAU;IAC9C,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAoB;CAC9C"}
@@ -0,0 +1,18 @@
1
+ /** The only schemes a guarded fetch will speak. `file:` and `gopher:` are the classic SSRF pivots. */
2
+ export class UrlSchemes {
3
+ static { this.HTTP = 'http:'; }
4
+ static { this.HTTPS = 'https:'; }
5
+ static { this.SCHEME_SET = new Set([this.HTTP, this.HTTPS]); }
6
+ static isValid(value) {
7
+ return this.SCHEME_SET.has(value);
8
+ }
9
+ }
10
+ /** Safe by default: https only, no private address, three hops, ten seconds. */
11
+ export class UrlSafetyDefaults {
12
+ static { this.ALLOWED_SCHEMES = [UrlSchemes.HTTPS]; }
13
+ static { this.ALLOW_PRIVATE_ADDRESS = false; }
14
+ static { this.MAX_REDIRECTS = 3; }
15
+ static { this.TIMEOUT_MILLISECONDS = 10_000; }
16
+ static { this.MAX_BYTES = 10 * 1024 * 1024; }
17
+ }
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/constants.ts"],"names":[],"mappings":"AAEA,sGAAsG;AACtG,MAAM,OAAO,UAAU;aACL,SAAI,GAAG,OAAO,CAAC;aACf,UAAK,GAAG,QAAQ,CAAC;aAEjB,eAAU,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEtE,MAAM,CAAC,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;;AAIH,gFAAgF;AAChF,MAAM,OAAO,iBAAiB;aACZ,oBAAe,GAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC/C,0BAAqB,GAAG,KAAK,CAAC;aAC9B,kBAAa,GAAG,CAAC,CAAC;aAClB,yBAAoB,GAAG,MAAM,CAAC;aAC9B,cAAS,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { TRegisterErrors } from '@venizia/ignis-inversion';
2
+ /**
3
+ * A url the policy refuses is refused forever - the same url will never be allowed. A caller that
4
+ * retries on failure has to tell that apart from a host that timed out, or it retries a rejection
5
+ * and turns the guard into a repeat scanner.
6
+ */
7
+ export declare const UrlSafetyErrors: {
8
+ readonly URL_REFUSED: {
9
+ readonly message: {
10
+ readonly text: "Url refused by the safety policy";
11
+ readonly code: "core.url_safety.url_refused";
12
+ };
13
+ readonly statusCode: 400;
14
+ readonly category: "business";
15
+ };
16
+ };
17
+ declare module '@venizia/ignis-inversion' {
18
+ interface IErrorKeyRegistry extends TRegisterErrors<typeof UrlSafetyErrors> {
19
+ }
20
+ }
21
+ /**
22
+ * True when the url will never be allowed, whatever happens next: a bad scheme, a non-public
23
+ * address, a host outside the allow-list, a malformed url, or too many hops. Retrying any of those
24
+ * repeats the same rejection - drop the work instead.
25
+ *
26
+ * A timeout, a DNS failure or a 5xx answers `false`: those are worth another attempt.
27
+ */
28
+ export declare const isUrlRefusedError: (opts: {
29
+ error: unknown;
30
+ }) => boolean;
31
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/errors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGlF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;CAMyB,CAAC;AAEtD,OAAO,QAAQ,0BAA0B,CAAC;IACxC,UAAU,iBAAkB,SAAQ,eAAe,CAAC,OAAO,eAAe,CAAC;KAAG;CAC/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,KAAG,OAG5D,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { HTTP } from '../../../../../common/constants/index.js';
2
+ import { ErrorScopes } from '@venizia/ignis-inversion';
3
+ /**
4
+ * A url the policy refuses is refused forever - the same url will never be allowed. A caller that
5
+ * retries on failure has to tell that apart from a host that timed out, or it retries a rejection
6
+ * and turns the guard into a repeat scanner.
7
+ */
8
+ export const UrlSafetyErrors = {
9
+ URL_REFUSED: {
10
+ message: { text: 'Url refused by the safety policy', code: 'core.url_safety.url_refused' },
11
+ statusCode: HTTP.ResultCodes.RS_4.BadRequest,
12
+ category: ErrorScopes.BUSINESS,
13
+ },
14
+ };
15
+ /**
16
+ * True when the url will never be allowed, whatever happens next: a bad scheme, a non-public
17
+ * address, a host outside the allow-list, a malformed url, or too many hops. Retrying any of those
18
+ * repeats the same rejection - drop the work instead.
19
+ *
20
+ * A timeout, a DNS failure or a 5xx answers `false`: those are worth another attempt.
21
+ */
22
+ export const isUrlRefusedError = (opts) => {
23
+ const source = opts.error;
24
+ return source?.normalized?.code === UrlSafetyErrors.URL_REFUSED.message.code;
25
+ };
26
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,6BAA6B,EAAE;QAC1F,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC5C,QAAQ,EAAE,WAAW,CAAC,QAAQ;KAC/B;CACkD,CAAC;AAMtD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAwB,EAAW,EAAE;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,KAA2C,CAAC;IAChE,OAAO,MAAM,EAAE,UAAU,EAAE,IAAI,KAAK,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/E,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './constants.js';
2
+ export * from './errors.js';
3
+ export * from './types.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './constants.js';
2
+ export * from './errors.js';
3
+ export * from './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { IDuration } from '../../../../../common/constants/duration.js';
2
+ /**
3
+ * What a caller will accept from an untrusted url. Every field is per call: an app that must reach
4
+ * plain `http` says so at the call site rather than weakening a build-time constant for everyone.
5
+ */
6
+ export interface IUrlSafetyPolicy {
7
+ /** Defaults to `['https:']`. */
8
+ allowedSchemes?: string[];
9
+ /**
10
+ * Defaults to `false`. Turning it on in a path that takes urls from user input re-opens the
11
+ * server-side request forgery this guard exists to close - a request can then be steered at
12
+ * `169.254.169.254` and the cloud credentials behind it.
13
+ */
14
+ allowPrivateAddress?: boolean;
15
+ /** When set, nothing outside the list passes, whatever it resolves to. */
16
+ allowedHosts?: string[];
17
+ /** Defaults to 3. Each hop is re-checked, so a public host cannot bounce into a private one. */
18
+ maxRedirects?: number;
19
+ /** Defaults to 10 seconds. A slow host holds a worker slot for exactly this long. */
20
+ timeout?: IDuration;
21
+ /** Defaults to 10 MB. The read stops and cancels the moment the body crosses it. */
22
+ maxBytes?: number;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qFAAqF;IACrF,OAAO,CAAC,EAAE,SAAS,CAAC;IAEpB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../src/modules/network/utilities/url-safety/common/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './common/index.js';
2
+ export * from './policy.js';
3
+ export * from './ingest.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network/utilities/url-safety/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './common/index.js';
2
+ export * from './policy.js';
3
+ export * from './ingest.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/network/utilities/url-safety/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { IUrlSafetyPolicy } from './common/types.js';
2
+ /** Fetching an untrusted url without letting it reach inside the network. */
3
+ export declare class UrlIngest {
4
+ /**
5
+ * Rejects when ANY resolved address is non-public. Checking only the first walks straight into a
6
+ * host that publishes one public A record beside an internal one.
7
+ *
8
+ * A rebinding window remains: the address can change between this check and the connect. Closing
9
+ * it means connecting to the resolved address and setting `Host` by hand, which no fetch API
10
+ * exposes.
11
+ */
12
+ static assertPublicHost(opts: {
13
+ hostname: string;
14
+ policy?: IUrlSafetyPolicy;
15
+ }): Promise<void>;
16
+ /** Both halves, in the order they must run: shape first, then the network. */
17
+ static assertReachableUrl(opts: {
18
+ url: string;
19
+ policy?: IUrlSafetyPolicy;
20
+ }): Promise<URL>;
21
+ private static readTimeoutMilliseconds;
22
+ /**
23
+ * A GET that an untrusted url cannot steer inside the network. Redirects are followed by hand so
24
+ * every hop is re-checked - `redirect: 'follow'` would land on an internal host with no second
25
+ * look.
26
+ *
27
+ * The body is returned unread: the caller decides whether to stream it onward or cap it with
28
+ * {@link UrlIngest.readCappedBody}. Nothing is buffered here.
29
+ */
30
+ static fetchGuarded(opts: {
31
+ url: string;
32
+ policy?: IUrlSafetyPolicy;
33
+ headers?: Record<string, string>;
34
+ }): Promise<Response>;
35
+ /**
36
+ * Enforces `maxBytes` on a stream nothing reads into this process - the shape a caller wants when
37
+ * the body is piped onward rather than held. Without it a `maxBytes` policy is inert on that path.
38
+ */
39
+ static capStream(opts: {
40
+ source: ReadableStream<Uint8Array>;
41
+ policy?: IUrlSafetyPolicy;
42
+ }): ReadableStream<Uint8Array>;
43
+ /**
44
+ * Reads a body that must not exceed `maxBytes`, cancelling the moment it does. `content-length` is
45
+ * checked first because it is free, and counted anyway because it may be absent or lie.
46
+ */
47
+ static readCappedBody(opts: {
48
+ response: Response;
49
+ policy?: IUrlSafetyPolicy;
50
+ }): Promise<Buffer>;
51
+ }
52
+ //# sourceMappingURL=ingest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network/utilities/url-safety/ingest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,6EAA6E;AAC7E,qBAAa,SAAS;IACpB;;;;;;;OAOG;WACU,gBAAgB,CAAC,IAAI,EAAE;QAClC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;KAC3B,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BjB,8EAA8E;WACjE,kBAAkB,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAM/F,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAMtC;;;;;;;OAOG;WACU,YAAY,CAAC,IAAI,EAAE;QAC9B,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,gBAAgB,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgDrB;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,gBAAgB,CAAC;KAC3B,GAAG,cAAc,CAAC,UAAU,CAAC;IA0B9B;;;OAGG;WACU,cAAc,CAAC,IAAI,EAAE;QAChC,QAAQ,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;KAC3B,GAAG,OAAO,CAAC,MAAM,CAAC;CA2CpB"}
@@ -0,0 +1,163 @@
1
+ // The half `policy.ts` cannot do: resolving a hostname needs `node:dns`, so nothing here may be
2
+ // re-exported from the `./core` subpath.
3
+ import { DurationMultipliers } from '../../../../common/constants/duration.js';
4
+ import { getError } from '../../../error/index.js';
5
+ import { lookup } from 'node:dns/promises';
6
+ import { UrlSafetyDefaults } from './common/constants.js';
7
+ import { UrlSafetyErrors } from './common/errors.js';
8
+ import { UrlPolicy } from './policy.js';
9
+ /** Fetching an untrusted url without letting it reach inside the network. */
10
+ export class UrlIngest {
11
+ /**
12
+ * Rejects when ANY resolved address is non-public. Checking only the first walks straight into a
13
+ * host that publishes one public A record beside an internal one.
14
+ *
15
+ * A rebinding window remains: the address can change between this check and the connect. Closing
16
+ * it means connecting to the resolved address and setting `Host` by hand, which no fetch API
17
+ * exposes.
18
+ */
19
+ static async assertPublicHost(opts) {
20
+ const { hostname, policy } = opts;
21
+ if (policy?.allowPrivateAddress ?? UrlSafetyDefaults.ALLOW_PRIVATE_ADDRESS) {
22
+ return;
23
+ }
24
+ // `URL.hostname` keeps the brackets on an IPv6 literal; `lookup` does not accept them, and the
25
+ // ENOTFOUND that follows reads as a transient DNS failure rather than the refusal it should be.
26
+ const address = UrlPolicy.readHostAddress({ hostname });
27
+ const addresses = await lookup(address, { all: true });
28
+ if (!addresses.length) {
29
+ throw getError({
30
+ error: UrlSafetyErrors.URL_REFUSED,
31
+ message: `[assertPublicHost] Host resolves to nothing | host: ${hostname}`,
32
+ });
33
+ }
34
+ const offender = addresses.find(entry => UrlPolicy.isNonPublicAddress({ address: entry.address }));
35
+ if (offender) {
36
+ throw getError({
37
+ error: UrlSafetyErrors.URL_REFUSED,
38
+ message: `[assertPublicHost] Host resolves to a non-public address | host: ${hostname} | address: ${offender.address}`,
39
+ });
40
+ }
41
+ }
42
+ /** Both halves, in the order they must run: shape first, then the network. */
43
+ static async assertReachableUrl(opts) {
44
+ const parsed = UrlPolicy.assertSafeUrl(opts);
45
+ await UrlIngest.assertPublicHost({ hostname: parsed.hostname, policy: opts.policy });
46
+ return parsed;
47
+ }
48
+ static readTimeoutMilliseconds(opts) {
49
+ const { timeout } = opts.policy ?? {};
50
+ const milliseconds = timeout ? DurationMultipliers.toMilliseconds(timeout) : null;
51
+ return milliseconds ?? UrlSafetyDefaults.TIMEOUT_MILLISECONDS;
52
+ }
53
+ /**
54
+ * A GET that an untrusted url cannot steer inside the network. Redirects are followed by hand so
55
+ * every hop is re-checked - `redirect: 'follow'` would land on an internal host with no second
56
+ * look.
57
+ *
58
+ * The body is returned unread: the caller decides whether to stream it onward or cap it with
59
+ * {@link UrlIngest.readCappedBody}. Nothing is buffered here.
60
+ */
61
+ static async fetchGuarded(opts) {
62
+ const { url, policy, headers } = opts;
63
+ const maxRedirects = policy?.maxRedirects ?? UrlSafetyDefaults.MAX_REDIRECTS;
64
+ const timeoutMilliseconds = UrlIngest.readTimeoutMilliseconds({ policy });
65
+ let target = await UrlIngest.assertReachableUrl({ url, policy });
66
+ for (let hop = 0; hop <= maxRedirects; hop += 1) {
67
+ const response = await fetch(target, {
68
+ redirect: 'manual',
69
+ signal: AbortSignal.timeout(timeoutMilliseconds),
70
+ ...(headers ? { headers } : {}),
71
+ });
72
+ if (response.status < 300 || response.status > 399) {
73
+ if (!response.ok) {
74
+ // Cancelled, or the socket stays open on every 4xx and 5xx.
75
+ await response.body?.cancel();
76
+ throw getError({
77
+ message: `[fetchGuarded] Request failed | status: ${response.status} | url: ${url}`,
78
+ });
79
+ }
80
+ return response;
81
+ }
82
+ const location = response.headers.get('location');
83
+ await response.body?.cancel();
84
+ if (!location) {
85
+ throw getError({
86
+ error: UrlSafetyErrors.URL_REFUSED,
87
+ message: `[fetchGuarded] Redirect carried no location | url: ${url}`,
88
+ });
89
+ }
90
+ target = await UrlIngest.assertReachableUrl({
91
+ url: new URL(location, target).toString(),
92
+ policy,
93
+ });
94
+ }
95
+ throw getError({
96
+ error: UrlSafetyErrors.URL_REFUSED,
97
+ message: `[fetchGuarded] Too many redirects | max: ${maxRedirects} | url: ${url}`,
98
+ });
99
+ }
100
+ /**
101
+ * Enforces `maxBytes` on a stream nothing reads into this process - the shape a caller wants when
102
+ * the body is piped onward rather than held. Without it a `maxBytes` policy is inert on that path.
103
+ */
104
+ static capStream(opts) {
105
+ const { source } = opts;
106
+ const maxBytes = opts.policy?.maxBytes ?? UrlSafetyDefaults.MAX_BYTES;
107
+ let received = 0;
108
+ return source.pipeThrough(new TransformStream({
109
+ transform(chunk, controller) {
110
+ received += chunk.byteLength;
111
+ if (received > maxBytes) {
112
+ controller.error(getError({
113
+ error: UrlSafetyErrors.URL_REFUSED,
114
+ message: `[capStream] Body exceeds the cap | received: ${received} | max: ${maxBytes}`,
115
+ }));
116
+ return;
117
+ }
118
+ controller.enqueue(chunk);
119
+ },
120
+ }));
121
+ }
122
+ /**
123
+ * Reads a body that must not exceed `maxBytes`, cancelling the moment it does. `content-length` is
124
+ * checked first because it is free, and counted anyway because it may be absent or lie.
125
+ */
126
+ static async readCappedBody(opts) {
127
+ const { response, policy } = opts;
128
+ const maxBytes = policy?.maxBytes ?? UrlSafetyDefaults.MAX_BYTES;
129
+ const declaredLength = Number(response.headers.get('content-length') ?? 0);
130
+ if (declaredLength > maxBytes) {
131
+ await response.body?.cancel();
132
+ // The same fact as the streaming branch below, so the same verdict: a caller must not retry an
133
+ // oversized body when the server sends `content-length` and drop it when the server omits one.
134
+ throw getError({
135
+ error: UrlSafetyErrors.URL_REFUSED,
136
+ message: `[readCappedBody] Body exceeds the cap | declared: ${declaredLength} | max: ${maxBytes}`,
137
+ });
138
+ }
139
+ const reader = response.body?.getReader();
140
+ if (!reader) {
141
+ throw getError({ message: '[readCappedBody] Response carried no body' });
142
+ }
143
+ const chunks = [];
144
+ let received = 0;
145
+ for (;;) {
146
+ const { done, value } = await reader.read();
147
+ if (done) {
148
+ break;
149
+ }
150
+ received += value.length;
151
+ if (received > maxBytes) {
152
+ await reader.cancel();
153
+ throw getError({
154
+ error: UrlSafetyErrors.URL_REFUSED,
155
+ message: `[readCappedBody] Body exceeds the cap | received: ${received} | max: ${maxBytes}`,
156
+ });
157
+ }
158
+ chunks.push(value);
159
+ }
160
+ return Buffer.concat(chunks);
161
+ }
162
+ }
163
+ //# sourceMappingURL=ingest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../../../src/modules/network/utilities/url-safety/ingest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { UrlSafetyDefaults, UrlSchemes } from './common/constants.js';
2
+ import type { IUrlSafetyPolicy } from './common/types.js';
3
+ /** Everything about a url that can be decided without touching the network. */
4
+ export declare class UrlPolicy {
5
+ /** A dotted-quad that is not routable on the public internet. An unparseable input counts as non-public. */
6
+ private static isNonPublicIPv4;
7
+ /**
8
+ * An address that must never be reached with an untrusted url. Anything unrecognised answers
9
+ * `true`: a guard that fails open on a string it cannot parse is not a guard.
10
+ */
11
+ static isNonPublicAddress(opts: {
12
+ address: string;
13
+ }): boolean;
14
+ /** A bracketed IPv6 literal arrives as `[::1]`; the brackets are not part of the address. */
15
+ static readHostAddress(opts: {
16
+ hostname: string;
17
+ }): string;
18
+ /**
19
+ * A hostname that RESOLVES to a private address passes here on purpose - `UrlIngest` catches that,
20
+ * and this half runs where `node:dns` does not exist.
21
+ */
22
+ static assertSafeUrl(opts: {
23
+ url: string;
24
+ policy?: IUrlSafetyPolicy;
25
+ }): URL;
26
+ }
27
+ export { UrlSafetyDefaults, UrlSchemes };
28
+ export type { IUrlSafetyPolicy };
29
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../../../src/modules/network/utilities/url-safety/policy.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,+EAA+E;AAC/E,qBAAa,SAAS;IACpB,4GAA4G;IAC5G,OAAO,CAAC,MAAM,CAAC,eAAe;IA0B9B;;;OAGG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAoC7D,6FAA6F;IAC7F,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAK1D;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,GAAG;CA0C5E;AAED,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AACzC,YAAY,EAAE,gBAAgB,EAAE,CAAC"}