@bgord/bun 1.10.23 → 1.11.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 (792) hide show
  1. package/dist/ab-assignment-composite.strategy.d.ts +10 -0
  2. package/dist/ab-assignment-composite.strategy.d.ts.map +1 -0
  3. package/dist/ab-assignment-composite.strategy.js +15 -0
  4. package/dist/ab-assignment-composite.strategy.js.map +1 -0
  5. package/dist/ab-assignment-fixed.strategy.d.ts +10 -0
  6. package/dist/ab-assignment-fixed.strategy.d.ts.map +1 -0
  7. package/dist/ab-assignment-fixed.strategy.js +10 -0
  8. package/dist/ab-assignment-fixed.strategy.js.map +1 -0
  9. package/dist/ab-assignment-hash.strategy.d.ts +12 -0
  10. package/dist/ab-assignment-hash.strategy.d.ts.map +1 -0
  11. package/dist/ab-assignment-hash.strategy.js +14 -0
  12. package/dist/ab-assignment-hash.strategy.js.map +1 -0
  13. package/dist/ab-assignment-query.strategy.d.ts +10 -0
  14. package/dist/ab-assignment-query.strategy.d.ts.map +1 -0
  15. package/dist/ab-assignment-query.strategy.js +11 -0
  16. package/dist/ab-assignment-query.strategy.js.map +1 -0
  17. package/dist/ab-assignment.strategy.d.ts +7 -0
  18. package/dist/ab-assignment.strategy.d.ts.map +1 -0
  19. package/dist/ab-assignment.strategy.js +2 -0
  20. package/dist/ab-assignment.strategy.js.map +1 -0
  21. package/dist/ab-hono-noop.middleware.d.ts +10 -0
  22. package/dist/ab-hono-noop.middleware.d.ts.map +1 -0
  23. package/dist/ab-hono-noop.middleware.js +18 -0
  24. package/dist/ab-hono-noop.middleware.js.map +1 -0
  25. package/dist/ab-hono.middleware.d.ts +14 -0
  26. package/dist/ab-hono.middleware.d.ts.map +1 -0
  27. package/dist/ab-hono.middleware.js +17 -0
  28. package/dist/ab-hono.middleware.js.map +1 -0
  29. package/dist/ab-variant-selector.service.d.ts +12 -0
  30. package/dist/ab-variant-selector.service.d.ts.map +1 -0
  31. package/dist/ab-variant-selector.service.js +22 -0
  32. package/dist/ab-variant-selector.service.js.map +1 -0
  33. package/dist/ab-variant-weight.vo.d.ts +7 -0
  34. package/dist/ab-variant-weight.vo.d.ts.map +1 -0
  35. package/dist/ab-variant-weight.vo.js +10 -0
  36. package/dist/ab-variant-weight.vo.js.map +1 -0
  37. package/dist/ab-variant.vo.d.ts +11 -0
  38. package/dist/ab-variant.vo.d.ts.map +1 -0
  39. package/dist/ab-variant.vo.js +7 -0
  40. package/dist/ab-variant.vo.js.map +1 -0
  41. package/dist/ab-variants.vo.d.ts +12 -0
  42. package/dist/ab-variants.vo.d.ts.map +1 -0
  43. package/dist/ab-variants.vo.js +24 -0
  44. package/dist/ab-variants.vo.js.map +1 -0
  45. package/dist/ab.middleware.d.ts +11 -0
  46. package/dist/ab.middleware.d.ts.map +1 -0
  47. package/dist/ab.middleware.js +12 -0
  48. package/dist/ab.middleware.js.map +1 -0
  49. package/dist/api-version-hono.middleware.d.ts +17 -0
  50. package/dist/api-version-hono.middleware.d.ts.map +1 -0
  51. package/dist/api-version-hono.middleware.js +15 -0
  52. package/dist/api-version-hono.middleware.js.map +1 -0
  53. package/dist/api-version.middleware.d.ts +5 -2
  54. package/dist/api-version.middleware.d.ts.map +1 -1
  55. package/dist/api-version.middleware.js +12 -10
  56. package/dist/api-version.middleware.js.map +1 -1
  57. package/dist/auth-session-reader.port.d.ts +8 -7
  58. package/dist/auth-session-reader.port.d.ts.map +1 -1
  59. package/dist/basic-auth.service.d.ts +3 -3
  60. package/dist/basic-auth.service.d.ts.map +1 -1
  61. package/dist/basic-auth.service.js.map +1 -1
  62. package/dist/cache-response-hono.middleware.d.ts +14 -0
  63. package/dist/cache-response-hono.middleware.d.ts.map +1 -0
  64. package/dist/cache-response-hono.middleware.js +34 -0
  65. package/dist/cache-response-hono.middleware.js.map +1 -0
  66. package/dist/cache-response.middleware.d.ts +18 -8
  67. package/dist/cache-response.middleware.d.ts.map +1 -1
  68. package/dist/cache-response.middleware.js +8 -21
  69. package/dist/cache-response.middleware.js.map +1 -1
  70. package/dist/correlation-hono.middleware.d.ts +16 -0
  71. package/dist/correlation-hono.middleware.d.ts.map +1 -0
  72. package/dist/correlation-hono.middleware.js +20 -0
  73. package/dist/correlation-hono.middleware.js.map +1 -0
  74. package/dist/correlation-id.middleware.d.ts +14 -0
  75. package/dist/correlation-id.middleware.d.ts.map +1 -0
  76. package/dist/correlation-id.middleware.js +16 -0
  77. package/dist/correlation-id.middleware.js.map +1 -0
  78. package/dist/correlation-storage.service.d.ts +0 -1
  79. package/dist/correlation-storage.service.d.ts.map +1 -1
  80. package/dist/correlation-storage.service.js +0 -2
  81. package/dist/correlation-storage.service.js.map +1 -1
  82. package/dist/crypto-key-provider-with-cache.adapter.d.ts +5 -4
  83. package/dist/crypto-key-provider-with-cache.adapter.d.ts.map +1 -1
  84. package/dist/crypto-key-provider-with-cache.adapter.js +5 -5
  85. package/dist/crypto-key-provider-with-cache.adapter.js.map +1 -1
  86. package/dist/environment-loader-process-safe.adapter.d.ts.map +1 -1
  87. package/dist/environment-loader-process-safe.adapter.js +3 -3
  88. package/dist/environment-loader-process-safe.adapter.js.map +1 -1
  89. package/dist/etag-extractor-hono.middleware.d.ts +13 -0
  90. package/dist/etag-extractor-hono.middleware.d.ts.map +1 -0
  91. package/dist/etag-extractor-hono.middleware.js +17 -0
  92. package/dist/etag-extractor-hono.middleware.js.map +1 -0
  93. package/dist/etag-extractor.middleware.d.ts +3 -8
  94. package/dist/etag-extractor.middleware.d.ts.map +1 -1
  95. package/dist/etag-extractor.middleware.js +5 -9
  96. package/dist/etag-extractor.middleware.js.map +1 -1
  97. package/dist/event-store.d.ts +2 -2
  98. package/dist/event-store.d.ts.map +1 -1
  99. package/dist/event-store.js.map +1 -1
  100. package/dist/file-inspection-noop.adapter.d.ts +2 -2
  101. package/dist/file-inspection-noop.adapter.d.ts.map +1 -1
  102. package/dist/file-inspection-noop.adapter.js.map +1 -1
  103. package/dist/file-reader-json-with-cache.adapter.d.ts +5 -4
  104. package/dist/file-reader-json-with-cache.adapter.d.ts.map +1 -1
  105. package/dist/file-reader-json-with-cache.adapter.js +6 -6
  106. package/dist/file-reader-json-with-cache.adapter.js.map +1 -1
  107. package/dist/file-reader-raw-with-cache.adapter.d.ts +5 -4
  108. package/dist/file-reader-raw-with-cache.adapter.d.ts.map +1 -1
  109. package/dist/file-reader-raw-with-cache.adapter.js +6 -6
  110. package/dist/file-reader-raw-with-cache.adapter.js.map +1 -1
  111. package/dist/file-reader-text-with-cache.adapter.d.ts +5 -4
  112. package/dist/file-reader-text-with-cache.adapter.d.ts.map +1 -1
  113. package/dist/file-reader-text-with-cache.adapter.js +6 -6
  114. package/dist/file-reader-text-with-cache.adapter.js.map +1 -1
  115. package/dist/file-uploader-hono.middleware.d.ts +13 -0
  116. package/dist/file-uploader-hono.middleware.d.ts.map +1 -0
  117. package/dist/file-uploader-hono.middleware.js +37 -0
  118. package/dist/file-uploader-hono.middleware.js.map +1 -0
  119. package/dist/file-uploader.middleware.d.ts +19 -8
  120. package/dist/file-uploader.middleware.d.ts.map +1 -1
  121. package/dist/file-uploader.middleware.js +24 -26
  122. package/dist/file-uploader.middleware.js.map +1 -1
  123. package/dist/handler-hono.port.d.ts +5 -0
  124. package/dist/handler-hono.port.d.ts.map +1 -0
  125. package/dist/handler-hono.port.js +2 -0
  126. package/dist/handler-hono.port.js.map +1 -0
  127. package/dist/hash-bucket.vo.d.ts +9 -0
  128. package/dist/hash-bucket.vo.d.ts.map +1 -0
  129. package/dist/hash-bucket.vo.js +17 -0
  130. package/dist/hash-bucket.vo.js.map +1 -0
  131. package/dist/healthcheck-hono.handler.d.ts +87 -0
  132. package/dist/healthcheck-hono.handler.d.ts.map +1 -0
  133. package/dist/healthcheck-hono.handler.js +17 -0
  134. package/dist/healthcheck-hono.handler.js.map +1 -0
  135. package/dist/healthcheck.handler.d.ts +83 -0
  136. package/dist/healthcheck.handler.d.ts.map +1 -0
  137. package/dist/{healthcheck.service.js → healthcheck.handler.js} +21 -19
  138. package/dist/healthcheck.handler.js.map +1 -0
  139. package/dist/http-logger-hono.middleware.d.ts +17 -0
  140. package/dist/http-logger-hono.middleware.d.ts.map +1 -0
  141. package/dist/http-logger-hono.middleware.js +37 -0
  142. package/dist/http-logger-hono.middleware.js.map +1 -0
  143. package/dist/http-logger.middleware.d.ts +19 -4
  144. package/dist/http-logger.middleware.d.ts.map +1 -1
  145. package/dist/http-logger.middleware.js +31 -41
  146. package/dist/http-logger.middleware.js.map +1 -1
  147. package/dist/i18n.service.d.ts +1 -1
  148. package/dist/i18n.service.d.ts.map +1 -1
  149. package/dist/image-info-noop.adapter.d.ts +1 -1
  150. package/dist/image-info-noop.adapter.d.ts.map +1 -1
  151. package/dist/image-info-noop.adapter.js +1 -1
  152. package/dist/image-info-noop.adapter.js.map +1 -1
  153. package/dist/image-info-sharp.adapter.d.ts +1 -1
  154. package/dist/image-info-sharp.adapter.d.ts.map +1 -1
  155. package/dist/image-info-sharp.adapter.js +3 -3
  156. package/dist/image-info-sharp.adapter.js.map +1 -1
  157. package/dist/image-info.port.d.ts +1 -1
  158. package/dist/image-info.port.d.ts.map +1 -1
  159. package/dist/in-flight-requests-hono.middleware.d.ts +7 -0
  160. package/dist/in-flight-requests-hono.middleware.d.ts.map +1 -0
  161. package/dist/in-flight-requests-hono.middleware.js +16 -0
  162. package/dist/in-flight-requests-hono.middleware.js.map +1 -0
  163. package/dist/in-flight-requests-tracker.service.d.ts.map +1 -1
  164. package/dist/in-flight-requests-tracker.service.js +0 -1
  165. package/dist/in-flight-requests-tracker.service.js.map +1 -1
  166. package/dist/in-flight-requests.middleware.d.ts +3 -2
  167. package/dist/in-flight-requests.middleware.d.ts.map +1 -1
  168. package/dist/in-flight-requests.middleware.js +6 -10
  169. package/dist/in-flight-requests.middleware.js.map +1 -1
  170. package/dist/index.d.ts +70 -25
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +70 -25
  173. package/dist/index.js.map +1 -1
  174. package/dist/invariant-error-handler.service.d.ts +1 -2
  175. package/dist/invariant-error-handler.service.d.ts.map +1 -1
  176. package/dist/invariant-error-handler.service.js.map +1 -1
  177. package/dist/invariant.service.d.ts +2 -2
  178. package/dist/invariant.service.d.ts.map +1 -1
  179. package/dist/mailer-resend.adapter.d.ts +2 -2
  180. package/dist/mailer-resend.adapter.d.ts.map +1 -1
  181. package/dist/mailer-resend.adapter.js.map +1 -1
  182. package/dist/mailer-smtp.adapter.d.ts +2 -2
  183. package/dist/mailer-smtp.adapter.d.ts.map +1 -1
  184. package/dist/mailer-smtp.adapter.js.map +1 -1
  185. package/dist/middleware-hono-noop.adapter.d.ts +6 -0
  186. package/dist/middleware-hono-noop.adapter.d.ts.map +1 -0
  187. package/dist/middleware-hono-noop.adapter.js +6 -0
  188. package/dist/middleware-hono-noop.adapter.js.map +1 -0
  189. package/dist/middleware-hono.port.d.ts +5 -0
  190. package/dist/middleware-hono.port.d.ts.map +1 -0
  191. package/dist/middleware-hono.port.js +2 -0
  192. package/dist/middleware-hono.port.js.map +1 -0
  193. package/dist/modules/preferences/invariants/user-language-has-changed.d.ts +6 -6
  194. package/dist/modules/preferences/invariants/user-language-has-changed.d.ts.map +1 -1
  195. package/dist/modules/preferences/invariants/user-language-has-changed.js.map +1 -1
  196. package/dist/ping-hono.handler.d.ts +6 -0
  197. package/dist/ping-hono.handler.d.ts.map +1 -0
  198. package/dist/ping-hono.handler.js +13 -0
  199. package/dist/ping-hono.handler.js.map +1 -0
  200. package/dist/ping.handler.d.ts +4 -0
  201. package/dist/ping.handler.d.ts.map +1 -0
  202. package/dist/ping.handler.js +6 -0
  203. package/dist/ping.handler.js.map +1 -0
  204. package/dist/prerequisite-verifier-binary.adapter.d.ts +5 -3
  205. package/dist/prerequisite-verifier-binary.adapter.d.ts.map +1 -1
  206. package/dist/prerequisite-verifier-binary.adapter.js.map +1 -1
  207. package/dist/prerequisite-verifier-bun.adapter.d.ts +6 -4
  208. package/dist/prerequisite-verifier-bun.adapter.d.ts.map +1 -1
  209. package/dist/prerequisite-verifier-bun.adapter.js.map +1 -1
  210. package/dist/prerequisite-verifier-clock-drift.adapter.d.ts +4 -3
  211. package/dist/prerequisite-verifier-clock-drift.adapter.d.ts.map +1 -1
  212. package/dist/prerequisite-verifier-clock-drift.adapter.js.map +1 -1
  213. package/dist/prerequisite-verifier-directory.adapter.d.ts +5 -4
  214. package/dist/prerequisite-verifier-directory.adapter.d.ts.map +1 -1
  215. package/dist/prerequisite-verifier-directory.adapter.js.map +1 -1
  216. package/dist/prerequisite-verifier-dns.adapter.d.ts +5 -3
  217. package/dist/prerequisite-verifier-dns.adapter.d.ts.map +1 -1
  218. package/dist/prerequisite-verifier-dns.adapter.js.map +1 -1
  219. package/dist/prerequisite-verifier-external-api.adapter.d.ts +5 -3
  220. package/dist/prerequisite-verifier-external-api.adapter.d.ts.map +1 -1
  221. package/dist/prerequisite-verifier-external-api.adapter.js.map +1 -1
  222. package/dist/prerequisite-verifier-file.adapter.d.ts +5 -4
  223. package/dist/prerequisite-verifier-file.adapter.d.ts.map +1 -1
  224. package/dist/prerequisite-verifier-file.adapter.js.map +1 -1
  225. package/dist/prerequisite-verifier-jobs.adapter.d.ts +5 -3
  226. package/dist/prerequisite-verifier-jobs.adapter.d.ts.map +1 -1
  227. package/dist/prerequisite-verifier-jobs.adapter.js.map +1 -1
  228. package/dist/prerequisite-verifier-memory.adapter.d.ts +5 -3
  229. package/dist/prerequisite-verifier-memory.adapter.d.ts.map +1 -1
  230. package/dist/prerequisite-verifier-memory.adapter.js.map +1 -1
  231. package/dist/prerequisite-verifier-node.adapter.d.ts +6 -4
  232. package/dist/prerequisite-verifier-node.adapter.d.ts.map +1 -1
  233. package/dist/prerequisite-verifier-node.adapter.js.map +1 -1
  234. package/dist/prerequisite-verifier-os.adapter.d.ts +5 -3
  235. package/dist/prerequisite-verifier-os.adapter.d.ts.map +1 -1
  236. package/dist/prerequisite-verifier-os.adapter.js.map +1 -1
  237. package/dist/prerequisite-verifier-port.adapter.d.ts +5 -3
  238. package/dist/prerequisite-verifier-port.adapter.d.ts.map +1 -1
  239. package/dist/prerequisite-verifier-port.adapter.js.map +1 -1
  240. package/dist/prerequisite-verifier-ram.adapter.d.ts +5 -3
  241. package/dist/prerequisite-verifier-ram.adapter.d.ts.map +1 -1
  242. package/dist/prerequisite-verifier-ram.adapter.js.map +1 -1
  243. package/dist/prerequisite-verifier-running-user.adapter.d.ts +5 -3
  244. package/dist/prerequisite-verifier-running-user.adapter.d.ts.map +1 -1
  245. package/dist/prerequisite-verifier-running-user.adapter.js.map +1 -1
  246. package/dist/prerequisite-verifier-space.adapter.d.ts +4 -3
  247. package/dist/prerequisite-verifier-space.adapter.d.ts.map +1 -1
  248. package/dist/prerequisite-verifier-space.adapter.js.map +1 -1
  249. package/dist/prerequisite-verifier-sqlite.adapter.d.ts +5 -3
  250. package/dist/prerequisite-verifier-sqlite.adapter.d.ts.map +1 -1
  251. package/dist/prerequisite-verifier-sqlite.adapter.js.map +1 -1
  252. package/dist/prerequisite-verifier-ssl-certificate-expiry.adapter.d.ts +5 -4
  253. package/dist/prerequisite-verifier-ssl-certificate-expiry.adapter.d.ts.map +1 -1
  254. package/dist/prerequisite-verifier-ssl-certificate-expiry.adapter.js.map +1 -1
  255. package/dist/prerequisite-verifier-timezone-utc.adapter.d.ts +5 -3
  256. package/dist/prerequisite-verifier-timezone-utc.adapter.d.ts.map +1 -1
  257. package/dist/prerequisite-verifier-timezone-utc.adapter.js.map +1 -1
  258. package/dist/prerequisite-verifier-translations.adapter.d.ts +1 -1
  259. package/dist/prerequisite-verifier-translations.adapter.d.ts.map +1 -1
  260. package/dist/prerequisite-verifier-translations.adapter.js.map +1 -1
  261. package/dist/prerequisite-verifier-with-cache.adapter.d.ts +5 -4
  262. package/dist/prerequisite-verifier-with-cache.adapter.d.ts.map +1 -1
  263. package/dist/prerequisite-verifier-with-cache.adapter.js +6 -6
  264. package/dist/prerequisite-verifier-with-cache.adapter.js.map +1 -1
  265. package/dist/prerequisite-verifier-with-fail-safe.adapter.d.ts +2 -2
  266. package/dist/prerequisite-verifier-with-fail-safe.adapter.d.ts.map +1 -1
  267. package/dist/prerequisite-verifier-with-fail-safe.adapter.js.map +1 -1
  268. package/dist/prerequisite-verifier-with-logger.adapter.d.ts +4 -3
  269. package/dist/prerequisite-verifier-with-logger.adapter.d.ts.map +1 -1
  270. package/dist/prerequisite-verifier-with-logger.adapter.js.map +1 -1
  271. package/dist/prerequisite-verifier-with-retry.adapter.d.ts +6 -5
  272. package/dist/prerequisite-verifier-with-retry.adapter.d.ts.map +1 -1
  273. package/dist/prerequisite-verifier-with-retry.adapter.js.map +1 -1
  274. package/dist/prerequisite-verifier-with-timeout.adapter.d.ts +5 -4
  275. package/dist/prerequisite-verifier-with-timeout.adapter.d.ts.map +1 -1
  276. package/dist/prerequisite-verifier-with-timeout.adapter.js.map +1 -1
  277. package/dist/prerequisite-verifier.decorator.d.ts +4 -4
  278. package/dist/prerequisite-verifier.decorator.d.ts.map +1 -1
  279. package/dist/prerequisite-verifier.decorator.js.map +1 -1
  280. package/dist/prerequisite.vo.d.ts +2 -2
  281. package/dist/prerequisite.vo.d.ts.map +1 -1
  282. package/dist/prerequisite.vo.js.map +1 -1
  283. package/dist/remote-file-storage-disk.adapter.d.ts +4 -4
  284. package/dist/remote-file-storage-disk.adapter.d.ts.map +1 -1
  285. package/dist/remote-file-storage-disk.adapter.js.map +1 -1
  286. package/dist/request-context-hono.adapter.d.ts +1 -1
  287. package/dist/request-context-hono.adapter.d.ts.map +1 -1
  288. package/dist/request-context-hono.adapter.js +10 -1
  289. package/dist/request-context-hono.adapter.js.map +1 -1
  290. package/dist/request-context.port.d.ts +18 -0
  291. package/dist/request-context.port.d.ts.map +1 -1
  292. package/dist/retry.service.d.ts +5 -5
  293. package/dist/retry.service.d.ts.map +1 -1
  294. package/dist/retry.service.js.map +1 -1
  295. package/dist/security-countermeasure-ban.strategy.d.ts +8 -7
  296. package/dist/security-countermeasure-ban.strategy.d.ts.map +1 -1
  297. package/dist/security-countermeasure-ban.strategy.js.map +1 -1
  298. package/dist/security-countermeasure-mirage.strategy.d.ts +6 -5
  299. package/dist/security-countermeasure-mirage.strategy.d.ts.map +1 -1
  300. package/dist/security-countermeasure-mirage.strategy.js.map +1 -1
  301. package/dist/security-countermeasure-tarpit.strategy.d.ts +5 -4
  302. package/dist/security-countermeasure-tarpit.strategy.d.ts.map +1 -1
  303. package/dist/security-countermeasure-tarpit.strategy.js.map +1 -1
  304. package/dist/security-rule-violation-threshold.strategy.d.ts +4 -3
  305. package/dist/security-rule-violation-threshold.strategy.d.ts.map +1 -1
  306. package/dist/security-rule-violation-threshold.strategy.js +4 -4
  307. package/dist/security-rule-violation-threshold.strategy.js.map +1 -1
  308. package/dist/setup-hono.service.d.ts +31 -0
  309. package/dist/setup-hono.service.d.ts.map +1 -0
  310. package/dist/{setup.service.js → setup-hono.service.js} +25 -33
  311. package/dist/setup-hono.service.js.map +1 -0
  312. package/dist/shield-api-key-hono.strategy.d.ts +11 -0
  313. package/dist/shield-api-key-hono.strategy.d.ts.map +1 -0
  314. package/dist/shield-api-key-hono.strategy.js +19 -0
  315. package/dist/shield-api-key-hono.strategy.js.map +1 -0
  316. package/dist/shield-api-key.strategy.d.ts +9 -9
  317. package/dist/shield-api-key.strategy.d.ts.map +1 -1
  318. package/dist/shield-api-key.strategy.js +5 -11
  319. package/dist/shield-api-key.strategy.js.map +1 -1
  320. package/dist/shield-auth-hono.strategy.d.ts +16 -0
  321. package/dist/shield-auth-hono.strategy.d.ts.map +1 -0
  322. package/dist/shield-auth-hono.strategy.js +31 -0
  323. package/dist/shield-auth-hono.strategy.js.map +1 -0
  324. package/dist/shield-auth.strategy.d.ts +8 -7
  325. package/dist/shield-auth.strategy.d.ts.map +1 -1
  326. package/dist/shield-auth.strategy.js +10 -23
  327. package/dist/shield-auth.strategy.js.map +1 -1
  328. package/dist/shield-basic-auth-hono.strategy.d.ts +11 -0
  329. package/dist/shield-basic-auth-hono.strategy.d.ts.map +1 -0
  330. package/dist/shield-basic-auth-hono.strategy.js +21 -0
  331. package/dist/shield-basic-auth-hono.strategy.js.map +1 -0
  332. package/dist/shield-basic-auth.strategy.d.ts +9 -7
  333. package/dist/shield-basic-auth.strategy.d.ts.map +1 -1
  334. package/dist/shield-basic-auth.strategy.js +18 -5
  335. package/dist/shield-basic-auth.strategy.js.map +1 -1
  336. package/dist/shield-body-limit-hono.strategy.d.ts +10 -0
  337. package/dist/shield-body-limit-hono.strategy.d.ts.map +1 -0
  338. package/dist/shield-body-limit-hono.strategy.js +21 -0
  339. package/dist/shield-body-limit-hono.strategy.js.map +1 -0
  340. package/dist/shield-body-limit.strategy.d.ts +14 -0
  341. package/dist/shield-body-limit.strategy.d.ts.map +1 -0
  342. package/dist/shield-body-limit.strategy.js +19 -0
  343. package/dist/shield-body-limit.strategy.js.map +1 -0
  344. package/dist/shield-csrf-hono.strategy.d.ts +11 -0
  345. package/dist/shield-csrf-hono.strategy.d.ts.map +1 -0
  346. package/dist/shield-csrf-hono.strategy.js +19 -0
  347. package/dist/shield-csrf-hono.strategy.js.map +1 -0
  348. package/dist/shield-csrf.strategy.d.ts +8 -7
  349. package/dist/shield-csrf.strategy.d.ts.map +1 -1
  350. package/dist/shield-csrf.strategy.js +7 -11
  351. package/dist/shield-csrf.strategy.js.map +1 -1
  352. package/dist/shield-hcaptcha-hono-local.strategy.d.ts +14 -0
  353. package/dist/shield-hcaptcha-hono-local.strategy.d.ts.map +1 -0
  354. package/dist/shield-hcaptcha-hono-local.strategy.js +20 -0
  355. package/dist/shield-hcaptcha-hono-local.strategy.js.map +1 -0
  356. package/dist/shield-hcaptcha-hono.strategy.d.ts +11 -0
  357. package/dist/shield-hcaptcha-hono.strategy.d.ts.map +1 -0
  358. package/dist/shield-hcaptcha-hono.strategy.js +19 -0
  359. package/dist/shield-hcaptcha-hono.strategy.js.map +1 -0
  360. package/dist/shield-hcaptcha.strategy.d.ts +5 -5
  361. package/dist/shield-hcaptcha.strategy.d.ts.map +1 -1
  362. package/dist/shield-hcaptcha.strategy.js +6 -12
  363. package/dist/shield-hcaptcha.strategy.js.map +1 -1
  364. package/dist/shield-maintenance-hono.strategy.d.ts +9 -0
  365. package/dist/shield-maintenance-hono.strategy.d.ts.map +1 -0
  366. package/dist/shield-maintenance-hono.strategy.js +18 -0
  367. package/dist/shield-maintenance-hono.strategy.js.map +1 -0
  368. package/dist/shield-maintenance.strategy.d.ts +15 -0
  369. package/dist/shield-maintenance.strategy.d.ts.map +1 -0
  370. package/dist/shield-maintenance.strategy.js +13 -0
  371. package/dist/shield-maintenance.strategy.js.map +1 -0
  372. package/dist/shield-rate-limit-hono.strategy.d.ts +18 -0
  373. package/dist/shield-rate-limit-hono.strategy.d.ts.map +1 -0
  374. package/dist/shield-rate-limit-hono.strategy.js +21 -0
  375. package/dist/shield-rate-limit-hono.strategy.js.map +1 -0
  376. package/dist/shield-rate-limit.strategy.d.ts +11 -10
  377. package/dist/shield-rate-limit.strategy.d.ts.map +1 -1
  378. package/dist/shield-rate-limit.strategy.js +9 -16
  379. package/dist/shield-rate-limit.strategy.js.map +1 -1
  380. package/dist/shield-recaptcha-hono.strategy.d.ts +11 -0
  381. package/dist/shield-recaptcha-hono.strategy.d.ts.map +1 -0
  382. package/dist/shield-recaptcha-hono.strategy.js +22 -0
  383. package/dist/shield-recaptcha-hono.strategy.js.map +1 -0
  384. package/dist/shield-recaptcha.strategy.d.ts +9 -8
  385. package/dist/shield-recaptcha.strategy.d.ts.map +1 -1
  386. package/dist/shield-recaptcha.strategy.js +8 -13
  387. package/dist/shield-recaptcha.strategy.js.map +1 -1
  388. package/dist/shield-security-hono.strategy.d.ts +18 -0
  389. package/dist/shield-security-hono.strategy.d.ts.map +1 -0
  390. package/dist/shield-security-hono.strategy.js +43 -0
  391. package/dist/shield-security-hono.strategy.js.map +1 -0
  392. package/dist/shield-security.strategy.d.ts +6 -12
  393. package/dist/shield-security.strategy.d.ts.map +1 -1
  394. package/dist/shield-security.strategy.js +12 -43
  395. package/dist/shield-security.strategy.js.map +1 -1
  396. package/dist/shield-timeout-hono.strategy.d.ts +11 -0
  397. package/dist/shield-timeout-hono.strategy.d.ts.map +1 -0
  398. package/dist/shield-timeout-hono.strategy.js +15 -0
  399. package/dist/shield-timeout-hono.strategy.js.map +1 -0
  400. package/dist/shield-timeout.strategy.d.ts +7 -9
  401. package/dist/shield-timeout.strategy.d.ts.map +1 -1
  402. package/dist/shield-timeout.strategy.js +3 -7
  403. package/dist/shield-timeout.strategy.js.map +1 -1
  404. package/dist/simulated-error-hono.middleware.d.ts +8 -0
  405. package/dist/simulated-error-hono.middleware.d.ts.map +1 -0
  406. package/dist/simulated-error-hono.middleware.js +13 -0
  407. package/dist/simulated-error-hono.middleware.js.map +1 -0
  408. package/dist/simulated-error.middleware.d.ts +2 -2
  409. package/dist/simulated-error.middleware.d.ts.map +1 -1
  410. package/dist/simulated-error.middleware.js +3 -4
  411. package/dist/simulated-error.middleware.js.map +1 -1
  412. package/dist/slower-hono.middleware.d.ts +14 -0
  413. package/dist/slower-hono.middleware.d.ts.map +1 -0
  414. package/dist/slower-hono.middleware.js +14 -0
  415. package/dist/slower-hono.middleware.js.map +1 -0
  416. package/dist/slower.middleware.d.ts +5 -2
  417. package/dist/slower.middleware.d.ts.map +1 -1
  418. package/dist/slower.middleware.js +10 -6
  419. package/dist/slower.middleware.js.map +1 -1
  420. package/dist/{ssr.d.ts → ssr-bun.service.d.ts} +2 -2
  421. package/dist/ssr-bun.service.d.ts.map +1 -0
  422. package/dist/ssr-bun.service.js +14 -0
  423. package/dist/ssr-bun.service.js.map +1 -0
  424. package/dist/ssr.service.d.ts +26 -0
  425. package/dist/ssr.service.d.ts.map +1 -0
  426. package/dist/ssr.service.js +49 -0
  427. package/dist/ssr.service.js.map +1 -0
  428. package/dist/{static-files.service.d.ts → static-files-hono.service.d.ts} +2 -2
  429. package/dist/static-files-hono.service.d.ts.map +1 -0
  430. package/dist/{static-files.service.js → static-files-hono.service.js} +2 -2
  431. package/dist/static-files-hono.service.js.map +1 -0
  432. package/dist/subject-application-resolver.vo.d.ts +23 -0
  433. package/dist/subject-application-resolver.vo.d.ts.map +1 -0
  434. package/dist/{cache-subject-application-resolver.vo.js → subject-application-resolver.vo.js} +7 -7
  435. package/dist/subject-application-resolver.vo.js.map +1 -0
  436. package/dist/{cache-subject-request-resolver.vo.d.ts → subject-request-resolver.vo.d.ts} +6 -6
  437. package/dist/subject-request-resolver.vo.d.ts.map +1 -0
  438. package/dist/{cache-subject-request-resolver.vo.js → subject-request-resolver.vo.js} +7 -7
  439. package/dist/subject-request-resolver.vo.js.map +1 -0
  440. package/dist/subject-segment-application.strategy.d.ts +6 -0
  441. package/dist/subject-segment-application.strategy.d.ts.map +1 -0
  442. package/dist/subject-segment-application.strategy.js +2 -0
  443. package/dist/subject-segment-application.strategy.js.map +1 -0
  444. package/dist/subject-segment-build.strategy.d.ts +9 -0
  445. package/dist/subject-segment-build.strategy.d.ts.map +1 -0
  446. package/dist/subject-segment-build.strategy.js +13 -0
  447. package/dist/subject-segment-build.strategy.js.map +1 -0
  448. package/dist/subject-segment-cookie.strategy.d.ts +9 -0
  449. package/dist/subject-segment-cookie.strategy.d.ts.map +1 -0
  450. package/dist/subject-segment-cookie.strategy.js +11 -0
  451. package/dist/subject-segment-cookie.strategy.js.map +1 -0
  452. package/dist/subject-segment-env.strategy.d.ts +9 -0
  453. package/dist/subject-segment-env.strategy.d.ts.map +1 -0
  454. package/dist/{cache-subject-segment-env.strategy.js → subject-segment-env.strategy.js} +2 -2
  455. package/dist/subject-segment-env.strategy.js.map +1 -0
  456. package/dist/subject-segment-fixed.strategy.d.ts +8 -0
  457. package/dist/subject-segment-fixed.strategy.d.ts.map +1 -0
  458. package/dist/{cache-subject-segment-fixed.strategy.js → subject-segment-fixed.strategy.js} +2 -2
  459. package/dist/subject-segment-fixed.strategy.js.map +1 -0
  460. package/dist/subject-segment-header.strategy.d.ts +9 -0
  461. package/dist/subject-segment-header.strategy.d.ts.map +1 -0
  462. package/dist/subject-segment-header.strategy.js +11 -0
  463. package/dist/subject-segment-header.strategy.js.map +1 -0
  464. package/dist/subject-segment-ip.strategy.d.ts +6 -0
  465. package/dist/subject-segment-ip.strategy.d.ts.map +1 -0
  466. package/dist/subject-segment-ip.strategy.js +7 -0
  467. package/dist/subject-segment-ip.strategy.js.map +1 -0
  468. package/dist/subject-segment-path.strategy.d.ts +6 -0
  469. package/dist/subject-segment-path.strategy.d.ts.map +1 -0
  470. package/dist/subject-segment-path.strategy.js +6 -0
  471. package/dist/subject-segment-path.strategy.js.map +1 -0
  472. package/dist/subject-segment-query.strategy.d.ts +7 -0
  473. package/dist/subject-segment-query.strategy.d.ts.map +1 -0
  474. package/dist/subject-segment-query.strategy.js +12 -0
  475. package/dist/subject-segment-query.strategy.js.map +1 -0
  476. package/dist/subject-segment-request.strategy.d.ts +9 -0
  477. package/dist/subject-segment-request.strategy.d.ts.map +1 -0
  478. package/dist/subject-segment-request.strategy.js +2 -0
  479. package/dist/subject-segment-request.strategy.js.map +1 -0
  480. package/dist/subject-segment-user.strategy.d.ts +6 -0
  481. package/dist/subject-segment-user.strategy.d.ts.map +1 -0
  482. package/dist/subject-segment-user.strategy.js +7 -0
  483. package/dist/subject-segment-user.strategy.js.map +1 -0
  484. package/dist/time-zone-offset-hono.middleware.d.ts +12 -0
  485. package/dist/time-zone-offset-hono.middleware.d.ts.map +1 -0
  486. package/dist/time-zone-offset-hono.middleware.js +17 -0
  487. package/dist/time-zone-offset-hono.middleware.js.map +1 -0
  488. package/dist/time-zone-offset.middleware.d.ts +3 -6
  489. package/dist/time-zone-offset.middleware.d.ts.map +1 -1
  490. package/dist/time-zone-offset.middleware.js +5 -13
  491. package/dist/time-zone-offset.middleware.js.map +1 -1
  492. package/dist/timing-hono.middleware.d.ts +12 -0
  493. package/dist/timing-hono.middleware.d.ts.map +1 -0
  494. package/dist/timing-hono.middleware.js +15 -0
  495. package/dist/timing-hono.middleware.js.map +1 -0
  496. package/dist/timing.middleware.d.ts +12 -0
  497. package/dist/timing.middleware.d.ts.map +1 -0
  498. package/dist/timing.middleware.js +14 -0
  499. package/dist/timing.middleware.js.map +1 -0
  500. package/dist/trailing-slash-hono.middleware.d.ts +7 -0
  501. package/dist/trailing-slash-hono.middleware.d.ts.map +1 -0
  502. package/dist/trailing-slash-hono.middleware.js +21 -0
  503. package/dist/trailing-slash-hono.middleware.js.map +1 -0
  504. package/dist/trailing-slash.middleware.d.ts +11 -0
  505. package/dist/trailing-slash.middleware.d.ts.map +1 -0
  506. package/dist/trailing-slash.middleware.js +10 -0
  507. package/dist/trailing-slash.middleware.js.map +1 -0
  508. package/dist/translations-hono.handler.d.ts +23 -0
  509. package/dist/translations-hono.handler.d.ts.map +1 -0
  510. package/dist/translations-hono.handler.js +17 -0
  511. package/dist/translations-hono.handler.js.map +1 -0
  512. package/dist/translations.handler.d.ts +22 -0
  513. package/dist/translations.handler.d.ts.map +1 -0
  514. package/dist/translations.handler.js +18 -0
  515. package/dist/translations.handler.js.map +1 -0
  516. package/dist/tsconfig.tsbuildinfo +1 -1
  517. package/dist/weak-etag-extractor-hono.middleware.d.ts +12 -0
  518. package/dist/weak-etag-extractor-hono.middleware.d.ts.map +1 -0
  519. package/dist/weak-etag-extractor-hono.middleware.js +17 -0
  520. package/dist/weak-etag-extractor-hono.middleware.js.map +1 -0
  521. package/dist/weak-etag-extractor.middleware.d.ts +4 -5
  522. package/dist/weak-etag-extractor.middleware.d.ts.map +1 -1
  523. package/dist/weak-etag-extractor.middleware.js +5 -9
  524. package/dist/weak-etag-extractor.middleware.js.map +1 -1
  525. package/dist/woodchopper-dispatcher-async.strategy.d.ts.map +1 -1
  526. package/dist/woodchopper-dispatcher-async.strategy.js +2 -0
  527. package/dist/woodchopper-dispatcher-async.strategy.js.map +1 -1
  528. package/dist/woodchopper-sampling-correlation-id.strategy.d.ts +2 -2
  529. package/dist/woodchopper-sampling-correlation-id.strategy.d.ts.map +1 -1
  530. package/dist/woodchopper-sampling-correlation-id.strategy.js.map +1 -1
  531. package/dist/woodchopper-sampling-every-nth.strategy.d.ts +3 -2
  532. package/dist/woodchopper-sampling-every-nth.strategy.d.ts.map +1 -1
  533. package/dist/woodchopper-sampling-every-nth.strategy.js.map +1 -1
  534. package/dist/woodchopper.d.ts +2 -2
  535. package/dist/woodchopper.d.ts.map +1 -1
  536. package/dist/woodchopper.js.map +1 -1
  537. package/package.json +9 -9
  538. package/readme.md +69 -24
  539. package/src/ab-assignment-composite.strategy.ts +17 -0
  540. package/src/ab-assignment-fixed.strategy.ts +12 -0
  541. package/src/ab-assignment-hash.strategy.ts +23 -0
  542. package/src/ab-assignment-query.strategy.ts +14 -0
  543. package/src/ab-assignment.strategy.ts +7 -0
  544. package/src/ab-hono-noop.middleware.ts +26 -0
  545. package/src/ab-hono.middleware.ts +28 -0
  546. package/src/ab-variant-selector.service.ts +27 -0
  547. package/src/ab-variant-weight.vo.ts +13 -0
  548. package/src/ab-variant.vo.ts +7 -0
  549. package/src/ab-variants.vo.ts +24 -0
  550. package/src/ab.middleware.ts +15 -0
  551. package/src/api-version-hono.middleware.ts +30 -0
  552. package/src/api-version.middleware.ts +18 -17
  553. package/src/auth-session-reader.port.ts +3 -3
  554. package/src/basic-auth.service.ts +3 -3
  555. package/src/cache-response-hono.middleware.ts +53 -0
  556. package/src/cache-response.middleware.ts +27 -33
  557. package/src/correlation-hono.middleware.ts +32 -0
  558. package/src/correlation-id.middleware.ts +20 -0
  559. package/src/correlation-storage.service.ts +0 -3
  560. package/src/crypto-key-provider-with-cache.adapter.ts +8 -6
  561. package/src/environment-loader-process-safe.adapter.ts +3 -6
  562. package/src/etag-extractor-hono.middleware.ts +27 -0
  563. package/src/etag-extractor.middleware.ts +6 -12
  564. package/src/event-store.ts +2 -2
  565. package/src/file-inspection-noop.adapter.ts +2 -2
  566. package/src/file-reader-json-with-cache.adapter.ts +8 -7
  567. package/src/file-reader-raw-with-cache.adapter.ts +8 -7
  568. package/src/file-reader-text-with-cache.adapter.ts +8 -7
  569. package/src/file-uploader-hono.middleware.ts +47 -0
  570. package/src/file-uploader.middleware.ts +21 -25
  571. package/src/handler-hono.port.ts +5 -0
  572. package/src/hash-bucket.vo.ts +19 -0
  573. package/src/healthcheck-hono.handler.ts +31 -0
  574. package/src/healthcheck.handler.ts +150 -0
  575. package/src/http-logger-hono.middleware.ts +50 -0
  576. package/src/http-logger.middleware.ts +56 -63
  577. package/src/i18n.service.ts +1 -1
  578. package/src/image-info-noop.adapter.ts +1 -1
  579. package/src/image-info-sharp.adapter.ts +3 -3
  580. package/src/image-info.port.ts +1 -1
  581. package/src/in-flight-requests-hono.middleware.ts +19 -0
  582. package/src/in-flight-requests-tracker.service.ts +0 -2
  583. package/src/in-flight-requests.middleware.ts +7 -11
  584. package/src/index.ts +70 -25
  585. package/src/invariant-error-handler.service.ts +2 -3
  586. package/src/invariant.service.ts +2 -2
  587. package/src/mailer-resend.adapter.ts +2 -2
  588. package/src/mailer-smtp.adapter.ts +2 -2
  589. package/src/middleware-hono-noop.adapter.ts +8 -0
  590. package/src/middleware-hono.port.ts +5 -0
  591. package/src/modules/preferences/invariants/user-language-has-changed.ts +4 -7
  592. package/src/ping-hono.handler.ts +17 -0
  593. package/src/ping.handler.ts +5 -0
  594. package/src/prerequisite-verifier-binary.adapter.ts +3 -1
  595. package/src/prerequisite-verifier-bun.adapter.ts +3 -1
  596. package/src/prerequisite-verifier-clock-drift.adapter.ts +2 -1
  597. package/src/prerequisite-verifier-directory.adapter.ts +6 -4
  598. package/src/prerequisite-verifier-dns.adapter.ts +3 -1
  599. package/src/prerequisite-verifier-external-api.adapter.ts +3 -1
  600. package/src/prerequisite-verifier-file.adapter.ts +6 -4
  601. package/src/prerequisite-verifier-jobs.adapter.ts +3 -1
  602. package/src/prerequisite-verifier-memory.adapter.ts +3 -1
  603. package/src/prerequisite-verifier-node.adapter.ts +3 -1
  604. package/src/prerequisite-verifier-os.adapter.ts +3 -1
  605. package/src/prerequisite-verifier-port.adapter.ts +3 -1
  606. package/src/prerequisite-verifier-ram.adapter.ts +3 -1
  607. package/src/prerequisite-verifier-running-user.adapter.ts +3 -1
  608. package/src/prerequisite-verifier-space.adapter.ts +2 -1
  609. package/src/prerequisite-verifier-sqlite.adapter.ts +3 -1
  610. package/src/prerequisite-verifier-ssl-certificate-expiry.adapter.ts +3 -1
  611. package/src/prerequisite-verifier-timezone-utc.adapter.ts +3 -1
  612. package/src/prerequisite-verifier-translations.adapter.ts +1 -2
  613. package/src/prerequisite-verifier-with-cache.adapter.ts +8 -7
  614. package/src/prerequisite-verifier-with-fail-safe.adapter.ts +4 -4
  615. package/src/prerequisite-verifier-with-logger.adapter.ts +3 -1
  616. package/src/prerequisite-verifier-with-retry.adapter.ts +3 -2
  617. package/src/prerequisite-verifier-with-timeout.adapter.ts +2 -1
  618. package/src/prerequisite-verifier.decorator.ts +4 -4
  619. package/src/prerequisite.vo.ts +2 -5
  620. package/src/remote-file-storage-disk.adapter.ts +3 -3
  621. package/src/request-context-hono.adapter.ts +12 -1
  622. package/src/request-context.port.ts +15 -0
  623. package/src/retry.service.ts +4 -4
  624. package/src/security-countermeasure-ban.strategy.ts +6 -4
  625. package/src/security-countermeasure-mirage.strategy.ts +2 -1
  626. package/src/security-countermeasure-tarpit.strategy.ts +2 -1
  627. package/src/security-rule-violation-threshold.strategy.ts +7 -6
  628. package/src/{setup.service.ts → setup-hono.service.ts} +36 -43
  629. package/src/shield-api-key-hono.strategy.ts +28 -0
  630. package/src/shield-api-key.strategy.ts +9 -15
  631. package/src/shield-auth-hono.strategy.ts +41 -0
  632. package/src/shield-auth.strategy.ts +12 -26
  633. package/src/shield-basic-auth-hono.strategy.ts +30 -0
  634. package/src/shield-basic-auth.strategy.ts +21 -10
  635. package/src/shield-body-limit-hono.strategy.ts +30 -0
  636. package/src/shield-body-limit.strategy.ts +23 -0
  637. package/src/shield-csrf-hono.strategy.ts +24 -0
  638. package/src/shield-csrf.strategy.ts +11 -16
  639. package/src/shield-hcaptcha-hono-local.strategy.ts +26 -0
  640. package/src/shield-hcaptcha-hono.strategy.ts +25 -0
  641. package/src/shield-hcaptcha.strategy.ts +7 -13
  642. package/src/shield-maintenance-hono.strategy.ts +23 -0
  643. package/src/shield-maintenance.strategy.ts +17 -0
  644. package/src/shield-rate-limit-hono.strategy.ts +34 -0
  645. package/src/shield-rate-limit.strategy.ts +11 -19
  646. package/src/shield-recaptcha-hono.strategy.ts +31 -0
  647. package/src/shield-recaptcha.strategy.ts +14 -20
  648. package/src/shield-security-hono.strategy.ts +62 -0
  649. package/src/shield-security.strategy.ts +19 -62
  650. package/src/shield-timeout-hono.strategy.ts +25 -0
  651. package/src/shield-timeout.strategy.ts +4 -14
  652. package/src/simulated-error-hono.middleware.ts +17 -0
  653. package/src/simulated-error.middleware.ts +4 -7
  654. package/src/slower-hono.middleware.ts +23 -0
  655. package/src/slower.middleware.ts +8 -7
  656. package/src/ssr-bun.service.ts +25 -0
  657. package/src/ssr.service.ts +66 -0
  658. package/src/{static-files.service.ts → static-files-hono.service.ts} +1 -1
  659. package/src/subject-application-resolver.vo.ts +34 -0
  660. package/src/subject-request-resolver.vo.ts +34 -0
  661. package/src/subject-segment-application.strategy.ts +7 -0
  662. package/src/subject-segment-build.strategy.ts +15 -0
  663. package/src/subject-segment-cookie.strategy.ts +14 -0
  664. package/src/subject-segment-env.strategy.ts +11 -0
  665. package/src/subject-segment-fixed.strategy.ts +12 -0
  666. package/src/subject-segment-header.strategy.ts +14 -0
  667. package/src/subject-segment-ip.strategy.ts +12 -0
  668. package/src/subject-segment-path.strategy.ts +8 -0
  669. package/src/subject-segment-query.strategy.ts +19 -0
  670. package/src/{cache-subject-segment-request.strategy.ts → subject-segment-request.strategy.ts} +4 -4
  671. package/src/subject-segment-user.strategy.ts +12 -0
  672. package/src/time-zone-offset-hono.middleware.ts +26 -0
  673. package/src/time-zone-offset.middleware.ts +6 -18
  674. package/src/timing-hono.middleware.ts +22 -0
  675. package/src/timing.middleware.ts +18 -0
  676. package/src/trailing-slash-hono.middleware.ts +27 -0
  677. package/src/trailing-slash.middleware.ts +11 -0
  678. package/src/translations-hono.handler.ts +26 -0
  679. package/src/translations.handler.ts +31 -0
  680. package/src/weak-etag-extractor-hono.middleware.ts +26 -0
  681. package/src/weak-etag-extractor.middleware.ts +6 -11
  682. package/src/woodchopper-dispatcher-async.strategy.ts +2 -0
  683. package/src/woodchopper-sampling-correlation-id.strategy.ts +2 -2
  684. package/src/woodchopper-sampling-every-nth.strategy.ts +2 -2
  685. package/src/woodchopper.ts +2 -2
  686. package/dist/cache-subject-application-resolver.vo.d.ts +0 -23
  687. package/dist/cache-subject-application-resolver.vo.d.ts.map +0 -1
  688. package/dist/cache-subject-application-resolver.vo.js.map +0 -1
  689. package/dist/cache-subject-request-resolver.vo.d.ts.map +0 -1
  690. package/dist/cache-subject-request-resolver.vo.js.map +0 -1
  691. package/dist/cache-subject-segment-application.strategy.d.ts +0 -6
  692. package/dist/cache-subject-segment-application.strategy.d.ts.map +0 -1
  693. package/dist/cache-subject-segment-application.strategy.js +0 -2
  694. package/dist/cache-subject-segment-application.strategy.js.map +0 -1
  695. package/dist/cache-subject-segment-build.strategy.d.ts +0 -9
  696. package/dist/cache-subject-segment-build.strategy.d.ts.map +0 -1
  697. package/dist/cache-subject-segment-build.strategy.js +0 -13
  698. package/dist/cache-subject-segment-build.strategy.js.map +0 -1
  699. package/dist/cache-subject-segment-cookie.strategy.d.ts +0 -9
  700. package/dist/cache-subject-segment-cookie.strategy.d.ts.map +0 -1
  701. package/dist/cache-subject-segment-cookie.strategy.js +0 -11
  702. package/dist/cache-subject-segment-cookie.strategy.js.map +0 -1
  703. package/dist/cache-subject-segment-env.strategy.d.ts +0 -9
  704. package/dist/cache-subject-segment-env.strategy.d.ts.map +0 -1
  705. package/dist/cache-subject-segment-env.strategy.js.map +0 -1
  706. package/dist/cache-subject-segment-fixed.strategy.d.ts +0 -8
  707. package/dist/cache-subject-segment-fixed.strategy.d.ts.map +0 -1
  708. package/dist/cache-subject-segment-fixed.strategy.js.map +0 -1
  709. package/dist/cache-subject-segment-header.strategy.d.ts +0 -9
  710. package/dist/cache-subject-segment-header.strategy.d.ts.map +0 -1
  711. package/dist/cache-subject-segment-header.strategy.js +0 -11
  712. package/dist/cache-subject-segment-header.strategy.js.map +0 -1
  713. package/dist/cache-subject-segment-ip.strategy.d.ts +0 -6
  714. package/dist/cache-subject-segment-ip.strategy.d.ts.map +0 -1
  715. package/dist/cache-subject-segment-ip.strategy.js +0 -7
  716. package/dist/cache-subject-segment-ip.strategy.js.map +0 -1
  717. package/dist/cache-subject-segment-path.strategy.d.ts +0 -6
  718. package/dist/cache-subject-segment-path.strategy.d.ts.map +0 -1
  719. package/dist/cache-subject-segment-path.strategy.js +0 -6
  720. package/dist/cache-subject-segment-path.strategy.js.map +0 -1
  721. package/dist/cache-subject-segment-query.strategy.d.ts +0 -7
  722. package/dist/cache-subject-segment-query.strategy.d.ts.map +0 -1
  723. package/dist/cache-subject-segment-query.strategy.js +0 -12
  724. package/dist/cache-subject-segment-query.strategy.js.map +0 -1
  725. package/dist/cache-subject-segment-request.strategy.d.ts +0 -9
  726. package/dist/cache-subject-segment-request.strategy.d.ts.map +0 -1
  727. package/dist/cache-subject-segment-request.strategy.js +0 -2
  728. package/dist/cache-subject-segment-request.strategy.js.map +0 -1
  729. package/dist/cache-subject-segment-user.strategy.d.ts +0 -6
  730. package/dist/cache-subject-segment-user.strategy.d.ts.map +0 -1
  731. package/dist/cache-subject-segment-user.strategy.js +0 -7
  732. package/dist/cache-subject-segment-user.strategy.js.map +0 -1
  733. package/dist/context.middleware.d.ts +0 -14
  734. package/dist/context.middleware.d.ts.map +0 -1
  735. package/dist/context.middleware.js +0 -11
  736. package/dist/context.middleware.js.map +0 -1
  737. package/dist/healthcheck.service.d.ts +0 -96
  738. package/dist/healthcheck.service.d.ts.map +0 -1
  739. package/dist/healthcheck.service.js.map +0 -1
  740. package/dist/maintenance-mode.middleware.d.ts +0 -11
  741. package/dist/maintenance-mode.middleware.d.ts.map +0 -1
  742. package/dist/maintenance-mode.middleware.js +0 -12
  743. package/dist/maintenance-mode.middleware.js.map +0 -1
  744. package/dist/ping.service.d.ts +0 -4
  745. package/dist/ping.service.d.ts.map +0 -1
  746. package/dist/ping.service.js +0 -6
  747. package/dist/ping.service.js.map +0 -1
  748. package/dist/setup.service.d.ts +0 -35
  749. package/dist/setup.service.d.ts.map +0 -1
  750. package/dist/setup.service.js.map +0 -1
  751. package/dist/shield-hcaptcha-local.strategy.d.ts +0 -11
  752. package/dist/shield-hcaptcha-local.strategy.d.ts.map +0 -1
  753. package/dist/shield-hcaptcha-local.strategy.js +0 -23
  754. package/dist/shield-hcaptcha-local.strategy.js.map +0 -1
  755. package/dist/shield-noop.strategy.d.ts +0 -5
  756. package/dist/shield-noop.strategy.d.ts.map +0 -1
  757. package/dist/shield-noop.strategy.js +0 -5
  758. package/dist/shield-noop.strategy.js.map +0 -1
  759. package/dist/shield.strategy.d.ts +0 -5
  760. package/dist/shield.strategy.d.ts.map +0 -1
  761. package/dist/shield.strategy.js +0 -2
  762. package/dist/shield.strategy.js.map +0 -1
  763. package/dist/ssr.d.ts.map +0 -1
  764. package/dist/ssr.js +0 -43
  765. package/dist/ssr.js.map +0 -1
  766. package/dist/static-files.service.d.ts.map +0 -1
  767. package/dist/static-files.service.js.map +0 -1
  768. package/dist/translations.service.d.ts +0 -21
  769. package/dist/translations.service.d.ts.map +0 -1
  770. package/dist/translations.service.js +0 -11
  771. package/dist/translations.service.js.map +0 -1
  772. package/src/cache-subject-application-resolver.vo.ts +0 -34
  773. package/src/cache-subject-request-resolver.vo.ts +0 -39
  774. package/src/cache-subject-segment-application.strategy.ts +0 -7
  775. package/src/cache-subject-segment-build.strategy.ts +0 -15
  776. package/src/cache-subject-segment-cookie.strategy.ts +0 -14
  777. package/src/cache-subject-segment-env.strategy.ts +0 -11
  778. package/src/cache-subject-segment-fixed.strategy.ts +0 -15
  779. package/src/cache-subject-segment-header.strategy.ts +0 -14
  780. package/src/cache-subject-segment-ip.strategy.ts +0 -12
  781. package/src/cache-subject-segment-path.strategy.ts +0 -11
  782. package/src/cache-subject-segment-query.strategy.ts +0 -19
  783. package/src/cache-subject-segment-user.strategy.ts +0 -12
  784. package/src/context.middleware.ts +0 -24
  785. package/src/healthcheck.service.ts +0 -154
  786. package/src/maintenance-mode.middleware.ts +0 -15
  787. package/src/ping.service.ts +0 -7
  788. package/src/shield-hcaptcha-local.strategy.ts +0 -24
  789. package/src/shield-noop.strategy.ts +0 -6
  790. package/src/shield.strategy.ts +0 -5
  791. package/src/ssr.ts +0 -57
  792. package/src/translations.service.ts +0 -20
