@warlock.js/core 5.31.0 → 5.32.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 (1018) hide show
  1. package/CHANGELOG.md +23 -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 +1 -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 +14 -12
  11. package/esm/application/boot-signal.d.mts.map +1 -1
  12. package/esm/application/index.d.mts +2 -1
  13. package/esm/application/index.mjs +1 -1
  14. package/esm/application/public-url.d.mts +1 -2
  15. package/esm/application/public-url.d.mts.map +1 -1
  16. package/esm/application/roles.d.mts +10 -11
  17. package/esm/application/roles.d.mts.map +1 -1
  18. package/esm/benchmark/benchmark-snapshots.d.mts +1 -3
  19. package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
  20. package/esm/benchmark/benchmark.d.mts +1 -3
  21. package/esm/benchmark/benchmark.d.mts.map +1 -1
  22. package/esm/benchmark/channels/console.channel.d.mts +1 -3
  23. package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
  24. package/esm/benchmark/channels/noop.channel.d.mts +1 -3
  25. package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
  26. package/esm/benchmark/index.mjs +1 -1
  27. package/esm/benchmark/profiler.d.mts +1 -3
  28. package/esm/benchmark/profiler.d.mts.map +1 -1
  29. package/esm/benchmark/profiler.mjs +2 -1
  30. package/esm/benchmark/profiler.mjs.map +1 -1
  31. package/esm/benchmark/types.d.mts +22 -17
  32. package/esm/benchmark/types.d.mts.map +1 -1
  33. package/esm/bootstrap/setup.d.mts +1 -2
  34. package/esm/bootstrap/setup.d.mts.map +1 -1
  35. package/esm/bootstrap.d.mts +1 -2
  36. package/esm/bootstrap.d.mts.map +1 -1
  37. package/esm/cache/database-cache-driver.d.mts +3 -5
  38. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  39. package/esm/cache/database-cache-driver.mjs +1 -1
  40. package/esm/cache/index.d.mts +2 -1
  41. package/esm/cache/index.mjs +1 -1
  42. package/esm/cli/cli-commands.manager.mjs +6 -3
  43. package/esm/cli/cli-commands.manager.mjs.map +1 -1
  44. package/esm/cli/commands/agents-md/agents-md-command.action.mjs +3 -2
  45. package/esm/cli/commands/agents-md/agents-md-command.action.mjs.map +1 -1
  46. package/esm/cli/commands/board/board-command.action.mjs +1 -1
  47. package/esm/cli/commands/check/check-command.action.mjs +1 -1
  48. package/esm/cli/commands/check/child-typecheck.mjs +1 -1
  49. package/esm/cli/commands/check/child-typecheck.mjs.map +1 -1
  50. package/esm/cli/commands/check/format-problems.mjs +1 -1
  51. package/esm/cli/commands/dev-server.command.mjs +3 -2
  52. package/esm/cli/commands/dev-server.command.mjs.map +1 -1
  53. package/esm/cli/commands/doctor/check.types.d.mts +29 -16
  54. package/esm/cli/commands/doctor/check.types.d.mts.map +1 -1
  55. package/esm/cli/commands/doctor/checks/locales-ts-deprecated.check.mjs +22 -27
  56. package/esm/cli/commands/doctor/checks/locales-ts-deprecated.check.mjs.map +1 -1
  57. package/esm/cli/commands/doctor/doctor-command.action.mjs +2 -1
  58. package/esm/cli/commands/doctor/doctor-command.action.mjs.map +1 -1
  59. package/esm/cli/commands/explain/explain-command.action.mjs +1 -1
  60. package/esm/cli/commands/generate/generators/controller.generator.mjs +5 -2
  61. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -1
  62. package/esm/cli/commands/generate/generators/endpoint.generator.mjs +5 -3
  63. package/esm/cli/commands/generate/generators/endpoint.generator.mjs.map +1 -1
  64. package/esm/cli/commands/generate/generators/model.generator.mjs +3 -2
  65. package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -1
  66. package/esm/cli/commands/generate/generators/repository.generator.mjs +3 -1
  67. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -1
  68. package/esm/cli/commands/generate/generators/resource.generator.mjs +3 -1
  69. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -1
  70. package/esm/cli/commands/generate/generators/service.generator.mjs +3 -1
  71. package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -1
  72. package/esm/cli/commands/generate/templates/endpoint-stubs.mjs +2 -2
  73. package/esm/cli/commands/generate/templates/endpoint-stubs.mjs.map +1 -1
  74. package/esm/cli/commands/generate/utils/endpoint-schema.mjs +1 -2
  75. package/esm/cli/commands/generate/utils/endpoint-schema.mjs.map +1 -1
  76. package/esm/cli/commands/generate/utils/name-parser.mjs +1 -1
  77. package/esm/cli/commands/generate/utils/path-resolver.mjs +1 -1
  78. package/esm/cli/commands/inspect/inspect-command.action.mjs +3 -2
  79. package/esm/cli/commands/inspect/inspect-command.action.mjs.map +1 -1
  80. package/esm/cli/commands/issue/collect-environment.mjs +187 -0
  81. package/esm/cli/commands/issue/collect-environment.mjs.map +1 -0
  82. package/esm/cli/commands/issue/issue-command.action.mjs +70 -0
  83. package/esm/cli/commands/issue/issue-command.action.mjs.map +1 -0
  84. package/esm/cli/commands/issue.command.mjs +31 -0
  85. package/esm/cli/commands/issue.command.mjs.map +1 -0
  86. package/esm/cli/commands/mcp/mcp-command.action.mjs +15 -14
  87. package/esm/cli/commands/mcp/mcp-command.action.mjs.map +1 -1
  88. package/esm/cli/commands/openapi-generator.action.mjs +1 -1
  89. package/esm/cli/commands/postman-generator.action.mjs +1 -1
  90. package/esm/cli/commands/routes/format-routes-table.mjs +1 -1
  91. package/esm/cli/commands/routes/route-row.mjs +1 -1
  92. package/esm/cli/commands/routes/routes-diff.action.mjs +2 -2
  93. package/esm/cli/commands/routes/routes-diff.action.mjs.map +1 -1
  94. package/esm/cli/commands/test.command.mjs +1 -1
  95. package/esm/cli/commands/trace/trace-command.action.mjs +1 -1
  96. package/esm/cli/commands-loader.mjs +1 -1
  97. package/esm/cli/framework-cli-commands.mjs +2 -0
  98. package/esm/cli/framework-cli-commands.mjs.map +1 -1
  99. package/esm/cli/parse-cli-args.mjs +2 -2
  100. package/esm/cli/parse-cli-args.mjs.map +1 -1
  101. package/esm/cli/start.d.mts +1 -1
  102. package/esm/cli/string-similarity.mjs +1 -1
  103. package/esm/commands/cli-command.d.mts +2 -4
  104. package/esm/commands/cli-command.d.mts.map +1 -1
  105. package/esm/commands/index.d.mts +2 -1
  106. package/esm/commands/index.mjs +1 -1
  107. package/esm/commands/types.d.mts +8 -8
  108. package/esm/commands/types.d.mts.map +1 -1
  109. package/esm/config/config-getter.d.mts +2 -3
  110. package/esm/config/config-getter.d.mts.map +1 -1
  111. package/esm/config/config-getter.mjs +5 -5
  112. package/esm/config/config-getter.mjs.map +1 -1
  113. package/esm/config/config-handlers.d.mts +1 -3
  114. package/esm/config/config-handlers.d.mts.map +1 -1
  115. package/esm/config/config-loader.d.mts +1 -2
  116. package/esm/config/config-loader.d.mts.map +1 -1
  117. package/esm/config/config-loader.mjs +3 -3
  118. package/esm/config/config-loader.mjs.map +1 -1
  119. package/esm/config/config-manager.mjs +1 -1
  120. package/esm/config/config-schema.d.mts +19 -16
  121. package/esm/config/config-schema.d.mts.map +1 -1
  122. package/esm/config/config-setter.d.mts +2 -4
  123. package/esm/config/config-setter.d.mts.map +1 -1
  124. package/esm/config/config-setter.mjs +2 -2
  125. package/esm/config/config-setter.mjs.map +1 -1
  126. package/esm/config/config-special-handlers.d.mts +2 -4
  127. package/esm/config/config-special-handlers.d.mts.map +1 -1
  128. package/esm/config/index.d.mts +2 -1
  129. package/esm/config/index.mjs +1 -1
  130. package/esm/config/types.d.mts +4 -5
  131. package/esm/config/types.d.mts.map +1 -1
  132. package/esm/connectors/access-connector.d.mts +1 -3
  133. package/esm/connectors/access-connector.d.mts.map +1 -1
  134. package/esm/connectors/access-connector.mjs +2 -2
  135. package/esm/connectors/access-connector.mjs.map +1 -1
  136. package/esm/connectors/ai-connector.d.mts +1 -3
  137. package/esm/connectors/ai-connector.d.mts.map +1 -1
  138. package/esm/connectors/ai-connector.mjs +2 -2
  139. package/esm/connectors/ai-connector.mjs.map +1 -1
  140. package/esm/connectors/assert-no-reserved-connector-names.d.mts +1 -3
  141. package/esm/connectors/assert-no-reserved-connector-names.d.mts.map +1 -1
  142. package/esm/connectors/assert-unique-connector-names.d.mts +1 -3
  143. package/esm/connectors/assert-unique-connector-names.d.mts.map +1 -1
  144. package/esm/connectors/assert-unique-connector-names.mjs +2 -1
  145. package/esm/connectors/assert-unique-connector-names.mjs.map +1 -1
  146. package/esm/connectors/base-connector.d.mts +1 -3
  147. package/esm/connectors/base-connector.d.mts.map +1 -1
  148. package/esm/connectors/cache-connector.d.mts +1 -3
  149. package/esm/connectors/cache-connector.d.mts.map +1 -1
  150. package/esm/connectors/cache-connector.mjs +3 -3
  151. package/esm/connectors/cache-connector.mjs.map +1 -1
  152. package/esm/connectors/connectors-manager.d.mts +2 -4
  153. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  154. package/esm/connectors/connectors-manager.mjs +2 -2
  155. package/esm/connectors/connectors-manager.mjs.map +1 -1
  156. package/esm/connectors/database-connector.d.mts +1 -3
  157. package/esm/connectors/database-connector.d.mts.map +1 -1
  158. package/esm/connectors/database-connector.mjs +2 -2
  159. package/esm/connectors/database-connector.mjs.map +1 -1
  160. package/esm/connectors/describe-server-address.mjs +4 -4
  161. package/esm/connectors/describe-server-address.mjs.map +1 -1
  162. package/esm/connectors/herald-connector.d.mts +1 -3
  163. package/esm/connectors/herald-connector.d.mts.map +1 -1
  164. package/esm/connectors/herald-connector.mjs +2 -2
  165. package/esm/connectors/herald-connector.mjs.map +1 -1
  166. package/esm/connectors/http-connector.d.mts +1 -3
  167. package/esm/connectors/http-connector.d.mts.map +1 -1
  168. package/esm/connectors/http-connector.mjs +8 -7
  169. package/esm/connectors/http-connector.mjs.map +1 -1
  170. package/esm/connectors/index.d.mts +2 -1
  171. package/esm/connectors/index.mjs +1 -1
  172. package/esm/connectors/logger-connector.d.mts +1 -3
  173. package/esm/connectors/logger-connector.d.mts.map +1 -1
  174. package/esm/connectors/logger-connector.mjs +2 -2
  175. package/esm/connectors/logger-connector.mjs.map +1 -1
  176. package/esm/connectors/mail-connector.d.mts +1 -3
  177. package/esm/connectors/mail-connector.d.mts.map +1 -1
  178. package/esm/connectors/mail-connector.mjs +2 -2
  179. package/esm/connectors/mail-connector.mjs.map +1 -1
  180. package/esm/connectors/notifications-connector.d.mts +1 -3
  181. package/esm/connectors/notifications-connector.d.mts.map +1 -1
  182. package/esm/connectors/notifications-connector.mjs +2 -2
  183. package/esm/connectors/notifications-connector.mjs.map +1 -1
  184. package/esm/connectors/register-configured-connectors.d.mts +2 -4
  185. package/esm/connectors/register-configured-connectors.d.mts.map +1 -1
  186. package/esm/connectors/socket-connector.d.mts +1 -3
  187. package/esm/connectors/socket-connector.d.mts.map +1 -1
  188. package/esm/connectors/socket-connector.mjs +12 -10
  189. package/esm/connectors/socket-connector.mjs.map +1 -1
  190. package/esm/connectors/storage.connector.d.mts +1 -3
  191. package/esm/connectors/storage.connector.d.mts.map +1 -1
  192. package/esm/connectors/storage.connector.mjs +2 -2
  193. package/esm/connectors/storage.connector.mjs.map +1 -1
  194. package/esm/connectors/types.d.mts +17 -14
  195. package/esm/connectors/types.d.mts.map +1 -1
  196. package/esm/container/container-instance-registry.mjs.map +1 -1
  197. package/esm/container/development-app-modules.d.mts +7 -5
  198. package/esm/container/development-app-modules.d.mts.map +1 -1
  199. package/esm/container/development-model-modules.d.mts +6 -5
  200. package/esm/container/development-model-modules.d.mts.map +1 -1
  201. package/esm/container/index.d.mts +4 -4
  202. package/esm/container/index.d.mts.map +1 -1
  203. package/esm/database/index.d.mts +3 -1
  204. package/esm/database/index.mjs +1 -1
  205. package/esm/database/migrate-action.mjs +1 -1
  206. package/esm/database/models/database-log/database-log.d.mts +2 -3
  207. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  208. package/esm/database/models/database-log/index.d.mts +2 -1
  209. package/esm/database/models/database-log/index.mjs +1 -1
  210. package/esm/database/seed-command-action.mjs +1 -1
  211. package/esm/database/seeds/seeder.d.mts +2 -4
  212. package/esm/database/seeds/seeder.d.mts.map +1 -1
  213. package/esm/database/seeds/seeder.errors.d.mts +2 -3
  214. package/esm/database/seeds/seeder.errors.d.mts.map +1 -1
  215. package/esm/database/seeds/seeders.manager.mjs +2 -1
  216. package/esm/database/seeds/seeders.manager.mjs.map +1 -1
  217. package/esm/database/seeds/types.d.mts +7 -8
  218. package/esm/database/seeds/types.d.mts.map +1 -1
  219. package/esm/database/utils.d.mts +4 -5
  220. package/esm/database/utils.d.mts.map +1 -1
  221. package/esm/dev-server/app-module-registry.mjs +1 -1
  222. package/esm/dev-server/create-worker.mjs +5 -3
  223. package/esm/dev-server/create-worker.mjs.map +1 -1
  224. package/esm/dev-server/dependency-graph.d.mts +1 -3
  225. package/esm/dev-server/dependency-graph.d.mts.map +1 -1
  226. package/esm/dev-server/dependency-graph.mjs +1 -1
  227. package/esm/dev-server/dependency-graph.mjs.map +1 -1
  228. package/esm/dev-server/extract-translation-keys.mjs +16 -17
  229. package/esm/dev-server/extract-translation-keys.mjs.map +1 -1
  230. package/esm/dev-server/file-manager.d.mts +3 -7
  231. package/esm/dev-server/file-manager.d.mts.map +1 -1
  232. package/esm/dev-server/file-operations.d.mts +1 -3
  233. package/esm/dev-server/file-operations.d.mts.map +1 -1
  234. package/esm/dev-server/files-watcher.mjs +12 -11
  235. package/esm/dev-server/files-watcher.mjs.map +1 -1
  236. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +36 -115
  237. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
  238. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +5 -5
  239. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
  240. package/esm/dev-server/health-checker/file-health-result.d.mts +2 -2
  241. package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
  242. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -0
  243. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  244. package/esm/dev-server/health-checker/oxlint-runner.mjs +6 -5
  245. package/esm/dev-server/health-checker/oxlint-runner.mjs.map +1 -1
  246. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.mts +1 -1
  247. package/esm/dev-server/health-checker/workers/oxlint-health.worker.d.mts +1 -1
  248. package/esm/dev-server/health-checker/workers/ts-health.worker.d.mts +1 -1
  249. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +40 -174
  250. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
  251. package/esm/dev-server/loader/hook-thread.d.mts +4 -8
  252. package/esm/dev-server/loader/hook-thread.d.mts.map +1 -1
  253. package/esm/dev-server/loader/load-hook.d.mts +10 -6
  254. package/esm/dev-server/loader/load-hook.d.mts.map +1 -1
  255. package/esm/dev-server/loader/load-hook.mjs +4 -3
  256. package/esm/dev-server/loader/load-hook.mjs.map +1 -1
  257. package/esm/dev-server/loader/own-resolver.mjs +1 -1
  258. package/esm/dev-server/loader/register-loader.mjs +3 -2
  259. package/esm/dev-server/loader/register-loader.mjs.map +1 -1
  260. package/esm/dev-server/loader/resolve-hook.d.mts +2 -2
  261. package/esm/dev-server/loader/resolve-hook.d.mts.map +1 -1
  262. package/esm/dev-server/loader/resolve-hook.mjs +2 -1
  263. package/esm/dev-server/loader/resolve-hook.mjs.map +1 -1
  264. package/esm/dev-server/loader/transpile-cache.mjs +2 -1
  265. package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
  266. package/esm/dev-server/manifest-manager.d.mts +1 -3
  267. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  268. package/esm/dev-server/model-module-registry.mjs +3 -3
  269. package/esm/dev-server/model-module-registry.mjs.map +1 -1
  270. package/esm/dev-server/model-resource-typings.mjs +40 -47
  271. package/esm/dev-server/model-resource-typings.mjs.map +1 -1
  272. package/esm/dev-server/module-loader.mjs +2 -2
  273. package/esm/dev-server/module-loader.mjs.map +1 -1
  274. package/esm/dev-server/package-json-manager.mjs +1 -1
  275. package/esm/dev-server/parse-imports.mjs +6 -38
  276. package/esm/dev-server/parse-imports.mjs.map +1 -1
  277. package/esm/dev-server/read-config-ast.mjs +3 -33
  278. package/esm/dev-server/read-config-ast.mjs.map +1 -1
  279. package/esm/dev-server/ready-block.mjs +1 -1
  280. package/esm/dev-server/shortcuts.mjs +1 -1
  281. package/esm/dev-server/special-files-collector.d.mts +2 -4
  282. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  283. package/esm/dev-server/supervisor.mjs +1 -1
  284. package/esm/dev-server/tsconfig-manager.mjs +3 -3
  285. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  286. package/esm/dev-server/type-generator.mjs +28 -35
  287. package/esm/dev-server/type-generator.mjs.map +1 -1
  288. package/esm/dev-server/types.d.mts +3 -4
  289. package/esm/dev-server/types.d.mts.map +1 -1
  290. package/esm/dev-server/update-check-cache.mjs +2 -2
  291. package/esm/dev-server/update-check-cache.mjs.map +1 -1
  292. package/esm/encryption/encrypt.d.mts +2 -3
  293. package/esm/encryption/encrypt.d.mts.map +1 -1
  294. package/esm/encryption/hash.d.mts +1 -2
  295. package/esm/encryption/hash.d.mts.map +1 -1
  296. package/esm/encryption/index.mjs +1 -1
  297. package/esm/encryption/password.d.mts +2 -3
  298. package/esm/encryption/password.d.mts.map +1 -1
  299. package/esm/encryption/types.d.mts +2 -3
  300. package/esm/encryption/types.d.mts.map +1 -1
  301. package/esm/errors/error-codes.d.mts +29 -22
  302. package/esm/errors/error-codes.d.mts.map +1 -1
  303. package/esm/errors/warlock-error.d.mts +1 -3
  304. package/esm/errors/warlock-error.d.mts.map +1 -1
  305. package/esm/generations/add-command.action.mjs +3 -2
  306. package/esm/generations/add-command.action.mjs.map +1 -1
  307. package/esm/generations/features/bull-board.feature.mjs +2 -1
  308. package/esm/generations/features/bull-board.feature.mjs.map +1 -1
  309. package/esm/generations/features/notifications.feature.mjs +2 -1
  310. package/esm/generations/features/notifications.feature.mjs.map +1 -1
  311. package/esm/generations/features/shared/merge-web-sitemap-config.mjs +16 -23
  312. package/esm/generations/features/shared/merge-web-sitemap-config.mjs.map +1 -1
  313. package/esm/generations/features/shared/patch-tsconfig-include.mjs +1 -1
  314. package/esm/generations/features/shared/relocate-conflicting-home-route.mjs +1 -1
  315. package/esm/generations/features/sitemap.feature.mjs +2 -1
  316. package/esm/generations/features/sitemap.feature.mjs.map +1 -1
  317. package/esm/generations/generation-fs.mjs +1 -1
  318. package/esm/generations/generation-run.mjs +1 -1
  319. package/esm/generations/stubs.mjs +1 -1
  320. package/esm/generations/stubs.mjs.map +1 -1
  321. package/esm/http/boot-port-preflight.d.mts +4 -5
  322. package/esm/http/boot-port-preflight.d.mts.map +1 -1
  323. package/esm/http/boot-port-preflight.mjs +2 -2
  324. package/esm/http/boot-port-preflight.mjs.map +1 -1
  325. package/esm/http/bounded-stream-queue.d.mts +4 -4
  326. package/esm/http/bounded-stream-queue.d.mts.map +1 -1
  327. package/esm/http/bounded-stream-queue.mjs +1 -1
  328. package/esm/http/bounded-stream-queue.mjs.map +1 -1
  329. package/esm/http/build-cors-options.mjs +2 -2
  330. package/esm/http/build-cors-options.mjs.map +1 -1
  331. package/esm/http/build-rate-limit-options.d.mts +2 -3
  332. package/esm/http/build-rate-limit-options.d.mts.map +1 -1
  333. package/esm/http/build-rate-limit-options.mjs +1 -1
  334. package/esm/http/build-rate-limit-options.mjs.map +1 -1
  335. package/esm/http/conditional-request.d.mts +14 -13
  336. package/esm/http/conditional-request.d.mts.map +1 -1
  337. package/esm/http/config.d.mts +2 -4
  338. package/esm/http/config.d.mts.map +1 -1
  339. package/esm/http/config.mjs +2 -2
  340. package/esm/http/config.mjs.map +1 -1
  341. package/esm/http/context/request-context.d.mts +6 -7
  342. package/esm/http/context/request-context.d.mts.map +1 -1
  343. package/esm/http/context/request-memo.d.mts +1 -2
  344. package/esm/http/context/request-memo.d.mts.map +1 -1
  345. package/esm/http/createHttpApplication.d.mts +2 -3
  346. package/esm/http/createHttpApplication.d.mts.map +1 -1
  347. package/esm/http/createHttpApplication.mjs +2 -2
  348. package/esm/http/createHttpApplication.mjs.map +1 -1
  349. package/esm/http/csp.d.mts +10 -12
  350. package/esm/http/csp.d.mts.map +1 -1
  351. package/esm/http/csp.mjs +2 -2
  352. package/esm/http/csp.mjs.map +1 -1
  353. package/esm/http/csrf-default-guard.d.mts +2 -4
  354. package/esm/http/csrf-default-guard.d.mts.map +1 -1
  355. package/esm/http/csrf-default-guard.mjs +1 -1
  356. package/esm/http/csrf-default-guard.mjs.map +1 -1
  357. package/esm/http/csrf-origin-policy.d.mts +7 -9
  358. package/esm/http/csrf-origin-policy.d.mts.map +1 -1
  359. package/esm/http/csrf-origin-policy.mjs +2 -2
  360. package/esm/http/csrf-origin-policy.mjs.map +1 -1
  361. package/esm/http/database/RequestLog.d.mts +2 -3
  362. package/esm/http/database/RequestLog.d.mts.map +1 -1
  363. package/esm/http/error-codes.d.mts +1 -2
  364. package/esm/http/error-codes.d.mts.map +1 -1
  365. package/esm/http/error-mapper.d.mts +2 -4
  366. package/esm/http/error-mapper.d.mts.map +1 -1
  367. package/esm/http/error-mapper.mjs +2 -2
  368. package/esm/http/error-mapper.mjs.map +1 -1
  369. package/esm/http/errors/errors.d.mts +28 -29
  370. package/esm/http/errors/errors.d.mts.map +1 -1
  371. package/esm/http/escape-header-value.d.mts +1 -2
  372. package/esm/http/escape-header-value.d.mts.map +1 -1
  373. package/esm/http/events.d.mts +2 -4
  374. package/esm/http/events.d.mts.map +1 -1
  375. package/esm/http/health.d.mts +4 -4
  376. package/esm/http/health.d.mts.map +1 -1
  377. package/esm/http/index.d.mts +4 -1
  378. package/esm/http/index.mjs +1 -1
  379. package/esm/http/middleware/cache-response-middleware.d.mts +2 -4
  380. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  381. package/esm/http/middleware/concurrency-limit.middleware.d.mts +3 -3
  382. package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
  383. package/esm/http/middleware/idempotency.middleware.d.mts +3 -3
  384. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  385. package/esm/http/middleware/idempotency.middleware.mjs +6 -6
  386. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  387. package/esm/http/middleware/index.d.mts +3 -1
  388. package/esm/http/middleware/index.mjs +1 -1
  389. package/esm/http/middleware/inject-request-context.d.mts +2 -4
  390. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  391. package/esm/http/middleware/inject-request-context.mjs +3 -3
  392. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  393. package/esm/http/middleware/ip-filter.middleware.d.mts +3 -3
  394. package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
  395. package/esm/http/middleware/maintenance.middleware.d.mts +3 -3
  396. package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
  397. package/esm/http/middleware/maintenance.middleware.mjs +4 -4
  398. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  399. package/esm/http/middleware/max-body-size.middleware.d.mts +2 -2
  400. package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
  401. package/esm/http/middleware/middleware-list.d.mts +1 -3
  402. package/esm/http/middleware/middleware-list.d.mts.map +1 -1
  403. package/esm/http/middleware/rate-limit.middleware.d.mts +3 -3
  404. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  405. package/esm/http/middleware/rate-limit.middleware.mjs +2 -2
  406. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  407. package/esm/http/middleware/utils/cidr-match.d.mts +2 -3
  408. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  409. package/esm/http/middleware/utils/idempotency-key.d.mts +3 -5
  410. package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
  411. package/esm/http/middleware/utils/index.d.mts +2 -1
  412. package/esm/http/middleware/utils/parse-size.d.mts +1 -2
  413. package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
  414. package/esm/http/middleware/utils/parse-size.mjs +2 -2
  415. package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
  416. package/esm/http/plugins.d.mts +2 -4
  417. package/esm/http/plugins.d.mts.map +1 -1
  418. package/esm/http/plugins.mjs +10 -10
  419. package/esm/http/plugins.mjs.map +1 -1
  420. package/esm/http/port-preflight.d.mts +3 -4
  421. package/esm/http/port-preflight.d.mts.map +1 -1
  422. package/esm/http/rate-limit-cache-store.mjs +4 -3
  423. package/esm/http/rate-limit-cache-store.mjs.map +1 -1
  424. package/esm/http/ready-report.d.mts +15 -10
  425. package/esm/http/ready-report.d.mts.map +1 -1
  426. package/esm/http/request-controller.d.mts +1 -3
  427. package/esm/http/request-controller.d.mts.map +1 -1
  428. package/esm/http/request-log-snapshot.d.mts +20 -16
  429. package/esm/http/request-log-snapshot.d.mts.map +1 -1
  430. package/esm/http/request-log-snapshot.mjs +3 -3
  431. package/esm/http/request-log-snapshot.mjs.map +1 -1
  432. package/esm/http/request.d.mts +8 -7
  433. package/esm/http/request.d.mts.map +1 -1
  434. package/esm/http/request.mjs +8 -7
  435. package/esm/http/request.mjs.map +1 -1
  436. package/esm/http/response.d.mts +12 -11
  437. package/esm/http/response.d.mts.map +1 -1
  438. package/esm/http/response.mjs +7 -7
  439. package/esm/http/response.mjs.map +1 -1
  440. package/esm/http/safe-redirect.d.mts +3 -4
  441. package/esm/http/safe-redirect.d.mts.map +1 -1
  442. package/esm/http/serialized.d.mts +12 -13
  443. package/esm/http/serialized.d.mts.map +1 -1
  444. package/esm/http/server-rebuilt.d.mts +3 -5
  445. package/esm/http/server-rebuilt.d.mts.map +1 -1
  446. package/esm/http/server.d.mts +9 -9
  447. package/esm/http/server.d.mts.map +1 -1
  448. package/esm/http/server.mjs +4 -4
  449. package/esm/http/server.mjs.map +1 -1
  450. package/esm/http/stream-react-response.d.mts +7 -7
  451. package/esm/http/stream-react-response.d.mts.map +1 -1
  452. package/esm/http/tracing/index.mjs +1 -1
  453. package/esm/http/tracing/trace-id.d.mts +2 -3
  454. package/esm/http/tracing/trace-id.d.mts.map +1 -1
  455. package/esm/http/tracing/tracing-dispatcher.d.mts +10 -11
  456. package/esm/http/tracing/tracing-dispatcher.d.mts.map +1 -1
  457. package/esm/http/tracing/tracing-dispatcher.mjs +2 -2
  458. package/esm/http/tracing/tracing-dispatcher.mjs.map +1 -1
  459. package/esm/http/tracing/tracing.type.d.mts +11 -9
  460. package/esm/http/tracing/tracing.type.d.mts.map +1 -1
  461. package/esm/http/types.d.mts +49 -43
  462. package/esm/http/types.d.mts.map +1 -1
  463. package/esm/http/uploaded-file.d.mts +6 -5
  464. package/esm/http/uploaded-file.d.mts.map +1 -1
  465. package/esm/http/uploads/generate-image-variants.d.mts +6 -6
  466. package/esm/http/uploads/generate-image-variants.d.mts.map +1 -1
  467. package/esm/http/uploads/generate-image-variants.mjs +1 -1
  468. package/esm/http/uploads/generate-image-variants.mjs.map +1 -1
  469. package/esm/http/uploads/image-variant-cache-entries.mjs +1 -1
  470. package/esm/http/uploads/image-variant-cache.mjs +8 -8
  471. package/esm/http/uploads/image-variant-cache.mjs.map +1 -1
  472. package/esm/http/uploads/image-variant-types.d.mts +7 -9
  473. package/esm/http/uploads/image-variant-types.d.mts.map +1 -1
  474. package/esm/http/uploads/image-variants-config-error.d.mts +1 -2
  475. package/esm/http/uploads/image-variants-config-error.d.mts.map +1 -1
  476. package/esm/http/uploads/index.d.mts +2 -1
  477. package/esm/http/uploads/index.mjs +1 -1
  478. package/esm/http/uploads/parse-uploaded-file-query.mjs +1 -1
  479. package/esm/http/uploads/parse-uploaded-file-query.mjs.map +1 -1
  480. package/esm/http/uploads/purge-image-variants.d.mts +2 -4
  481. package/esm/http/uploads/purge-image-variants.d.mts.map +1 -1
  482. package/esm/http/uploads/resolve-image-variant.d.mts +3 -5
  483. package/esm/http/uploads/resolve-image-variant.d.mts.map +1 -1
  484. package/esm/http/uploads/resolve-image-variants-config.mjs +4 -4
  485. package/esm/http/uploads/resolve-image-variants-config.mjs.map +1 -1
  486. package/esm/http/uploads/resolve-original-content-type.mjs +1 -1
  487. package/esm/http/uploads/resolve-original-content-type.mjs.map +1 -1
  488. package/esm/http/uploads/trim-image-variant-cache.mjs +3 -3
  489. package/esm/http/uploads/trim-image-variant-cache.mjs.map +1 -1
  490. package/esm/http/uploads/uploaded-file.controller.d.mts +6 -5
  491. package/esm/http/uploads/uploaded-file.controller.d.mts.map +1 -1
  492. package/esm/http/uploads/uploaded-file.controller.mjs +2 -1
  493. package/esm/http/uploads/uploaded-file.controller.mjs.map +1 -1
  494. package/esm/http/uploads/variant-cache-key.mjs +1 -1
  495. package/esm/http/uploads-config.d.mts +2 -4
  496. package/esm/http/uploads-config.d.mts.map +1 -1
  497. package/esm/http/uploads-types.d.mts +19 -17
  498. package/esm/http/uploads-types.d.mts.map +1 -1
  499. package/esm/http/xmlable.d.mts +1 -2
  500. package/esm/http/xmlable.d.mts.map +1 -1
  501. package/esm/image/image.d.mts +6 -7
  502. package/esm/image/image.d.mts.map +1 -1
  503. package/esm/image/image.mjs.map +1 -1
  504. package/esm/image/index.d.mts +2 -1
  505. package/esm/image/index.mjs +1 -1
  506. package/esm/index.d.mts +21 -0
  507. package/esm/loader/app-module-importer.d.mts +1 -2
  508. package/esm/loader/app-module-importer.d.mts.map +1 -1
  509. package/esm/localization/index.mjs +1 -1
  510. package/esm/localization/parse-locale-dictionary.d.mts +4 -5
  511. package/esm/localization/parse-locale-dictionary.d.mts.map +1 -1
  512. package/esm/localization/parse-locale-dictionary.mjs +1 -1
  513. package/esm/localization/parse-locale-dictionary.mjs.map +1 -1
  514. package/esm/localization/register-locale-dictionary.d.mts +3 -4
  515. package/esm/localization/register-locale-dictionary.d.mts.map +1 -1
  516. package/esm/localization/register-locale-dictionary.mjs +2 -2
  517. package/esm/localization/register-locale-dictionary.mjs.map +1 -1
  518. package/esm/logger/fatal-visibility.d.mts +1 -2
  519. package/esm/logger/fatal-visibility.d.mts.map +1 -1
  520. package/esm/logger/index.d.mts +2 -1
  521. package/esm/logger/index.mjs +1 -1
  522. package/esm/logger/logger.d.mts +1 -3
  523. package/esm/logger/logger.d.mts.map +1 -1
  524. package/esm/logger/types.d.mts +2 -3
  525. package/esm/logger/types.d.mts.map +1 -1
  526. package/esm/mail/config.d.mts +12 -14
  527. package/esm/mail/config.d.mts.map +1 -1
  528. package/esm/mail/events.d.mts +4 -6
  529. package/esm/mail/events.d.mts.map +1 -1
  530. package/esm/mail/index.d.mts +2 -1
  531. package/esm/mail/index.mjs +1 -1
  532. package/esm/mail/mail.d.mts +1 -3
  533. package/esm/mail/mail.d.mts.map +1 -1
  534. package/esm/mail/mailer-pool.d.mts +5 -7
  535. package/esm/mail/mailer-pool.d.mts.map +1 -1
  536. package/esm/mail/react-mail.d.mts +1 -3
  537. package/esm/mail/react-mail.d.mts.map +1 -1
  538. package/esm/mail/send-mail.d.mts +1 -3
  539. package/esm/mail/send-mail.d.mts.map +1 -1
  540. package/esm/mail/send-mail.mjs +2 -1
  541. package/esm/mail/send-mail.mjs.map +1 -1
  542. package/esm/mail/test-mailbox.d.mts +11 -13
  543. package/esm/mail/test-mailbox.d.mts.map +1 -1
  544. package/esm/mail/types.d.mts +17 -18
  545. package/esm/mail/types.d.mts.map +1 -1
  546. package/esm/manifest/manifest-manager.mjs +1 -1
  547. package/esm/openapi/build-openapi-document.d.mts +2 -4
  548. package/esm/openapi/build-openapi-document.d.mts.map +1 -1
  549. package/esm/openapi/cast-schema.mjs +1 -1
  550. package/esm/openapi/development-openapi-provider.d.mts +5 -6
  551. package/esm/openapi/development-openapi-provider.d.mts.map +1 -1
  552. package/esm/openapi/index.d.mts +3 -1
  553. package/esm/openapi/index.mjs +1 -1
  554. package/esm/openapi/openapi-child-output.mjs +2 -2
  555. package/esm/openapi/openapi-child-output.mjs.map +1 -1
  556. package/esm/openapi/postman/build-request-url.mjs +1 -1
  557. package/esm/openapi/postman/example-from-schema.d.mts +1 -3
  558. package/esm/openapi/postman/example-from-schema.d.mts.map +1 -1
  559. package/esm/openapi/postman/index.d.mts +2 -1
  560. package/esm/openapi/postman/openapi-to-postman-collection.d.mts +3 -5
  561. package/esm/openapi/postman/openapi-to-postman-collection.d.mts.map +1 -1
  562. package/esm/openapi/postman/postman-types.d.mts +19 -18
  563. package/esm/openapi/postman/postman-types.d.mts.map +1 -1
  564. package/esm/openapi/postman/schema-refs.d.mts +1 -3
  565. package/esm/openapi/postman/schema-refs.d.mts.map +1 -1
  566. package/esm/openapi/postman/uuid-v5.mjs +1 -1
  567. package/esm/openapi/schema-registry.d.mts +1 -1
  568. package/esm/openapi/security.mjs +1 -1
  569. package/esm/openapi/types.d.mts +23 -21
  570. package/esm/openapi/types.d.mts.map +1 -1
  571. package/esm/production/assert-generated-imports.mjs +1 -1
  572. package/esm/production/build-contributions.mjs +1 -1
  573. package/esm/production/bundle-framework-dependencies.mjs +1 -1
  574. package/esm/production/dist-build-manifest.mjs +1 -1
  575. package/esm/production/esbuild-plugins.mjs.map +1 -1
  576. package/esm/production/esbuild-preflight.mjs +1 -1
  577. package/esm/production/production-builder.mjs +2 -1
  578. package/esm/production/production-builder.mjs.map +1 -1
  579. package/esm/production/production-supervisor.mjs +1 -1
  580. package/esm/production/registration-child-runner.mjs +4 -3
  581. package/esm/production/registration-child-runner.mjs.map +1 -1
  582. package/esm/production/resolve-build-config.d.mts +4 -4
  583. package/esm/production/resolve-build-config.d.mts.map +1 -1
  584. package/esm/production/resolve-build-config.mjs +1 -1
  585. package/esm/production/route-registration-child.d.mts +1 -1
  586. package/esm/production/route-registration-child.mjs +8 -7
  587. package/esm/production/route-registration-child.mjs.map +1 -1
  588. package/esm/production/tsconfig-path-aliases.mjs +1 -1
  589. package/esm/react/index.d.mts +1 -3
  590. package/esm/react/index.d.mts.map +1 -1
  591. package/esm/react/index.mjs.map +1 -1
  592. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +3 -4
  593. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  594. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +2 -3
  595. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
  596. package/esm/repositories/adapters/cascade/filter-applicator.mjs +10 -9
  597. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  598. package/esm/repositories/adapters/cascade/index.d.mts +2 -1
  599. package/esm/repositories/adapters/cascade/index.mjs +1 -1
  600. package/esm/repositories/contracts/index.d.mts +2 -1
  601. package/esm/repositories/contracts/query-builder.contract.d.mts +4 -6
  602. package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
  603. package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -3
  604. package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
  605. package/esm/repositories/contracts/types.d.mts +23 -25
  606. package/esm/repositories/contracts/types.d.mts.map +1 -1
  607. package/esm/repositories/index.d.mts +4 -1
  608. package/esm/repositories/index.mjs +1 -1
  609. package/esm/repositories/repository.manager.d.mts +2 -3
  610. package/esm/repositories/repository.manager.d.mts.map +1 -1
  611. package/esm/repositories/repository.manager.mjs +2 -2
  612. package/esm/repositories/repository.manager.mjs.map +1 -1
  613. package/esm/resource/define-resource.d.mts +3 -5
  614. package/esm/resource/define-resource.d.mts.map +1 -1
  615. package/esm/resource/index.d.mts +2 -1
  616. package/esm/resource/index.mjs +1 -1
  617. package/esm/resource/nullable-resource.d.mts +5 -7
  618. package/esm/resource/nullable-resource.d.mts.map +1 -1
  619. package/esm/resource/register-resource.d.mts +1 -3
  620. package/esm/resource/register-resource.d.mts.map +1 -1
  621. package/esm/resource/resource-field-builder.d.mts +1 -3
  622. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  623. package/esm/resource/resource.d.mts +3 -5
  624. package/esm/resource/resource.d.mts.map +1 -1
  625. package/esm/resource/resource.mjs +4 -2
  626. package/esm/resource/resource.mjs.map +1 -1
  627. package/esm/resource/types.d.mts +21 -21
  628. package/esm/resource/types.d.mts.map +1 -1
  629. package/esm/restful/index.d.mts +2 -1
  630. package/esm/restful/index.mjs +1 -1
  631. package/esm/restful/restful.d.mts +12 -32
  632. package/esm/restful/restful.d.mts.map +1 -1
  633. package/esm/router/index.d.mts +2 -1
  634. package/esm/router/index.mjs +1 -1
  635. package/esm/router/named-api-routes-with-responses.mjs +2 -1
  636. package/esm/router/named-api-routes-with-responses.mjs.map +1 -1
  637. package/esm/router/normalize-request-path.d.mts +1 -2
  638. package/esm/router/normalize-request-path.d.mts.map +1 -1
  639. package/esm/router/normalize-route-path.d.mts +1 -2
  640. package/esm/router/normalize-route-path.d.mts.map +1 -1
  641. package/esm/router/positional-handler-diagnostics.d.mts +15 -13
  642. package/esm/router/positional-handler-diagnostics.d.mts.map +1 -1
  643. package/esm/router/resolve-route-rate-limit.mjs +3 -3
  644. package/esm/router/resolve-route-rate-limit.mjs.map +1 -1
  645. package/esm/router/route-builder.d.mts +1 -3
  646. package/esm/router/route-builder.d.mts.map +1 -1
  647. package/esm/router/route-guard-names.mjs +1 -1
  648. package/esm/router/route-guard-names.mjs.map +1 -1
  649. package/esm/router/route-name-method-suffix.d.mts +2 -3
  650. package/esm/router/route-name-method-suffix.d.mts.map +1 -1
  651. package/esm/router/route-name-taken-error.d.mts +1 -3
  652. package/esm/router/route-name-taken-error.d.mts.map +1 -1
  653. package/esm/router/route-registry.d.mts +1 -3
  654. package/esm/router/route-registry.d.mts.map +1 -1
  655. package/esm/router/router.d.mts +2 -4
  656. package/esm/router/router.d.mts.map +1 -1
  657. package/esm/router/router.mjs +8 -6
  658. package/esm/router/router.mjs.map +1 -1
  659. package/esm/router/types.d.mts +25 -26
  660. package/esm/router/types.d.mts.map +1 -1
  661. package/esm/router/unguarded-route-diagnostics.d.mts +6 -8
  662. package/esm/router/unguarded-route-diagnostics.d.mts.map +1 -1
  663. package/esm/socket/index.d.mts +2 -1
  664. package/esm/socket/index.mjs +1 -1
  665. package/esm/socket/types.d.mts +2 -4
  666. package/esm/socket/types.d.mts.map +1 -1
  667. package/esm/socket/utils.d.mts +1 -3
  668. package/esm/socket/utils.d.mts.map +1 -1
  669. package/esm/storage/config.d.mts +4 -6
  670. package/esm/storage/config.d.mts.map +1 -1
  671. package/esm/storage/context/storage-driver-context.d.mts +3 -4
  672. package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
  673. package/esm/storage/drivers/cloud-driver.d.mts +2 -4
  674. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  675. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  676. package/esm/storage/drivers/do-spaces-driver.d.mts +1 -3
  677. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  678. package/esm/storage/drivers/local-driver.d.mts +2 -3
  679. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  680. package/esm/storage/drivers/local-driver.mjs +8 -3
  681. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  682. package/esm/storage/drivers/r2-driver.d.mts +1 -3
  683. package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
  684. package/esm/storage/drivers/s3-driver.d.mts +1 -3
  685. package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
  686. package/esm/storage/index.d.mts +2 -1
  687. package/esm/storage/index.mjs +1 -1
  688. package/esm/storage/local-disk-roots.mjs +2 -2
  689. package/esm/storage/local-disk-roots.mjs.map +1 -1
  690. package/esm/storage/scoped-storage.d.mts +2 -3
  691. package/esm/storage/scoped-storage.d.mts.map +1 -1
  692. package/esm/storage/storage-file.d.mts +1 -3
  693. package/esm/storage/storage-file.d.mts.map +1 -1
  694. package/esm/storage/storage.d.mts +3 -4
  695. package/esm/storage/storage.d.mts.map +1 -1
  696. package/esm/storage/types.d.mts +36 -36
  697. package/esm/storage/types.d.mts.map +1 -1
  698. package/esm/storage/utils/classify-ip-address.d.mts +1 -2
  699. package/esm/storage/utils/classify-ip-address.d.mts.map +1 -1
  700. package/esm/storage/utils/contain-path.d.mts +1 -2
  701. package/esm/storage/utils/contain-path.d.mts.map +1 -1
  702. package/esm/storage/utils/mime.d.mts +2 -3
  703. package/esm/storage/utils/mime.d.mts.map +1 -1
  704. package/esm/storage/utils/safe-fetch.d.mts +6 -6
  705. package/esm/storage/utils/safe-fetch.d.mts.map +1 -1
  706. package/esm/storage/utils/safe-fetch.mjs +3 -3
  707. package/esm/storage/utils/safe-fetch.mjs.map +1 -1
  708. package/esm/storage/utils/storage-capability-error.d.mts +1 -3
  709. package/esm/storage/utils/storage-capability-error.d.mts.map +1 -1
  710. package/esm/storage/utils/storage-error.d.mts +2 -3
  711. package/esm/storage/utils/storage-error.d.mts.map +1 -1
  712. package/esm/storage/utils/storage-not-initialized-error.d.mts +1 -2
  713. package/esm/storage/utils/storage-not-initialized-error.d.mts.map +1 -1
  714. package/esm/tests/authenticated-test-client.d.mts +5 -6
  715. package/esm/tests/authenticated-test-client.d.mts.map +1 -1
  716. package/esm/tests/factories.d.mts +38 -23
  717. package/esm/tests/factories.d.mts.map +1 -1
  718. package/esm/tests/fakes/cache-fake.d.mts +14 -9
  719. package/esm/tests/fakes/cache-fake.d.mts.map +1 -1
  720. package/esm/tests/fakes/clock-fake.d.mts +13 -8
  721. package/esm/tests/fakes/clock-fake.d.mts.map +1 -1
  722. package/esm/tests/fakes/fake-assertion-error.d.mts +2 -3
  723. package/esm/tests/fakes/fake-assertion-error.d.mts.map +1 -1
  724. package/esm/tests/fakes/ids-fake.d.mts +5 -4
  725. package/esm/tests/fakes/ids-fake.d.mts.map +1 -1
  726. package/esm/tests/fakes/index.d.mts +2 -1
  727. package/esm/tests/fakes/index.mjs +1 -1
  728. package/esm/tests/fakes/mail-fake.d.mts +21 -13
  729. package/esm/tests/fakes/mail-fake.d.mts.map +1 -1
  730. package/esm/tests/fakes/queue-fake.d.mts +21 -13
  731. package/esm/tests/fakes/queue-fake.d.mts.map +1 -1
  732. package/esm/tests/fakes/storage-fake.d.mts +12 -8
  733. package/esm/tests/fakes/storage-fake.d.mts.map +1 -1
  734. package/esm/tests/fakes/storage-fake.mjs +1 -1
  735. package/esm/tests/fakes/test-fakes.d.mts +8 -9
  736. package/esm/tests/fakes/test-fakes.d.mts.map +1 -1
  737. package/esm/tests/fakes/test-fakes.mjs +1 -1
  738. package/esm/tests/fakes/test-fakes.mjs.map +1 -1
  739. package/esm/tests/index.d.mts +1 -0
  740. package/esm/tests/snapshot-response.d.mts +4 -5
  741. package/esm/tests/snapshot-response.d.mts.map +1 -1
  742. package/esm/tests/start-http-development-server.d.mts +4 -6
  743. package/esm/tests/start-http-development-server.d.mts.map +1 -1
  744. package/esm/tests/start-http-development-server.mjs +5 -5
  745. package/esm/tests/start-http-development-server.mjs.map +1 -1
  746. package/esm/tests/test-connectors-selection.d.mts +2 -2
  747. package/esm/tests/test-connectors-selection.d.mts.map +1 -1
  748. package/esm/tests/test-connectors-selection.mjs +1 -1
  749. package/esm/tests/test-helpers.d.mts +11 -12
  750. package/esm/tests/test-helpers.d.mts.map +1 -1
  751. package/esm/tests/test-http-server.d.mts +14 -10
  752. package/esm/tests/test-http-server.d.mts.map +1 -1
  753. package/esm/tests/test-lifecycle-state.mjs +1 -1
  754. package/esm/tests/vitest-setup.d.mts +6 -7
  755. package/esm/tests/vitest-setup.d.mts.map +1 -1
  756. package/esm/tooling/agents-md/agents-md-markers.d.mts +4 -5
  757. package/esm/tooling/agents-md/agents-md-markers.d.mts.map +1 -1
  758. package/esm/tooling/agents-md/agents-md-markers.mjs +2 -1
  759. package/esm/tooling/agents-md/agents-md-markers.mjs.map +1 -1
  760. package/esm/tooling/agents-md/agents-md-refresher.d.mts +19 -12
  761. package/esm/tooling/agents-md/agents-md-refresher.d.mts.map +1 -1
  762. package/esm/tooling/agents-md/installed-skills.d.mts +13 -9
  763. package/esm/tooling/agents-md/installed-skills.d.mts.map +1 -1
  764. package/esm/tooling/agents-md/render-agents-md.d.mts +8 -7
  765. package/esm/tooling/agents-md/render-agents-md.d.mts.map +1 -1
  766. package/esm/tooling/agents-md/render-agents-md.mjs +2 -2
  767. package/esm/tooling/agents-md/render-agents-md.mjs.map +1 -1
  768. package/esm/tooling/agents-md/write-agents-md.d.mts +17 -12
  769. package/esm/tooling/agents-md/write-agents-md.d.mts.map +1 -1
  770. package/esm/tooling/board/board-message.d.mts +4 -6
  771. package/esm/tooling/board/board-message.d.mts.map +1 -1
  772. package/esm/tooling/board/board.d.mts +50 -38
  773. package/esm/tooling/board/board.d.mts.map +1 -1
  774. package/esm/tooling/board/board.mjs +4 -3
  775. package/esm/tooling/board/board.mjs.map +1 -1
  776. package/esm/tooling/board/board.types.d.mts +32 -23
  777. package/esm/tooling/board/board.types.d.mts.map +1 -1
  778. package/esm/tooling/check/changed-files.d.mts +4 -6
  779. package/esm/tooling/check/changed-files.d.mts.map +1 -1
  780. package/esm/tooling/check/changed-files.mjs +2 -2
  781. package/esm/tooling/check/changed-files.mjs.map +1 -1
  782. package/esm/tooling/check/check-report.types.d.mts +22 -17
  783. package/esm/tooling/check/check-report.types.d.mts.map +1 -1
  784. package/esm/tooling/check/code-style-conventions.mjs +25 -25
  785. package/esm/tooling/check/code-style-conventions.mjs.map +1 -1
  786. package/esm/tooling/check/conventions-step.d.mts +4 -6
  787. package/esm/tooling/check/conventions-step.d.mts.map +1 -1
  788. package/esm/tooling/check/conventions-step.mjs +7 -18
  789. package/esm/tooling/check/conventions-step.mjs.map +1 -1
  790. package/esm/tooling/check/environment-step.d.mts +2 -4
  791. package/esm/tooling/check/environment-step.d.mts.map +1 -1
  792. package/esm/tooling/check/environment-step.mjs +1 -1
  793. package/esm/tooling/check/index.mjs +1 -1
  794. package/esm/tooling/check/lint-step.d.mts +4 -5
  795. package/esm/tooling/check/lint-step.d.mts.map +1 -1
  796. package/esm/tooling/check/lint-step.mjs +2 -1
  797. package/esm/tooling/check/lint-step.mjs.map +1 -1
  798. package/esm/tooling/check/request-input.mjs +15 -15
  799. package/esm/tooling/check/request-input.mjs.map +1 -1
  800. package/esm/tooling/check/run-check.d.mts +22 -14
  801. package/esm/tooling/check/run-check.d.mts.map +1 -1
  802. package/esm/tooling/check/run-tests.d.mts +22 -15
  803. package/esm/tooling/check/run-tests.d.mts.map +1 -1
  804. package/esm/tooling/check/security-conventions.mjs +133 -131
  805. package/esm/tooling/check/security-conventions.mjs.map +1 -1
  806. package/esm/tooling/check/source-ast.mjs +92 -132
  807. package/esm/tooling/check/source-ast.mjs.map +1 -1
  808. package/esm/tooling/check/tests-step.d.mts +7 -8
  809. package/esm/tooling/check/tests-step.d.mts.map +1 -1
  810. package/esm/tooling/check/tests-step.mjs +3 -3
  811. package/esm/tooling/check/tests-step.mjs.map +1 -1
  812. package/esm/tooling/dev-state/dev-server-state.d.mts +17 -13
  813. package/esm/tooling/dev-state/dev-server-state.d.mts.map +1 -1
  814. package/esm/tooling/devtools/devtools-client.d.mts +29 -20
  815. package/esm/tooling/devtools/devtools-client.d.mts.map +1 -1
  816. package/esm/tooling/generate/generation.d.mts +34 -22
  817. package/esm/tooling/generate/generation.d.mts.map +1 -1
  818. package/esm/tooling/generate/generation.mjs +9 -5
  819. package/esm/tooling/generate/generation.mjs.map +1 -1
  820. package/esm/tooling/generate/generator-spec.d.mts +9 -9
  821. package/esm/tooling/generate/generator-spec.d.mts.map +1 -1
  822. package/esm/tooling/generate/index.mjs +1 -1
  823. package/esm/tooling/generate/project-files.mjs +3 -3
  824. package/esm/tooling/generate/project-files.mjs.map +1 -1
  825. package/esm/tooling/generate/run-cli.d.mts +14 -11
  826. package/esm/tooling/generate/run-cli.d.mts.map +1 -1
  827. package/esm/tooling/generate/run-cli.mjs +2 -2
  828. package/esm/tooling/generate/run-cli.mjs.map +1 -1
  829. package/esm/tooling/generate/unified-diff.d.mts +10 -7
  830. package/esm/tooling/generate/unified-diff.d.mts.map +1 -1
  831. package/esm/tooling/index.d.mts +1 -0
  832. package/esm/tooling/inspect/boot-for-inspect.d.mts +7 -7
  833. package/esm/tooling/inspect/boot-for-inspect.d.mts.map +1 -1
  834. package/esm/tooling/inspect/collect-config.mjs +3 -3
  835. package/esm/tooling/inspect/collect-config.mjs.map +1 -1
  836. package/esm/tooling/inspect/collect-models.d.mts +4 -3
  837. package/esm/tooling/inspect/collect-models.d.mts.map +1 -1
  838. package/esm/tooling/inspect/collect-models.mjs +1 -1
  839. package/esm/tooling/inspect/collect-packages.d.mts +1 -2
  840. package/esm/tooling/inspect/collect-packages.d.mts.map +1 -1
  841. package/esm/tooling/inspect/collect-pages.mjs +10 -10
  842. package/esm/tooling/inspect/collect-pages.mjs.map +1 -1
  843. package/esm/tooling/inspect/collect-routes.mjs +1 -1
  844. package/esm/tooling/inspect/event-recorder.d.mts +7 -7
  845. package/esm/tooling/inspect/event-recorder.d.mts.map +1 -1
  846. package/esm/tooling/inspect/index.d.mts +2 -1
  847. package/esm/tooling/inspect/index.mjs +1 -1
  848. package/esm/tooling/inspect/inspect-app.d.mts +25 -16
  849. package/esm/tooling/inspect/inspect-app.d.mts.map +1 -1
  850. package/esm/tooling/inspect/inspect-report.schema.d.mts +1 -2
  851. package/esm/tooling/inspect/inspect-report.schema.d.mts.map +1 -1
  852. package/esm/tooling/inspect/inspect-report.types.d.mts +86 -54
  853. package/esm/tooling/inspect/inspect-report.types.d.mts.map +1 -1
  854. package/esm/tooling/mcp/create-mcp-context.d.mts +11 -8
  855. package/esm/tooling/mcp/create-mcp-context.d.mts.map +1 -1
  856. package/esm/tooling/mcp/db-schema.d.mts +10 -9
  857. package/esm/tooling/mcp/db-schema.d.mts.map +1 -1
  858. package/esm/tooling/mcp/docs-search.d.mts +20 -15
  859. package/esm/tooling/mcp/docs-search.d.mts.map +1 -1
  860. package/esm/tooling/mcp/index.mjs +1 -1
  861. package/esm/tooling/mcp/load-ai-tools.d.mts +7 -8
  862. package/esm/tooling/mcp/load-ai-tools.d.mts.map +1 -1
  863. package/esm/tooling/mcp/load-ai-tools.mjs +2 -1
  864. package/esm/tooling/mcp/load-ai-tools.mjs.map +1 -1
  865. package/esm/tooling/mcp/mcp-tools.d.mts +29 -19
  866. package/esm/tooling/mcp/mcp-tools.d.mts.map +1 -1
  867. package/esm/tooling/mcp/mcp-tools.mjs +3 -2
  868. package/esm/tooling/mcp/mcp-tools.mjs.map +1 -1
  869. package/esm/tooling/mcp/start-mcp-server.d.mts +24 -17
  870. package/esm/tooling/mcp/start-mcp-server.d.mts.map +1 -1
  871. package/esm/tooling/mcp/start-mcp-server.mjs +1 -1
  872. package/esm/tooling/mcp/start-mcp-server.mjs.map +1 -1
  873. package/esm/tooling/mcp/tool-input.d.mts +7 -7
  874. package/esm/tooling/mcp/tool-input.d.mts.map +1 -1
  875. package/esm/tooling/problem.d.mts +27 -17
  876. package/esm/tooling/problem.d.mts.map +1 -1
  877. package/esm/tooling/syntax/ast.mjs +230 -0
  878. package/esm/tooling/syntax/ast.mjs.map +1 -0
  879. package/esm/tooling/syntax/imports.mjs +34 -0
  880. package/esm/tooling/syntax/imports.mjs.map +1 -0
  881. package/esm/tooling/trace/trace-report.types.d.mts +36 -22
  882. package/esm/tooling/trace/trace-report.types.d.mts.map +1 -1
  883. package/esm/tooling/trace/trace-request.d.mts +27 -20
  884. package/esm/tooling/trace/trace-request.d.mts.map +1 -1
  885. package/esm/tooling/trace/trace-request.mjs +2 -2
  886. package/esm/tooling/trace/trace-request.mjs.map +1 -1
  887. package/esm/tooling/typecheck/index.mjs +1 -1
  888. package/esm/tooling/typecheck/run-typecheck.d.mts +15 -48
  889. package/esm/tooling/typecheck/run-typecheck.d.mts.map +1 -1
  890. package/esm/tooling/typecheck/run-typecheck.mjs +42 -105
  891. package/esm/tooling/typecheck/run-typecheck.mjs.map +1 -1
  892. package/esm/tooling/typescript/compiler.d.mts +31 -0
  893. package/esm/tooling/typescript/compiler.d.mts.map +1 -0
  894. package/esm/tooling/typescript/compiler.mjs +120 -0
  895. package/esm/tooling/typescript/compiler.mjs.map +1 -0
  896. package/esm/updater/update-warlock-packages.mjs +3 -2
  897. package/esm/updater/update-warlock-packages.mjs.map +1 -1
  898. package/esm/upgrade/codemods/index.mjs +1 -1
  899. package/esm/upgrade/codemods/logger-sync-calls.mjs +1 -1
  900. package/esm/upgrade/codemods/logger-sync-calls.mjs.map +1 -1
  901. package/esm/upgrade/codemods/request-log-snapshot.mjs +1 -1
  902. package/esm/upgrade/codemods/request-log-snapshot.mjs.map +1 -1
  903. package/esm/upgrade/diff.mjs +1 -1
  904. package/esm/upgrade/diff.mjs.map +1 -1
  905. package/esm/upgrade/load-ts-morph.mjs +3 -2
  906. package/esm/upgrade/load-ts-morph.mjs.map +1 -1
  907. package/esm/upgrade/run-upgrade.mjs +1 -1
  908. package/esm/use-cases/index.d.mts +2 -1
  909. package/esm/use-cases/index.mjs +1 -1
  910. package/esm/use-cases/types.d.mts +116 -63
  911. package/esm/use-cases/types.d.mts.map +1 -1
  912. package/esm/use-cases/use-case-broadcast.d.mts +1 -3
  913. package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
  914. package/esm/use-cases/use-case-events.d.mts +3 -5
  915. package/esm/use-cases/use-case-events.d.mts.map +1 -1
  916. package/esm/use-cases/use-case-pipeline.d.mts +6 -6
  917. package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
  918. package/esm/use-cases/use-case.d.mts +2 -4
  919. package/esm/use-cases/use-case.d.mts.map +1 -1
  920. package/esm/use-cases/use-case.errors.d.mts +1 -3
  921. package/esm/use-cases/use-case.errors.d.mts.map +1 -1
  922. package/esm/use-cases/use-cases-registry.d.mts +8 -10
  923. package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
  924. package/esm/utils/app-log.d.mts +1 -2
  925. package/esm/utils/app-log.d.mts.map +1 -1
  926. package/esm/utils/clock.d.mts +8 -6
  927. package/esm/utils/clock.d.mts.map +1 -1
  928. package/esm/utils/database-log.d.mts +3 -4
  929. package/esm/utils/database-log.d.mts.map +1 -1
  930. package/esm/utils/environment.d.mts +4 -5
  931. package/esm/utils/environment.d.mts.map +1 -1
  932. package/esm/utils/framework-vesion.mjs.map +1 -1
  933. package/esm/utils/get-localized.d.mts +2 -3
  934. package/esm/utils/get-localized.d.mts.map +1 -1
  935. package/esm/utils/ids.d.mts +9 -6
  936. package/esm/utils/ids.d.mts.map +1 -1
  937. package/esm/utils/index.d.mts +2 -1
  938. package/esm/utils/index.mjs +1 -1
  939. package/esm/utils/normalized-path.d.mts +1 -2
  940. package/esm/utils/normalized-path.d.mts.map +1 -1
  941. package/esm/utils/npm-registry.d.mts +1 -2
  942. package/esm/utils/npm-registry.d.mts.map +1 -1
  943. package/esm/utils/paths.d.mts +13 -14
  944. package/esm/utils/paths.d.mts.map +1 -1
  945. package/esm/utils/paths.mjs +2 -2
  946. package/esm/utils/paths.mjs.map +1 -1
  947. package/esm/utils/promise-all-object.d.mts +1 -2
  948. package/esm/utils/promise-all-object.d.mts.map +1 -1
  949. package/esm/utils/queue.d.mts +1 -2
  950. package/esm/utils/queue.d.mts.map +1 -1
  951. package/esm/utils/runtime.d.mts +11 -10
  952. package/esm/utils/runtime.d.mts.map +1 -1
  953. package/esm/utils/sleep.d.mts +1 -2
  954. package/esm/utils/sleep.d.mts.map +1 -1
  955. package/esm/utils/sluggable.d.mts +1 -3
  956. package/esm/utils/sluggable.d.mts.map +1 -1
  957. package/esm/utils/to-json.d.mts +1 -2
  958. package/esm/utils/to-json.d.mts.map +1 -1
  959. package/esm/utils/types.d.mts +1 -2
  960. package/esm/utils/types.d.mts.map +1 -1
  961. package/esm/utils/urls.d.mts +5 -6
  962. package/esm/utils/urls.d.mts.map +1 -1
  963. package/esm/utils/version-compare.d.mts +1 -2
  964. package/esm/utils/version-compare.d.mts.map +1 -1
  965. package/esm/validation/database/exists-except-current-id.d.mts +2 -3
  966. package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
  967. package/esm/validation/database/exists-except-current-user.d.mts +2 -3
  968. package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
  969. package/esm/validation/database/index.d.mts +2 -1
  970. package/esm/validation/database/index.mjs +1 -1
  971. package/esm/validation/database/types.d.mts +14 -10
  972. package/esm/validation/database/types.d.mts.map +1 -1
  973. package/esm/validation/database/unique-except-current-id.d.mts +2 -3
  974. package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
  975. package/esm/validation/database/unique-except-current-user.d.mts +2 -3
  976. package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
  977. package/esm/validation/file/file.d.mts +4 -6
  978. package/esm/validation/file/file.d.mts.map +1 -1
  979. package/esm/validation/file/index.d.mts +2 -1
  980. package/esm/validation/file/index.mjs +1 -1
  981. package/esm/validation/index.d.mts +5 -1
  982. package/esm/validation/index.mjs +1 -1
  983. package/esm/validation/plugins/index.mjs +1 -1
  984. package/esm/validation/types.d.mts +6 -4
  985. package/esm/validation/types.d.mts.map +1 -1
  986. package/esm/validation/validateAll.mjs +2 -2
  987. package/esm/validation/validateAll.mjs.map +1 -1
  988. package/esm/validation/validation-failure-status.mjs +2 -2
  989. package/esm/validation/validation-failure-status.mjs.map +1 -1
  990. package/esm/validation/validators/file-validator.d.mts +2 -4
  991. package/esm/validation/validators/file-validator.d.mts.map +1 -1
  992. package/esm/validation/validators/index.d.mts +2 -1
  993. package/esm/validation/validators/index.mjs +1 -1
  994. package/esm/vite/lower-stage3-decorators.d.mts +2 -3
  995. package/esm/vite/lower-stage3-decorators.d.mts.map +1 -1
  996. package/esm/warlock-config/define-config.d.mts +1 -3
  997. package/esm/warlock-config/define-config.d.mts.map +1 -1
  998. package/esm/warlock-config/define-config.mjs +3 -2
  999. package/esm/warlock-config/define-config.mjs.map +1 -1
  1000. package/esm/warlock-config/index.d.mts +2 -1
  1001. package/esm/warlock-config/index.mjs +1 -1
  1002. package/esm/warlock-config/types.d.mts +6 -5
  1003. package/esm/warlock-config/types.d.mts.map +1 -1
  1004. package/esm/warlock-config/warlock-config.manager.d.mts +5 -7
  1005. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  1006. package/esm/warlock-config/warlock-config.manager.mjs +2 -1
  1007. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  1008. package/esm/warlock-config/warn-deprecated-config.mjs +1 -1
  1009. package/llms-full.txt +55 -5
  1010. package/package.json +17 -15
  1011. package/skills/create-module/SKILL.md +7 -0
  1012. package/skills/index.md +2 -0
  1013. package/skills/report-framework-issue.md +154 -0
  1014. package/skills/run-app/SKILL.md +6 -5
  1015. package/skills/upgrade-from-5-29/SKILL.md +41 -0
  1016. package/skills/warlock-check/SKILL.md +1 -0
  1017. package/esm/tooling/check/index.d.mts +0 -8
  1018. package/esm/tooling/typecheck/index.d.mts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/types.ts"],"mappings":";;;;;;;;;AAcA;;;KAAY,aAAA;EA8BF;;;EA1BR,MAAA;IAkKiD;;;IA9J/C,IAAA;IA+PkB;;;IA3PlB,IAAA;IAIA;;;IAAA,cAAA;EAAA;EA+BA;;;;;;;;;;;EAjBF,KAAA,GAAQ,IAAA,CAAK,YAAA;IAkHb;;;;;IA5GE,MAAA;IAkI+C;;;;;;;;;;IAvH/C,YAAA;IAsMF;;;;;IAhME,OAAA;IA6OA;;AAAO;;;;IAtOP,0BAAA;;;;;;;;;;;;;;;;;IAiBA,YAAA;;;;;;;;;;;;;;;;IAgBA,OAAA;;;;;;IAMA,MAAA;;;;;;IAMA,SAAA;EAAA;;;;;;;;;;;;;;;;;;;;;;;;;EA2BF,UAAA,GAAa,SAAA;;;;EAKb,GAAA;IACE,QAAA,GAAW,UAAA;EAAA;;;;EAMb,SAAA;;;;IAIE,KAAA;;;;;;MAME,OAAA;;;;;;MAMA,OAAA;IAAA;;;;;IAMF,cAAA,GAAiB,yBAAA,KAA8B,2BAAA;;;;;IAK/C,eAAA;;;;;;;;;IASA,eAAA;;;;;;;;;IASA,qBAAA;;;;;;;;;;IAUA,mBAAA;;;;;;;;;;;;IAYA,OAAA;;;;;;;;;;IAUA,QAAA;;;;;;;;;IASA,GAAA;8CAIM,IAAA;MAEA,KAAA;MAEA,WAAA;IAAA;EAAA;;;;EAOR,QAAA;;;;;;;;;;;;;;;;;;IAkBE,UAAA,GAAa,KAAA,CAAM,oBAAA;EAAA;;;;;;;EASrB,OAAA;;;;;;;;;IASE,OAAA;;;;;;;;IASA,OAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/types.ts"],"mappings":";;;;;;;;;;;YAcY;;;;EAIV;;;;IAIE;;;;IAIA;;;;IAIA;;;;;;;;;;;;;EAcF,QAAQ,KAAK;;;;;;IAMX;;;;;;;;;;;IAWA;;;;;;IAMA;;;;;;;IAOA;;;;;;;;;;;;;;;;;IAiBA;;;;;;;;;;;;;;;;IAgBA;;;;;;IAMA;;;;;;IAMA;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BF,aAAa;;;;EAKb;IACE,WAAW;;;;;EAMb;;;;IAIE;;;;;;MAME;;;;;;MAMA;;;;;;IAMF,iBAAiB,8BAA8B;;;;;IAK/C;;;;;;;;;IASA;;;;;;;;;IASA;;;;;;;;;;IAUA;;;;;;;;;;;;IAYA;;;;;;;;;;IAUA;;;;;;;;;IASA;;MAIM;;MAEA;;MAEA;;;;;;EAOR;;;;;;;;;;;;;;;;;;IAkBE,aAAa,MAAM;;;;;;;;EASrB;;;;;;;;;IASE;;;;;;;;IASA"}
