@warlock.js/core 5.31.0 → 5.33.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 (1097) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/esm/application/app.d.mts +3 -3
  3. package/esm/application/app.d.mts.map +1 -1
  4. package/esm/application/application-config-types.d.mts +9 -2
  5. package/esm/application/application-config-types.d.mts.map +1 -1
  6. package/esm/application/application.d.mts +5 -7
  7. package/esm/application/application.d.mts.map +1 -1
  8. package/esm/application/application.mjs +3 -1
  9. package/esm/application/application.mjs.map +1 -1
  10. package/esm/application/boot-signal.d.mts +22 -20
  11. package/esm/application/boot-signal.d.mts.map +1 -1
  12. package/esm/application/boot-signal.mjs +15 -9
  13. package/esm/application/boot-signal.mjs.map +1 -1
  14. package/esm/application/index.d.mts +2 -1
  15. package/esm/application/index.mjs +1 -1
  16. package/esm/application/public-url.d.mts +1 -2
  17. package/esm/application/public-url.d.mts.map +1 -1
  18. package/esm/application/roles.d.mts +10 -11
  19. package/esm/application/roles.d.mts.map +1 -1
  20. package/esm/benchmark/benchmark-snapshots.d.mts +1 -3
  21. package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
  22. package/esm/benchmark/benchmark.d.mts +1 -3
  23. package/esm/benchmark/benchmark.d.mts.map +1 -1
  24. package/esm/benchmark/channels/console.channel.d.mts +1 -3
  25. package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
  26. package/esm/benchmark/channels/noop.channel.d.mts +1 -3
  27. package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
  28. package/esm/benchmark/index.mjs +1 -1
  29. package/esm/benchmark/profiler.d.mts +1 -3
  30. package/esm/benchmark/profiler.d.mts.map +1 -1
  31. package/esm/benchmark/profiler.mjs +2 -1
  32. package/esm/benchmark/profiler.mjs.map +1 -1
  33. package/esm/benchmark/types.d.mts +22 -17
  34. package/esm/benchmark/types.d.mts.map +1 -1
  35. package/esm/bootstrap/setup.d.mts +1 -2
  36. package/esm/bootstrap/setup.d.mts.map +1 -1
  37. package/esm/bootstrap.d.mts +1 -2
  38. package/esm/bootstrap.d.mts.map +1 -1
  39. package/esm/cache/database-cache-driver.d.mts +3 -5
  40. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  41. package/esm/cache/database-cache-driver.mjs +1 -1
  42. package/esm/cache/index.d.mts +2 -1
  43. package/esm/cache/index.mjs +1 -1
  44. package/esm/cli/cli-commands.manager.mjs +6 -3
  45. package/esm/cli/cli-commands.manager.mjs.map +1 -1
  46. package/esm/cli/commands/agents-md/agents-md-command.action.mjs +3 -2
  47. package/esm/cli/commands/agents-md/agents-md-command.action.mjs.map +1 -1
  48. package/esm/cli/commands/ai/ai-command.action.mjs +140 -0
  49. package/esm/cli/commands/ai/ai-command.action.mjs.map +1 -0
  50. package/esm/cli/commands/ai.command.mjs +50 -0
  51. package/esm/cli/commands/ai.command.mjs.map +1 -0
  52. package/esm/cli/commands/board/board-command.action.mjs +1 -1
  53. package/esm/cli/commands/check/check-command.action.mjs +4 -1
  54. package/esm/cli/commands/check/check-command.action.mjs.map +1 -1
  55. package/esm/cli/commands/check/child-typecheck.mjs +1 -1
  56. package/esm/cli/commands/check/child-typecheck.mjs.map +1 -1
  57. package/esm/cli/commands/check/format-problems.mjs +1 -1
  58. package/esm/cli/commands/check.command.mjs +6 -1
  59. package/esm/cli/commands/check.command.mjs.map +1 -1
  60. package/esm/cli/commands/dev-server.command.mjs +3 -2
  61. package/esm/cli/commands/dev-server.command.mjs.map +1 -1
  62. package/esm/cli/commands/doctor/check.types.d.mts +29 -16
  63. package/esm/cli/commands/doctor/check.types.d.mts.map +1 -1
  64. package/esm/cli/commands/doctor/checks/locales-ts-deprecated.check.mjs +22 -27
  65. package/esm/cli/commands/doctor/checks/locales-ts-deprecated.check.mjs.map +1 -1
  66. package/esm/cli/commands/doctor/doctor-command.action.mjs +2 -1
  67. package/esm/cli/commands/doctor/doctor-command.action.mjs.map +1 -1
  68. package/esm/cli/commands/explain/explain-command.action.mjs +1 -1
  69. package/esm/cli/commands/generate/generators/controller.generator.mjs +5 -2
  70. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -1
  71. package/esm/cli/commands/generate/generators/endpoint.generator.mjs +5 -3
  72. package/esm/cli/commands/generate/generators/endpoint.generator.mjs.map +1 -1
  73. package/esm/cli/commands/generate/generators/model.generator.mjs +3 -2
  74. package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -1
  75. package/esm/cli/commands/generate/generators/repository.generator.mjs +3 -1
  76. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -1
  77. package/esm/cli/commands/generate/generators/resource.generator.mjs +3 -1
  78. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -1
  79. package/esm/cli/commands/generate/generators/service.generator.mjs +3 -1
  80. package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -1
  81. package/esm/cli/commands/generate/templates/endpoint-stubs.mjs +2 -2
  82. package/esm/cli/commands/generate/templates/endpoint-stubs.mjs.map +1 -1
  83. package/esm/cli/commands/generate/utils/endpoint-schema.mjs +1 -2
  84. package/esm/cli/commands/generate/utils/endpoint-schema.mjs.map +1 -1
  85. package/esm/cli/commands/generate/utils/name-parser.mjs +1 -1
  86. package/esm/cli/commands/generate/utils/path-resolver.mjs +1 -1
  87. package/esm/cli/commands/inspect/inspect-command.action.mjs +3 -2
  88. package/esm/cli/commands/inspect/inspect-command.action.mjs.map +1 -1
  89. package/esm/cli/commands/issue/collect-environment.mjs +187 -0
  90. package/esm/cli/commands/issue/collect-environment.mjs.map +1 -0
  91. package/esm/cli/commands/issue/issue-command.action.mjs +70 -0
  92. package/esm/cli/commands/issue/issue-command.action.mjs.map +1 -0
  93. package/esm/cli/commands/issue.command.mjs +31 -0
  94. package/esm/cli/commands/issue.command.mjs.map +1 -0
  95. package/esm/cli/commands/mcp/mcp-command.action.mjs +15 -14
  96. package/esm/cli/commands/mcp/mcp-command.action.mjs.map +1 -1
  97. package/esm/cli/commands/openapi-generator.action.mjs +1 -1
  98. package/esm/cli/commands/pm2/pm2-command.action.mjs +91 -0
  99. package/esm/cli/commands/pm2/pm2-command.action.mjs.map +1 -0
  100. package/esm/cli/commands/pm2/pm2-config.mjs +115 -0
  101. package/esm/cli/commands/pm2/pm2-config.mjs.map +1 -0
  102. package/esm/cli/commands/pm2.command.mjs +53 -0
  103. package/esm/cli/commands/pm2.command.mjs.map +1 -0
  104. package/esm/cli/commands/postman-generator.action.mjs +1 -1
  105. package/esm/cli/commands/routes/format-routes-table.mjs +1 -1
  106. package/esm/cli/commands/routes/route-row.mjs +1 -1
  107. package/esm/cli/commands/routes/routes-diff.action.mjs +2 -2
  108. package/esm/cli/commands/routes/routes-diff.action.mjs.map +1 -1
  109. package/esm/cli/commands/test.command.mjs +1 -1
  110. package/esm/cli/commands/trace/trace-command.action.mjs +1 -1
  111. package/esm/cli/commands-loader.mjs +1 -1
  112. package/esm/cli/framework-cli-commands.mjs +6 -0
  113. package/esm/cli/framework-cli-commands.mjs.map +1 -1
  114. package/esm/cli/parse-cli-args.mjs +2 -2
  115. package/esm/cli/parse-cli-args.mjs.map +1 -1
  116. package/esm/cli/start.d.mts +1 -1
  117. package/esm/cli/string-similarity.mjs +1 -1
  118. package/esm/commands/cli-command.d.mts +2 -4
  119. package/esm/commands/cli-command.d.mts.map +1 -1
  120. package/esm/commands/index.d.mts +2 -1
  121. package/esm/commands/index.mjs +1 -1
  122. package/esm/commands/types.d.mts +8 -8
  123. package/esm/commands/types.d.mts.map +1 -1
  124. package/esm/config/config-getter.d.mts +2 -3
  125. package/esm/config/config-getter.d.mts.map +1 -1
  126. package/esm/config/config-getter.mjs +5 -5
  127. package/esm/config/config-getter.mjs.map +1 -1
  128. package/esm/config/config-handlers.d.mts +1 -3
  129. package/esm/config/config-handlers.d.mts.map +1 -1
  130. package/esm/config/config-loader.d.mts +1 -2
  131. package/esm/config/config-loader.d.mts.map +1 -1
  132. package/esm/config/config-loader.mjs +3 -3
  133. package/esm/config/config-loader.mjs.map +1 -1
  134. package/esm/config/config-manager.mjs +1 -1
  135. package/esm/config/config-schema.d.mts +19 -16
  136. package/esm/config/config-schema.d.mts.map +1 -1
  137. package/esm/config/config-setter.d.mts +2 -4
  138. package/esm/config/config-setter.d.mts.map +1 -1
  139. package/esm/config/config-setter.mjs +2 -2
  140. package/esm/config/config-setter.mjs.map +1 -1
  141. package/esm/config/config-special-handlers.d.mts +2 -4
  142. package/esm/config/config-special-handlers.d.mts.map +1 -1
  143. package/esm/config/index.d.mts +2 -1
  144. package/esm/config/index.mjs +1 -1
  145. package/esm/config/types.d.mts +4 -5
  146. package/esm/config/types.d.mts.map +1 -1
  147. package/esm/connectors/access-connector.d.mts +1 -3
  148. package/esm/connectors/access-connector.d.mts.map +1 -1
  149. package/esm/connectors/access-connector.mjs +2 -2
  150. package/esm/connectors/access-connector.mjs.map +1 -1
  151. package/esm/connectors/ai-connector.d.mts +1 -3
  152. package/esm/connectors/ai-connector.d.mts.map +1 -1
  153. package/esm/connectors/ai-connector.mjs +2 -2
  154. package/esm/connectors/ai-connector.mjs.map +1 -1
  155. package/esm/connectors/assert-no-reserved-connector-names.d.mts +1 -3
  156. package/esm/connectors/assert-no-reserved-connector-names.d.mts.map +1 -1
  157. package/esm/connectors/assert-unique-connector-names.d.mts +1 -3
  158. package/esm/connectors/assert-unique-connector-names.d.mts.map +1 -1
  159. package/esm/connectors/assert-unique-connector-names.mjs +2 -1
  160. package/esm/connectors/assert-unique-connector-names.mjs.map +1 -1
  161. package/esm/connectors/base-connector.d.mts +1 -3
  162. package/esm/connectors/base-connector.d.mts.map +1 -1
  163. package/esm/connectors/cache-connector.d.mts +1 -3
  164. package/esm/connectors/cache-connector.d.mts.map +1 -1
  165. package/esm/connectors/cache-connector.mjs +3 -3
  166. package/esm/connectors/cache-connector.mjs.map +1 -1
  167. package/esm/connectors/connectors-manager.d.mts +2 -4
  168. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  169. package/esm/connectors/connectors-manager.mjs +3 -6
  170. package/esm/connectors/connectors-manager.mjs.map +1 -1
  171. package/esm/connectors/database-connector.d.mts +1 -3
  172. package/esm/connectors/database-connector.d.mts.map +1 -1
  173. package/esm/connectors/database-connector.mjs +2 -2
  174. package/esm/connectors/database-connector.mjs.map +1 -1
  175. package/esm/connectors/describe-server-address.mjs +4 -4
  176. package/esm/connectors/describe-server-address.mjs.map +1 -1
  177. package/esm/connectors/herald-connector.d.mts +1 -3
  178. package/esm/connectors/herald-connector.d.mts.map +1 -1
  179. package/esm/connectors/herald-connector.mjs +2 -2
  180. package/esm/connectors/herald-connector.mjs.map +1 -1
  181. package/esm/connectors/http-connector.d.mts +1 -3
  182. package/esm/connectors/http-connector.d.mts.map +1 -1
  183. package/esm/connectors/http-connector.mjs +8 -7
  184. package/esm/connectors/http-connector.mjs.map +1 -1
  185. package/esm/connectors/index.d.mts +2 -1
  186. package/esm/connectors/index.mjs +1 -1
  187. package/esm/connectors/logger-connector.d.mts +1 -3
  188. package/esm/connectors/logger-connector.d.mts.map +1 -1
  189. package/esm/connectors/logger-connector.mjs +2 -2
  190. package/esm/connectors/logger-connector.mjs.map +1 -1
  191. package/esm/connectors/mail-connector.d.mts +1 -3
  192. package/esm/connectors/mail-connector.d.mts.map +1 -1
  193. package/esm/connectors/mail-connector.mjs +2 -2
  194. package/esm/connectors/mail-connector.mjs.map +1 -1
  195. package/esm/connectors/notifications-connector.d.mts +1 -3
  196. package/esm/connectors/notifications-connector.d.mts.map +1 -1
  197. package/esm/connectors/notifications-connector.mjs +2 -2
  198. package/esm/connectors/notifications-connector.mjs.map +1 -1
  199. package/esm/connectors/register-configured-connectors.d.mts +2 -4
  200. package/esm/connectors/register-configured-connectors.d.mts.map +1 -1
  201. package/esm/connectors/shutdown-timeout.mjs +7 -0
  202. package/esm/connectors/shutdown-timeout.mjs.map +1 -0
  203. package/esm/connectors/socket-connector.d.mts +1 -3
  204. package/esm/connectors/socket-connector.d.mts.map +1 -1
  205. package/esm/connectors/socket-connector.mjs +20 -11
  206. package/esm/connectors/socket-connector.mjs.map +1 -1
  207. package/esm/connectors/storage.connector.d.mts +1 -3
  208. package/esm/connectors/storage.connector.d.mts.map +1 -1
  209. package/esm/connectors/storage.connector.mjs +2 -2
  210. package/esm/connectors/storage.connector.mjs.map +1 -1
  211. package/esm/connectors/types.d.mts +17 -14
  212. package/esm/connectors/types.d.mts.map +1 -1
  213. package/esm/container/container-instance-registry.mjs.map +1 -1
  214. package/esm/container/development-app-modules.d.mts +7 -5
  215. package/esm/container/development-app-modules.d.mts.map +1 -1
  216. package/esm/container/development-model-modules.d.mts +6 -5
  217. package/esm/container/development-model-modules.d.mts.map +1 -1
  218. package/esm/container/index.d.mts +4 -4
  219. package/esm/container/index.d.mts.map +1 -1
  220. package/esm/database/index.d.mts +3 -1
  221. package/esm/database/index.mjs +1 -1
  222. package/esm/database/migrate-action.mjs +1 -1
  223. package/esm/database/models/database-log/database-log.d.mts +2 -3
  224. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  225. package/esm/database/models/database-log/index.d.mts +2 -1
  226. package/esm/database/models/database-log/index.mjs +1 -1
  227. package/esm/database/seed-command-action.mjs +1 -1
  228. package/esm/database/seeds/seeder.d.mts +2 -4
  229. package/esm/database/seeds/seeder.d.mts.map +1 -1
  230. package/esm/database/seeds/seeder.errors.d.mts +2 -3
  231. package/esm/database/seeds/seeder.errors.d.mts.map +1 -1
  232. package/esm/database/seeds/seeders.manager.mjs +2 -1
  233. package/esm/database/seeds/seeders.manager.mjs.map +1 -1
  234. package/esm/database/seeds/types.d.mts +7 -8
  235. package/esm/database/seeds/types.d.mts.map +1 -1
  236. package/esm/database/utils.d.mts +4 -5
  237. package/esm/database/utils.d.mts.map +1 -1
  238. package/esm/dev-server/app-module-registry.mjs +1 -1
  239. package/esm/dev-server/create-worker.mjs +5 -3
  240. package/esm/dev-server/create-worker.mjs.map +1 -1
  241. package/esm/dev-server/dependency-graph.d.mts +1 -3
  242. package/esm/dev-server/dependency-graph.d.mts.map +1 -1
  243. package/esm/dev-server/dependency-graph.mjs +1 -1
  244. package/esm/dev-server/dependency-graph.mjs.map +1 -1
  245. package/esm/dev-server/extract-translation-keys.mjs +16 -17
  246. package/esm/dev-server/extract-translation-keys.mjs.map +1 -1
  247. package/esm/dev-server/file-manager.d.mts +3 -7
  248. package/esm/dev-server/file-manager.d.mts.map +1 -1
  249. package/esm/dev-server/file-operations.d.mts +1 -3
  250. package/esm/dev-server/file-operations.d.mts.map +1 -1
  251. package/esm/dev-server/files-watcher.mjs +12 -11
  252. package/esm/dev-server/files-watcher.mjs.map +1 -1
  253. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +6 -8
  254. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
  255. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +36 -115
  256. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
  257. package/esm/dev-server/health-checker/default-health-checkers.mjs +6 -15
  258. package/esm/dev-server/health-checker/default-health-checkers.mjs.map +1 -1
  259. package/esm/dev-server/health-checker/eslint-support.mjs +27 -0
  260. package/esm/dev-server/health-checker/eslint-support.mjs.map +1 -0
  261. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +7 -6
  262. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
  263. package/esm/dev-server/health-checker/file-health-result.d.mts +2 -2
  264. package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
  265. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -0
  266. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  267. package/esm/dev-server/health-checker/oxlint-runner.mjs +6 -5
  268. package/esm/dev-server/health-checker/oxlint-runner.mjs.map +1 -1
  269. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.mts +1 -1
  270. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +2 -11
  271. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
  272. package/esm/dev-server/health-checker/workers/oxlint-health.worker.d.mts +1 -1
  273. package/esm/dev-server/health-checker/workers/ts-health.worker.d.mts +1 -1
  274. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +40 -174
  275. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
  276. package/esm/dev-server/loader/hook-thread.d.mts +4 -8
  277. package/esm/dev-server/loader/hook-thread.d.mts.map +1 -1
  278. package/esm/dev-server/loader/load-hook.d.mts +10 -6
  279. package/esm/dev-server/loader/load-hook.d.mts.map +1 -1
  280. package/esm/dev-server/loader/load-hook.mjs +4 -3
  281. package/esm/dev-server/loader/load-hook.mjs.map +1 -1
  282. package/esm/dev-server/loader/own-resolver.mjs +1 -1
  283. package/esm/dev-server/loader/register-loader.mjs +3 -2
  284. package/esm/dev-server/loader/register-loader.mjs.map +1 -1
  285. package/esm/dev-server/loader/resolve-hook.d.mts +2 -2
  286. package/esm/dev-server/loader/resolve-hook.d.mts.map +1 -1
  287. package/esm/dev-server/loader/resolve-hook.mjs +2 -1
  288. package/esm/dev-server/loader/resolve-hook.mjs.map +1 -1
  289. package/esm/dev-server/loader/transpile-cache.mjs +2 -1
  290. package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
  291. package/esm/dev-server/manifest-manager.d.mts +1 -3
  292. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  293. package/esm/dev-server/model-module-registry.mjs +3 -3
  294. package/esm/dev-server/model-module-registry.mjs.map +1 -1
  295. package/esm/dev-server/model-resource-typings.mjs +40 -47
  296. package/esm/dev-server/model-resource-typings.mjs.map +1 -1
  297. package/esm/dev-server/module-loader.mjs +2 -2
  298. package/esm/dev-server/module-loader.mjs.map +1 -1
  299. package/esm/dev-server/package-json-manager.mjs +1 -1
  300. package/esm/dev-server/parse-imports.mjs +6 -38
  301. package/esm/dev-server/parse-imports.mjs.map +1 -1
  302. package/esm/dev-server/read-config-ast.mjs +3 -33
  303. package/esm/dev-server/read-config-ast.mjs.map +1 -1
  304. package/esm/dev-server/ready-block.mjs +1 -1
  305. package/esm/dev-server/shortcuts.mjs +1 -1
  306. package/esm/dev-server/special-files-collector.d.mts +2 -4
  307. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  308. package/esm/dev-server/supervisor.mjs +1 -1
  309. package/esm/dev-server/tsconfig-manager.mjs +3 -3
  310. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  311. package/esm/dev-server/type-generator.mjs +28 -35
  312. package/esm/dev-server/type-generator.mjs.map +1 -1
  313. package/esm/dev-server/types.d.mts +3 -4
  314. package/esm/dev-server/types.d.mts.map +1 -1
  315. package/esm/dev-server/update-check-cache.mjs +2 -2
  316. package/esm/dev-server/update-check-cache.mjs.map +1 -1
  317. package/esm/encryption/encrypt.d.mts +2 -3
  318. package/esm/encryption/encrypt.d.mts.map +1 -1
  319. package/esm/encryption/hash.d.mts +1 -2
  320. package/esm/encryption/hash.d.mts.map +1 -1
  321. package/esm/encryption/index.mjs +1 -1
  322. package/esm/encryption/password.d.mts +2 -3
  323. package/esm/encryption/password.d.mts.map +1 -1
  324. package/esm/encryption/types.d.mts +2 -3
  325. package/esm/encryption/types.d.mts.map +1 -1
  326. package/esm/errors/error-codes.d.mts +29 -22
  327. package/esm/errors/error-codes.d.mts.map +1 -1
  328. package/esm/errors/warlock-error.d.mts +1 -3
  329. package/esm/errors/warlock-error.d.mts.map +1 -1
  330. package/esm/generations/add-command.action.mjs +3 -2
  331. package/esm/generations/add-command.action.mjs.map +1 -1
  332. package/esm/generations/features/bull-board.feature.mjs +2 -1
  333. package/esm/generations/features/bull-board.feature.mjs.map +1 -1
  334. package/esm/generations/features/index.mjs +2 -0
  335. package/esm/generations/features/index.mjs.map +1 -1
  336. package/esm/generations/features/notifications.feature.mjs +2 -1
  337. package/esm/generations/features/notifications.feature.mjs.map +1 -1
  338. package/esm/generations/features/process.feature.mjs +65 -0
  339. package/esm/generations/features/process.feature.mjs.map +1 -0
  340. package/esm/generations/features/shared/merge-web-sitemap-config.mjs +16 -23
  341. package/esm/generations/features/shared/merge-web-sitemap-config.mjs.map +1 -1
  342. package/esm/generations/features/shared/patch-tsconfig-include.mjs +1 -1
  343. package/esm/generations/features/shared/relocate-conflicting-home-route.mjs +1 -1
  344. package/esm/generations/features/sitemap.feature.mjs +2 -1
  345. package/esm/generations/features/sitemap.feature.mjs.map +1 -1
  346. package/esm/generations/generation-fs.mjs +1 -1
  347. package/esm/generations/generation-run.mjs +1 -1
  348. package/esm/generations/stubs.mjs +1 -1
  349. package/esm/generations/stubs.mjs.map +1 -1
  350. package/esm/http/boot-port-preflight.d.mts +4 -5
  351. package/esm/http/boot-port-preflight.d.mts.map +1 -1
  352. package/esm/http/boot-port-preflight.mjs +2 -2
  353. package/esm/http/boot-port-preflight.mjs.map +1 -1
  354. package/esm/http/bounded-stream-queue.d.mts +4 -4
  355. package/esm/http/bounded-stream-queue.d.mts.map +1 -1
  356. package/esm/http/bounded-stream-queue.mjs +1 -1
  357. package/esm/http/bounded-stream-queue.mjs.map +1 -1
  358. package/esm/http/build-cors-options.mjs +2 -2
  359. package/esm/http/build-cors-options.mjs.map +1 -1
  360. package/esm/http/build-rate-limit-options.d.mts +2 -3
  361. package/esm/http/build-rate-limit-options.d.mts.map +1 -1
  362. package/esm/http/build-rate-limit-options.mjs +1 -1
  363. package/esm/http/build-rate-limit-options.mjs.map +1 -1
  364. package/esm/http/conditional-request.d.mts +14 -13
  365. package/esm/http/conditional-request.d.mts.map +1 -1
  366. package/esm/http/config.d.mts +2 -4
  367. package/esm/http/config.d.mts.map +1 -1
  368. package/esm/http/config.mjs +2 -2
  369. package/esm/http/config.mjs.map +1 -1
  370. package/esm/http/context/request-context.d.mts +6 -7
  371. package/esm/http/context/request-context.d.mts.map +1 -1
  372. package/esm/http/context/request-memo.d.mts +1 -2
  373. package/esm/http/context/request-memo.d.mts.map +1 -1
  374. package/esm/http/createHttpApplication.d.mts +2 -3
  375. package/esm/http/createHttpApplication.d.mts.map +1 -1
  376. package/esm/http/createHttpApplication.mjs +2 -2
  377. package/esm/http/createHttpApplication.mjs.map +1 -1
  378. package/esm/http/csp.d.mts +10 -12
  379. package/esm/http/csp.d.mts.map +1 -1
  380. package/esm/http/csp.mjs +2 -2
  381. package/esm/http/csp.mjs.map +1 -1
  382. package/esm/http/csrf-default-guard.d.mts +2 -4
  383. package/esm/http/csrf-default-guard.d.mts.map +1 -1
  384. package/esm/http/csrf-default-guard.mjs +1 -1
  385. package/esm/http/csrf-default-guard.mjs.map +1 -1
  386. package/esm/http/csrf-origin-policy.d.mts +7 -9
  387. package/esm/http/csrf-origin-policy.d.mts.map +1 -1
  388. package/esm/http/csrf-origin-policy.mjs +2 -2
  389. package/esm/http/csrf-origin-policy.mjs.map +1 -1
  390. package/esm/http/database/RequestLog.d.mts +2 -3
  391. package/esm/http/database/RequestLog.d.mts.map +1 -1
  392. package/esm/http/error-codes.d.mts +1 -2
  393. package/esm/http/error-codes.d.mts.map +1 -1
  394. package/esm/http/error-mapper.d.mts +2 -4
  395. package/esm/http/error-mapper.d.mts.map +1 -1
  396. package/esm/http/error-mapper.mjs +2 -2
  397. package/esm/http/error-mapper.mjs.map +1 -1
  398. package/esm/http/errors/errors.d.mts +28 -29
  399. package/esm/http/errors/errors.d.mts.map +1 -1
  400. package/esm/http/escape-header-value.d.mts +1 -2
  401. package/esm/http/escape-header-value.d.mts.map +1 -1
  402. package/esm/http/events.d.mts +2 -4
  403. package/esm/http/events.d.mts.map +1 -1
  404. package/esm/http/health.d.mts +4 -4
  405. package/esm/http/health.d.mts.map +1 -1
  406. package/esm/http/index.d.mts +4 -1
  407. package/esm/http/index.mjs +1 -1
  408. package/esm/http/middleware/cache-response-middleware.d.mts +2 -4
  409. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  410. package/esm/http/middleware/concurrency-limit.middleware.d.mts +3 -3
  411. package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
  412. package/esm/http/middleware/idempotency.middleware.d.mts +3 -3
  413. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  414. package/esm/http/middleware/idempotency.middleware.mjs +6 -6
  415. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  416. package/esm/http/middleware/index.d.mts +3 -1
  417. package/esm/http/middleware/index.mjs +1 -1
  418. package/esm/http/middleware/inject-request-context.d.mts +2 -4
  419. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  420. package/esm/http/middleware/inject-request-context.mjs +3 -3
  421. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  422. package/esm/http/middleware/ip-filter.middleware.d.mts +3 -3
  423. package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
  424. package/esm/http/middleware/maintenance.middleware.d.mts +3 -3
  425. package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
  426. package/esm/http/middleware/maintenance.middleware.mjs +4 -4
  427. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  428. package/esm/http/middleware/max-body-size.middleware.d.mts +2 -2
  429. package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
  430. package/esm/http/middleware/middleware-list.d.mts +1 -3
  431. package/esm/http/middleware/middleware-list.d.mts.map +1 -1
  432. package/esm/http/middleware/rate-limit.middleware.d.mts +3 -3
  433. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  434. package/esm/http/middleware/rate-limit.middleware.mjs +2 -2
  435. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  436. package/esm/http/middleware/utils/cidr-match.d.mts +2 -3
  437. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  438. package/esm/http/middleware/utils/idempotency-key.d.mts +3 -5
  439. package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
  440. package/esm/http/middleware/utils/index.d.mts +2 -1
  441. package/esm/http/middleware/utils/parse-size.d.mts +1 -2
  442. package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
  443. package/esm/http/middleware/utils/parse-size.mjs +2 -2
  444. package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
  445. package/esm/http/plugins.d.mts +2 -4
  446. package/esm/http/plugins.d.mts.map +1 -1
  447. package/esm/http/plugins.mjs +10 -10
  448. package/esm/http/plugins.mjs.map +1 -1
  449. package/esm/http/port-preflight.d.mts +3 -4
  450. package/esm/http/port-preflight.d.mts.map +1 -1
  451. package/esm/http/port-preflight.mjs +2 -0
  452. package/esm/http/port-preflight.mjs.map +1 -1
  453. package/esm/http/rate-limit-cache-store.mjs +4 -3
  454. package/esm/http/rate-limit-cache-store.mjs.map +1 -1
  455. package/esm/http/ready-report.d.mts +15 -10
  456. package/esm/http/ready-report.d.mts.map +1 -1
  457. package/esm/http/request-controller.d.mts +1 -3
  458. package/esm/http/request-controller.d.mts.map +1 -1
  459. package/esm/http/request-log-snapshot.d.mts +20 -16
  460. package/esm/http/request-log-snapshot.d.mts.map +1 -1
  461. package/esm/http/request-log-snapshot.mjs +3 -3
  462. package/esm/http/request-log-snapshot.mjs.map +1 -1
  463. package/esm/http/request.d.mts +8 -7
  464. package/esm/http/request.d.mts.map +1 -1
  465. package/esm/http/request.mjs +8 -7
  466. package/esm/http/request.mjs.map +1 -1
  467. package/esm/http/response.d.mts +12 -11
  468. package/esm/http/response.d.mts.map +1 -1
  469. package/esm/http/response.mjs +7 -7
  470. package/esm/http/response.mjs.map +1 -1
  471. package/esm/http/safe-redirect.d.mts +3 -4
  472. package/esm/http/safe-redirect.d.mts.map +1 -1
  473. package/esm/http/serialized.d.mts +12 -13
  474. package/esm/http/serialized.d.mts.map +1 -1
  475. package/esm/http/server-rebuilt.d.mts +3 -5
  476. package/esm/http/server-rebuilt.d.mts.map +1 -1
  477. package/esm/http/server.d.mts +9 -9
  478. package/esm/http/server.d.mts.map +1 -1
  479. package/esm/http/server.mjs +4 -4
  480. package/esm/http/server.mjs.map +1 -1
  481. package/esm/http/stream-react-response.d.mts +7 -7
  482. package/esm/http/stream-react-response.d.mts.map +1 -1
  483. package/esm/http/tracing/index.mjs +1 -1
  484. package/esm/http/tracing/trace-id.d.mts +2 -3
  485. package/esm/http/tracing/trace-id.d.mts.map +1 -1
  486. package/esm/http/tracing/tracing-dispatcher.d.mts +10 -11
  487. package/esm/http/tracing/tracing-dispatcher.d.mts.map +1 -1
  488. package/esm/http/tracing/tracing-dispatcher.mjs +2 -2
  489. package/esm/http/tracing/tracing-dispatcher.mjs.map +1 -1
  490. package/esm/http/tracing/tracing.type.d.mts +11 -9
  491. package/esm/http/tracing/tracing.type.d.mts.map +1 -1
  492. package/esm/http/types.d.mts +49 -43
  493. package/esm/http/types.d.mts.map +1 -1
  494. package/esm/http/uploaded-file.d.mts +6 -5
  495. package/esm/http/uploaded-file.d.mts.map +1 -1
  496. package/esm/http/uploads/generate-image-variants.d.mts +6 -6
  497. package/esm/http/uploads/generate-image-variants.d.mts.map +1 -1
  498. package/esm/http/uploads/generate-image-variants.mjs +1 -1
  499. package/esm/http/uploads/generate-image-variants.mjs.map +1 -1
  500. package/esm/http/uploads/image-variant-cache-entries.mjs +1 -1
  501. package/esm/http/uploads/image-variant-cache.mjs +8 -8
  502. package/esm/http/uploads/image-variant-cache.mjs.map +1 -1
  503. package/esm/http/uploads/image-variant-types.d.mts +7 -9
  504. package/esm/http/uploads/image-variant-types.d.mts.map +1 -1
  505. package/esm/http/uploads/image-variants-config-error.d.mts +1 -2
  506. package/esm/http/uploads/image-variants-config-error.d.mts.map +1 -1
  507. package/esm/http/uploads/index.d.mts +2 -1
  508. package/esm/http/uploads/index.mjs +1 -1
  509. package/esm/http/uploads/parse-uploaded-file-query.mjs +1 -1
  510. package/esm/http/uploads/parse-uploaded-file-query.mjs.map +1 -1
  511. package/esm/http/uploads/purge-image-variants.d.mts +2 -4
  512. package/esm/http/uploads/purge-image-variants.d.mts.map +1 -1
  513. package/esm/http/uploads/resolve-image-variant.d.mts +3 -5
  514. package/esm/http/uploads/resolve-image-variant.d.mts.map +1 -1
  515. package/esm/http/uploads/resolve-image-variants-config.mjs +4 -4
  516. package/esm/http/uploads/resolve-image-variants-config.mjs.map +1 -1
  517. package/esm/http/uploads/resolve-original-content-type.mjs +1 -1
  518. package/esm/http/uploads/resolve-original-content-type.mjs.map +1 -1
  519. package/esm/http/uploads/trim-image-variant-cache.mjs +3 -3
  520. package/esm/http/uploads/trim-image-variant-cache.mjs.map +1 -1
  521. package/esm/http/uploads/uploaded-file.controller.d.mts +6 -5
  522. package/esm/http/uploads/uploaded-file.controller.d.mts.map +1 -1
  523. package/esm/http/uploads/uploaded-file.controller.mjs +2 -1
  524. package/esm/http/uploads/uploaded-file.controller.mjs.map +1 -1
  525. package/esm/http/uploads/variant-cache-key.mjs +1 -1
  526. package/esm/http/uploads-config.d.mts +2 -4
  527. package/esm/http/uploads-config.d.mts.map +1 -1
  528. package/esm/http/uploads-types.d.mts +19 -17
  529. package/esm/http/uploads-types.d.mts.map +1 -1
  530. package/esm/http/xmlable.d.mts +1 -2
  531. package/esm/http/xmlable.d.mts.map +1 -1
  532. package/esm/image/image.d.mts +6 -7
  533. package/esm/image/image.d.mts.map +1 -1
  534. package/esm/image/image.mjs.map +1 -1
  535. package/esm/image/index.d.mts +2 -1
  536. package/esm/image/index.mjs +1 -1
  537. package/esm/index.d.mts +28 -2
  538. package/esm/index.mjs +7 -2
  539. package/esm/loader/app-module-importer.d.mts +1 -2
  540. package/esm/loader/app-module-importer.d.mts.map +1 -1
  541. package/esm/localization/index.mjs +1 -1
  542. package/esm/localization/parse-locale-dictionary.d.mts +4 -5
  543. package/esm/localization/parse-locale-dictionary.d.mts.map +1 -1
  544. package/esm/localization/parse-locale-dictionary.mjs +1 -1
  545. package/esm/localization/parse-locale-dictionary.mjs.map +1 -1
  546. package/esm/localization/register-locale-dictionary.d.mts +3 -4
  547. package/esm/localization/register-locale-dictionary.d.mts.map +1 -1
  548. package/esm/localization/register-locale-dictionary.mjs +2 -2
  549. package/esm/localization/register-locale-dictionary.mjs.map +1 -1
  550. package/esm/logger/fatal-visibility.d.mts +1 -2
  551. package/esm/logger/fatal-visibility.d.mts.map +1 -1
  552. package/esm/logger/index.d.mts +2 -1
  553. package/esm/logger/index.mjs +1 -1
  554. package/esm/logger/logger.d.mts +1 -3
  555. package/esm/logger/logger.d.mts.map +1 -1
  556. package/esm/logger/types.d.mts +2 -3
  557. package/esm/logger/types.d.mts.map +1 -1
  558. package/esm/mail/config.d.mts +12 -14
  559. package/esm/mail/config.d.mts.map +1 -1
  560. package/esm/mail/events.d.mts +4 -6
  561. package/esm/mail/events.d.mts.map +1 -1
  562. package/esm/mail/index.d.mts +2 -1
  563. package/esm/mail/index.mjs +1 -1
  564. package/esm/mail/mail.d.mts +1 -3
  565. package/esm/mail/mail.d.mts.map +1 -1
  566. package/esm/mail/mailer-pool.d.mts +5 -7
  567. package/esm/mail/mailer-pool.d.mts.map +1 -1
  568. package/esm/mail/react-mail.d.mts +1 -3
  569. package/esm/mail/react-mail.d.mts.map +1 -1
  570. package/esm/mail/send-mail.d.mts +1 -3
  571. package/esm/mail/send-mail.d.mts.map +1 -1
  572. package/esm/mail/send-mail.mjs +2 -1
  573. package/esm/mail/send-mail.mjs.map +1 -1
  574. package/esm/mail/test-mailbox.d.mts +11 -13
  575. package/esm/mail/test-mailbox.d.mts.map +1 -1
  576. package/esm/mail/types.d.mts +17 -18
  577. package/esm/mail/types.d.mts.map +1 -1
  578. package/esm/manifest/manifest-manager.mjs +1 -1
  579. package/esm/openapi/build-openapi-document.d.mts +2 -4
  580. package/esm/openapi/build-openapi-document.d.mts.map +1 -1
  581. package/esm/openapi/cast-schema.mjs +1 -1
  582. package/esm/openapi/development-openapi-provider.d.mts +5 -6
  583. package/esm/openapi/development-openapi-provider.d.mts.map +1 -1
  584. package/esm/openapi/index.d.mts +3 -1
  585. package/esm/openapi/index.mjs +1 -1
  586. package/esm/openapi/openapi-child-output.mjs +2 -2
  587. package/esm/openapi/openapi-child-output.mjs.map +1 -1
  588. package/esm/openapi/postman/build-request-url.mjs +1 -1
  589. package/esm/openapi/postman/example-from-schema.d.mts +1 -3
  590. package/esm/openapi/postman/example-from-schema.d.mts.map +1 -1
  591. package/esm/openapi/postman/index.d.mts +2 -1
  592. package/esm/openapi/postman/openapi-to-postman-collection.d.mts +3 -5
  593. package/esm/openapi/postman/openapi-to-postman-collection.d.mts.map +1 -1
  594. package/esm/openapi/postman/postman-types.d.mts +19 -18
  595. package/esm/openapi/postman/postman-types.d.mts.map +1 -1
  596. package/esm/openapi/postman/schema-refs.d.mts +1 -3
  597. package/esm/openapi/postman/schema-refs.d.mts.map +1 -1
  598. package/esm/openapi/postman/uuid-v5.mjs +1 -1
  599. package/esm/openapi/schema-registry.d.mts +1 -1
  600. package/esm/openapi/security.mjs +1 -1
  601. package/esm/openapi/types.d.mts +23 -21
  602. package/esm/openapi/types.d.mts.map +1 -1
  603. package/esm/production/assert-generated-imports.mjs +1 -1
  604. package/esm/production/build-contributions.mjs +1 -1
  605. package/esm/production/bundle-framework-dependencies.mjs +1 -1
  606. package/esm/production/dist-build-manifest.mjs +1 -1
  607. package/esm/production/esbuild-plugins.mjs.map +1 -1
  608. package/esm/production/esbuild-preflight.mjs +1 -1
  609. package/esm/production/production-builder.mjs +2 -1
  610. package/esm/production/production-builder.mjs.map +1 -1
  611. package/esm/production/production-supervisor.mjs +1 -1
  612. package/esm/production/registration-child-runner.mjs +4 -3
  613. package/esm/production/registration-child-runner.mjs.map +1 -1
  614. package/esm/production/resolve-build-config.d.mts +4 -4
  615. package/esm/production/resolve-build-config.d.mts.map +1 -1
  616. package/esm/production/resolve-build-config.mjs +1 -1
  617. package/esm/production/route-registration-child.d.mts +1 -1
  618. package/esm/production/route-registration-child.mjs +8 -7
  619. package/esm/production/route-registration-child.mjs.map +1 -1
  620. package/esm/production/tsconfig-path-aliases.mjs +1 -1
  621. package/esm/react/index.d.mts +1 -3
  622. package/esm/react/index.d.mts.map +1 -1
  623. package/esm/react/index.mjs.map +1 -1
  624. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +3 -4
  625. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  626. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +2 -3
  627. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
  628. package/esm/repositories/adapters/cascade/filter-applicator.mjs +10 -9
  629. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  630. package/esm/repositories/adapters/cascade/index.d.mts +2 -1
  631. package/esm/repositories/adapters/cascade/index.mjs +1 -1
  632. package/esm/repositories/contracts/index.d.mts +2 -1
  633. package/esm/repositories/contracts/query-builder.contract.d.mts +4 -6
  634. package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
  635. package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -3
  636. package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
  637. package/esm/repositories/contracts/types.d.mts +23 -25
  638. package/esm/repositories/contracts/types.d.mts.map +1 -1
  639. package/esm/repositories/index.d.mts +4 -1
  640. package/esm/repositories/index.mjs +1 -1
  641. package/esm/repositories/repository.manager.d.mts +2 -3
  642. package/esm/repositories/repository.manager.d.mts.map +1 -1
  643. package/esm/repositories/repository.manager.mjs +2 -2
  644. package/esm/repositories/repository.manager.mjs.map +1 -1
  645. package/esm/resource/define-resource.d.mts +3 -5
  646. package/esm/resource/define-resource.d.mts.map +1 -1
  647. package/esm/resource/index.d.mts +2 -1
  648. package/esm/resource/index.mjs +1 -1
  649. package/esm/resource/nullable-resource.d.mts +5 -7
  650. package/esm/resource/nullable-resource.d.mts.map +1 -1
  651. package/esm/resource/register-resource.d.mts +1 -3
  652. package/esm/resource/register-resource.d.mts.map +1 -1
  653. package/esm/resource/resource-field-builder.d.mts +1 -3
  654. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  655. package/esm/resource/resource.d.mts +3 -5
  656. package/esm/resource/resource.d.mts.map +1 -1
  657. package/esm/resource/resource.mjs +4 -2
  658. package/esm/resource/resource.mjs.map +1 -1
  659. package/esm/resource/types.d.mts +21 -21
  660. package/esm/resource/types.d.mts.map +1 -1
  661. package/esm/restful/index.d.mts +2 -1
  662. package/esm/restful/index.mjs +1 -1
  663. package/esm/restful/restful.d.mts +12 -32
  664. package/esm/restful/restful.d.mts.map +1 -1
  665. package/esm/router/index.d.mts +2 -1
  666. package/esm/router/index.mjs +1 -1
  667. package/esm/router/named-api-routes-with-responses.mjs +2 -1
  668. package/esm/router/named-api-routes-with-responses.mjs.map +1 -1
  669. package/esm/router/normalize-request-path.d.mts +1 -2
  670. package/esm/router/normalize-request-path.d.mts.map +1 -1
  671. package/esm/router/normalize-route-path.d.mts +1 -2
  672. package/esm/router/normalize-route-path.d.mts.map +1 -1
  673. package/esm/router/positional-handler-diagnostics.d.mts +15 -13
  674. package/esm/router/positional-handler-diagnostics.d.mts.map +1 -1
  675. package/esm/router/resolve-route-rate-limit.mjs +3 -3
  676. package/esm/router/resolve-route-rate-limit.mjs.map +1 -1
  677. package/esm/router/route-builder.d.mts +1 -3
  678. package/esm/router/route-builder.d.mts.map +1 -1
  679. package/esm/router/route-guard-names.mjs +1 -1
  680. package/esm/router/route-guard-names.mjs.map +1 -1
  681. package/esm/router/route-name-method-suffix.d.mts +2 -3
  682. package/esm/router/route-name-method-suffix.d.mts.map +1 -1
  683. package/esm/router/route-name-taken-error.d.mts +1 -3
  684. package/esm/router/route-name-taken-error.d.mts.map +1 -1
  685. package/esm/router/route-registry.d.mts +1 -3
  686. package/esm/router/route-registry.d.mts.map +1 -1
  687. package/esm/router/router.d.mts +2 -4
  688. package/esm/router/router.d.mts.map +1 -1
  689. package/esm/router/router.mjs +8 -6
  690. package/esm/router/router.mjs.map +1 -1
  691. package/esm/router/types.d.mts +25 -26
  692. package/esm/router/types.d.mts.map +1 -1
  693. package/esm/router/unguarded-route-diagnostics.d.mts +6 -8
  694. package/esm/router/unguarded-route-diagnostics.d.mts.map +1 -1
  695. package/esm/secrets/errors.d.mts +9 -0
  696. package/esm/secrets/errors.d.mts.map +1 -0
  697. package/esm/secrets/errors.mjs +22 -0
  698. package/esm/secrets/errors.mjs.map +1 -0
  699. package/esm/secrets/file-backend.mjs +167 -0
  700. package/esm/secrets/file-backend.mjs.map +1 -0
  701. package/esm/secrets/index.d.mts +6 -0
  702. package/esm/secrets/index.mjs +6 -0
  703. package/esm/secrets/keyring-backend.mjs +50 -0
  704. package/esm/secrets/keyring-backend.mjs.map +1 -0
  705. package/esm/secrets/memory-backend.d.mts +12 -0
  706. package/esm/secrets/memory-backend.d.mts.map +1 -0
  707. package/esm/secrets/memory-backend.mjs +28 -0
  708. package/esm/secrets/memory-backend.mjs.map +1 -0
  709. package/esm/secrets/secret-store.d.mts +25 -0
  710. package/esm/secrets/secret-store.d.mts.map +1 -0
  711. package/esm/secrets/secret-store.mjs +117 -0
  712. package/esm/secrets/secret-store.mjs.map +1 -0
  713. package/esm/secrets/secrets.d.mts +11 -0
  714. package/esm/secrets/secrets.d.mts.map +1 -0
  715. package/esm/secrets/secrets.mjs +63 -0
  716. package/esm/secrets/secrets.mjs.map +1 -0
  717. package/esm/secrets/types.d.mts +22 -0
  718. package/esm/secrets/types.d.mts.map +1 -0
  719. package/esm/socket/index.d.mts +2 -1
  720. package/esm/socket/index.mjs +2 -2
  721. package/esm/socket/types.d.mts +2 -4
  722. package/esm/socket/types.d.mts.map +1 -1
  723. package/esm/socket/utils.d.mts +8 -3
  724. package/esm/socket/utils.d.mts.map +1 -1
  725. package/esm/socket/utils.mjs +12 -1
  726. package/esm/socket/utils.mjs.map +1 -1
  727. package/esm/storage/config.d.mts +4 -6
  728. package/esm/storage/config.d.mts.map +1 -1
  729. package/esm/storage/context/storage-driver-context.d.mts +3 -4
  730. package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
  731. package/esm/storage/drivers/cloud-driver.d.mts +2 -4
  732. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  733. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  734. package/esm/storage/drivers/do-spaces-driver.d.mts +1 -3
  735. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  736. package/esm/storage/drivers/local-driver.d.mts +2 -3
  737. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  738. package/esm/storage/drivers/local-driver.mjs +8 -3
  739. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  740. package/esm/storage/drivers/r2-driver.d.mts +1 -3
  741. package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
  742. package/esm/storage/drivers/s3-driver.d.mts +1 -3
  743. package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
  744. package/esm/storage/index.d.mts +2 -1
  745. package/esm/storage/index.mjs +1 -1
  746. package/esm/storage/local-disk-roots.mjs +2 -2
  747. package/esm/storage/local-disk-roots.mjs.map +1 -1
  748. package/esm/storage/scoped-storage.d.mts +2 -3
  749. package/esm/storage/scoped-storage.d.mts.map +1 -1
  750. package/esm/storage/storage-file.d.mts +1 -3
  751. package/esm/storage/storage-file.d.mts.map +1 -1
  752. package/esm/storage/storage.d.mts +3 -4
  753. package/esm/storage/storage.d.mts.map +1 -1
  754. package/esm/storage/types.d.mts +36 -36
  755. package/esm/storage/types.d.mts.map +1 -1
  756. package/esm/storage/utils/classify-ip-address.d.mts +1 -2
  757. package/esm/storage/utils/classify-ip-address.d.mts.map +1 -1
  758. package/esm/storage/utils/contain-path.d.mts +1 -2
  759. package/esm/storage/utils/contain-path.d.mts.map +1 -1
  760. package/esm/storage/utils/mime.d.mts +2 -3
  761. package/esm/storage/utils/mime.d.mts.map +1 -1
  762. package/esm/storage/utils/safe-fetch.d.mts +6 -6
  763. package/esm/storage/utils/safe-fetch.d.mts.map +1 -1
  764. package/esm/storage/utils/safe-fetch.mjs +3 -3
  765. package/esm/storage/utils/safe-fetch.mjs.map +1 -1
  766. package/esm/storage/utils/storage-capability-error.d.mts +1 -3
  767. package/esm/storage/utils/storage-capability-error.d.mts.map +1 -1
  768. package/esm/storage/utils/storage-error.d.mts +2 -3
  769. package/esm/storage/utils/storage-error.d.mts.map +1 -1
  770. package/esm/storage/utils/storage-not-initialized-error.d.mts +1 -2
  771. package/esm/storage/utils/storage-not-initialized-error.d.mts.map +1 -1
  772. package/esm/tests/authenticated-test-client.d.mts +5 -6
  773. package/esm/tests/authenticated-test-client.d.mts.map +1 -1
  774. package/esm/tests/factories.d.mts +38 -23
  775. package/esm/tests/factories.d.mts.map +1 -1
  776. package/esm/tests/fakes/cache-fake.d.mts +14 -9
  777. package/esm/tests/fakes/cache-fake.d.mts.map +1 -1
  778. package/esm/tests/fakes/clock-fake.d.mts +13 -8
  779. package/esm/tests/fakes/clock-fake.d.mts.map +1 -1
  780. package/esm/tests/fakes/fake-assertion-error.d.mts +2 -3
  781. package/esm/tests/fakes/fake-assertion-error.d.mts.map +1 -1
  782. package/esm/tests/fakes/ids-fake.d.mts +5 -4
  783. package/esm/tests/fakes/ids-fake.d.mts.map +1 -1
  784. package/esm/tests/fakes/index.d.mts +3 -1
  785. package/esm/tests/fakes/index.mjs +2 -1
  786. package/esm/tests/fakes/mail-fake.d.mts +21 -13
  787. package/esm/tests/fakes/mail-fake.d.mts.map +1 -1
  788. package/esm/tests/fakes/queue-fake.d.mts +21 -13
  789. package/esm/tests/fakes/queue-fake.d.mts.map +1 -1
  790. package/esm/tests/fakes/secrets-fake.d.mts +13 -0
  791. package/esm/tests/fakes/secrets-fake.d.mts.map +1 -0
  792. package/esm/tests/fakes/secrets-fake.mjs +50 -0
  793. package/esm/tests/fakes/secrets-fake.mjs.map +1 -0
  794. package/esm/tests/fakes/storage-fake.d.mts +12 -8
  795. package/esm/tests/fakes/storage-fake.d.mts.map +1 -1
  796. package/esm/tests/fakes/storage-fake.mjs +1 -1
  797. package/esm/tests/fakes/test-fakes.d.mts +9 -10
  798. package/esm/tests/fakes/test-fakes.d.mts.map +1 -1
  799. package/esm/tests/fakes/test-fakes.mjs +6 -3
  800. package/esm/tests/fakes/test-fakes.mjs.map +1 -1
  801. package/esm/tests/index.d.mts +3 -1
  802. package/esm/tests/index.mjs +2 -1
  803. package/esm/tests/snapshot-response.d.mts +4 -5
  804. package/esm/tests/snapshot-response.d.mts.map +1 -1
  805. package/esm/tests/start-http-development-server.d.mts +4 -6
  806. package/esm/tests/start-http-development-server.d.mts.map +1 -1
  807. package/esm/tests/start-http-development-server.mjs +5 -5
  808. package/esm/tests/start-http-development-server.mjs.map +1 -1
  809. package/esm/tests/test-connectors-selection.d.mts +2 -2
  810. package/esm/tests/test-connectors-selection.d.mts.map +1 -1
  811. package/esm/tests/test-connectors-selection.mjs +1 -1
  812. package/esm/tests/test-helpers.d.mts +11 -12
  813. package/esm/tests/test-helpers.d.mts.map +1 -1
  814. package/esm/tests/test-http-server.d.mts +14 -10
  815. package/esm/tests/test-http-server.d.mts.map +1 -1
  816. package/esm/tests/test-lifecycle-state.mjs +1 -1
  817. package/esm/tests/vitest-setup.d.mts +7 -8
  818. package/esm/tests/vitest-setup.d.mts.map +1 -1
  819. package/esm/tests/vitest-setup.mjs.map +1 -1
  820. package/esm/tooling/agents-md/agents-md-markers.d.mts +4 -5
  821. package/esm/tooling/agents-md/agents-md-markers.d.mts.map +1 -1
  822. package/esm/tooling/agents-md/agents-md-markers.mjs +2 -1
  823. package/esm/tooling/agents-md/agents-md-markers.mjs.map +1 -1
  824. package/esm/tooling/agents-md/agents-md-refresher.d.mts +19 -12
  825. package/esm/tooling/agents-md/agents-md-refresher.d.mts.map +1 -1
  826. package/esm/tooling/agents-md/installed-skills.d.mts +13 -9
  827. package/esm/tooling/agents-md/installed-skills.d.mts.map +1 -1
  828. package/esm/tooling/agents-md/render-agents-md.d.mts +8 -7
  829. package/esm/tooling/agents-md/render-agents-md.d.mts.map +1 -1
  830. package/esm/tooling/agents-md/render-agents-md.mjs +2 -2
  831. package/esm/tooling/agents-md/render-agents-md.mjs.map +1 -1
  832. package/esm/tooling/agents-md/write-agents-md.d.mts +17 -12
  833. package/esm/tooling/agents-md/write-agents-md.d.mts.map +1 -1
  834. package/esm/tooling/board/board-message.d.mts +4 -6
  835. package/esm/tooling/board/board-message.d.mts.map +1 -1
  836. package/esm/tooling/board/board.d.mts +50 -38
  837. package/esm/tooling/board/board.d.mts.map +1 -1
  838. package/esm/tooling/board/board.mjs +4 -3
  839. package/esm/tooling/board/board.mjs.map +1 -1
  840. package/esm/tooling/board/board.types.d.mts +32 -23
  841. package/esm/tooling/board/board.types.d.mts.map +1 -1
  842. package/esm/tooling/check/changed-files.d.mts +4 -6
  843. package/esm/tooling/check/changed-files.d.mts.map +1 -1
  844. package/esm/tooling/check/changed-files.mjs +2 -2
  845. package/esm/tooling/check/changed-files.mjs.map +1 -1
  846. package/esm/tooling/check/check-report.types.d.mts +22 -17
  847. package/esm/tooling/check/check-report.types.d.mts.map +1 -1
  848. package/esm/tooling/check/code-style-conventions.mjs +25 -25
  849. package/esm/tooling/check/code-style-conventions.mjs.map +1 -1
  850. package/esm/tooling/check/conventions-step.d.mts +4 -6
  851. package/esm/tooling/check/conventions-step.d.mts.map +1 -1
  852. package/esm/tooling/check/conventions-step.mjs +7 -18
  853. package/esm/tooling/check/conventions-step.mjs.map +1 -1
  854. package/esm/tooling/check/environment-step.d.mts +2 -4
  855. package/esm/tooling/check/environment-step.d.mts.map +1 -1
  856. package/esm/tooling/check/environment-step.mjs +1 -1
  857. package/esm/tooling/check/index.mjs +1 -1
  858. package/esm/tooling/check/lint-step.d.mts +5 -12
  859. package/esm/tooling/check/lint-step.d.mts.map +1 -1
  860. package/esm/tooling/check/lint-step.mjs +16 -12
  861. package/esm/tooling/check/lint-step.mjs.map +1 -1
  862. package/esm/tooling/check/request-input.mjs +15 -15
  863. package/esm/tooling/check/request-input.mjs.map +1 -1
  864. package/esm/tooling/check/run-check.d.mts +24 -14
  865. package/esm/tooling/check/run-check.d.mts.map +1 -1
  866. package/esm/tooling/check/run-check.mjs +2 -2
  867. package/esm/tooling/check/run-check.mjs.map +1 -1
  868. package/esm/tooling/check/run-tests.d.mts +22 -15
  869. package/esm/tooling/check/run-tests.d.mts.map +1 -1
  870. package/esm/tooling/check/security-conventions.mjs +133 -131
  871. package/esm/tooling/check/security-conventions.mjs.map +1 -1
  872. package/esm/tooling/check/source-ast.mjs +92 -132
  873. package/esm/tooling/check/source-ast.mjs.map +1 -1
  874. package/esm/tooling/check/tests-step.d.mts +7 -8
  875. package/esm/tooling/check/tests-step.d.mts.map +1 -1
  876. package/esm/tooling/check/tests-step.mjs +3 -3
  877. package/esm/tooling/check/tests-step.mjs.map +1 -1
  878. package/esm/tooling/dev-state/dev-server-state.d.mts +17 -13
  879. package/esm/tooling/dev-state/dev-server-state.d.mts.map +1 -1
  880. package/esm/tooling/devtools/devtools-client.d.mts +29 -20
  881. package/esm/tooling/devtools/devtools-client.d.mts.map +1 -1
  882. package/esm/tooling/generate/generation.d.mts +34 -22
  883. package/esm/tooling/generate/generation.d.mts.map +1 -1
  884. package/esm/tooling/generate/generation.mjs +9 -5
  885. package/esm/tooling/generate/generation.mjs.map +1 -1
  886. package/esm/tooling/generate/generator-spec.d.mts +9 -9
  887. package/esm/tooling/generate/generator-spec.d.mts.map +1 -1
  888. package/esm/tooling/generate/index.mjs +1 -1
  889. package/esm/tooling/generate/project-files.mjs +3 -3
  890. package/esm/tooling/generate/project-files.mjs.map +1 -1
  891. package/esm/tooling/generate/run-cli.d.mts +14 -11
  892. package/esm/tooling/generate/run-cli.d.mts.map +1 -1
  893. package/esm/tooling/generate/run-cli.mjs +2 -2
  894. package/esm/tooling/generate/run-cli.mjs.map +1 -1
  895. package/esm/tooling/generate/unified-diff.d.mts +10 -7
  896. package/esm/tooling/generate/unified-diff.d.mts.map +1 -1
  897. package/esm/tooling/index.d.mts +1 -0
  898. package/esm/tooling/inspect/boot-for-inspect.d.mts +7 -7
  899. package/esm/tooling/inspect/boot-for-inspect.d.mts.map +1 -1
  900. package/esm/tooling/inspect/collect-config.mjs +3 -3
  901. package/esm/tooling/inspect/collect-config.mjs.map +1 -1
  902. package/esm/tooling/inspect/collect-models.d.mts +4 -3
  903. package/esm/tooling/inspect/collect-models.d.mts.map +1 -1
  904. package/esm/tooling/inspect/collect-models.mjs +1 -1
  905. package/esm/tooling/inspect/collect-packages.d.mts +1 -2
  906. package/esm/tooling/inspect/collect-packages.d.mts.map +1 -1
  907. package/esm/tooling/inspect/collect-pages.mjs +10 -10
  908. package/esm/tooling/inspect/collect-pages.mjs.map +1 -1
  909. package/esm/tooling/inspect/collect-routes.mjs +1 -1
  910. package/esm/tooling/inspect/event-recorder.d.mts +7 -7
  911. package/esm/tooling/inspect/event-recorder.d.mts.map +1 -1
  912. package/esm/tooling/inspect/index.d.mts +2 -1
  913. package/esm/tooling/inspect/index.mjs +1 -1
  914. package/esm/tooling/inspect/inspect-app.d.mts +25 -16
  915. package/esm/tooling/inspect/inspect-app.d.mts.map +1 -1
  916. package/esm/tooling/inspect/inspect-report.schema.d.mts +1 -2
  917. package/esm/tooling/inspect/inspect-report.schema.d.mts.map +1 -1
  918. package/esm/tooling/inspect/inspect-report.types.d.mts +86 -54
  919. package/esm/tooling/inspect/inspect-report.types.d.mts.map +1 -1
  920. package/esm/tooling/mcp/create-mcp-context.d.mts +11 -8
  921. package/esm/tooling/mcp/create-mcp-context.d.mts.map +1 -1
  922. package/esm/tooling/mcp/db-schema.d.mts +10 -9
  923. package/esm/tooling/mcp/db-schema.d.mts.map +1 -1
  924. package/esm/tooling/mcp/docs-search.d.mts +20 -15
  925. package/esm/tooling/mcp/docs-search.d.mts.map +1 -1
  926. package/esm/tooling/mcp/index.mjs +1 -1
  927. package/esm/tooling/mcp/load-ai-tools.d.mts +7 -8
  928. package/esm/tooling/mcp/load-ai-tools.d.mts.map +1 -1
  929. package/esm/tooling/mcp/load-ai-tools.mjs +2 -1
  930. package/esm/tooling/mcp/load-ai-tools.mjs.map +1 -1
  931. package/esm/tooling/mcp/mcp-tools.d.mts +29 -19
  932. package/esm/tooling/mcp/mcp-tools.d.mts.map +1 -1
  933. package/esm/tooling/mcp/mcp-tools.mjs +3 -2
  934. package/esm/tooling/mcp/mcp-tools.mjs.map +1 -1
  935. package/esm/tooling/mcp/start-mcp-server.d.mts +24 -17
  936. package/esm/tooling/mcp/start-mcp-server.d.mts.map +1 -1
  937. package/esm/tooling/mcp/start-mcp-server.mjs +1 -1
  938. package/esm/tooling/mcp/start-mcp-server.mjs.map +1 -1
  939. package/esm/tooling/mcp/tool-input.d.mts +7 -7
  940. package/esm/tooling/mcp/tool-input.d.mts.map +1 -1
  941. package/esm/tooling/problem.d.mts +27 -17
  942. package/esm/tooling/problem.d.mts.map +1 -1
  943. package/esm/tooling/syntax/ast.mjs +230 -0
  944. package/esm/tooling/syntax/ast.mjs.map +1 -0
  945. package/esm/tooling/syntax/imports.mjs +34 -0
  946. package/esm/tooling/syntax/imports.mjs.map +1 -0
  947. package/esm/tooling/trace/trace-report.types.d.mts +36 -22
  948. package/esm/tooling/trace/trace-report.types.d.mts.map +1 -1
  949. package/esm/tooling/trace/trace-request.d.mts +27 -20
  950. package/esm/tooling/trace/trace-request.d.mts.map +1 -1
  951. package/esm/tooling/trace/trace-request.mjs +2 -2
  952. package/esm/tooling/trace/trace-request.mjs.map +1 -1
  953. package/esm/tooling/typecheck/index.mjs +1 -1
  954. package/esm/tooling/typecheck/run-typecheck.d.mts +15 -48
  955. package/esm/tooling/typecheck/run-typecheck.d.mts.map +1 -1
  956. package/esm/tooling/typecheck/run-typecheck.mjs +42 -105
  957. package/esm/tooling/typecheck/run-typecheck.mjs.map +1 -1
  958. package/esm/tooling/typescript/compiler.d.mts +31 -0
  959. package/esm/tooling/typescript/compiler.d.mts.map +1 -0
  960. package/esm/tooling/typescript/compiler.mjs +120 -0
  961. package/esm/tooling/typescript/compiler.mjs.map +1 -0
  962. package/esm/updater/update-warlock-packages.mjs +3 -2
  963. package/esm/updater/update-warlock-packages.mjs.map +1 -1
  964. package/esm/upgrade/codemods/index.mjs +3 -1
  965. package/esm/upgrade/codemods/index.mjs.map +1 -1
  966. package/esm/upgrade/codemods/logger-sync-calls.mjs +1 -1
  967. package/esm/upgrade/codemods/logger-sync-calls.mjs.map +1 -1
  968. package/esm/upgrade/codemods/oxc-toolchain.mjs +142 -0
  969. package/esm/upgrade/codemods/oxc-toolchain.mjs.map +1 -0
  970. package/esm/upgrade/codemods/request-log-snapshot.mjs +1 -1
  971. package/esm/upgrade/codemods/request-log-snapshot.mjs.map +1 -1
  972. package/esm/upgrade/codemods/toolchain-templates.mjs +244 -0
  973. package/esm/upgrade/codemods/toolchain-templates.mjs.map +1 -0
  974. package/esm/upgrade/diff.mjs +1 -1
  975. package/esm/upgrade/diff.mjs.map +1 -1
  976. package/esm/upgrade/load-ts-morph.mjs +3 -2
  977. package/esm/upgrade/load-ts-morph.mjs.map +1 -1
  978. package/esm/upgrade/run-upgrade.mjs +26 -7
  979. package/esm/upgrade/run-upgrade.mjs.map +1 -1
  980. package/esm/use-cases/index.d.mts +2 -1
  981. package/esm/use-cases/index.mjs +1 -1
  982. package/esm/use-cases/types.d.mts +116 -63
  983. package/esm/use-cases/types.d.mts.map +1 -1
  984. package/esm/use-cases/use-case-broadcast.d.mts +1 -3
  985. package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
  986. package/esm/use-cases/use-case-events.d.mts +3 -5
  987. package/esm/use-cases/use-case-events.d.mts.map +1 -1
  988. package/esm/use-cases/use-case-pipeline.d.mts +6 -6
  989. package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
  990. package/esm/use-cases/use-case.d.mts +2 -4
  991. package/esm/use-cases/use-case.d.mts.map +1 -1
  992. package/esm/use-cases/use-case.errors.d.mts +1 -3
  993. package/esm/use-cases/use-case.errors.d.mts.map +1 -1
  994. package/esm/use-cases/use-cases-registry.d.mts +8 -10
  995. package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
  996. package/esm/utils/app-log.d.mts +1 -2
  997. package/esm/utils/app-log.d.mts.map +1 -1
  998. package/esm/utils/clock.d.mts +8 -6
  999. package/esm/utils/clock.d.mts.map +1 -1
  1000. package/esm/utils/database-log.d.mts +3 -4
  1001. package/esm/utils/database-log.d.mts.map +1 -1
  1002. package/esm/utils/environment.d.mts +4 -5
  1003. package/esm/utils/environment.d.mts.map +1 -1
  1004. package/esm/utils/framework-vesion.mjs.map +1 -1
  1005. package/esm/utils/get-localized.d.mts +2 -3
  1006. package/esm/utils/get-localized.d.mts.map +1 -1
  1007. package/esm/utils/ids.d.mts +9 -6
  1008. package/esm/utils/ids.d.mts.map +1 -1
  1009. package/esm/utils/index.d.mts +2 -1
  1010. package/esm/utils/index.mjs +1 -1
  1011. package/esm/utils/normalized-path.d.mts +1 -2
  1012. package/esm/utils/normalized-path.d.mts.map +1 -1
  1013. package/esm/utils/npm-registry.d.mts +1 -2
  1014. package/esm/utils/npm-registry.d.mts.map +1 -1
  1015. package/esm/utils/paths.d.mts +13 -14
  1016. package/esm/utils/paths.d.mts.map +1 -1
  1017. package/esm/utils/paths.mjs +2 -2
  1018. package/esm/utils/paths.mjs.map +1 -1
  1019. package/esm/utils/promise-all-object.d.mts +1 -2
  1020. package/esm/utils/promise-all-object.d.mts.map +1 -1
  1021. package/esm/utils/queue.d.mts +1 -2
  1022. package/esm/utils/queue.d.mts.map +1 -1
  1023. package/esm/utils/runtime.d.mts +11 -10
  1024. package/esm/utils/runtime.d.mts.map +1 -1
  1025. package/esm/utils/sleep.d.mts +1 -2
  1026. package/esm/utils/sleep.d.mts.map +1 -1
  1027. package/esm/utils/sluggable.d.mts +1 -3
  1028. package/esm/utils/sluggable.d.mts.map +1 -1
  1029. package/esm/utils/to-json.d.mts +1 -2
  1030. package/esm/utils/to-json.d.mts.map +1 -1
  1031. package/esm/utils/types.d.mts +1 -2
  1032. package/esm/utils/types.d.mts.map +1 -1
  1033. package/esm/utils/urls.d.mts +5 -6
  1034. package/esm/utils/urls.d.mts.map +1 -1
  1035. package/esm/utils/version-compare.d.mts +1 -2
  1036. package/esm/utils/version-compare.d.mts.map +1 -1
  1037. package/esm/validation/database/exists-except-current-id.d.mts +2 -3
  1038. package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
  1039. package/esm/validation/database/exists-except-current-user.d.mts +2 -3
  1040. package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
  1041. package/esm/validation/database/index.d.mts +2 -1
  1042. package/esm/validation/database/index.mjs +1 -1
  1043. package/esm/validation/database/types.d.mts +14 -10
  1044. package/esm/validation/database/types.d.mts.map +1 -1
  1045. package/esm/validation/database/unique-except-current-id.d.mts +2 -3
  1046. package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
  1047. package/esm/validation/database/unique-except-current-user.d.mts +2 -3
  1048. package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
  1049. package/esm/validation/file/file.d.mts +4 -6
  1050. package/esm/validation/file/file.d.mts.map +1 -1
  1051. package/esm/validation/file/index.d.mts +2 -1
  1052. package/esm/validation/file/index.mjs +1 -1
  1053. package/esm/validation/index.d.mts +5 -1
  1054. package/esm/validation/index.mjs +1 -1
  1055. package/esm/validation/plugins/index.mjs +1 -1
  1056. package/esm/validation/types.d.mts +6 -4
  1057. package/esm/validation/types.d.mts.map +1 -1
  1058. package/esm/validation/validateAll.mjs +2 -2
  1059. package/esm/validation/validateAll.mjs.map +1 -1
  1060. package/esm/validation/validation-failure-status.mjs +2 -2
  1061. package/esm/validation/validation-failure-status.mjs.map +1 -1
  1062. package/esm/validation/validators/file-validator.d.mts +2 -4
  1063. package/esm/validation/validators/file-validator.d.mts.map +1 -1
  1064. package/esm/validation/validators/index.d.mts +2 -1
  1065. package/esm/validation/validators/index.mjs +1 -1
  1066. package/esm/vite/lower-stage3-decorators.d.mts +2 -3
  1067. package/esm/vite/lower-stage3-decorators.d.mts.map +1 -1
  1068. package/esm/warlock-config/define-config.d.mts +1 -3
  1069. package/esm/warlock-config/define-config.d.mts.map +1 -1
  1070. package/esm/warlock-config/define-config.mjs +3 -2
  1071. package/esm/warlock-config/define-config.mjs.map +1 -1
  1072. package/esm/warlock-config/index.d.mts +2 -1
  1073. package/esm/warlock-config/index.mjs +1 -1
  1074. package/esm/warlock-config/types.d.mts +8 -6
  1075. package/esm/warlock-config/types.d.mts.map +1 -1
  1076. package/esm/warlock-config/warlock-config.manager.d.mts +5 -7
  1077. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  1078. package/esm/warlock-config/warlock-config.manager.mjs +2 -1
  1079. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  1080. package/esm/warlock-config/warn-deprecated-config.mjs +1 -1
  1081. package/llms-full.txt +379 -22
  1082. package/llms.txt +3 -2
  1083. package/package.json +27 -15
  1084. package/skills/README.md +2 -1
  1085. package/skills/create-module/SKILL.md +7 -0
  1086. package/skills/index.md +3 -1
  1087. package/skills/report-framework-issue.md +154 -0
  1088. package/skills/run-app/SKILL.md +120 -10
  1089. package/skills/store-secrets/SKILL.md +102 -0
  1090. package/skills/test-fakes/SKILL.md +13 -11
  1091. package/skills/upgrade-from-5-29/SKILL.md +78 -0
  1092. package/skills/warlock-check/SKILL.md +6 -1
  1093. package/skills/warlock-doctor/SKILL.md +9 -0
  1094. package/skills/wire-socket/SKILL.md +19 -0
  1095. package/skills/write-cli-command/SKILL.md +21 -0
  1096. package/esm/tooling/check/index.d.mts +0 -8
  1097. package/esm/tooling/typecheck/index.d.mts +0 -1