package/src/index.ts CHANGED
@@ -1,7 +1,20 @@
1
+ export * from "./ab.middleware";
2
+ export * from "./ab-assignment.strategy";
3
+ export * from "./ab-assignment-composite.strategy";
4
+ export * from "./ab-assignment-fixed.strategy";
5
+ export * from "./ab-assignment-hash.strategy";
6
+ export * from "./ab-assignment-query.strategy";
7
+ export * from "./ab-hono.middleware";
8
+ export * from "./ab-hono-noop.middleware";
9
+ export * from "./ab-variant.vo";
10
+ export * from "./ab-variant-selector.service";
11
+ export * from "./ab-variant-weight.vo";
12
+ export * from "./ab-variants.vo";
1
13
  export * from "./antivirus.port";
2
14
  export * from "./antivirus-clamav.adapter";
3
15
  export * from "./antivirus-noop.adapter";
4
16
  export * from "./api-version.middleware";
17
+ export * from "./api-version-hono.middleware";
5
18
  export * from "./auth-session-reader.port";
6
19
  export * from "./auth-session-reader-better-auth.adapter";
7
20
  export * from "./auth-session-reader-noop.adapter";
@@ -22,19 +35,7 @@ export * from "./cache-repository-noop.adapter";
22
35
  export * from "./cache-resolver.strategy";