@@ -1,5 +1,4 @@
1
1
  import { WarlockConfig } from "./types.mjs";
2
-
3
2
  //#region ../../packages/core/src/warlock-config/warlock-config.manager.d.ts
4
3
  /**
5
4
  * True when `error` is Node's "this runtime can't import a `.ts` file" error.
@@ -9,7 +8,7 @@ import { WarlockConfig } from "./types.mjs";
9
8
  * `import("warlock.config.ts")` throws `ERR_UNKNOWN_FILE_EXTENSION` — which is
10
9
  * the signal to fall back to transpiling the config ourselves.
11
10
  */
12
- declare function isUnknownTsExtensionError(error: unknown): boolean;
11
+ export declare function isUnknownTsExtensionError(error: unknown): boolean;
13
12
  /**
14
13
  * True when `error` is Node failing to RESOLVE an import of the config's OWN
15
14
  * graph: an extensionless relative import (`./src/connectors/local`), a
@@ -24,20 +23,20 @@ declare function isUnknownTsExtensionError(error: unknown): boolean;
24
23
  * `pathAliases` are the tsconfig `paths` patterns (`app/*`). When the message
25
24
  * cannot be parsed the error is treated as a graph error, as before.
26
25
  */
27
- declare function isUnresolvedConfigImportError(error: unknown, pathAliases?: readonly string[]): boolean;
26
+ export declare function isUnresolvedConfigImportError(error: unknown, pathAliases?: readonly string[]): boolean;
28
27
  /**
29
28
  * True when `error` is native type stripping refusing TypeScript it cannot
30
29
  * strip (an `enum`, a `namespace`, a parameter property) or a `.ts` file under
31
30
  * `node_modules`. Both are raised while loading, before the graph runs.
32
31
  */