@@ -5,7 +5,7 @@ import { CODEMODS } from "./codemods/index.mjs";
5
5
  import { unifiedDiff } from "./diff.mjs";
6
6
  import { UPGRADE_NOTES } from "./notes.mjs";
7
7
  import path from "node:path";
8
- import { existsSync, readFileSync, writeFileSync } from "node:fs";
8
+ import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, writeFileSync } from "node:fs";
9
9
  import glob from "fast-glob";
10
10
 
11
11
  //#region ../../packages/core/src/upgrade/run-upgrade.ts
@@ -64,6 +64,15 @@ async function runUpgrade(options) {
64
64
  relativePath: (sourceFile) => relativeOf.get(sourceFile) ?? path.relative(root, sourceFile.getFilePath()).split(path.sep).join("/"),
65
65
  text: {
66
66
  read: (file) => textFiles.read(file),
67
+ list: () => readdirSync(root),
68
+ remove: (file, change) => {
69
+ textFiles.remove(file);
70
+ if (activeCodemod) applied.push({
71
+ codemod: activeCodemod.id,
72
+ file,
73
+ ...change
74
+ });
75
+ },
67
76
  write: (file, content, change) => {
68
77
  textFiles.write(file, content);
69
78
  if (activeCodemod) applied.push({
@@ -143,8 +152,15 @@ async function runUpgrade(options) {
143
152
  });
144
153
  for (const change of textFiles.changes()) changes.push(change);
145
154
  changes.sort((left, right) => left.file.localeCompare(right.file));
146
- if (!options.dryRun) for (const change of changes) writeFileSync(path.join(root, change.file), change.after);
147
- const packageJsonChanged = changes.some((change) => change.file === "package.json" && applied.some((item) => item.codemod === "warlock-versions" && item.file === "package.json"));
155
+ if (!options.dryRun) for (const change of changes) {
156
+ const target = path.join(root, change.file);
157
+ if (change.after === void 0) rmSync(target, { force: true });
158
+ else {
159
+ mkdirSync(path.dirname(target), { recursive: true });
160
+ writeFileSync(target, change.after);
161
+ }
162
+ }
163
+ const packageJsonChanged = changes.some((change) => change.file === "package.json");
148
164
  return {
149
165
  from,
150
166
  to,
@@ -154,7 +170,7 @@ async function runUpgrade(options) {
154
170
  manual,
155
171
  notes: UPGRADE_NOTES.filter((note) => compareVersions(note.version, from) > 0 && compareVersions(note.version, to) <= 0),
156
172
  changedFiles: changes.map((change) => change.file),
157
- diff: changes.map((change) => unifiedDiff(change.file, change.before, change.after)).join(""),
173
+ diff: changes.map((change) => unifiedDiff(change.file, change.before, change.after ?? "")).join(""),
158
174
  ...packageJsonChanged && { installHint: getInstallCommand(await detectPackageManager(root)) }
159
175
  };
160
176
  }
@@ -233,14 +249,17 @@ function createTextFiles(root) {
233
249
  write: (file, content) => {
234
250
  entry(file).current = content;
235
251
  },
236
- changes: () => [...files.entries()].filter(([, value]) => value.current !== void 0 && value.current !== value.before).map(([file, value]) => ({
252
+ remove: (file) => {
253
+ entry(file).current = void 0;
254
+ },
255
+ changes: () => [...files.entries()].filter(([, value]) => value.current !== value.before).map(([file, value]) => ({
237
256
  file,
238
257
  before: value.before ?? "",
239
- after: value.current ?? ""
258
+ after: value.current
240
259
  }))
241
260
  };
242
261
  }
243
262
 
244
263
  //#endregion
245
- export { UpgradeUsageError, runUpgrade };
264
+ export { UpgradeUsageError, detectInstalledVersion, runUpgrade };
246
265
  //# sourceMappingURL=run-upgrade.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-upgrade.mjs","names":[],"sources":["../../../../../../../../packages/core/src/upgrade/run-upgrade.ts"],"sourcesContent":["import glob from \"fast-glob\";\nimport { existsSync, readFileSync, writeFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { detectPackageManager, getInstallCommand } from \"../updater/package-manager\";\nimport { CODEMODS } from \"./codemods\";\nimport { unifiedDiff } from \"./diff\";\nimport { loadTsMorph } from \"./load-ts-morph\";\nimport { UPGRADE_NOTES } from \"./notes\";\nimport type {\n AppliedChange,\n Codemod,\n CodemodContext,\n ManualItem,\n SourceEdit,\n SourceFile,\n TextFiles,\n TsMorphModule,\n UpgradeResult,\n} from \"./types\";\nimport { compareVersions, normalizeVersion, parseVersion } from \"./version\";\n\nexport type RunUpgradeOptions = {\n /** App root. Defaults to the current directory. */\n root?: string;\n /** Target version, e.g. `5.31` or `5.31.0`. */\n to: string;\n /** Version upgrading from; detected from the installed `@warlock.js/core` when omitted. */\n from?: string;\n /** Compute and report everything, write nothing. */\n dryRun?: boolean;\n /** Override the codemod list (tests). */\n codemods?: readonly Codemod[];\n /** Override how ts-morph is loaded (tests). */\n loadTsMorph?: (root: string) => Promise<TsMorphModule>;\n};\n\n/** Thrown for a request the command cannot act on (bad versions, nothing to detect). */\nexport class UpgradeUsageError extends Error {\n public override readonly name = \"UpgradeUsageError\";\n}\n\n/**\n * Apply the mechanical edits for every breaking change between two releases\n * and list what needs a decision. Writes nothing with `dryRun`.\n */\nexport async function runUpgrade(options: RunUpgradeOptions): Promise<UpgradeResult> {\n const root = path.resolve(options.root ?? process.cwd());\n const to = toVersion(options.to);\n const from = options.from ? toVersion(options.from) : detectInstalledVersion(root);\n\n if (compareVersions(from, to) >= 0) {\n throw new UpgradeUsageError(notNewerMessage(from, to, options.from !== undefined));\n }\n\n const selected = (options.codemods ?? CODEMODS).filter(\n (codemod) =>\n codemod.version === \"target\" ||\n (compareVersions(codemod.version, from) > 0 && compareVersions(codemod.version, to) <= 0),\n );\n\n const tsMorph = await (options.loadTsMorph ?? loadTsMorph)(root);\n const project = new tsMorph.Project({\n skipAddingFilesFromTsConfig: true,\n skipFileDependencyResolution: true,\n compilerOptions: { jsx: tsMorph.ts.JsxEmit.Preserve, allowJs: false },\n });\n\n const relativePaths = await glob(\"src/**/*.{ts,tsx}\", {\n cwd: root,\n ignore: [\"**/node_modules/**\", \"**/dist/**\", \"**/.warlock/**\", \"**/*.d.ts\"],\n dot: false,\n });\n relativePaths.sort();\n\n const originals = new Map<string, string>();\n const sourceFiles: SourceFile[] = [];\n for (const relative of relativePaths) {\n const content = readFileSync(path.join(root, relative), \"utf8\");\n originals.set(relative, content);\n sourceFiles.push(\n project.createSourceFile(path.join(root, relative), content, { overwrite: true }),\n );\n }\n\n const relativeOf = new Map<SourceFile, string>(\n sourceFiles.map((sourceFile, index) => [sourceFile, relativePaths[index] ?? \"\"]),\n );\n\n const applied: AppliedChange[] = [];\n const manual: ManualItem[] = [];\n const textFiles = createTextFiles(root);\n let activeCodemod: Codemod | undefined;\n\n const text: TextFiles = {\n read: (file) => textFiles.read(file),\n write: (file, content, change) => {\n textFiles.write(file, content);\n if (activeCodemod) {\n applied.push({ codemod: activeCodemod.id, file, ...change });\n }\n },\n };\n\n const context: CodemodContext = {\n tsMorph,\n sourceFiles,\n relativePath: (sourceFile) =>\n relativeOf.get(sourceFile) ??\n path.relative(root, sourceFile.getFilePath()).split(path.sep).join(\"/\"),\n text,\n targetVersion: to,\n };\n\n const summary: UpgradeResult[\"codemods\"] = [];\n\n for (const codemod of selected) {\n activeCodemod = codemod;\n const appliedBefore = applied.length;\n const output = codemod.run(context);\n\n for (const finding of output.manual) {\n manual.push({ ...finding, codemod: codemod.id, skill: codemod.skill });\n }\n\n const byFile = new Map<string, SourceEdit[]>();\n for (const edit of output.edits) {\n const list = byFile.get(edit.file) ?? [];\n list.push(edit);\n byFile.set(edit.file, list);\n }\n\n for (const [file, edits] of byFile) {\n const sourceFile = sourceFiles[relativePaths.indexOf(file)];\n if (!sourceFile) continue;\n\n let content = sourceFile.getFullText();\n let lowestStart = Number.POSITIVE_INFINITY;\n for (const edit of [...edits].sort((left, right) => right.start - left.start)) {\n // Overlapping edits (one inside another) would corrupt the file: keep the outer one.\n if (edit.end > lowestStart) {\n manual.push({\n codemod: codemod.id,\n skill: codemod.skill,\n file,\n line: edit.line,\n hint: `Not edited automatically (overlaps another change): ${edit.description}. Run the upgrade again after reviewing.`,\n });\n continue;\n }\n content = content.slice(0, edit.start) + edit.text + content.slice(edit.end);\n lowestStart = edit.start;\n applied.push({ codemod: codemod.id, file, line: edit.line, description: edit.description });\n }\n\n sourceFile.replaceWithText(content);\n }\n\n summary.push({\n id: codemod.id,\n version: codemod.version === \"target\" ? to : codemod.version,\n title: codemod.title,\n applied: applied.length - appliedBefore,\n manual: manual.filter((item) => item.codemod === codemod.id).length,\n });\n }\n activeCodemod = undefined;\n\n applied.sort(byFileAndLine);\n manual.sort(byFileAndLine);\n\n const changes: { file: string; before: string; after: string }[] = [];\n sourceFiles.forEach((sourceFile, index) => {\n const file = relativePaths[index];\n if (file === undefined) return;\n const before = originals.get(file) ?? \"\";\n const after = sourceFile.getFullText();\n if (before !== after) changes.push({ file, before, after });\n });\n for (const change of textFiles.changes()) changes.push(change);\n changes.sort((left, right) => left.file.localeCompare(right.file));\n\n if (!options.dryRun) {\n for (const change of changes) writeFileSync(path.join(root, change.file), change.after);\n }\n\n const packageJsonChanged = changes.some(\n (change) =>\n change.file === \"package.json\" &&\n applied.some((item) => item.codemod === \"warlock-versions\" && item.file === \"package.json\"),\n );\n\n return {\n from,\n to,\n dryRun: options.dryRun === true,\n codemods: summary,\n applied,\n manual,\n notes: UPGRADE_NOTES.filter(\n (note) => compareVersions(note.version, from) > 0 && compareVersions(note.version, to) <= 0,\n ),\n changedFiles: changes.map((change) => change.file),\n diff: changes.map((change) => unifiedDiff(change.file, change.before, change.after)).join(\"\"),\n ...(packageJsonChanged && {\n installHint: getInstallCommand(await detectPackageManager(root)),\n }),\n };\n}\n\n/**\n * Explain why `--to` is not newer than the starting version. The usual cause\n * is running the command after installing the new release: the starting\n * version is read from the installed `@warlock.js/core`, which is then already\n * the target, so the command needs `--from`.\n */\nfunction notNewerMessage(from: string, to: string, fromWasPassed: boolean): string {\n if (fromWasPassed) {\n return `--from ${from} is not older than --to ${to}. Pass the version this app is upgrading from.`;\n }\n\n const example = `warlock upgrade --from ${previousMinor(to)} --to ${to}`;\n\n if (compareVersions(from, to) === 0) {\n return `The installed @warlock.js/core is already ${from}, the --to version, so the version this app is upgrading from cannot be detected. Pass it with --from <previous version>, e.g. ${example}.`;\n }\n\n return `This app is already on ${from}; --to ${to} is not newer. If the detected version is wrong, pass --from <previous version>, e.g. ${example}.`;\n}\n\n/** `5.31.0` → `5.30`. A major's first release has no minor to step back to, so it gets a placeholder. */\nfunction previousMinor(version: string): string {\n const [major, minor] = parseVersion(version) ?? [0, 0, 0];\n\n return minor > 0 ? `${major}.${minor - 1}` : \"<previous version>\";\n}\n\nfunction toVersion(value: string): string {\n try {\n return normalizeVersion(value);\n } catch (error) {\n throw new UpgradeUsageError(error instanceof Error ? error.message : String(error));\n }\n}\n\n/** The installed `@warlock.js/core`, or the version its package.json range names. */\nexport function detectInstalledVersion(root: string): string {\n const installed = path.join(root, \"node_modules\", \"@warlock.js\", \"core\", \"package.json\");\n if (existsSync(installed)) {\n const version = (JSON.parse(readFileSync(installed, \"utf8\")) as { version?: unknown }).version;\n if (typeof version === \"string\" && parseVersion(version))\n return normalizeVersion(stripRange(version));\n }\n\n const manifest = path.join(root, \"package.json\");\n if (existsSync(manifest)) {\n const pkg = JSON.parse(readFileSync(manifest, \"utf8\")) as {\n dependencies?: Record<string, unknown>;\n devDependencies?: Record<string, unknown>;\n };\n const spec =\n pkg.dependencies?.[\"@warlock.js/core\"] ?? pkg.devDependencies?.[\"@warlock.js/core\"];\n const parsed = typeof spec === \"string\" ? parseVersion(spec) : undefined;\n if (parsed) return parsed.join(\".\");\n }\n\n throw new UpgradeUsageError(\n \"Could not tell which Warlock version this app is on (no installed @warlock.js/core). Pass it with --from, e.g. --from 5.29.\",\n );\n}\n\nfunction stripRange(version: string): string {\n return (parseVersion(version) ?? [0, 0, 0]).join(\".\");\n}\n\nfunction byFileAndLine(\n left: { file: string; line: number },\n right: { file: string; line: number },\n) {\n return left.file.localeCompare(right.file) || left.line - right.line;\n}\n\n/** Non-TypeScript files a codemod reads and rewrites, buffered until the end. */\nfunction createTextFiles(root: string) {\n const files = new Map<string, { before: string | undefined; current: string | undefined }>();\n\n const entry = (file: string) => {\n let existing = files.get(file);\n if (!existing) {\n const absolute = path.join(root, file);\n const content = existsSync(absolute) ? readFileSync(absolute, \"utf8\") : undefined;\n existing = { before: content, current: content };\n files.set(file, existing);\n }\n return existing;\n };\n\n return {\n read: (file: string) => entry(file).current,\n write: (file: string, content: string) => {\n entry(file).current = content;\n },\n changes: () =>\n [...files.entries()]\n .filter(([, value]) => value.current !== undefined && value.current !== value.before)\n .map(([file, value]) => ({ file, before: value.before ?? \"\", after: value.current ?? \"\" })),\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"run-upgrade.mjs","names":[],"sources":["../../../../../../../../packages/core/src/upgrade/run-upgrade.ts"],"sourcesContent":["import glob from \"fast-glob\";\nimport { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { detectPackageManager, getInstallCommand } from \"../updater/package-manager\";\nimport { CODEMODS } from \"./codemods\";\nimport { unifiedDiff } from \"./diff\";\nimport { loadTsMorph } from \"./load-ts-morph\";\nimport { UPGRADE_NOTES } from \"./notes\";\nimport type {\n AppliedChange,\n Codemod,\n CodemodContext,\n ManualItem,\n SourceEdit,\n SourceFile,\n TextFiles,\n TsMorphModule,\n UpgradeResult,\n} from \"./types\";\nimport { compareVersions, normalizeVersion, parseVersion } from \"./version\";\n\nexport type RunUpgradeOptions = {\n /** App root. Defaults to the current directory. */\n root?: string;\n /** Target version, e.g. `5.31` or `5.31.0`. */\n to: string;\n /** Version upgrading from; detected from the installed `@warlock.js/core` when omitted. */\n from?: string;\n /** Compute and report everything, write nothing. */\n dryRun?: boolean;\n /** Override the codemod list (tests). */\n codemods?: readonly Codemod[];\n /** Override how ts-morph is loaded (tests). */\n loadTsMorph?: (root: string) => Promise<TsMorphModule>;\n};\n\n/** Thrown for a request the command cannot act on (bad versions, nothing to detect). */\nexport class UpgradeUsageError extends Error {\n public override readonly name = \"UpgradeUsageError\";\n}\n\n/**\n * Apply the mechanical edits for every breaking change between two releases\n * and list what needs a decision. Writes nothing with `dryRun`.\n */\nexport async function runUpgrade(options: RunUpgradeOptions): Promise<UpgradeResult> {\n const root = path.resolve(options.root ?? process.cwd());\n const to = toVersion(options.to);\n const from = options.from ? toVersion(options.from) : detectInstalledVersion(root);\n\n if (compareVersions(from, to) >= 0) {\n throw new UpgradeUsageError(notNewerMessage(from, to, options.from !== undefined));\n }\n\n const selected = (options.codemods ?? CODEMODS).filter(\n (codemod) =>\n codemod.version === \"target\" ||\n (compareVersions(codemod.version, from) > 0 && compareVersions(codemod.version, to) <= 0),\n );\n\n const tsMorph = await (options.loadTsMorph ?? loadTsMorph)(root);\n const project = new tsMorph.Project({\n skipAddingFilesFromTsConfig: true,\n skipFileDependencyResolution: true,\n compilerOptions: { jsx: tsMorph.ts.JsxEmit.Preserve, allowJs: false },\n });\n\n const relativePaths = await glob(\"src/**/*.{ts,tsx}\", {\n cwd: root,\n ignore: [\"**/node_modules/**\", \"**/dist/**\", \"**/.warlock/**\", \"**/*.d.ts\"],\n dot: false,\n });\n relativePaths.sort();\n\n const originals = new Map<string, string>();\n const sourceFiles: SourceFile[] = [];\n for (const relative of relativePaths) {\n const content = readFileSync(path.join(root, relative), \"utf8\");\n originals.set(relative, content);\n sourceFiles.push(\n project.createSourceFile(path.join(root, relative), content, { overwrite: true }),\n );\n }\n\n const relativeOf = new Map<SourceFile, string>(\n sourceFiles.map((sourceFile, index) => [sourceFile, relativePaths[index] ?? \"\"]),\n );\n\n const applied: AppliedChange[] = [];\n const manual: ManualItem[] = [];\n const textFiles = createTextFiles(root);\n let activeCodemod: Codemod | undefined;\n\n const text: TextFiles = {\n read: (file) => textFiles.read(file),\n list: () => readdirSync(root),\n remove: (file, change) => {\n textFiles.remove(file);\n if (activeCodemod) applied.push({ codemod: activeCodemod.id, file, ...change });\n },\n write: (file, content, change) => {\n textFiles.write(file, content);\n if (activeCodemod) {\n applied.push({ codemod: activeCodemod.id, file, ...change });\n }\n },\n };\n\n const context: CodemodContext = {\n tsMorph,\n sourceFiles,\n relativePath: (sourceFile) =>\n relativeOf.get(sourceFile) ??\n path.relative(root, sourceFile.getFilePath()).split(path.sep).join(\"/\"),\n text,\n targetVersion: to,\n };\n\n const summary: UpgradeResult[\"codemods\"] = [];\n\n for (const codemod of selected) {\n activeCodemod = codemod;\n const appliedBefore = applied.length;\n const output = codemod.run(context);\n\n for (const finding of output.manual) {\n manual.push({ ...finding, codemod: codemod.id, skill: codemod.skill });\n }\n\n const byFile = new Map<string, SourceEdit[]>();\n for (const edit of output.edits) {\n const list = byFile.get(edit.file) ?? [];\n list.push(edit);\n byFile.set(edit.file, list);\n }\n\n for (const [file, edits] of byFile) {\n const sourceFile = sourceFiles[relativePaths.indexOf(file)];\n if (!sourceFile) continue;\n\n let content = sourceFile.getFullText();\n let lowestStart = Number.POSITIVE_INFINITY;\n for (const edit of [...edits].sort((left, right) => right.start - left.start)) {\n // Overlapping edits (one inside another) would corrupt the file: keep the outer one.\n if (edit.end > lowestStart) {\n manual.push({\n codemod: codemod.id,\n skill: codemod.skill,\n file,\n line: edit.line,\n hint: `Not edited automatically (overlaps another change): ${edit.description}. Run the upgrade again after reviewing.`,\n });\n continue;\n }\n content = content.slice(0, edit.start) + edit.text + content.slice(edit.end);\n lowestStart = edit.start;\n applied.push({ codemod: codemod.id, file, line: edit.line, description: edit.description });\n }\n\n sourceFile.replaceWithText(content);\n }\n\n summary.push({\n id: codemod.id,\n version: codemod.version === \"target\" ? to : codemod.version,\n title: codemod.title,\n applied: applied.length - appliedBefore,\n manual: manual.filter((item) => item.codemod === codemod.id).length,\n });\n }\n activeCodemod = undefined;\n\n applied.sort(byFileAndLine);\n manual.sort(byFileAndLine);\n\n const changes: { file: string; before: string; after: string | undefined }[] = [];\n sourceFiles.forEach((sourceFile, index) => {\n const file = relativePaths[index];\n if (file === undefined) return;\n const before = originals.get(file) ?? \"\";\n const after = sourceFile.getFullText();\n if (before !== after) changes.push({ file, before, after });\n });\n for (const change of textFiles.changes()) changes.push(change);\n changes.sort((left, right) => left.file.localeCompare(right.file));\n\n if (!options.dryRun) {\n for (const change of changes) {\n const target = path.join(root, change.file);\n if (change.after === undefined) rmSync(target, { force: true });\n else {\n mkdirSync(path.dirname(target), { recursive: true });\n writeFileSync(target, change.after);\n }\n }\n }\n\n const packageJsonChanged = changes.some((change) => change.file === \"package.json\");\n\n return {\n from,\n to,\n dryRun: options.dryRun === true,\n codemods: summary,\n applied,\n manual,\n notes: UPGRADE_NOTES.filter(\n (note) => compareVersions(note.version, from) > 0 && compareVersions(note.version, to) <= 0,\n ),\n changedFiles: changes.map((change) => change.file),\n diff: changes\n .map((change) => unifiedDiff(change.file, change.before, change.after ?? \"\"))\n .join(\"\"),\n ...(packageJsonChanged && {\n installHint: getInstallCommand(await detectPackageManager(root)),\n }),\n };\n}\n\n/**\n * Explain why `--to` is not newer than the starting version. The usual cause\n * is running the command after installing the new release: the starting\n * version is read from the installed `@warlock.js/core`, which is then already\n * the target, so the command needs `--from`.\n */\nfunction notNewerMessage(from: string, to: string, fromWasPassed: boolean): string {\n if (fromWasPassed) {\n return `--from ${from} is not older than --to ${to}. Pass the version this app is upgrading from.`;\n }\n\n const example = `warlock upgrade --from ${previousMinor(to)} --to ${to}`;\n\n if (compareVersions(from, to) === 0) {\n return `The installed @warlock.js/core is already ${from}, the --to version, so the version this app is upgrading from cannot be detected. Pass it with --from <previous version>, e.g. ${example}.`;\n }\n\n return `This app is already on ${from}; --to ${to} is not newer. If the detected version is wrong, pass --from <previous version>, e.g. ${example}.`;\n}\n\n/** `5.31.0` → `5.30`. A major's first release has no minor to step back to, so it gets a placeholder. */\nfunction previousMinor(version: string): string {\n const [major, minor] = parseVersion(version) ?? [0, 0, 0];\n\n return minor > 0 ? `${major}.${minor - 1}` : \"<previous version>\";\n}\n\nfunction toVersion(value: string): string {\n try {\n return normalizeVersion(value);\n } catch (error) {\n throw new UpgradeUsageError(error instanceof Error ? error.message : String(error));\n }\n}\n\n/** The installed `@warlock.js/core`, or the version its package.json range names. */\nexport function detectInstalledVersion(root: string): string {\n const installed = path.join(root, \"node_modules\", \"@warlock.js\", \"core\", \"package.json\");\n if (existsSync(installed)) {\n const version = (JSON.parse(readFileSync(installed, \"utf8\")) as { version?: unknown }).version;\n if (typeof version === \"string\" && parseVersion(version))\n return normalizeVersion(stripRange(version));\n }\n\n const manifest = path.join(root, \"package.json\");\n if (existsSync(manifest)) {\n const pkg = JSON.parse(readFileSync(manifest, \"utf8\")) as {\n dependencies?: Record<string, unknown>;\n devDependencies?: Record<string, unknown>;\n };\n const spec =\n pkg.dependencies?.[\"@warlock.js/core\"] ?? pkg.devDependencies?.[\"@warlock.js/core\"];\n const parsed = typeof spec === \"string\" ? parseVersion(spec) : undefined;\n if (parsed) return parsed.join(\".\");\n }\n\n throw new UpgradeUsageError(\n \"Could not tell which Warlock version this app is on (no installed @warlock.js/core). Pass it with --from, e.g. --from 5.29.\",\n );\n}\n\nfunction stripRange(version: string): string {\n return (parseVersion(version) ?? [0, 0, 0]).join(\".\");\n}\n\nfunction byFileAndLine(\n left: { file: string; line: number },\n right: { file: string; line: number },\n) {\n return left.file.localeCompare(right.file) || left.line - right.line;\n}\n\n/** Non-TypeScript files a codemod reads and rewrites, buffered until the end. */\nfunction createTextFiles(root: string) {\n const files = new Map<string, { before: string | undefined; current: string | undefined }>();\n\n const entry = (file: string) => {\n let existing = files.get(file);\n if (!existing) {\n const absolute = path.join(root, file);\n const content = existsSync(absolute) ? readFileSync(absolute, \"utf8\") : undefined;\n existing = { before: content, current: content };\n files.set(file, existing);\n }\n return existing;\n };\n\n return {\n read: (file: string) => entry(file).current,\n write: (file: string, content: string) => {\n entry(file).current = content;\n },\n remove: (file: string) => {\n entry(file).current = undefined;\n },\n changes: () =>\n [...files.entries()]\n .filter(([, value]) => value.current !== value.before)\n .map(([file, value]) => ({ file, before: value.before ?? \"\", after: value.current })),\n };\n}\n"],"mappings":"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"}
@@ -4,4 +4,5 @@ import { broadcastUseCaseResult } from "./use-case-broadcast.mjs";
4
4
  import { fireLifecycleEvent, globalEventsCallbacksMap, globalUseCasesEvents } from "./use-case-events.mjs";
5
5
  import { PipelineOptions, runPipeline } from "./use-case-pipeline.mjs";
6
6
  import { BadSchemaUseCaseError } from "./use-case.errors.mjs";
7
- import { $registerUseCase, $unregisterUseCase, addUseCaseHistory, getUseCase, getUseCaseHistory, getUseCases, increaseUseCaseFailedCalls, increaseUseCaseSuccessCalls } from "./use-cases-registry.mjs";
7
+ import { $registerUseCase, $unregisterUseCase, addUseCaseHistory, getUseCase, getUseCaseHistory, getUseCases, increaseUseCaseFailedCalls, increaseUseCaseSuccessCalls } from "./use-cases-registry.mjs";
8
+ export { $registerUseCase, $unregisterUseCase, BadSchemaUseCaseError, PipelineOptions, RegisteredUseCase, UseCase, UseCaseAfterMiddleware, UseCaseBeforeMiddleware, UseCaseBroadcastChannel, UseCaseBroadcastEvent, UseCaseBroadcastOption, UseCaseConfigurations, UseCaseContext, UseCaseErrorResult, UseCaseEventsCallbacksMap, UseCaseGuard, UseCaseHandler, UseCaseOnExecutingContext, UseCaseResult, UseCaseRuntimeOptions, UseCaseWithSchema, addUseCaseHistory, broadcastUseCaseResult, fireLifecycleEvent, getUseCase, getUseCaseHistory, getUseCases, globalEventsCallbacksMap, globalUseCasesEvents, increaseUseCaseFailedCalls, increaseUseCaseSuccessCalls, runPipeline, useCase };
@@ -5,4 +5,4 @@ import { runPipeline } from "./use-case-pipeline.mjs";
5
5
  import { $registerUseCase, $unregisterUseCase, addUseCaseHistory, getUseCase, getUseCaseHistory, getUseCases, increaseUseCaseFailedCalls, increaseUseCaseSuccessCalls } from "./use-cases-registry.mjs";
6
6
  import { useCase } from "./use-case.mjs";
7
7
 
8
- export { };
8
+ export { $registerUseCase, $unregisterUseCase, BadSchemaUseCaseError, addUseCaseHistory, broadcastUseCaseResult, fireLifecycleEvent, getUseCase, getUseCaseHistory, getUseCases, globalEventsCallbacksMap, globalUseCasesEvents, increaseUseCaseFailedCalls, increaseUseCaseSuccessCalls, runPipeline, useCase };
@@ -1,14 +1,13 @@
1
1
  import { BenchmarkOptions } from "../benchmark/types.mjs";
2
2
  import { Infer, ObjectValidator } from "@warlock.js/seal";
3
3
  import { RetryOptions } from "@mongez/reinforcements";
4
-
5
4
  //#region ../../packages/core/src/use-cases/types.d.ts
6
5
  /**
7
6
  * Shared context object passed through the entire use case pipeline.
8
7
  * Contains the optional schema and can be enriched by guards/middleware
9
8
  * with arbitrary data (e.g., currentUser, permissions, request metadata).
10
9
  */
11
- type UseCaseContext = {
10
+ export type UseCaseContext = {
12
11
  schema?: ObjectValidator;
13
12
  } & Record<string, any>;
14
13
  /**
@@ -30,7 +29,7 @@ type UseCaseContext = {
30
29
  * @template Input - The shape of the use case input data
31
30
  * @template Ctx - The shape of the shared context
32
31
  */
33
- type UseCaseGuard<Input, Ctx extends UseCaseContext = UseCaseContext> = (data: Readonly<Input>, ctx: Ctx) => void | Promise<void>;
32
+ export type UseCaseGuard<Input, Ctx extends UseCaseContext = UseCaseContext> = (data: Readonly<Input>, ctx: Ctx) => void | Promise<void>;
34
33
  /**
35
34
  * Before middleware that runs **after** schema validation.
36
35
  *
@@ -47,7 +46,7 @@ type UseCaseGuard<Input, Ctx extends UseCaseContext = UseCaseContext> = (data: R
47
46
  * @template Input - The shape of the use case input data
48
47
  * @template Ctx - The shape of the shared context
49
48
  */
50
- type UseCaseBeforeMiddleware<Input, Ctx extends UseCaseContext = UseCaseContext> = (data: Input, ctx: Ctx) => Input | Promise<Input>;
49
+ export type UseCaseBeforeMiddleware<Input, Ctx extends UseCaseContext = UseCaseContext> = (data: Input, ctx: Ctx) => Input | Promise<Input>;
51
50
  /**
52
51
  * After middleware that runs **after** the handler succeeds.
53
52
  *
@@ -65,17 +64,23 @@ type UseCaseBeforeMiddleware<Input, Ctx extends UseCaseContext = UseCaseContext>
65
64
  * @template Output - The shape of the use case output data
66
65
  * @template Ctx - The shape of the shared context
67
66
  */
68
- type UseCaseAfterMiddleware<Output, Ctx extends UseCaseContext = UseCaseContext> = (output: Output, ctx: Ctx) => void | Promise<void>;
67
+ export type UseCaseAfterMiddleware<Output, Ctx extends UseCaseContext = UseCaseContext> = (output: Output, ctx: Ctx) => void | Promise<void>;
69
68
  /**
70
69
  * Context passed to `onExecuting` lifecycle event callbacks.
71
70
  * Fired at the start of each use case execution, before guards run.
72
71
  */
73
- type UseCaseOnExecutingContext = {
74
- /** The shared pipeline context */ctx: UseCaseContext; /** Unique execution ID */
75
- id: string; /** Use case name */
76
- name: string; /** Raw input data */
77
- data: any; /** Schema validator (if defined) */
78
- schema?: ObjectValidator; /** Timestamp when execution started */
72
+ export type UseCaseOnExecutingContext = {
73
+ /** The shared pipeline context */
74
+ ctx: UseCaseContext;
75
+ /** Unique execution ID */
76
+ id: string;
77
+ /** Use case name */
78
+ name: string;
79
+ /** Raw input data */
80
+ data: any;
81
+ /** Schema validator (if defined) */
82
+ schema?: ObjectValidator;
83
+ /** Timestamp when execution started */
79
84
  startedAt: Date;
80
85
  };
81
86
  /**
@@ -84,11 +89,16 @@ type UseCaseOnExecutingContext = {
84
89
  * An envelope (not the bare payload) so consumers get a correlation `id` for
85
90
  * tracing/idempotency under at-least-once delivery.
86
91
  */
87
- type UseCaseBroadcastEvent = {
88
- /** Use case name */useCase: string; /** Channel/event name — defaults to the use case name */
89
- event: string; /** Execution id (correlation / idempotency) */
90
- id: string; /** Emission timestamp */
91
- at: Date; /** The output as-is, or the projected shape from `broadcast.output` */
92
+ export type UseCaseBroadcastEvent = {
93
+ /** Use case name */
94
+ useCase: string;
95
+ /** Channel/event name — defaults to the use case name */
96
+ event: string;
97
+ /** Execution id (correlation / idempotency) */
98
+ id: string;
99
+ /** Emission timestamp */
100
+ at: Date;
101
+ /** The output as-is, or the projected shape from `broadcast.output` */
92
102
  payload: unknown;
93
103
  };
94
104
  /**
@@ -104,7 +114,7 @@ type UseCaseBroadcastEvent = {
104
114
  * broadcast: { enabled: true, channels: [heraldBroadcast({ broker: "default" })] }
105
115
  * ```
106
116
  */
107
- interface UseCaseBroadcastChannel {
117
+ export interface UseCaseBroadcastChannel {
108
118
  broadcast(event: UseCaseBroadcastEvent): void | Promise<void>;
109
119
  }
110
120
  /**
@@ -113,8 +123,10 @@ interface UseCaseBroadcastChannel {
113
123
  *
114
124
  * @template Output - The shape of the handler's return value
115
125
  */
116
- type UseCaseBroadcastOption<Output> = boolean | {
117
- /** Channel/event name; defaults to the use case name */event?: string; /** Project the payload before broadcasting (e.g. strip sensitive fields) */
126
+ export type UseCaseBroadcastOption<Output> = boolean | {
127
+ /** Channel/event name; defaults to the use case name */
128
+ event?: string;
129
+ /** Project the payload before broadcasting (e.g. strip sensitive fields) */
118
130
  output?: (output: Output, result: UseCaseResult<Output>) => unknown;
119
131
  };
120
132
  /**
@@ -143,16 +155,26 @@ type UseCaseBroadcastOption<Output> = boolean | {
143
155
  * @template Input - The shape of the input data (before transformation)
144
156
  * @template Ctx - The shape of the shared context
145
157
  */
146
- type UseCase<Output = any, Input = any, Ctx extends UseCaseContext = UseCaseContext> = {
147
- /** Unique use case identifier, used for registration, logging, and cache keys */name: string; /** Human-readable description, surfaced in the registry and observability */
148
- description?: string; /** Core business logic handler. Receives validated + transformed data and context */
149
- handler: (data: Input, ctx: Ctx) => Promise<Output>; /** Optional schema validator (from @warlock.js/seal). Runs after guards */
150
- schema?: ObjectValidator; /** Guards to run before validation. Sequential, can enrich ctx, cannot mutate data */
151
- guards?: UseCaseGuard<Input, Ctx>[]; /** Before middleware to run after validation. Sequential, can transform data */
152
- before?: UseCaseBeforeMiddleware<Input, Ctx>[]; /** After middleware to run on success. Fire-and-forget, errors are logged not thrown */
153
- after?: UseCaseAfterMiddleware<Output, Ctx>[]; /** Lifecycle callback: fires when execution starts (before guards) */
154
- onExecuting?: (ctx: UseCaseOnExecutingContext) => void; /** Lifecycle callback: fires on successful completion with full result snapshot */
155
- onCompleted?: (result: UseCaseResult<Output>) => void; /** Lifecycle callback: fires on error with error details and execution context */
158
+ export type UseCase<Output = any, Input = any, Ctx extends UseCaseContext = UseCaseContext> = {
159
+ /** Unique use case identifier, used for registration, logging, and cache keys */
160
+ name: string;
161
+ /** Human-readable description, surfaced in the registry and observability */
162
+ description?: string;
163
+ /** Core business logic handler. Receives validated + transformed data and context */
164
+ handler: (data: Input, ctx: Ctx) => Promise<Output>;
165
+ /** Optional schema validator (from @warlock.js/seal). Runs after guards */
166
+ schema?: ObjectValidator;
167
+ /** Guards to run before validation. Sequential, can enrich ctx, cannot mutate data */
168
+ guards?: UseCaseGuard<Input, Ctx>[];
169
+ /** Before middleware to run after validation. Sequential, can transform data */
170
+ before?: UseCaseBeforeMiddleware<Input, Ctx>[];
171
+ /** After middleware to run on success. Fire-and-forget, errors are logged not thrown */
172
+ after?: UseCaseAfterMiddleware<Output, Ctx>[];
173
+ /** Lifecycle callback: fires when execution starts (before guards) */
174
+ onExecuting?: (ctx: UseCaseOnExecutingContext) => void;
175
+ /** Lifecycle callback: fires on successful completion with full result snapshot */
176
+ onCompleted?: (result: UseCaseResult<Output>) => void;
177
+ /** Lifecycle callback: fires on error with error details and execution context */
156
178
  onError?: (ctx: UseCaseErrorResult) => void;
157
179
  /**
158
180
  * Retry configuration (from `@mongez/reinforcements`). When set, the **handler**
@@ -178,7 +200,7 @@ type UseCase<Output = any, Input = any, Ctx extends UseCaseContext = UseCaseCont
178
200
  * @template Schema - The schema validator the input is inferred from
179
201
  * @template Ctx - The shape of the shared context
180
202
  */
181
- type UseCaseWithSchema<Output, Schema extends ObjectValidator, Ctx extends UseCaseContext = UseCaseContext> = Omit<UseCase<Output, Infer<Schema>, Ctx>, "schema"> & {
203
+ export type UseCaseWithSchema<Output, Schema extends ObjectValidator, Ctx extends UseCaseContext = UseCaseContext> = Omit<UseCase<Output, Infer<Schema>, Ctx>, "schema"> & {
182
204
  schema: Schema;
183
205
  };
184
206
  /**
@@ -188,17 +210,21 @@ type UseCaseWithSchema<Output, Schema extends ObjectValidator, Ctx extends UseCa
188
210
  * @template Output - The shape of the handler's return value
189
211
  * @template Input - The shape of the input data
190
212
  */
191
- type UseCaseHandler<Output, Input> = ((data: Input, options?: UseCaseRuntimeOptions<Output>) => Promise<Output>) & {
213
+ export type UseCaseHandler<Output, Input> = ((data: Input, options?: UseCaseRuntimeOptions<Output>) => Promise<Output>) & {
192
214
  $cleanup: () => void;
193
215
  };
194
216
  /**
195
217
  * A registered use case with call tracking metadata.
196
218
  * Created internally when a use case is registered via `useCase()`.
197
219
  */
198
- type RegisteredUseCase<Output = any, Input = any> = UseCase<Output, Input> & {
199
- /** Execution call counters */calls: {
200
- /** Number of successful executions */success: number; /** Number of failed executions */
201
- failed: number; /** Total executions (success + failed) */
220
+ export type RegisteredUseCase<Output = any, Input = any> = UseCase<Output, Input> & {
221
+ /** Execution call counters */
222
+ calls: {
223
+ /** Number of successful executions */
224
+ success: number;
225
+ /** Number of failed executions */
226
+ failed: number;
227
+ /** Total executions (success + failed) */
202
228
  total: number;
203
229
  };
204
230
  };
@@ -217,19 +243,25 @@ type RegisteredUseCase<Output = any, Input = any> = UseCase<Output, Input> & {
217
243
  *
218
244
  * @template Output - The shape of the use case output data
219
245
  */
220
- type UseCaseRuntimeOptions<Output = any> = {
221
- /** Override the auto-generated execution ID */id?: string; /** Provide a pre-populated context object */
222
- ctx?: UseCaseContext; /** Invocation-level lifecycle callback: fires first, before use case and global */
223
- onExecuting?: (ctx: UseCaseOnExecutingContext) => void; /** Invocation-level lifecycle callback: fires first on success */
224
- onCompleted?: (result: UseCaseResult<Output>) => void; /** Invocation-level lifecycle callback: fires first on error */
246
+ export type UseCaseRuntimeOptions<Output = any> = {
247
+ /** Override the auto-generated execution ID */
248
+ id?: string;
249
+ /** Provide a pre-populated context object */
250
+ ctx?: UseCaseContext;
251
+ /** Invocation-level lifecycle callback: fires first, before use case and global */
252
+ onExecuting?: (ctx: UseCaseOnExecutingContext) => void;
253
+ /** Invocation-level lifecycle callback: fires first on success */
254
+ onCompleted?: (result: UseCaseResult<Output>) => void;
255
+ /** Invocation-level lifecycle callback: fires first on error */
225
256
  onError?: (ctx: UseCaseErrorResult) => void;
226
257
  };
227
258
  /**
228
259
  * Error result snapshot, emitted via `onError` lifecycle callbacks.
229
260
  * Contains all fields from `UseCaseResult` except `output`, plus the thrown error.
230
261
  */
231
- type UseCaseErrorResult = Omit<UseCaseResult, "output"> & {
232
- /** The error that caused the failure */error: Error;
262
+ export type UseCaseErrorResult = Omit<UseCaseResult, "output"> & {
263
+ /** The error that caused the failure */
264
+ error: Error;
233
265
  };
234
266
  /**
235
267
  * Success result snapshot, emitted via `onCompleted` lifecycle callbacks
@@ -237,21 +269,35 @@ type UseCaseErrorResult = Omit<UseCaseResult, "output"> & {
237
269
  *
238
270
  * @template Output - The shape of the handler's return value
239
271
  */
240
- type UseCaseResult<Output = any> = {
241
- /** Handler return value (undefined if execution failed) */output?: Output; /** The pipeline context at time of completion */
242
- ctx: UseCaseContext; /** Timestamp when execution started */
243
- startedAt: Date; /** Timestamp when execution ended */
244
- endedAt: Date; /** Unique execution ID */
245
- id: string; /** Use case name */
246
- name: string; /** Success or failed call count at time of completion (matches the outcome) */
247
- calls: number; /** Retry state (present only if retry was configured) */
272
+ export type UseCaseResult<Output = any> = {
273
+ /** Handler return value (undefined if execution failed) */
274
+ output?: Output;
275
+ /** The pipeline context at time of completion */
276
+ ctx: UseCaseContext;
277
+ /** Timestamp when execution started */
278
+ startedAt: Date;
279
+ /** Timestamp when execution ended */
280
+ endedAt: Date;
281
+ /** Unique execution ID */
282
+ id: string;
283
+ /** Use case name */
284
+ name: string;
285
+ /** Success or failed call count at time of completion (matches the outcome) */
286
+ calls: number;
287
+ /** Retry state (present only if retry was configured) */
248
288
  retries?: {
249
- /** Total allowed attempts (initial try + retries) */attempts: number; /** Delay between attempts in ms */
250
- delay?: number; /** Actual retry attempts performed (0 = succeeded on first try) */
289
+ /** Total allowed attempts (initial try + retries) */
290
+ attempts: number;
291
+ /** Delay between attempts in ms */
292
+ delay?: number;
293
+ /** Actual retry attempts performed (0 = succeeded on first try) */
251
294
  currentRetry: number;
252
- }; /** Benchmark result (present only if benchmark was enabled) */
295
+ };
296
+ /** Benchmark result (present only if benchmark was enabled) */
253
297
  benchmarkResult?: {
254
- /** Execution time in milliseconds */latency: number; /** Performance classification */
298
+ /** Execution time in milliseconds */
299
+ latency: number;
300
+ /** Performance classification */
255
301
  state: "poor" | "good" | "excellent";
256
302
  };
257
303
  };
@@ -259,7 +305,7 @@ type UseCaseResult<Output = any> = {
259
305
  * Internal registry of global lifecycle event callback arrays.
260
306
  * Used by `globalUseCasesEvents` to manage subscriptions.
261
307
  */
262
- type UseCaseEventsCallbacksMap = {
308
+ export type UseCaseEventsCallbacksMap = {
263
309
  onExecuting: ((ctx: UseCaseOnExecutingContext) => void)[];
264
310
  onCompleted: ((result: UseCaseResult<any>) => void)[];
265
311
  onError: ((ctx: UseCaseErrorResult) => void)[];
@@ -279,7 +325,7 @@ type UseCaseEventsCallbacksMap = {
279
325
  * } satisfies UseCaseConfigurations;
280
326
  * ```
281
327
  */
282
- type UseCaseConfigurations = {
328
+ export type UseCaseConfigurations = {
283
329
  /**
284
330
  * Default retry for all use cases (from `@mongez/reinforcements`).
285
331
  * When set, every use case retries its handler unless it overrides `retry`.
@@ -289,18 +335,25 @@ type UseCaseConfigurations = {
289
335
  * Default benchmark setting for all use cases.
290
336
  * For standalone benchmark usage, use `config.get("benchmark")` instead.
291
337
  */
292
- benchmark?: boolean | BenchmarkOptions; /** Broadcast transport — registered channels plus a global kill-switch */
338
+ benchmark?: boolean | BenchmarkOptions;
339
+ /** Broadcast transport — registered channels plus a global kill-switch */
293
340
  broadcast?: {
294
- /** Global on/off — `false` disables broadcasting for every use case */enabled?: boolean; /** Channels every broadcast fans out to */
341
+ /** Global on/off — `false` disables broadcasting for every use case */
342
+ enabled?: boolean;
343
+ /** Channels every broadcast fans out to */
295
344
  channels?: UseCaseBroadcastChannel[];
296
- }; /** Per-step debug logging through `@warlock.js/logger` (default: false) */
297
- log?: boolean; /** Execution history cache settings */
345
+ };
346
+ /** Per-step debug logging through `@warlock.js/logger` (default: false) */
347
+ log?: boolean;
348
+ /** Execution history cache settings */
298
349
  history?: {
299
- /** Enable/disable history storage (default: true) */enabled?: boolean; /** Cache TTL in seconds (default: 3600). `false` uses the cache driver default */
300
- ttl?: number | false; /** Max history entries kept per use case before oldest are evicted (default: 100) */
350
+ /** Enable/disable history storage (default: true) */
351
+ enabled?: boolean;
352
+ /** Cache TTL in seconds (default: 3600). `false` uses the cache driver default */
353
+ ttl?: number | false;
354
+ /** Max history entries kept per use case before oldest are evicted (default: 100) */
301
355
  maxEntries?: number;
302
356
  };
303
357
  };
304
358
  //#endregion
305
- export { RegisteredUseCase, UseCase, UseCaseAfterMiddleware, UseCaseBeforeMiddleware, UseCaseBroadcastChannel, UseCaseBroadcastEvent, UseCaseBroadcastOption, UseCaseConfigurations, UseCaseContext, UseCaseErrorResult, UseCaseEventsCallbacksMap, UseCaseGuard, UseCaseHandler, UseCaseOnExecutingContext, UseCaseResult, UseCaseRuntimeOptions, UseCaseWithSchema };
306
359
  //# sourceMappingURL=types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/types.ts"],"mappings":"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"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/types.ts"],"mappings":";;;;;;;;;YASY;EACV,SAAS;IACP;;;;;;;;;;;;;;;;;;;;YAqBQ,aAAa,OAAO,YAAY,iBAAiB,mBAC3D,MAAM,SAAS,QACf,KAAK,eACK;;;;;;;;;;;;;;;;;YAkBA,wBAAwB,OAAO,YAAY,iBAAiB,mBACtE,MAAM,OACN,KAAK,QACF,QAAQ,QAAQ;;;;;;;;;;;;;;;;;;YAmBT,uBAAuB,QAAQ,YAAY,iBAAiB,mBACtE,QAAQ,QACR,KAAK,eACK;;;;;YAMA;;EAEV,KAAK;;EAEL;;EAEA;;EAEA;;EAEA,SAAS;;EAET,WAAW;;;;;;;;YASD;;EAEV;;EAEA;;EAEA;;EAEA,IAAI;;EAEJ;;;;;;;;;;;;;;;iBAgBe;EACf,UAAU,OAAO,+BAA+B;;;;;;;;YAStC,uBAAuB;;EAI7B;;EAEA,UAAU,QAAQ,QAAQ,QAAQ,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA6B1C,QAAQ,cAAc,aAAa,YAAY,iBAAiB;;EAE1E;;EAEA;;EAEA,UAAU,MAAM,OAAO,KAAK,QAAQ,QAAQ;;EAE5C,SAAS;;EAET,SAAS,aAAa,OAAO;;EAE7B,SAAS,wBAAwB,OAAO;;EAExC,QAAQ,uBAAuB,QAAQ;;EAEvC,eAAe,KAAK;;EAEpB,eAAe,QAAQ,cAAc;;EAErC,WAAW,KAAK;;;;;EAKhB,QAAQ;;;;;EAKR,sBAAsB;;;;;EAKtB,YAAY,uBAAuB;;;;;;;;;;YAWzB,kBACV,QACA,eAAe,iBACf,YAAY,iBAAiB,kBAC3B,KAAK,QAAQ,QAAQ,MAAM,SAAS;EACtC,QAAQ;;;;;;;;;YAUE,eAAe,QAAQ,WACjC,MAAM,OACN,UAAU,sBAAsB,YAC7B,QAAQ;EACX;;;;;;YAOU,kBAAkB,cAAc,eAAe,QAAQ,QAAQ;;EAEzE;;IAEE;;IAEA;;IAEA;;;;;;;;;;;;;;;;;;YAmBQ,sBAAsB;;EAEhC;;EAEA,MAAM;;EAEN,eAAe,KAAK;;EAEpB,eAAe,QAAQ,cAAc;;EAErC,WAAW,KAAK;;;;;;YAON,qBAAqB,KAAK;;EAEpC,OAAO;;;;;;;;YASG,cAAc;;EAExB,SAAS;;EAET,KAAK;;EAEL,WAAW;;EAEX,SAAS;;EAET;;EAEA;;EAEA;;EAEA;;IAEE;;IAEA;;IAEA;;;EAGF;;IAEE;;IAEA;;;;;;;YAQQ;EACV,eAAe,KAAK;EACpB,eAAe,QAAQ;EACvB,WAAW,KAAK;;;;;;;;;;;;;;;;;YAkBN;;;;;EAKV,QAAQ;;;;;EAKR,sBAAsB;;EAEtB;;IAEE;;IAEA,WAAW;;;EAGb;;EAEA;;IAEE;;IAEA;;IAEA"}
@@ -1,5 +1,4 @@
1
1
  import { UseCaseBroadcastOption, UseCaseConfigurations, UseCaseResult } from "./types.mjs";
2
-
3
2
  //#region ../../packages/core/src/use-cases/use-case-broadcast.d.ts
4
3
  /**
5
4
  * Broadcast a successful use-case result through the globally-configured channels.
@@ -11,7 +10,7 @@ import { UseCaseBroadcastOption, UseCaseConfigurations, UseCaseResult } from "./
11
10
  * @example
12
11
  * await broadcastUseCaseResult({ name, id, output, result, broadcast, config });
13
12
  */
14
- declare function broadcastUseCaseResult<Output>(params: {
13
+ export declare function broadcastUseCaseResult<Output>(params: {
15
14
  name: string;
16
15
  id: string;
17
16
  output: Output;
@@ -20,5 +19,4 @@ declare function broadcastUseCaseResult<Output>(params: {
20
19
  config?: UseCaseConfigurations["broadcast"];
21
20
  }): Promise<void>;
22
21
  //#endregion
23
- export { broadcastUseCaseResult };
24
22
  //# sourceMappingURL=use-case-broadcast.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-case-broadcast.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-broadcast.ts"],"mappings":";;;;;AAkBA;;;;;;;;iBAAsB,sBAAA,SAA+B,MAAA;EACnD,IAAA;EACA,EAAA;EACA,MAAA,EAAQ,MAAA;EACR,MAAA,EAAQ,aAAA,CAAc,MAAA;EACtB,SAAA,GAAY,sBAAA,CAAuB,MAAA;EACnC,MAAA,GAAS,qBAAA;AAAA,IACP,OAAA"}
1
+ {"version":3,"file":"use-case-broadcast.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-broadcast.ts"],"mappings":";;;;;;;;;;;;wBAkBsB,uBAAuB,QAAQ;EACnD;EACA;EACA,QAAQ;EACR,QAAQ,cAAc;EACtB,YAAY,uBAAuB;EACnC,SAAS;IACP"}
@@ -1,10 +1,9 @@
1
1
  import { UseCaseErrorResult, UseCaseEventsCallbacksMap, UseCaseOnExecutingContext, UseCaseResult } from "./types.mjs";
2
-
3
2
  //#region ../../packages/core/src/use-cases/use-case-events.d.ts
4
3
  /**
5
4
  * Global event callbacks — shared across all use case instances.
6
5
  */
7
- declare const globalEventsCallbacksMap: UseCaseEventsCallbacksMap;
6
+ export declare const globalEventsCallbacksMap: UseCaseEventsCallbacksMap;
8
7
  /**
9
8
  * Subscribe to lifecycle events fired by any use case.
10
9
  *
@@ -12,7 +11,7 @@ declare const globalEventsCallbacksMap: UseCaseEventsCallbacksMap;
12
11
  * globalUseCasesEvents.onCompleted((result) => metrics.track(result.name, result.benchmarkResult));
13
12
  * globalUseCasesEvents.onError((ctx) => logger.error(ctx.name, ctx.error));
14
13
  */
15
- declare const globalUseCasesEvents: {
14
+ export declare const globalUseCasesEvents: {
16
15
  onExecuting(callback: (ctx: UseCaseOnExecutingContext) => void): {
17
16
  unsubscribe: () => void;
18
17
  };
@@ -30,11 +29,10 @@ declare const globalUseCasesEvents: {
30
29
  * observer can't stall the others, and a throwing one can't break the pipeline (e.g.
31
30
  * a successful use case must not fail because a metrics/broadcast observer threw).
32
31
  */
33
- declare function fireLifecycleEvent<EventCtx>(ctx: EventCtx, observers: {
32
+ export declare function fireLifecycleEvent<EventCtx>(ctx: EventCtx, observers: {
34
33
  invocation?: ((ctx: EventCtx) => void | Promise<void>)[];
35
34
  useCase?: ((ctx: EventCtx) => void | Promise<void>)[];
36
35
  global?: ((ctx: EventCtx) => void | Promise<void>)[];
37
36
  }): Promise<void>;
38
37
  //#endregion
39
- export { fireLifecycleEvent, globalEventsCallbacksMap, globalUseCasesEvents };
40
38
  //# sourceMappingURL=use-case-events.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-case-events.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-events.ts"],"mappings":";;;;;AAWA;cAAa,wBAAA,EAA0B,yBAItC;;;AAAA;AASD;;;;cAAa,oBAAA;yBACY,GAAA,EAAK,yBAAA;;;sBASV,QAAA,GAAa,MAAA,EAAQ,aAAA,CAAc,MAAA;;;qBASlC,GAAA,EAAK,kBAAA;;;;;;;;;;;iBAkBJ,kBAAA,WACpB,GAAA,EAAK,QAAA,EACL,SAAA;EACE,UAAA,KAAe,GAAA,EAAK,QAAA,YAAoB,OAAA;EACxC,OAAA,KAAY,GAAA,EAAK,QAAA,YAAoB,OAAA;EACrC,MAAA,KAAW,GAAA,EAAK,QAAA,YAAoB,OAAA;AAAA,IACrC,OAAA"}
1
+ {"version":3,"file":"use-case-events.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-events.ts"],"mappings":";;;;;qBAWa,0BAA0B;;;;;;;;qBAa1B;EACX,YAAW,WAAY,KAAK;IAGxB;;EAMJ,YAAY,QAAM,WAAa,QAAQ,cAAc;IAGjD;;EAMJ,QAAO,WAAY,KAAK;IAGpB;;;;;;;;;;wBAegB,mBAAmB,UACvC,KAAK,UACL;EACE,eAAe,KAAK,oBAAoB;EACxC,YAAY,KAAK,oBAAoB;EACrC,WAAW,KAAK,oBAAoB;IACrC"}
@@ -1,8 +1,7 @@
1
1
  import { UseCaseBeforeMiddleware, UseCaseContext, UseCaseGuard, UseCaseOnExecutingContext } from "./types.mjs";
2
2
  import { ObjectValidator } from "@warlock.js/seal";
3
-
4
3
  //#region ../../packages/core/src/use-cases/use-case-pipeline.d.ts
5
- type PipelineOptions<Input> = {
4
+ export type PipelineOptions<Input> = {
6
5
  name: string;
7
6
  id: string;
8
7
  data: Input;
@@ -10,8 +9,10 @@ type PipelineOptions<Input> = {
10
9
  startedAt: Date;
11
10
  schema?: ObjectValidator;
12
11
  guards?: UseCaseGuard<Input>[];
13
- before?: UseCaseBeforeMiddleware<Input>[]; /** Invocation-level onExecuting override */
14
- onExecuting?: (ctx: UseCaseOnExecutingContext) => void; /** Use-case-level onExecuting */
12
+ before?: UseCaseBeforeMiddleware<Input>[];
13
+ /** Invocation-level onExecuting override */
14
+ onExecuting?: (ctx: UseCaseOnExecutingContext) => void;
15
+ /** Use-case-level onExecuting */
15
16
  ucOnExecuting?: (ctx: UseCaseOnExecutingContext) => void;
16
17
  };
17
18
  /**
@@ -27,7 +28,6 @@ type PipelineOptions<Input> = {
27
28
  * @example
28
29
  * const data = await runPipeline({ name, id, data, ctx, startedAt, schema, guards, before });
29
30
  */
30
- declare function runPipeline<Input>(opts: PipelineOptions<Input>): Promise<Input>;
31
+ export declare function runPipeline<Input>(opts: PipelineOptions<Input>): Promise<Input>;
31
32
  //#endregion
32
- export { PipelineOptions, runPipeline };
33
33
  //# sourceMappingURL=use-case-pipeline.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-case-pipeline.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-pipeline.ts"],"mappings":";;;;KAWY,eAAA;EACV,IAAA;EACA,EAAA;EACA,IAAA,EAAM,KAAA;EACN,GAAA,EAAK,cAAA;EACL,SAAA,EAAW,IAAA;EACX,MAAA,GAAS,eAAA;EACT,MAAA,GAAS,YAAA,CAAa,KAAA;EACtB,MAAA,GAAS,uBAAA,CAAwB,KAAA,KADX;EAGtB,WAAA,IAAe,GAAA,EAAK,yBAAA,WAFa;EAIjC,aAAA,IAAiB,GAAA,EAAK,yBAAA;AAAA;;;;;;;;;;;;;;iBAgBF,WAAA,QAAmB,IAAA,EAAM,eAAA,CAAgB,KAAA,IAAS,OAAA,CAAQ,KAAA"}
1
+ {"version":3,"file":"use-case-pipeline.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/use-cases/use-case-pipeline.ts"],"mappings":";;;YAWY,gBAAgB;EAC1B;EACA;EACA,MAAM;EACN,KAAK;EACL,WAAW;EACX,SAAS;EACT,SAAS,aAAa;EACtB,SAAS,wBAAwB;;EAEjC,eAAe,KAAK;;EAEpB,iBAAiB,KAAK;;;;;;;;;;;;;;;wBAgBF,YAAY,OAAO,MAAM,gBAAgB,SAAS,QAAQ"}