23
36
  export * from "./cache-resolver-simple.strategy";
24
37
  export * from "./cache-response.middleware";
25
- export * from "./cache-subject-application-resolver.vo";
26
- export * from "./cache-subject-request-resolver.vo";
27
- export * from "./cache-subject-segment-application.strategy";
28
- export * from "./cache-subject-segment-build.strategy";
29
- export * from "./cache-subject-segment-cookie.strategy";
30
- export * from "./cache-subject-segment-env.strategy";
31
- export * from "./cache-subject-segment-fixed.strategy";
32
- export * from "./cache-subject-segment-header.strategy";
33
- export * from "./cache-subject-segment-ip.strategy";
34
- export * from "./cache-subject-segment-path.strategy";
35
- export * from "./cache-subject-segment-query.strategy";
36
- export * from "./cache-subject-segment-request.strategy";
37
- export * from "./cache-subject-segment-user.strategy";
38
+ export * from "./cache-response-hono.middleware";
38
39
  export * from "./certificate-inspector.port";
39
40
  export * from "./certificate-inspector-noop.adapter";
40
41
  export * from "./certificate-inspector-tls.adapter";
@@ -51,7 +52,8 @@ export * from "./command-envelope";
51
52
  export * from "./command-logger.service";
52
53
  export * from "./commit-sha.vo";