33
- declare function isUnsupportedTypeStrippingError(error: unknown): boolean;
32
+ export declare function isUnsupportedTypeStrippingError(error: unknown): boolean;
34
33
  /**
35
34
  * Warlock Config Manager
36
35
  *
37
36
  * Manages lazy loading of the pre-compiled warlock.config.js file
38
37
  * from the .warlock/cache directory.
39
38
  */
40
- declare class WarlockConfigManager {
39
+ export declare class WarlockConfigManager {
41
40
  /**
42
41
  * Cached config instance
43
42
  */
@@ -123,7 +122,6 @@ declare class WarlockConfigManager {
123
122
  * await warlockConfig.load();
124
123
  * const commands = warlockConfig.get("cli.commands");
125
124
  */
126
- declare const warlockConfigManager: WarlockConfigManager;
125
+ export declare const warlockConfigManager: WarlockConfigManager;
127
126
  //#endregion
128
- export { WarlockConfigManager, isUnknownTsExtensionError, isUnresolvedConfigImportError, isUnsupportedTypeStrippingError, warlockConfigManager };
129
127
  //# sourceMappingURL=warlock-config.manager.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"warlock-config.manager.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/warlock-config.manager.ts"],"mappings":";;;;;AAyBA;;;;AAAwD;AAqBxD;iBArBgB,yBAAA,CAA0B,KAAc;;;AAuBnB;AA4BrC;;;;AAA8D;AA+B9D;;;;;;iBA7DgB,6BAAA,CACd,KAAA,WACA,WAAmC;;;;;;iBA4BrB,+BAAA,CAAgC,KAAc;;;;;;;cA+BjD,oBAAA;EA0LmB;;;EAAA,QAtLtB,MAAA;EAYK;;;EAAA,QAPL,OAAA;EA6FM;;;;;EAtFD,IAAA,IAAQ,OAAA,CAAQ,aAAA;EAwHZ;;;;;;EAAA,QA1FH,MAAA;EA6GkB;;;;;;;;;;;;EAAA,QArDlB,cAAA;EAoFS;;AAAO;AAwDhC;;;;AAA8D;;;;EA5GrD,GAAA,mBAAsB,aAAA,EAC3B,GAAA,EAAK,GAAA,EACL,YAAA,GAAe,aAAA,CAAc,GAAA,IAC5B,aAAA,CAAc,GAAA;;;;;;;;;;;EAkBX,OAAA,mBAA0B,aAAA,EAC9B,GAAA,EAAK,GAAA,EACL,YAAA,GAAe,aAAA,CAAc,GAAA,IAC5B,OAAA,CAAQ,aAAA,CAAc,GAAA;;;;MAQd,QAAA;;;;;;EASJ,MAAA,IAAU,aAAA;;;;EAWJ,MAAA,IAAU,OAAA;AAAA;;;;;;;;;;;;;;cAwDZ,oBAAA,EAAoB,oBAA6B"}
1
+ {"version":3,"file":"warlock-config.manager.d.mts","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/warlock-config.manager.ts"],"mappings":";;;;;;;;;;wBAyBgB,0BAA0B;;;;;;;;;;;;;;;wBAqB1B,8BACd,gBACA;;;;;;wBA4Bc,gCAAgC;;;;;;;qBA+BnC;;;;UAIH;;;;UAKA;;;;;;EAOK,QAAQ,QAAQ;;;;;;;UA8Bf;;;;;;;;;;;;;UAwDA;;;;;;;;;;;;EAgCP,IAAI,kBAAkB,eAC3B,KAAK,KACL,eAAe,cAAc,OAC5B,cAAc;;;;;;;;;;;EAkBX,QAAQ,kBAAkB,eAC9B,KAAK,KACL,eAAe,cAAc,OAC5B,QAAQ,cAAc;;;;MAQd;;;;;;EASJ,UAAU;;;;EAWJ,UAAU;;;;;;;;;;;;;;;qBAwDZ,sBAAoB"}
@@ -207,7 +207,8 @@ function configPathAliases(configPath) {
207
207
  function nameOriginalConfig(error, compiledPath, configPath) {
208
208
  const code = error?.code;
209
209
  if (typeof code !== "string" || !code.startsWith("ERR_")) return error;
210
- const wrapped = new ErrorWithCause(`Failed to load warlock.config.ts: ${String(error.message ?? error).split(pathToFileURL(compiledPath).href).join(pathToFileURL(configPath).href).split(compiledPath).join(configPath)}`, { cause: error });
210
+ const message = String(error.message ?? error).split(pathToFileURL(compiledPath).href).join(pathToFileURL(configPath).href).split(compiledPath).join(configPath);
211
+ const wrapped = new ErrorWithCause(`Failed to load warlock.config.ts: ${message}`, { cause: error });
211
212
  wrapped.code = code;
212
213
  return wrapped;
213
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"warlock-config.manager.mjs","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/warlock-config.manager.ts"],"sourcesContent":["import { fileExistsAsync } from \"@warlock.js/fs\";\nimport { get } from \"@mongez/reinforcements\";\nimport { getTsconfig } from \"get-tsconfig\";\nimport { unlink, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"url\";\nimport { rootPath } from \"../utils\";\nimport { bundleWarlockConfig } from \"./bundle-config\";\nimport { type WarlockConfig } from \"./types\";\nimport { getDeprecatedConfigWarnings } from \"./warn-deprecated-config\";\n\n/**\n * `Error` with the ES2022 `cause` option, typed for packages still compiled\n * against an older lib (see `application.ts`).\n */\nconst ErrorWithCause = Error as new (message: string, options: { cause: unknown }) => Error;\n\n/**\n * True when `error` is Node's \"this runtime can't import a `.ts` file\" error.\n *\n * Node only executes TypeScript natively from v22.18 / v23.6 onward (earlier\n * 22.x needs `--experimental-strip-types`). On older runtimes a bare\n * `import(\"warlock.config.ts\")` throws `ERR_UNKNOWN_FILE_EXTENSION` — which is\n * the signal to fall back to transpiling the config ourselves.\n */\nexport function isUnknownTsExtensionError(error: unknown): boolean {\n return (\n (error as { code?: string })?.code === \"ERR_UNKNOWN_FILE_EXTENSION\" ||\n /Unknown file extension \"\\.tsx?\"/.test(String((error as Error)?.message))\n );\n}\n\n/**\n * True when `error` is Node failing to RESOLVE an import of the config's OWN\n * graph: an extensionless relative import (`./src/connectors/local`), a\n * directory import, or a tsconfig `paths` alias (`app/connectors`) — all of\n * which only a TypeScript toolchain resolves. Native type stripping\n * (Node ≥ 22.18) loads `warlock.config.ts` itself, then fails here.\n *\n * A package that is genuinely not installed is NOT a fallback case: the error\n * names a bare specifier that matches no `paths` pattern, and it is rethrown\n * as is. Neither is a missing module imported from inside `node_modules`.\n *\n * `pathAliases` are the tsconfig `paths` patterns (`app/*`). When the message\n * cannot be parsed the error is treated as a graph error, as before.\n */\nexport function isUnresolvedConfigImportError(\n error: unknown,\n pathAliases: readonly string[] = [],\n): boolean {\n const code = (error as { code?: string })?.code;\n\n if (code === \"ERR_UNSUPPORTED_DIR_IMPORT\") return true;\n if (code !== \"ERR_MODULE_NOT_FOUND\") return false;\n\n const message = String((error as Error)?.message ?? \"\");\n const match = /Cannot find (module|package) '([^']+)' imported from (.+)$/m.exec(message);\n\n if (!match) return true;\n\n const [, kind, specifier = \"\", importer = \"\"] = match;\n\n if (/[\\\\/]node_modules[\\\\/]/.test(importer)) return false;\n\n // An unresolved relative or absolute path: an extensionless TS import.\n if (kind === \"module\") return true;\n\n // A bare name: only a tsconfig alias is the config graph's own code.\n return pathAliases.some((pattern) => aliasCovers(pattern, specifier));\n}\n\n/**\n * True when `error` is native type stripping refusing TypeScript it cannot\n * strip (an `enum`, a `namespace`, a parameter property) or a `.ts` file under\n * `node_modules`. Both are raised while loading, before the graph runs.\n */\nexport function isUnsupportedTypeStrippingError(error: unknown): boolean {\n const code = (error as { code?: string })?.code;\n\n return (\n code === \"ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX\" ||\n code === \"ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING\"\n );\n}\n\n/**\n * True when a tsconfig `paths` pattern can produce `packageName` as the first\n * segment(s) of a specifier: `app/*` covers `app`, `@shared/*` covers\n * `@shared`, a catch-all `*` covers anything.\n */\nfunction aliasCovers(pattern: string, packageName: string): boolean {\n const star = pattern.indexOf(\"*\");\n const prefix = star === -1 ? pattern : pattern.slice(0, star);\n\n if (prefix === \"\") return true;\n\n return (\n prefix === packageName || prefix.startsWith(`${packageName}/`) || packageName.startsWith(prefix)\n );\n}\n\n/**\n * Warlock Config Manager\n *\n * Manages lazy loading of the pre-compiled warlock.config.js file\n * from the .warlock/cache directory.\n */\nexport class WarlockConfigManager {\n /**\n * Cached config instance\n */\n private config?: WarlockConfig;\n\n /**\n * Loading promise to prevent duplicate loads\n */\n private loading?: Promise<WarlockConfig | undefined>;\n\n /**\n * Load warlock.config.js (cached after first load)\n *\n * @returns The resolved Warlock configuration\n */\n public async load(): Promise<WarlockConfig | undefined> {\n // Already loaded\n if (this.config) {\n return this.config;\n }\n\n // Currently loading (prevent duplicate loads)\n if (this.loading) {\n return this.loading;\n }\n\n // Start loading\n this.loading = this.doLoad();\n this.config = await this.loading;\n this.loading = undefined;\n\n // Console, not the logger: this runs before any log channel exists.\n for (const warning of getDeprecatedConfigWarnings(this.config)) {\n console.warn(warning);\n }\n\n return this.config;\n }\n\n /**\n * Internal load implementation\n *\n * The ESM loader hook transpiles `warlock.config.ts` on import — no\n * separate compile-to-disk step is needed.\n */\n private async doLoad(): Promise<WarlockConfig | undefined> {\n const configPath = rootPath(\"warlock.config.ts\");\n\n if (!(await fileExistsAsync(configPath))) {\n // Written straight to the console, NOT through `@warlock.js/logger`.\n // This runs during CLI bootstrap, before `LoggerConnector.start()` has\n // configured a single channel, so a logger call here reaches nobody in\n // any application — the warning would be silently dropped exactly when\n // the user most needs it.\n console.warn(\n \"warlock.config.ts is missing — create it at the project root (see https://warlock.js.org/docs for the config reference)\",\n );\n return;\n }\n\n try {\n const configModule = await import(pathToFileURL(configPath).href);\n return configModule.default;\n } catch (error) {\n // `dev` registers a TS loader hook, and Node ≥ 22.18 / 23.6 strips types\n // natively — in both cases the direct import above works for a\n // self-contained config. But `build` / `start` register no hook, so on an\n // older Node the import throws ERR_UNKNOWN_FILE_EXTENSION; native\n // stripping cannot resolve extensionless or tsconfig-aliased local\n // imports, nor strip an `enum` or a parameter property. Bundle the\n // config's local graph with esbuild ourselves so config loading is\n // Node-version-independent.\n //\n // These errors are raised while resolving and loading the STATIC graph,\n // before any of it runs. An unresolved import reached later — a dynamic\n // `import()` while the config runs — is indistinguishable by code, so the\n // fallback is limited to the config's own relative and aliased imports.\n if (\n isUnknownTsExtensionError(error) ||\n isUnsupportedTypeStrippingError(error) ||\n isUnresolvedConfigImportError(error, configPathAliases(configPath))\n ) {\n return await this.loadViaEsbuild(configPath);\n }\n\n throw new ErrorWithCause(`Failed to load warlock.config.ts: ${error}`, { cause: error });\n }\n }\n\n /**\n * Fallback config loader for runtimes that cannot import the config as written.\n *\n * Bundles `warlock.config.ts` with its LOCAL import graph (relative imports,\n * extensionless TS imports, tsconfig `paths` aliases) through esbuild, keeping\n * every package external so `BaseConnector`, the container and other\n * registries keep the application's identity (see `bundleWarlockConfig`).\n * The bundle is written as a sibling `.mjs` — so its external imports resolve\n * from the project exactly as they would from the original config — imported\n * once, then removed whether it loaded or threw. An error thrown by the\n * user's config propagates unchanged.\n */\n private async loadViaEsbuild(configPath: string): Promise<WarlockConfig | undefined> {\n const code = await bundleWarlockConfig(configPath);\n\n // Unique sibling name so concurrent processes never clobber each other.\n const compiledPath = configPath.replace(\n /warlock\\.config\\.ts$/,\n `.warlock.config.${process.pid}.${Date.now()}.mjs`,\n );\n\n await writeFile(compiledPath, code, \"utf8\");\n\n try {\n const configModule = await import(pathToFileURL(compiledPath).href);\n return configModule.default;\n } catch (error) {\n throw nameOriginalConfig(error, compiledPath, configPath);\n } finally {\n await unlink(compiledPath).catch(() => {});\n }\n }\n\n /**\n * Get config value by key (dot notation supported)\n *\n * @example\n * config.get(\"server.port\") // Returns 3000\n * config.get(\"cli.commands\") // Returns array of commands\n *\n * @param key - Config key (supports dot notation), autocompletes for first level only\n * @returns The config value\n * @throws Error if config is not loaded\n */\n public get<Key extends keyof WarlockConfig>(\n key: Key,\n defaultValue?: WarlockConfig[Key],\n ): WarlockConfig[Key] {\n if (!this.config) {\n throw new Error(\"WarlockConfig not loaded. Call load() first or use lazyGet().\");\n }\n\n return get(this.config, key as string, defaultValue);\n }\n\n /**\n * Lazy get - loads config if not already loaded\n *\n * @example\n * const port = await config.lazyGet(\"server\");\n *\n * @param key - Config key (supports dot notation), autocompletes for first level only\n * @param defaultValue - Default value if config key is undefined\n * @returns The config value\n */\n async lazyGet<Key extends keyof WarlockConfig>(\n key: Key,\n defaultValue?: WarlockConfig[Key],\n ): Promise<WarlockConfig[Key]> {\n await this.load();\n return this.get(key, defaultValue);\n }\n\n /**\n * Check if config is loaded\n */\n public get isLoaded(): boolean {\n return this.config !== undefined;\n }\n\n /**\n * Get the entire config object\n *\n * @throws Error if config is not loaded\n */\n public getAll(): WarlockConfig {\n if (!this.config) {\n throw new Error(\"WarlockConfig not loaded. Call load() first or use lazyGet().\");\n }\n\n return this.config;\n }\n\n /**\n * Reload config (useful for HMR/development)\n */\n public async reload(): Promise<void> {\n this.config = undefined;\n this.loading = undefined;\n await this.load();\n }\n}\n\n/**\n * The tsconfig `paths` patterns of the project holding `configPath`.\n */\nfunction configPathAliases(configPath: string): string[] {\n try {\n return Object.keys(getTsconfig(path.dirname(configPath))?.config.compilerOptions?.paths ?? {});\n } catch {\n return [];\n }\n}\n\n/**\n * A loader error raised by the bundled config names the temporary `.mjs`\n * module. Rewrite it to name `warlock.config.ts`, keeping the original as the\n * cause. An error thrown by the user's own config is returned unchanged.\n */\nfunction nameOriginalConfig(error: unknown, compiledPath: string, configPath: string): unknown {\n const code = (error as { code?: string })?.code;\n\n if (typeof code !== \"string\" || !code.startsWith(\"ERR_\")) return error;\n\n const message = String((error as Error).message ?? error)\n .split(pathToFileURL(compiledPath).href)\n .join(pathToFileURL(configPath).href)\n .split(compiledPath)\n .join(configPath);\n\n const wrapped = new ErrorWithCause(`Failed to load warlock.config.ts: ${message}`, {\n cause: error,\n });\n\n (wrapped as Error & { code?: string }).code = code;\n\n return wrapped;\n}\n\n/**\n * Exported singleton instance\n *\n * @example\n * import { warlockConfig } from \"@warlock.js/core\";\n *\n * // Lazy load and get value\n * const port = await warlockConfig.lazyGet(\"server.port\");\n *\n * // Or load first, then get\n * await warlockConfig.load();\n * const commands = warlockConfig.get(\"cli.commands\");\n */\nexport const warlockConfigManager = new WarlockConfigManager();\n"],"mappings":"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"}
1
+ {"version":3,"file":"warlock-config.manager.mjs","names":[],"sources":["../../../../../../../../packages/core/src/warlock-config/warlock-config.manager.ts"],"sourcesContent":["import { fileExistsAsync } from \"@warlock.js/fs\";\nimport { get } from \"@mongez/reinforcements\";\nimport { getTsconfig } from \"get-tsconfig\";\nimport { unlink, writeFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"url\";\nimport { rootPath } from \"../utils\";\nimport { bundleWarlockConfig } from \"./bundle-config\";\nimport { type WarlockConfig } from \"./types\";\nimport { getDeprecatedConfigWarnings } from \"./warn-deprecated-config\";\n\n/**\n * `Error` with the ES2022 `cause` option, typed for packages still compiled\n * against an older lib (see `application.ts`).\n */\nconst ErrorWithCause = Error as new (message: string, options: { cause: unknown }) => Error;\n\n/**\n * True when `error` is Node's \"this runtime can't import a `.ts` file\" error.\n *\n * Node only executes TypeScript natively from v22.18 / v23.6 onward (earlier\n * 22.x needs `--experimental-strip-types`). On older runtimes a bare\n * `import(\"warlock.config.ts\")` throws `ERR_UNKNOWN_FILE_EXTENSION` — which is\n * the signal to fall back to transpiling the config ourselves.\n */\nexport function isUnknownTsExtensionError(error: unknown): boolean {\n return (\n (error as { code?: string })?.code === \"ERR_UNKNOWN_FILE_EXTENSION\" ||\n /Unknown file extension \"\\.tsx?\"/.test(String((error as Error)?.message))\n );\n}\n\n/**\n * True when `error` is Node failing to RESOLVE an import of the config's OWN\n * graph: an extensionless relative import (`./src/connectors/local`), a\n * directory import, or a tsconfig `paths` alias (`app/connectors`) — all of\n * which only a TypeScript toolchain resolves. Native type stripping\n * (Node ≥ 22.18) loads `warlock.config.ts` itself, then fails here.\n *\n * A package that is genuinely not installed is NOT a fallback case: the error\n * names a bare specifier that matches no `paths` pattern, and it is rethrown\n * as is. Neither is a missing module imported from inside `node_modules`.\n *\n * `pathAliases` are the tsconfig `paths` patterns (`app/*`). When the message\n * cannot be parsed the error is treated as a graph error, as before.\n */\nexport function isUnresolvedConfigImportError(\n error: unknown,\n pathAliases: readonly string[] = [],\n): boolean {\n const code = (error as { code?: string })?.code;\n\n if (code === \"ERR_UNSUPPORTED_DIR_IMPORT\") return true;\n if (code !== \"ERR_MODULE_NOT_FOUND\") return false;\n\n const message = String((error as Error)?.message ?? \"\");\n const match = /Cannot find (module|package) '([^']+)' imported from (.+)$/m.exec(message);\n\n if (!match) return true;\n\n const [, kind, specifier = \"\", importer = \"\"] = match;\n\n if (/[\\\\/]node_modules[\\\\/]/.test(importer)) return false;\n\n // An unresolved relative or absolute path: an extensionless TS import.\n if (kind === \"module\") return true;\n\n // A bare name: only a tsconfig alias is the config graph's own code.\n return pathAliases.some((pattern) => aliasCovers(pattern, specifier));\n}\n\n/**\n * True when `error` is native type stripping refusing TypeScript it cannot\n * strip (an `enum`, a `namespace`, a parameter property) or a `.ts` file under\n * `node_modules`. Both are raised while loading, before the graph runs.\n */\nexport function isUnsupportedTypeStrippingError(error: unknown): boolean {\n const code = (error as { code?: string })?.code;\n\n return (\n code === \"ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX\" ||\n code === \"ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING\"\n );\n}\n\n/**\n * True when a tsconfig `paths` pattern can produce `packageName` as the first\n * segment(s) of a specifier: `app/*` covers `app`, `@shared/*` covers\n * `@shared`, a catch-all `*` covers anything.\n */\nfunction aliasCovers(pattern: string, packageName: string): boolean {\n const star = pattern.indexOf(\"*\");\n const prefix = star === -1 ? pattern : pattern.slice(0, star);\n\n if (prefix === \"\") return true;\n\n return (\n prefix === packageName || prefix.startsWith(`${packageName}/`) || packageName.startsWith(prefix)\n );\n}\n\n/**\n * Warlock Config Manager\n *\n * Manages lazy loading of the pre-compiled warlock.config.js file\n * from the .warlock/cache directory.\n */\nexport class WarlockConfigManager {\n /**\n * Cached config instance\n */\n private config?: WarlockConfig;\n\n /**\n * Loading promise to prevent duplicate loads\n */\n private loading?: Promise<WarlockConfig | undefined>;\n\n /**\n * Load warlock.config.js (cached after first load)\n *\n * @returns The resolved Warlock configuration\n */\n public async load(): Promise<WarlockConfig | undefined> {\n // Already loaded\n if (this.config) {\n return this.config;\n }\n\n // Currently loading (prevent duplicate loads)\n if (this.loading) {\n return this.loading;\n }\n\n // Start loading\n this.loading = this.doLoad();\n this.config = await this.loading;\n this.loading = undefined;\n\n // Console, not the logger: this runs before any log channel exists.\n for (const warning of getDeprecatedConfigWarnings(this.config)) {\n console.warn(warning);\n }\n\n return this.config;\n }\n\n /**\n * Internal load implementation\n *\n * The ESM loader hook transpiles `warlock.config.ts` on import — no\n * separate compile-to-disk step is needed.\n */\n private async doLoad(): Promise<WarlockConfig | undefined> {\n const configPath = rootPath(\"warlock.config.ts\");\n\n if (!(await fileExistsAsync(configPath))) {\n // Written straight to the console, NOT through `@warlock.js/logger`.\n // This runs during CLI bootstrap, before `LoggerConnector.start()` has\n // configured a single channel, so a logger call here reaches nobody in\n // any application — the warning would be silently dropped exactly when\n // the user most needs it.\n console.warn(\n \"warlock.config.ts is missing — create it at the project root (see https://warlock.js.org/docs for the config reference)\",\n );\n return;\n }\n\n try {\n const configModule = await import(pathToFileURL(configPath).href);\n return configModule.default;\n } catch (error) {\n // `dev` registers a TS loader hook, and Node ≥ 22.18 / 23.6 strips types\n // natively — in both cases the direct import above works for a\n // self-contained config. But `build` / `start` register no hook, so on an\n // older Node the import throws ERR_UNKNOWN_FILE_EXTENSION; native\n // stripping cannot resolve extensionless or tsconfig-aliased local\n // imports, nor strip an `enum` or a parameter property. Bundle the\n // config's local graph with esbuild ourselves so config loading is\n // Node-version-independent.\n //\n // These errors are raised while resolving and loading the STATIC graph,\n // before any of it runs. An unresolved import reached later — a dynamic\n // `import()` while the config runs — is indistinguishable by code, so the\n // fallback is limited to the config's own relative and aliased imports.\n if (\n isUnknownTsExtensionError(error) ||\n isUnsupportedTypeStrippingError(error) ||\n isUnresolvedConfigImportError(error, configPathAliases(configPath))\n ) {\n return await this.loadViaEsbuild(configPath);\n }\n\n throw new ErrorWithCause(`Failed to load warlock.config.ts: ${error}`, { cause: error });\n }\n }\n\n /**\n * Fallback config loader for runtimes that cannot import the config as written.\n *\n * Bundles `warlock.config.ts` with its LOCAL import graph (relative imports,\n * extensionless TS imports, tsconfig `paths` aliases) through esbuild, keeping\n * every package external so `BaseConnector`, the container and other\n * registries keep the application's identity (see `bundleWarlockConfig`).\n * The bundle is written as a sibling `.mjs` — so its external imports resolve\n * from the project exactly as they would from the original config — imported\n * once, then removed whether it loaded or threw. An error thrown by the\n * user's config propagates unchanged.\n */\n private async loadViaEsbuild(configPath: string): Promise<WarlockConfig | undefined> {\n const code = await bundleWarlockConfig(configPath);\n\n // Unique sibling name so concurrent processes never clobber each other.\n const compiledPath = configPath.replace(\n /warlock\\.config\\.ts$/,\n `.warlock.config.${process.pid}.${Date.now()}.mjs`,\n );\n\n await writeFile(compiledPath, code, \"utf8\");\n\n try {\n const configModule = await import(pathToFileURL(compiledPath).href);\n return configModule.default;\n } catch (error) {\n throw nameOriginalConfig(error, compiledPath, configPath);\n } finally {\n await unlink(compiledPath).catch(() => {});\n }\n }\n\n /**\n * Get config value by key (dot notation supported)\n *\n * @example\n * config.get(\"server.port\") // Returns 3000\n * config.get(\"cli.commands\") // Returns array of commands\n *\n * @param key - Config key (supports dot notation), autocompletes for first level only\n * @returns The config value\n * @throws Error if config is not loaded\n */\n public get<Key extends keyof WarlockConfig>(\n key: Key,\n defaultValue?: WarlockConfig[Key],\n ): WarlockConfig[Key] {\n if (!this.config) {\n throw new Error(\"WarlockConfig not loaded. Call load() first or use lazyGet().\");\n }\n\n return get(this.config, key as string, defaultValue);\n }\n\n /**\n * Lazy get - loads config if not already loaded\n *\n * @example\n * const port = await config.lazyGet(\"server\");\n *\n * @param key - Config key (supports dot notation), autocompletes for first level only\n * @param defaultValue - Default value if config key is undefined\n * @returns The config value\n */\n async lazyGet<Key extends keyof WarlockConfig>(\n key: Key,\n defaultValue?: WarlockConfig[Key],\n ): Promise<WarlockConfig[Key]> {\n await this.load();\n return this.get(key, defaultValue);\n }\n\n /**\n * Check if config is loaded\n */\n public get isLoaded(): boolean {\n return this.config !== undefined;\n }\n\n /**\n * Get the entire config object\n *\n * @throws Error if config is not loaded\n */\n public getAll(): WarlockConfig {\n if (!this.config) {\n throw new Error(\"WarlockConfig not loaded. Call load() first or use lazyGet().\");\n }\n\n return this.config;\n }\n\n /**\n * Reload config (useful for HMR/development)\n */\n public async reload(): Promise<void> {\n this.config = undefined;\n this.loading = undefined;\n await this.load();\n }\n}\n\n/**\n * The tsconfig `paths` patterns of the project holding `configPath`.\n */\nfunction configPathAliases(configPath: string): string[] {\n try {\n return Object.keys(getTsconfig(path.dirname(configPath))?.config.compilerOptions?.paths ?? {});\n } catch {\n return [];\n }\n}\n\n/**\n * A loader error raised by the bundled config names the temporary `.mjs`\n * module. Rewrite it to name `warlock.config.ts`, keeping the original as the\n * cause. An error thrown by the user's own config is returned unchanged.\n */\nfunction nameOriginalConfig(error: unknown, compiledPath: string, configPath: string): unknown {\n const code = (error as { code?: string })?.code;\n\n if (typeof code !== \"string\" || !code.startsWith(\"ERR_\")) return error;\n\n const message = String((error as Error).message ?? error)\n .split(pathToFileURL(compiledPath).href)\n .join(pathToFileURL(configPath).href)\n .split(compiledPath)\n .join(configPath);\n\n const wrapped = new ErrorWithCause(`Failed to load warlock.config.ts: ${message}`, {\n cause: error,\n });\n\n (wrapped as Error & { code?: string }).code = code;\n\n return wrapped;\n}\n\n/**\n * Exported singleton instance\n *\n * @example\n * import { warlockConfig } from \"@warlock.js/core\";\n *\n * // Lazy load and get value\n * const port = await warlockConfig.lazyGet(\"server.port\");\n *\n * // Or load first, then get\n * await warlockConfig.load();\n * const commands = warlockConfig.get(\"cli.commands\");\n */\nexport const warlockConfigManager = new WarlockConfigManager();\n"],"mappings":"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"}
@@ -21,5 +21,5 @@ function getDeprecatedConfigWarnings(config) {
21
21
  }
22
22
 
23
23
  //#endregion
24
- export { getDeprecatedConfigWarnings };
24
+ export { deprecatedConfigKeys, getDeprecatedConfigWarnings };
25
25
  //# sourceMappingURL=warn-deprecated-config.mjs.map
package/llms-full.txt CHANGED
@@ -1877,6 +1877,13 @@ await warmupProductCache();
1877
1877
  - The `write-seeder` topic — populating the generated `seeds/` folder.
1878
1878
  - The `use-localization` topic — populating the generated `utils/locales.ts`.
1879
1879
 
1880
+ ## Verify generated imports
1881
+
1882
+ Generated web starter files match the scaffold’s Prettier configuration, using
1883
+ `@ianvs/prettier-plugin-sort-imports` with Babel independently of TypeScript 7.
1884
+ After editing generated code, run `npm run format` and `npm run lint:check`.
1885
+ Formatting retains unused imports; the linter reports them.
1886
+
1880
1887
 
1881
1888
  ## define-resource `@warlock.js/core/define-resource/SKILL.md`
1882
1889
 
@@ -5022,11 +5029,12 @@ diagnostics keep their specific message. Command failure messages contain a
5022
5029
  bounded status/output summary, without the batch command line. Shutdown gives
5023
5030
  workers up to 500 ms to exit and reap owned CLI children before forcing termination.
5024
5031
 
5025
- Source TypeScript health workers use the framework's JavaScript/tsx bootstrap on
5026
- Node.js 22.15; published JavaScript workers start directly. Framework regression
5027
- tests cover that bootstrap and a built `.mjs` worker with no inherited loader
5028
- hooks. Both paths check configured declaration roots, source updates and deleted
5029
- declarations under the supported minimum runtime.
5032
+ Source TypeScript health workers use the framework's JavaScript bootstrap to
5033
+ register tsx inside each worker on Node.js 22.15 and Node.js 24. Registration
5034
+ remains active for later TypeScript imports and lets native dependencies load
5035
+ Node builtins through `createRequire`. Published JavaScript workers start
5036
+ directly. Regression tests cover both paths without inherited loader hooks,
5037
+ including configured declaration roots, source updates and deleted declarations.
5030
5038
 
5031
5039
 
5032
5040
  ## send-mail `@warlock.js/core/send-mail/SKILL.md`
@@ -7945,6 +7953,12 @@ instead of a plain `ProviderError`; update exhaustive `AIErrorCode` switches and
7945
7953
  custom `fallbackModel({ retryOn })` lists. Bedrock calls with a `cacheControl`
7946
7954
  breakpoint now also cache the system prompt and (Claude) tool definitions.
7947
7955
 
7956
+ ## 5.31 to 5.32 notifications with the herald queue
7957
+
7958
+ Apps that call `.queue()` with `heraldQueue()` must now install `@warlock.js/herald` themselves (it became an
7959
+ optional peer of `@warlock.js/notifications`; 5.31.0 bundled a private copy of it). Install it at the same version
7960
+ as the rest of the family.
7961
+
7948
7962
  ## Verify the application paths that changed
7949
7963
 
7950
7964
  Run the app's type check, its logger channel tests, any tools with ordered side
@@ -7975,6 +7989,41 @@ It also writes `.warlock/dev-server.json` (the server's address, for
7975
7989
  `warlock trace` and `warlock mcp`); `.warlock/` is already git-ignored by the
7976
7990
  starter. See the `warlock-agents-md` topic.
7977
7991
 
7992
+ ## 5.31 to 5.32 TypeScript 7
7993
+
7994
+ With the default Oxlint/Oxfmt toolchain, pin the app's development dependency to
7995
+ `typescript@7.0.2`. The regular `tsc`
7996
+ command is now the native Go compiler; no native-preview package is needed.
7997
+ Remove `baseUrl` from every app tsconfig and resolve each `paths` target relative
7998
+ to the config. For example, `baseUrl: "src"` with `"app/*": ["app/*"]` becomes
7999
+ `"app/*": ["./src/app/*"]`. Replace `moduleResolution: "node"` / `"node10"` with
8000
+ `"bundler"` and use `module: "ESNext"` for Warlock's build pipeline. Explicitly
8001
+ include Node ambient types with `"types": ["node"]`; set `rootDir` if sources
8002
+ sit outside the config folder. Keep strict checking enabled.
8003
+
8004
+ ```bash
8005
+ npm install --save-dev --save-exact typescript@7.0.2
8006
+ npx tsc --noEmit
8007
+ npx warlock typecheck
8008
+ npx warlock typecheck --changed
8009
+ ```
8010
+
8011
+ The CLI preserves incremental state and changed-file filtering. Development
8012
+ health checks keep one native compiler session and update its snapshots. Syntax
8013
+ analysis uses OXC. `warlock upgrade` still parses/transforms with ts-morph's own
8014
+ bundled TypeScript, without using it as the app's compiler. New scaffolds default
8015
+ to Oxlint/Oxfmt (`--lint=oxc`). Explicit `--lint=eslint` pins the app's compiler to
8016
+ TypeScript **6.0.3** because typescript-eslint requires the old JavaScript API
8017
+ and supports `>=4.8.4 <6.1.0`. Keep ESLint apps on 6.0.3 until switching tools:
8018
+
8019
+ ```bash
8020
+ npm install --save-dev --save-exact typescript@6.0.3
8021
+ npx tsc --noEmit
8022
+ ```
8023
+
8024
+ The same tsconfig cleanups work with TS6. ESLint mode prints a compatibility
8025
+ notice and is planned for deprecation in 5.33 and removal in 5.34.
8026
+
7978
8027
 
7979
8028
  ## upload-file `@warlock.js/core/upload-file/SKILL.md`
7980
8029
 
@@ -10794,6 +10843,7 @@ const types = runTypecheck({ files: ["src/app/posts/services/publish.service.ts"
10794
10843
 
10795
10844
  ## See also
10796
10845
 
10846
+ - `report-framework-issue.md` — confirm a framework bug or missing capability, collect `warlock issue` output, and get the user's approval before filing.
10797
10847
  - The `warlock-doctor` topic — boot-time diagnostics; `doctor --json` uses the same codes and fields.
10798
10848
  - The `warlock-inspect` topic — the app's routes, models and config as JSON.
10799
10849
  - The `warlock-conventions` topic — the rules behind `WL9001`–`WL9012`, with the fix for each.
package/package.json CHANGED
@@ -25,17 +25,17 @@
25
25
  "@mongez/slug": "^1.0.7",
26
26
  "@mongez/supportive-is": "^3.0.0",
27
27
  "@mongez/time-wizard": "^1.0.6",
28
- "@warlock.js/cache": "5.31.0",
29
- "@warlock.js/cascade": "5.31.0",
30
- "@warlock.js/context": "5.31.0",
31
- "@warlock.js/fs": "5.31.0",
32
- "@warlock.js/logger": "5.31.0",
33
- "@warlock.js/seal": "5.31.0",
28
+ "@warlock.js/cache": "5.32.0",
29
+ "@warlock.js/cascade": "5.32.0",
30
+ "@warlock.js/context": "5.32.0",
31
+ "@warlock.js/fs": "5.32.0",
32
+ "@warlock.js/logger": "5.32.0",
33
+ "@warlock.js/seal": "5.32.0",
34
34
  "bcryptjs": "^3.0.3",
35
35
  "chokidar": "^5.0.0",
36
36
  "dayjs": "^1.11.19",
37
37
  "es-module-lexer": "^2.0.0",
38
- "esbuild": "^0.27.2",
38
+ "esbuild": "^0.28.2",
39
39
  "eslint": "^9.18.0",
40
40
  "fast-glob": "^3.3.3",
41
41
  "fastify": "^5.12.5",
@@ -43,9 +43,11 @@
43
43
  "get-tsconfig": "^5.0.0-beta.5",
44
44
  "glob": "^13.0.6",
45
45
  "import-meta-resolve": "^4.2.0",
46
+ "jsonc-parser": "3.3.1",
46
47
  "mime": "^4.1.0",
48
+ "oxc-parser": "0.154.0",
47
49
  "pluralize-esm": "^9.0.5",
48
- "typescript": "^5.7.3"
50
+ "typescript": "7.0.2"
49
51
  },
50
52
  "peerDependencies": {
51
53
  "@aws-sdk/client-s3": "^3.955.0",
@@ -53,12 +55,12 @@
53
55
  "@aws-sdk/lib-storage": "^3.955.0",
54
56
  "@aws-sdk/s3-request-presigner": "^3.955.0",
55
57
  "@react-email/render": "^2.0.5",
56
- "@warlock.js/access": "5.31.0",
57
- "@warlock.js/ai": "5.31.0",
58
- "@warlock.js/ai-tools": "5.31.0",
59
- "@warlock.js/devtools": "5.31.0",
60
- "@warlock.js/herald": "5.31.0",
61
- "@warlock.js/notifications": "5.31.0",
58
+ "@warlock.js/access": "5.32.0",
59
+ "@warlock.js/ai": "5.32.0",
60
+ "@warlock.js/ai-tools": "5.32.0",
61
+ "@warlock.js/devtools": "5.32.0",
62
+ "@warlock.js/herald": "5.32.0",
63
+ "@warlock.js/notifications": "5.32.0",
62
64
  "nodemailer": "^8.0.5",
63
65
  "react": "^19.2.3",
64
66
  "react-dom": "^19.2.3",
@@ -140,7 +142,7 @@
140
142
  "engines": {
141
143
  "node": ">=22.15"
142
144
  },
143
- "version": "5.31.0",
145
+ "version": "5.32.0",
144
146
  "type": "module",
145
147
  "main": "./esm/index.mjs",
146
148
  "module": "./esm/index.mjs",
@@ -188,3 +188,10 @@ await warmupProductCache();
188
188
  - The `validate-input` topic — wiring `schema/*.schema.ts` to controllers.
189
189
  - The `write-seeder` topic — populating the generated `seeds/` folder.
190
190
  - The `use-localization` topic — populating the generated `utils/locales.ts`.
191
+
192
+ ## Verify generated imports
193
+
194
+ Generated web starter files match the scaffold’s Prettier configuration, using
195
+ `@ianvs/prettier-plugin-sort-imports` with Babel independently of TypeScript 7.
196
+ After editing generated code, run `npm run format` and `npm run lint:check`.
197
+ Formatting retains unused imports; the linter reports them.
package/skills/index.md CHANGED
@@ -14,6 +14,8 @@ Core is the application runtime: it boots the app, auto-loads each module's spec
14
14
  4. Return via `response.*` (`send-response.md`) and shape output with a resource (`define-resource.md`); declare `responseSchema` for typed clients and docs (`create-controller.md`, `generate-openapi.md`).
15
15
  5. Configure and run (`configure-app.md`, `run-app.md`); check setup with `warlock-doctor.md`, read the app with `warlock-inspect.md` (or serve it to an agent with `warlock-mcp.md`), verify a change with `warlock-check.md`, and a request's runtime behaviour with `warlock-trace.md`.
16
16
 
17
+ When the framework is wrong or missing a capability, follow `report-framework-issue.md` to prepare a public report and ask the user before filing.
18
+
17
19
  ## Topics by area
18
20
 
19
21
  - **Foundations:** warlock-conventions, create-module, make-endpoint, configure-app, use-app-context, resolve-path, build-url, update-packages, lower-stage3-decorators
@@ -0,0 +1,154 @@
1
+ # Report a Warlock.js framework issue
2
+
3
+ Use this topic when behavior contradicts the installed version's docs or skills,
4
+ a crash originates inside `@warlock.js/*`, or a needed framework capability is
5
+ missing. Framework reports belong at <https://github.com/warlockjs/framework>.
6
+
7
+ ## Confirm and search first
8
+
9
+ 1. Reduce the problem to a minimal reproduction in a clean, generic app. Isolate
10
+ application logic, third-party packages and configuration mistakes; a stack
11
+ frame in the framework alone does not prove a framework bug.
12
+ 2. Read the **installed version's** package `CHANGELOG.md` and skills. Confirm
13
+ that the documented API exists in that version and check whether a later
14
+ release already addresses it. For a feature, describe the missing capability
15
+ and why the documented APIs or an app-level workaround are insufficient.
16
+ 3. Run `warlock doctor --json` (see `warlock-doctor.md`). Fix app/environment
17
+ findings first. If boot fails, retain only the sanitized failure; `warlock
18
+ issue` itself does not boot the app.
19
+ 4. Search existing reports, including closed issues, using distinctive public
20
+ terms. If a matching issue exists, show its link and help draft a useful
21
+ follow-up instead of opening a duplicate. Ask before posting that follow-up.
22
+
23
+ ```bash
24
+ gh issue list -R warlockjs/framework --state all --search "public error or capability"
25
+ ```
26
+
27
+ Without GitHub CLI, use
28
+ <https://github.com/warlockjs/framework/issues?q=is%3Aissue> and enter those terms.
29
+
30
+ ## Collect and protect
31
+
32
+ ```bash
33
+ warlock issue --type bug --title "Public description of the failure"
34
+ warlock issue --type feature --title "Public description of the capability" --json
35
+ ```
36
+
37
+ Collect affected package names and **installed versions**, Node and package
38
+ manager versions, OS/architecture, TypeScript version, the reviewed `warlock
39
+ issue` environment output, a minimal reproduction with exact steps, expected
40
+ versus actual behavior, and relevant sanitized logs / `warlock doctor --json`
41
+ output. If a tool cannot run or there are no relevant logs, explain why.
42
+
43
+ **Never paste secrets, tokens, `.env` contents, customer data, proprietary code or
44
+ private app names** into titles, bodies, logs, screenshots, repro repositories,
45
+ search queries or URLs. Replace the original app with a minimal generic repro.
46
+ Review even generated environment output and stack traces; remove local paths,
47
+ hostnames and identifying details. The command reads installed package metadata
48
+ and a static config summary; it never reads `.env` or executes the app/config.
49
+ Do not attach the app's full config or diagnostic report without sanitizing it.
50
+
51
+ ## Draft and get consent
52
+
53
+ Choose one template below, replace every prompt with concrete evidence, and
54
+ write the sanitized body to a local UTF-8 file such as `framework-issue.md`.
55
+ **Always show the complete drafted title and body to the user and explicitly ask
56
+ before filing.** Generating a draft or URL is not consent to publish. If the user
57
+ requests edits, show the revised draft and obtain approval for that version.
58
+
59
+ ### Bug body
60
+
61
+ ```markdown
62
+ ### Summary
63
+
64
+ Public description of the framework failure and affected packages.
65
+
66
+ ### Environment / warlock issue output
67
+
68
+ Reviewed environment output: installed @warlock.js package versions, Node,
69
+ package manager + version, OS/arch, TypeScript, static config summary.
70
+
71
+ ### Minimal reproduction
72
+
73
+ Public minimal code or repro link, setup commands and exact steps.
74
+
75
+ ### Expected behavior
76
+
77
+ What should happen, with the installed version's docs/skills reference.
78
+
79
+ ### Actual / current behavior
80
+
81
+ What happens instead, including the error and impact.
82
+
83
+ ### Sanitized logs / doctor output
84
+
85
+ Relevant logs and warlock doctor --json, or why unavailable / not applicable.
86
+
87
+ ### Checks
88
+
89
+ - [ ] Searched existing issues and checked installed-version CHANGELOG and skills.
90
+ - [ ] Removed secrets, tokens, .env, customer data, proprietary code and private app names.
91
+ - [ ] User reviewed this complete draft and approved filing.
92
+ ```
93
+
94
+ ### Feature request body
95
+
96
+ ```markdown
97
+ ### Problem / use case
98
+
99
+ Public description of the missing framework capability and affected packages.
100
+
101
+ ### Environment / warlock issue output
102
+
103
+ Reviewed environment output: installed @warlock.js package versions, Node,
104
+ package manager + version, OS/arch, TypeScript, static config summary.
105
+
106
+ ### Minimal reproduction
107
+
108
+ Minimal public example of the capability that cannot currently be expressed.
109
+
110
+ ### Proposed behavior
111
+
112
+ Desired API/behavior, with an example and why it belongs in the framework.
113
+
114
+ ### Actual / current behavior
115
+
116
+ Current limitation and relevant installed-version docs/skills.
117
+
118
+ ### Alternatives considered
119
+
120
+ Existing APIs, app-level workarounds and their limitations.
121
+
122
+ ### Sanitized logs / doctor output
123
+
124
+ Relevant logs and warlock doctor --json, or why unavailable / not applicable.
125
+
126
+ ### Checks
127
+
128
+ - [ ] Searched existing issues and checked installed-version CHANGELOG and skills.
129
+ - [ ] Removed secrets, tokens, .env, customer data, proprietary code and private app names.
130
+ - [ ] User reviewed this complete draft and approved filing.
131
+ ```
132
+
133
+ Only check a box after completing that step, including obtaining consent.
134
+
135
+ ## File the approved draft
136
+
137
+ Check `gh --version` and `gh auth status --hostname github.com`. If GitHub CLI is
138
+ available and authenticated, **after approval** run:
139
+
140
+ ```bash
141
+ gh issue create -R warlockjs/framework --title "Approved public title" --body-file framework-issue.md
142
+ ```
143
+
144
+ Return the created issue's link. If GitHub CLI is unavailable or unauthenticated,
145
+ give the user the pre-filled new-issue URL printed by `warlock issue` together
146
+ with the approved body. The URL selects `bug.yml` or `feature.yml` and prefills
147
+ the environment field; the user must complete the remaining form fields. URLs
148
+ are capped at 7,500 characters and may include a truncation note: restore the
149
+ remaining reviewed output manually. Never claim the issue was filed from merely
150
+ printing or opening a URL. `warlock issue` never sends anything itself.
151
+
152
+ GitHub CLI flags: [list](https://cli.github.com/manual/gh_issue_list),
153
+ [create](https://cli.github.com/manual/gh_issue_create),
154
+ [authentication](https://cli.github.com/manual/gh_auth_status).
@@ -599,8 +599,9 @@ diagnostics keep their specific message. Command failure messages contain a
599
599
  bounded status/output summary, without the batch command line. Shutdown gives
600
600
  workers up to 500 ms to exit and reap owned CLI children before forcing termination.
601
601
 
602
- Source TypeScript health workers use the framework's JavaScript/tsx bootstrap on
603
- Node.js 22.15; published JavaScript workers start directly. Framework regression
604
- tests cover that bootstrap and a built `.mjs` worker with no inherited loader
605
- hooks. Both paths check configured declaration roots, source updates and deleted
606
- declarations under the supported minimum runtime.
602
+ Source TypeScript health workers use the framework's JavaScript bootstrap to
603
+ register tsx inside each worker on Node.js 22.15 and Node.js 24. Registration
604
+ remains active for later TypeScript imports and lets native dependencies load
605
+ Node builtins through `createRequire`. Published JavaScript workers start
606
+ directly. Regression tests cover both paths without inherited loader hooks,
607
+ including configured declaration roots, source updates and deleted declarations.
@@ -382,6 +382,12 @@ instead of a plain `ProviderError`; update exhaustive `AIErrorCode` switches and
382
382
  custom `fallbackModel({ retryOn })` lists. Bedrock calls with a `cacheControl`
383
383
  breakpoint now also cache the system prompt and (Claude) tool definitions.
384
384
 
385
+ ## 5.31 to 5.32 notifications with the herald queue
386
+
387
+ Apps that call `.queue()` with `heraldQueue()` must now install `@warlock.js/herald` themselves (it became an
388
+ optional peer of `@warlock.js/notifications`; 5.31.0 bundled a private copy of it). Install it at the same version
389
+ as the rest of the family.
390
+
385
391
  ## Verify the application paths that changed
386
392
 
387
393
  Run the app's type check, its logger channel tests, any tools with ordered side
@@ -411,3 +417,38 @@ export default defineConfig({
411
417
  It also writes `.warlock/dev-server.json` (the server's address, for
412
418
  `warlock trace` and `warlock mcp`); `.warlock/` is already git-ignored by the
413
419
  starter. See the `warlock-agents-md` topic.
420
+
421
+ ## 5.31 to 5.32 TypeScript 7
422
+
423
+ With the default Oxlint/Oxfmt toolchain, pin the app's development dependency to
424
+ `typescript@7.0.2`. The regular `tsc`
425
+ command is now the native Go compiler; no native-preview package is needed.
426
+ Remove `baseUrl` from every app tsconfig and resolve each `paths` target relative
427
+ to the config. For example, `baseUrl: "src"` with `"app/*": ["app/*"]` becomes
428
+ `"app/*": ["./src/app/*"]`. Replace `moduleResolution: "node"` / `"node10"` with
429
+ `"bundler"` and use `module: "ESNext"` for Warlock's build pipeline. Explicitly
430
+ include Node ambient types with `"types": ["node"]`; set `rootDir` if sources
431
+ sit outside the config folder. Keep strict checking enabled.
432
+
433
+ ```bash
434
+ npm install --save-dev --save-exact typescript@7.0.2
435
+ npx tsc --noEmit
436
+ npx warlock typecheck
437
+ npx warlock typecheck --changed
438
+ ```
439
+
440
+ The CLI preserves incremental state and changed-file filtering. Development
441
+ health checks keep one native compiler session and update its snapshots. Syntax
442
+ analysis uses OXC. `warlock upgrade` still parses/transforms with ts-morph's own
443
+ bundled TypeScript, without using it as the app's compiler. New scaffolds default
444
+ to Oxlint/Oxfmt (`--lint=oxc`). Explicit `--lint=eslint` pins the app's compiler to
445
+ TypeScript **6.0.3** because typescript-eslint requires the old JavaScript API
446
+ and supports `>=4.8.4 <6.1.0`. Keep ESLint apps on 6.0.3 until switching tools:
447
+
448
+ ```bash
449
+ npm install --save-dev --save-exact typescript@6.0.3
450
+ npx tsc --noEmit
451
+ ```
452
+
453
+ The same tsconfig cleanups work with TS6. ESLint mode prints a compatibility
454
+ notice and is planned for deprecation in 5.33 and removal in 5.34.
@@ -127,6 +127,7 @@ const types = runTypecheck({ files: ["src/app/posts/services/publish.service.ts"
127
127
 
128
128
  ## See also
129
129
 
130
+ - `report-framework-issue.md` — confirm a framework bug or missing capability, collect `warlock issue` output, and get the user's approval before filing.
130
131
  - The `warlock-doctor` topic — boot-time diagnostics; `doctor --json` uses the same codes and fields.
131
132
  - The `warlock-inspect` topic — the app's routes, models and config as JSON.
132
133
  - The `warlock-conventions` topic — the rules behind `WL9001`–`WL9012`, with the fix for each.
@@ -1,8 +0,0 @@
1
- import { GitResult, GitRunner, listChangedFiles, runGit } from "./changed-files.mjs";
2
- import { CHECK_EXIT_CODES, CHECK_STEPS, CheckExitCode, CheckReport, CheckStep, CheckStepName, CheckStepStatus, checkExitCode } from "./check-report.types.mjs";
3
- import { checkFileConventions, checkTsconfigConventions, isAutoLoadedFile, runConventions } from "./conventions-step.mjs";
4
- import { MIN_NODE_VERSION, checkNodeVersion } from "./environment-step.mjs";
5
- import { LintOutcome, runLint } from "./lint-step.mjs";
6
- import { VitestRun, VitestRunner, findVitest, parseVitestReport, runVitest } from "./tests-step.mjs";
7
- import { CheckOptions, TypecheckRunner, runCheck } from "./run-check.mjs";
8
- import { RunTestsOptions, TestRunReport, runTests, testRunArguments } from "./run-tests.mjs";
@@ -1 +0,0 @@
1
- import { DEFAULT_TYPECHECK_BUILD_INFO, TypecheckOptions, TypecheckResult, diagnosticToProblem, directImporters, runTypecheck } from "./run-typecheck.mjs";