53
54
  export * from "./commit-sha-value.vo";
54
- export * from "./context.middleware";
55
+ export * from "./correlation-hono.middleware";
56
+ export * from "./correlation-id.middleware";
55
57
  export * from "./correlation-id.vo";
56
58
  export * from "./correlation-storage.service";
57
59
  export * from "./crypto-key-provider.port";
@@ -126,6 +128,7 @@ export * from "./file-renamer-node.adapter";
126
128
  export * from "./file-renamer-node-forgiving.adapter";
127
129
  export * from "./file-renamer-noop.adapter";
128
130
  export * from "./file-uploader.middleware";
131
+ export * from "./file-uploader-hono.middleware";
129
132
  export * from "./file-writer.adapter";
130
133
  export * from "./file-writer.port";
131
134
  export * from "./file-writer-noop.adapter";
@@ -134,7 +137,9 @@ export * from "./graceful-shutdown.service";
134
137
  export * from "./gzip.adapter";
135
138
  export * from "./gzip.port";
136
139
  export * from "./gzip-noop.adapter";
140
+ export * from "./handler-hono.port";
137
141
  export * from "./hash.vo";
142
+ export * from "./hash-bucket.vo";
138
143
  export * from "./hash-content.strategy";
139
144
  export * from "./hash-content-noop.strategy";
140
145
  export * from "./hash-content-sha256.strategy";
@@ -145,8 +150,10 @@ export * from "./hash-value.vo";
145
150
  export * from "./hcaptcha.service";
146
151
  export * from "./hcaptcha-secret-key.vo";
147
152
  export * from "./hcaptcha-site-key.vo";
148
- export * from "./healthcheck.service";
153
+ export * from "./healthcheck.handler";
154
+ export * from "./healthcheck-hono.handler";
149
155
  export * from "./http-logger.middleware";
156
+ export * from "./http-logger-hono.middleware";
150
157
  export * from "./i18n.service";
151
158
  export * from "./id-provider.port";
152
159
  export * from "./id-provider-crypto.adapter";
@@ -175,7 +182,8 @@ export * from "./image-processor-sharp.adapter";
175
182
  export * from "./image-resizer.port";
176
183
  export * from "./image-resizer-noop.adapter";
177
184
  export * from "./image-resizer-sharp.adapter";
178
- export * from "./in-flight-requests.middleware";
185
+ export * from "./in-flight-requests-hono.middleware";
186
+ export * from "./in-flight-requests-tracker.service";
179
187
  export * from "./instrumentation.service";
180
188
  export * from "./invariant.service";
181
189
  export * from "./invariant-error-handler.service";
@@ -197,11 +205,12 @@ export * from "./mailer-smtp.adapter";
197
205
  export * from "./mailer-subject.vo";
198
206
  export * from "./mailer-template.vo";
199
207
  export * from "./mailer-with-logger.adapter";
200
- export * from "./maintenance-mode.middleware";
201
208
  export * from "./markdown-generator.adapter";
202
209
  export * from "./markdown-generator.port";
203
210
  export * from "./markdown-generator-noop.adapter";
204
211
  export * from "./memory-consumption.service";
212
+ export * from "./middleware-hono.port";
213
+ export * from "./middleware-hono-noop.adapter";
205
214
  export * as History from "./modules/history";
206
215
  export * as Preferences from "./modules/preferences";
207
216
  export * as System from "./modules/system";
@@ -214,7 +223,8 @@ export * from "./nonce-value.vo";
214
223
  export * from "./pdf-generator.port";
215
224
  export * from "./pdf-generator-noop.adapter";
216
225
  export * from "./pdf-generator-with-logger.adapter";
217
- export * from "./ping.service";
226
+ export * from "./ping.handler";
227
+ export * from "./ping-hono.handler";
218
228
  export * from "./port.vo";
219
229
  export * from "./prerequisite.vo";
220
230
  export * from "./prerequisite-runner-startup.service";
@@ -288,35 +298,63 @@ export * from "./security-rule-or.strategy";
288
298
  export * from "./security-rule-pass.strategy";
289
299
  export * from "./security-rule-user-agent.strategy";
290
300
  export * from "./security-rule-violation-threshold.strategy";
291
- export * from "./setup.service";
292
- export * from "./shield.strategy";
301
+ export * from "./setup-hono.service";
293
302
  export * from "./shield-api-key.strategy";
303
+ export * from "./shield-api-key-hono.strategy";
294
304
  export * from "./shield-auth.strategy";
305
+ export * from "./shield-auth-hono.strategy";
295
306
  export * from "./shield-basic-auth.strategy";
307
+ export * from "./shield-basic-auth-hono.strategy";
308
+ export * from "./shield-body-limit.strategy";
309
+ export * from "./shield-body-limit-hono.strategy";
296
310
  export * from "./shield-csrf.strategy";
311
+ export * from "./shield-csrf-hono.strategy";
297
312
  export * from "./shield-hcaptcha.strategy";
298
- export * from "./shield-hcaptcha-local.strategy";
299
- export * from "./shield-noop.strategy";
313
+ export * from "./shield-hcaptcha-hono.strategy";
314
+ export * from "./shield-hcaptcha-hono-local.strategy";
315
+ export * from "./shield-maintenance.strategy";
316
+ export * from "./shield-maintenance-hono.strategy";
300
317
  export * from "./shield-rate-limit.strategy";
318
+ export * from "./shield-rate-limit-hono.strategy";
301
319
  export * from "./shield-recaptcha.strategy";
320
+ export * from "./shield-recaptcha-hono.strategy";
302
321
  export * from "./shield-security.strategy";
322
+ export * from "./shield-security-hono.strategy";
303
323
  export * from "./shield-timeout.strategy";
324
+ export * from "./shield-timeout-hono.strategy";
304
325
  export * from "./simulated-error.middleware";
326
+ export * from "./simulated-error-hono.middleware";
305
327
  export * from "./sleeper.port";
306
328
  export * from "./sleeper-noop.adapter";
307
329
  export * from "./sleeper-system.adapter";
308
330
  export * from "./slower.middleware";
331
+ export * from "./slower-hono.middleware";
309
332
  export * from "./smtp-host.vo";
310
333
  export * from "./smtp-pass.vo";
311
334
  export * from "./smtp-port.vo";
312
335
  export * from "./smtp-user.vo";
313
- export * from "./ssr";
314
- export * from "./static-files.service";
336
+ export * from "./ssr.service";
337
+ export * from "./ssr-bun.service";
338
+ export * from "./static-files-hono.service";
315
339
  export * from "./stopwatch.service";
340
+ export * from "./subject-application-resolver.vo";
341
+ export * from "./subject-request-resolver.vo";
342
+ export * from "./subject-segment-application.strategy";
343
+ export * from "./subject-segment-build.strategy";
344
+ export * from "./subject-segment-cookie.strategy";
345
+ export * from "./subject-segment-env.strategy";
346
+ export * from "./subject-segment-fixed.strategy";
347
+ export * from "./subject-segment-header.strategy";
348
+ export * from "./subject-segment-ip.strategy";
349
+ export * from "./subject-segment-path.strategy";
350
+ export * from "./subject-segment-query.strategy";
351
+ export * from "./subject-segment-request.strategy";
352
+ export * from "./subject-segment-user.strategy";
316
353
  export * from "./temporary-file.port";
317
354
  export * from "./temporary-file-absolute.adapter";
318
355
  export * from "./temporary-file-noop.adapter";
319
356
  export * from "./time-zone-offset.middleware";
357
+ export * from "./time-zone-offset-hono.middleware";
320
358
  export * from "./timekeeper.port";
321
359
  export * from "./timekeeper-google.adapter";
322
360
  export * from "./timekeeper-noop.adapter";
@@ -327,13 +365,20 @@ export * from "./timeout-runner.port";
327
365
  export * from "./timeout-runner-bare.adapter";
328
366
  export * from "./timeout-runner-monitor.adapter";
329
367
  export * from "./timeout-runner-noop.adapter";
368
+ export * from "./timing.middleware";
369
+ export * from "./timing-hono.middleware";
330
370
  export * from "./to-event-map.types";
331
- export * from "./translations.service";
371
+ export * from "./trailing-slash.middleware";
372
+ export * from "./trailing-slash.middleware";
373
+ export * from "./trailing-slash-hono.middleware";
374
+ export * from "./translations.handler";
375
+ export * from "./translations-hono.handler";
332
376
  export * from "./uptime.service";
333
377
  export * from "./uuid.vo";
334
378
  export * from "./visitor-id.strategy";
335
379
  export * from "./visitor-id-client.strategy";
336
380
  export * from "./weak-etag-extractor.middleware";
381
+ export * from "./weak-etag-extractor-hono.middleware";
337
382
  export * from "./woodchopper";
338
383
  export * from "./woodchopper-diagnostics.strategy";
339
384
  export * from "./woodchopper-diagnostics-collecting.strategy";
@@ -1,9 +1,8 @@
1
- import type { ContentfulStatusCode } from "hono/utils/http-status";
2
1
  import { type Invariant, InvariantFailureKind } from "./invariant.service";
3
2
 
4
3
  type BaseInvariantType = Invariant<any>;
5
4
  type InvariantMessageType = BaseInvariantType["message"];
6
- type ErrorResponseTupleType = [{ message: InvariantMessageType; _known: true }, ContentfulStatusCode];
5
+ type ErrorResponseTupleType = [{ message: InvariantMessageType; _known: true }, number];
7
6
 
8
7
  export class InvariantErrorHandler {
9
8
  static detect(invariants: ReadonlyArray<BaseInvariantType>, error: unknown): BaseInvariantType | undefined {
@@ -11,7 +10,7 @@ export class InvariantErrorHandler {
11
10
  }
12
11
 
13
12
  static respond(error: BaseInvariantType): ErrorResponseTupleType {
14
- const code: Record<InvariantFailureKind, ContentfulStatusCode> = {
13
+ const code: Record<InvariantFailureKind, number> = {
15
14
  [InvariantFailureKind.forbidden]: 403,
16
15
  [InvariantFailureKind.not_found]: 404,
17
16
  [InvariantFailureKind.precondition]: 400,
@@ -1,6 +1,6 @@
1
1
  import type { Constructor } from "@bgord/tools";
2
2
 
3
- type BaseInvariantConfig = Record<string, unknown>;
3
+ type Config = Record<string, unknown>;
4
4
 
5
5
  export enum InvariantFailureKind {
6
6
  forbidden = "forbidden",
@@ -8,7 +8,7 @@ export enum InvariantFailureKind {
8
8
  not_found = "not_found",
9
9
  }
10
10
 
11
- export abstract class Invariant<T extends BaseInvariantConfig> {
11
+ export abstract class Invariant<T extends Config> {
12
12
  abstract passes(config: T): boolean;
13
13
 
14
14
  abstract error: Constructor<Error>;
@@ -6,7 +6,7 @@ export const MailerResendAdapterError = {
6
6
  MissingDependency: "mailer.resend.adapter.error.missing.dependency",
7
7
  };
8
8
 
9
- type MailerConfigType = { key: string };
9
+ type Config = { key: string };
10
10
 
11
11
  export class MailerResendAdapter implements MailerPort {
12
12
  readonly transport: Resend;
@@ -15,7 +15,7 @@ export class MailerResendAdapter implements MailerPort {
15
15
  this.transport = mailer;
16
16
  }
17
17
 
18
- static async build(config: MailerConfigType): Promise<MailerResendAdapter> {
18
+ static async build(config: Config): Promise<MailerResendAdapter> {
19
19
  const library = await MailerResendAdapter.resolve();
20
20
 
21
21
  return new MailerResendAdapter(new library(config.key));
@@ -10,7 +10,7 @@ export const MailerSmtpAdapterError = {
10
10
  MissingDependency: "mailer.smtp.adapter.error.missing.dependency",
11
11
  };
12
12
 
13
- type MailerConfigType = {
13
+ type Config = {
14
14
  SMTP_HOST: SmtpHostType;
15
15
  SMTP_PORT: SmtpPortType;
16
16
  SMTP_USER: SmtpUserType;
@@ -20,7 +20,7 @@ type MailerConfigType = {
20
20
  export class MailerSmtpAdapter implements MailerPort {
21
21
  private constructor(readonly transport: Nodemailer.Transporter) {}
22
22
 
23
- static async build(config: MailerConfigType): Promise<MailerSmtpAdapter> {
23
+ static async build(config: Config): Promise<MailerSmtpAdapter> {
24
24
  const library = await MailerSmtpAdapter.resolve();
25
25
 
26
26
  return new MailerSmtpAdapter(
@@ -0,0 +1,8 @@
1
+ import type { MiddlewareHandler } from "hono";
2
+ import type { MiddlewareHonoPort } from "./middleware-hono.port";
3
+
4
+ export class MiddlewareHonoNoopAdapter implements MiddlewareHonoPort {
5
+ handle(): MiddlewareHandler {
6
+ return async (_c, next) => next();
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ import type { MiddlewareHandler } from "hono";
2
+
3
+ export interface MiddlewareHonoPort {
4
+ handle(): MiddlewareHandler;
5
+ }
@@ -1,6 +1,8 @@
1
1
  import type * as tools from "@bgord/tools";
2
2
  import { Invariant, InvariantFailureKind } from "../../../invariant.service";
3
3
 
4
+ type Config = { current?: tools.LanguageType | null; candidate: tools.LanguageType };
5
+
4
6
  class UserLanguageHasChangedError extends Error {
5
7
  constructor() {
6
8
  super();
@@ -8,13 +10,8 @@ class UserLanguageHasChangedError extends Error {
8
10
  }
9
11
  }
10
12
 
11
- type UserLanguageHasChangedConfigType = {
12
- current?: tools.LanguageType | null;
13
- candidate: tools.LanguageType;
14
- };
15
-
16
- class UserLanguageHasChangedFactory extends Invariant<UserLanguageHasChangedConfigType> {
17
- passes(config: UserLanguageHasChangedConfigType) {
13
+ class UserLanguageHasChangedFactory extends Invariant<Config> {
14
+ passes(config: Config) {
18
15
  return config.current !== config.candidate;
19
16
  }
20
17
 
@@ -0,0 +1,17 @@
1
+ import { createFactory } from "hono/factory";
2
+ import type { HandlerHonoPort } from "./handler-hono.port";
3
+ import { PingHandler } from "./ping.handler";
4
+
5
+ const factory = createFactory();
6
+
7
+ export class PingHonoHandler implements HandlerHonoPort {
8
+ private readonly handler = new PingHandler();
9
+
10
+ handle() {
11
+ return factory.createHandlers(async (c) => {
12
+ const result = this.handler.execute();
13
+
14
+ return c.text(result, 200);
15
+ });
16
+ }
17
+ }
@@ -0,0 +1,5 @@
1
+ export class PingHandler {
2
+ execute(): "pong" {
3
+ return "pong";
4
+ }
5
+ }
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { binary: BinaryType };
9
+
8
10
  export class PrerequisiteVerifierBinaryAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { binary: BinaryType }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  try {
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { version: tools.PackageVersion; current: string };
9
+
8
10
  export class PrerequisiteVerifierBunAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { version: tools.PackageVersion; current: string }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  try {
@@ -8,10 +8,11 @@ import {
8
8
  import type { TimekeeperPort } from "./timekeeper.port";
9
9
 
10
10
  type Dependencies = { Clock: ClockPort; Timekeeper: TimekeeperPort };
11
+ type Config = { skew: tools.Duration };
11
12
 
12
13
  export class PrerequisiteVerifierClockDriftAdapter implements PrerequisiteVerifierPort {
13
14
  constructor(
14
- private readonly config: { skew: tools.Duration },
15
+ private readonly config: Config,
15
16
  private readonly deps: Dependencies,
16
17
  ) {}
17
18
 
@@ -8,14 +8,16 @@ import {
8
8
 
9
9
  type Dependencies = { FileInspection: FileInspectionPort };
10
10
 
11
+ type Config = {
12
+ directory: tools.DirectoryPathAbsoluteType | tools.DirectoryPathRelativeType;
13
+ permissions?: PrerequisiteDirectoryPermissionsType;
14
+ };
15
+
11
16
  export type PrerequisiteDirectoryPermissionsType = { read?: boolean; write?: boolean; execute?: boolean };
12
17
 
13
18
  export class PrerequisiteVerifierDirectoryAdapter implements PrerequisiteVerifierPort {
14
19
  constructor(
15
- private readonly config: {
16
- directory: tools.DirectoryPathAbsoluteType | tools.DirectoryPathRelativeType;
17
- permissions?: PrerequisiteDirectoryPermissionsType;
18
- },
20
+ private readonly config: Config,
19
21
  private readonly deps: Dependencies,
20
22
  ) {}
21
23
 
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { hostname: string };
9
+
8
10
  export class PrerequisiteVerifierDnsAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { hostname: string }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  try {
@@ -4,8 +4,10 @@ import {
4
4
  type PrerequisiteVerifierPort,
5
5
  } from "./prerequisite-verifier.port";
6
6
 
7
+ type Config = { request: () => Promise<Response> };
8
+
7
9
  export class PrerequisiteVerifierExternalApiAdapter implements PrerequisiteVerifierPort {
8
- constructor(private readonly config: { request: () => Promise<Response> }) {}
10
+ constructor(private readonly config: Config) {}
9
11
 
10
12
  async verify(): Promise<PrerequisiteVerificationResult> {
11
13
  try {
@@ -8,14 +8,16 @@ import {
8
8
 
9
9
  type Dependencies = { FileInspection: FileInspectionPort };
10
10
 
11
+ type Config = {
12
+ file: tools.FilePathAbsolute | tools.FilePathRelative;
13
+ permissions?: PrerequisiteFilePermissionsType;
14
+ };
15
+
11
16
  export type PrerequisiteFilePermissionsType = { read?: boolean; write?: boolean; execute?: boolean };
12
17
 
13
18
  export class PrerequisiteVerifierFileAdapter implements PrerequisiteVerifierPort {
14
19
  constructor(
15
- private readonly config: {
16
- file: tools.FilePathAbsolute | tools.FilePathRelative;
17
- permissions?: PrerequisiteFilePermissionsType;
18
- },
20
+ private readonly config: Config,
19
21
  private readonly deps: Dependencies,
20
22
  ) {}
21
23
 
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { Jobs: MultipleJobsType };
9
+
8
10
  export class PrerequisiteVerifierJobsAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { Jobs: MultipleJobsType }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  if (Jobs.areAllRunning(this.config.Jobs)) return PrerequisiteVerification.success;
@@ -6,8 +6,10 @@ import {
6
6
  type PrerequisiteVerifierPort,
7
7
  } from "./prerequisite-verifier.port";
8
8
 
9
+ type Config = { maximum: tools.Size };
10
+
9
11
  export class PrerequisiteVerifierMemoryAdapter implements PrerequisiteVerifierPort {
10
- constructor(private readonly config: { maximum: tools.Size }) {}
12
+ constructor(private readonly config: Config) {}
11
13
 
12
14
  async verify(): Promise<PrerequisiteVerificationResult> {
13
15
  const memoryConsumption = MemoryConsumption.get();
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { version: tools.PackageVersion; current: string };
9
+
8
10
  export class PrerequisiteVerifierNodeAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { version: tools.PackageVersion; current: string }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  try {
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { accepted: ReadonlyArray<string> };
9
+
8
10
  export class PrerequisiteVerifierOsAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { accepted: ReadonlyArray<string> }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  const type = os.type().toLowerCase();
@@ -6,8 +6,10 @@ import {
6
6
  type PrerequisiteVerifierPort,
7
7
  } from "./prerequisite-verifier.port";
8
8
 
9
+ type Config = { port: PortType };
10
+
9
11
  export class PrerequisiteVerifierPortAdapter implements PrerequisiteVerifierPort {
10
- constructor(private readonly config: { port: PortType }) {}
12
+ constructor(private readonly config: Config) {}
11
13
 
12
14
  async verify(): Promise<PrerequisiteVerificationResult> {
13
15
  return new Promise((resolve) => {
@@ -6,8 +6,10 @@ import {
6
6
  type PrerequisiteVerifierPort,
7
7
  } from "./prerequisite-verifier.port";
8
8
 
9
+ type Config = { minimum: tools.Size };
10
+
9
11
  export class PrerequisiteVerifierRamAdapter implements PrerequisiteVerifierPort {
10
- constructor(private readonly config: { minimum: tools.Size }) {}
12
+ constructor(private readonly config: Config) {}
11
13
 
12
14
  async verify(): Promise<PrerequisiteVerificationResult> {
13
15
  const freeRAM = tools.Size.fromBytes(os.freemem());
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { username: string };
9
+
8
10
  export class PrerequisiteVerifierRunningUserAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { username: string }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  const current = os.userInfo().username;
@@ -8,10 +8,11 @@ import {
8
8
  } from "./prerequisite-verifier.port";
9
9
 
10
10
  type Dependencies = { DiskSpaceChecker: DiskSpaceCheckerPort };
11
+ type Config = { minimum: tools.Size };
11
12
 
12
13
  export class PrerequisiteVerifierSpaceAdapter implements PrerequisiteVerifierPort {
13
14
  constructor(
14
- private readonly config: { minimum: tools.Size },
15
+ private readonly config: Config,
15
16
  private readonly deps: Dependencies,
16
17
  ) {}
17
18
 
@@ -5,8 +5,10 @@ import {
5
5
  type PrerequisiteVerifierPort,
6
6
  } from "./prerequisite-verifier.port";
7
7
 
8
+ type Config = { sqlite: Database };
9
+
8
10
  export class PrerequisiteVerifierSQLiteAdapter implements PrerequisiteVerifierPort {
9
- constructor(private readonly config: { sqlite: Database }) {}
11
+ constructor(private readonly config: Config) {}
10
12
 
11
13
  async verify(): Promise<PrerequisiteVerificationResult> {
12
14
  try {
@@ -8,9 +8,11 @@ import {
8
8
 
9
9
  type Dependencies = { CertificateInspector: CertificateInspectorPort };
10
10
 
11
+ type Config = { hostname: string; minimum: tools.Duration };
12
+
11
13
  export class PrerequisiteVerifierSSLCertificateExpiryAdapter implements PrerequisiteVerifierPort {
12
14
  constructor(
13
- private readonly config: { hostname: string; minimum: tools.Duration },
15
+ private readonly config: Config,
14
16
  private readonly deps: Dependencies,
15
17
  ) {}
16
18
 
@@ -8,8 +8,10 @@ import {
8
8
 
9
9
  export const TimezoneUtc = z.literal("UTC");
10
10
 
11
+ type Config = { timezone: tools.TimezoneType };
12
+
11
13
  export class PrerequisiteVerifierTimezoneUtcAdapter implements PrerequisiteVerifierPort {
12
- constructor(private readonly config: { timezone: tools.TimezoneType }) {}
14
+ constructor(private readonly config: Config) {}
13
15
 
14
16
  async verify(): Promise<PrerequisiteVerificationResult> {
15
17
  const result = TimezoneUtc.safeParse(this.config.timezone);
@@ -16,8 +16,7 @@ type PrerequisiteTranslationsProblemType = {
16
16
  };
17
17
 
18
18
  type Dependencies = { Logger: LoggerPort; FileReaderJson: FileReaderJsonPort };
19
-
20
- type Config = { supportedLanguages: types.I18nConfigType["supportedLanguages"] };
19
+ type Config = { supportedLanguages: types.I18nConfig["supportedLanguages"] };
21
20
 
22
21
  export class PrerequisiteVerifierTranslationsAdapter implements PrerequisiteVerifierPort {
23
22
  constructor(
@@ -1,23 +1,24 @@
1
1
  import type { CacheResolverStrategy } from "./cache-resolver.strategy";
2
- import { CacheSubjectApplicationResolver } from "./cache-subject-application-resolver.vo";
3
- import { CacheSubjectSegmentFixedStrategy } from "./cache-subject-segment-fixed.strategy";
4
2
  import type { HashContentStrategy } from "./hash-content.strategy";
5
3
  import type { PrerequisiteVerificationResult, PrerequisiteVerifierPort } from "./prerequisite-verifier.port";
4
+ import { SubjectApplicationResolver } from "./subject-application-resolver.vo";
5
+ import { SubjectSegmentFixedStrategy } from "./subject-segment-fixed.strategy";
6
6
 
7
7
  type Dependencies = { CacheResolver: CacheResolverStrategy; HashContent: HashContentStrategy };
8
+ type Config = { id: string; inner: PrerequisiteVerifierPort };
8
9
 
9
10
  export class PrerequisiteVerifierWithCacheAdapter implements PrerequisiteVerifierPort {
10
11
  constructor(
11
- private readonly config: { id: string; inner: PrerequisiteVerifierPort },
12
+ private readonly config: Config,
12
13
  private readonly deps: Dependencies,
13
14
  ) {}
14
15
 
15
16
  async verify(): Promise<PrerequisiteVerificationResult> {
16
- const resolver = new CacheSubjectApplicationResolver(
17
+ const resolver = new SubjectApplicationResolver(
17
18
  [
18
- new CacheSubjectSegmentFixedStrategy("prerequisite_verifier"),
19
- new CacheSubjectSegmentFixedStrategy(this.kind),
20
- new CacheSubjectSegmentFixedStrategy(this.config.id),
19
+ new SubjectSegmentFixedStrategy("prerequisite_verifier"),
20
+ new SubjectSegmentFixedStrategy(this.kind),
21
+ new SubjectSegmentFixedStrategy(this.config.id),
21
22
  ],
22
23
  this.deps,
23
24
  );