@warlock.js/core 5.19.1 → 5.21.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 (378) hide show
  1. package/CHANGELOG.md +1136 -1073
  2. package/esm/benchmark/benchmark.mjs +34 -25
  3. package/esm/benchmark/benchmark.mjs.map +1 -1
  4. package/esm/benchmark/profiler.d.mts.map +1 -1
  5. package/esm/benchmark/profiler.mjs +8 -3
  6. package/esm/benchmark/profiler.mjs.map +1 -1
  7. package/esm/bootstrap.d.mts.map +1 -1
  8. package/esm/bootstrap.mjs +3 -0
  9. package/esm/bootstrap.mjs.map +1 -1
  10. package/esm/cache/database-cache-driver.d.mts +2 -2
  11. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  12. package/esm/cache/database-cache-driver.mjs +3 -2
  13. package/esm/cache/database-cache-driver.mjs.map +1 -1
  14. package/esm/cli/cli-commands.manager.mjs +16 -14
  15. package/esm/cli/cli-commands.manager.mjs.map +1 -1
  16. package/esm/cli/commands/add.command.mjs +1 -1
  17. package/esm/cli/commands/add.command.mjs.map +1 -1
  18. package/esm/cli/commands/doctor/checks/optional-peers.check.mjs +3 -2
  19. package/esm/cli/commands/doctor/checks/optional-peers.check.mjs.map +1 -1
  20. package/esm/cli/commands/generate/generate.command.mjs +20 -0
  21. package/esm/cli/commands/generate/generate.command.mjs.map +1 -1
  22. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +4 -2
  23. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +1 -1
  24. package/esm/cli/commands/generate/generators/controller.generator.mjs +1 -1
  25. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -1
  26. package/esm/cli/commands/generate/generators/migration.generator.mjs +22 -6
  27. package/esm/cli/commands/generate/generators/migration.generator.mjs.map +1 -1
  28. package/esm/cli/commands/generate/generators/model.generator.mjs +22 -7
  29. package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -1
  30. package/esm/cli/commands/generate/generators/module.generator.mjs +8 -6
  31. package/esm/cli/commands/generate/generators/module.generator.mjs.map +1 -1
  32. package/esm/cli/commands/generate/generators/repository.generator.mjs +1 -1
  33. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -1
  34. package/esm/cli/commands/generate/generators/resource.generator.mjs +1 -1
  35. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -1
  36. package/esm/cli/commands/generate/generators/service.generator.mjs +1 -1
  37. package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -1
  38. package/esm/cli/commands/generate/templates/stubs.mjs +7 -7
  39. package/esm/cli/commands/generate/templates/stubs.mjs.map +1 -1
  40. package/esm/cli/commands/generate/utils/writer.mjs +25 -1
  41. package/esm/cli/commands/generate/utils/writer.mjs.map +1 -1
  42. package/esm/cli/commands/routes/routes-command.action.mjs +5 -1
  43. package/esm/cli/commands/routes/routes-command.action.mjs.map +1 -1
  44. package/esm/cli/commands/routes/with-console-on-stderr.mjs +24 -0
  45. package/esm/cli/commands/routes/with-console-on-stderr.mjs.map +1 -0
  46. package/esm/cli/commands/routes.command.mjs +3 -4
  47. package/esm/cli/commands/routes.command.mjs.map +1 -1
  48. package/esm/cli/commands/start-production.command.mjs +5 -5
  49. package/esm/cli/commands/start-production.command.mjs.map +1 -1
  50. package/esm/cli/commands/storage-put.action.mjs +2 -1
  51. package/esm/cli/commands/storage-put.action.mjs.map +1 -1
  52. package/esm/cli/commands/update.command.mjs +1 -0
  53. package/esm/cli/commands/update.command.mjs.map +1 -1
  54. package/esm/cli/parse-cli-args.mjs +13 -1
  55. package/esm/cli/parse-cli-args.mjs.map +1 -1
  56. package/esm/commands/cli-command.d.mts.map +1 -1
  57. package/esm/commands/cli-command.mjs +4 -2
  58. package/esm/commands/cli-command.mjs.map +1 -1
  59. package/esm/commands/index.mjs +3 -0
  60. package/esm/config/config-key-from-path.mjs +20 -0
  61. package/esm/config/config-key-from-path.mjs.map +1 -0
  62. package/esm/config/config-loader.d.mts.map +1 -1
  63. package/esm/config/config-loader.mjs +2 -3
  64. package/esm/config/config-loader.mjs.map +1 -1
  65. package/esm/connectors/cache-connector.d.mts.map +1 -1
  66. package/esm/connectors/cache-connector.mjs +5 -0
  67. package/esm/connectors/cache-connector.mjs.map +1 -1
  68. package/esm/connectors/connectors-manager.d.mts +4 -0
  69. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  70. package/esm/connectors/connectors-manager.mjs +30 -2
  71. package/esm/connectors/connectors-manager.mjs.map +1 -1
  72. package/esm/connectors/single-server-warnings.mjs +33 -0
  73. package/esm/connectors/single-server-warnings.mjs.map +1 -0
  74. package/esm/connectors/socket-connector.d.mts +29 -0
  75. package/esm/connectors/socket-connector.d.mts.map +1 -1
  76. package/esm/connectors/socket-connector.mjs +77 -9
  77. package/esm/connectors/socket-connector.mjs.map +1 -1
  78. package/esm/connectors/storage.connector.d.mts.map +1 -1
  79. package/esm/connectors/storage.connector.mjs +6 -0
  80. package/esm/connectors/storage.connector.mjs.map +1 -1
  81. package/esm/connectors/types.d.mts +4 -2
  82. package/esm/connectors/types.d.mts.map +1 -1
  83. package/esm/connectors/types.mjs.map +1 -1
  84. package/esm/database/models/database-log/database-log.d.mts +47 -24
  85. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  86. package/esm/database/models/database-log/database-log.mjs +36 -4
  87. package/esm/database/models/database-log/database-log.mjs.map +1 -1
  88. package/esm/database/seed-command-action.mjs +10 -2
  89. package/esm/database/seed-command-action.mjs.map +1 -1
  90. package/esm/dev-server/development-server.mjs +15 -4
  91. package/esm/dev-server/development-server.mjs.map +1 -1
  92. package/esm/dev-server/file-event-handler.mjs +26 -6
  93. package/esm/dev-server/file-event-handler.mjs.map +1 -1
  94. package/esm/dev-server/file-manager.d.mts.map +1 -1
  95. package/esm/dev-server/file-manager.mjs +2 -2
  96. package/esm/dev-server/file-manager.mjs.map +1 -1
  97. package/esm/dev-server/files-orchestrator.mjs +3 -1
  98. package/esm/dev-server/files-orchestrator.mjs.map +1 -1
  99. package/esm/dev-server/files-watcher.mjs +64 -5
  100. package/esm/dev-server/files-watcher.mjs.map +1 -1
  101. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +31 -9
  102. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  103. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +11 -7
  104. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
  105. package/esm/dev-server/loader/load-hook.mjs +1 -1
  106. package/esm/dev-server/loader/register-loader.mjs +1 -1
  107. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  108. package/esm/dev-server/manifest-manager.mjs +12 -6
  109. package/esm/dev-server/manifest-manager.mjs.map +1 -1
  110. package/esm/dev-server/parse-imports.mjs +9 -0
  111. package/esm/dev-server/parse-imports.mjs.map +1 -1
  112. package/esm/dev-server/register-dev-shortcuts.mjs +2 -1
  113. package/esm/dev-server/register-dev-shortcuts.mjs.map +1 -1
  114. package/esm/dev-server/route-types-publisher.mjs +60 -0
  115. package/esm/dev-server/route-types-publisher.mjs.map +1 -0
  116. package/esm/dev-server/shortcuts.mjs +2 -2
  117. package/esm/dev-server/shortcuts.mjs.map +1 -1
  118. package/esm/dev-server/special-file-patterns.mjs +18 -0
  119. package/esm/dev-server/special-file-patterns.mjs.map +1 -0
  120. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  121. package/esm/dev-server/special-files-collector.mjs +2 -5
  122. package/esm/dev-server/special-files-collector.mjs.map +1 -1
  123. package/esm/dev-server/start-development-server.mjs +1 -2
  124. package/esm/dev-server/start-development-server.mjs.map +1 -1
  125. package/esm/dev-server/supervisor.mjs +23 -3
  126. package/esm/dev-server/supervisor.mjs.map +1 -1
  127. package/esm/dev-server/tsconfig-manager.mjs +22 -12
  128. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  129. package/esm/dev-server/type-generator.mjs +10 -9
  130. package/esm/dev-server/type-generator.mjs.map +1 -1
  131. package/esm/encryption/encrypt.d.mts.map +1 -1
  132. package/esm/encryption/encrypt.mjs +16 -5
  133. package/esm/encryption/encrypt.mjs.map +1 -1
  134. package/esm/encryption/hash.d.mts.map +1 -1
  135. package/esm/encryption/hash.mjs +2 -0
  136. package/esm/encryption/hash.mjs.map +1 -1
  137. package/esm/encryption/password.d.mts.map +1 -1
  138. package/esm/encryption/password.mjs +3 -1
  139. package/esm/encryption/password.mjs.map +1 -1
  140. package/esm/generations/features/index.mjs +1 -1
  141. package/esm/generations/features/mysql.feature.mjs +9 -2
  142. package/esm/generations/features/mysql.feature.mjs.map +1 -1
  143. package/esm/generations/features/test.feature.mjs +2 -1
  144. package/esm/generations/features/test.feature.mjs.map +1 -1
  145. package/esm/generations/features/web.feature.mjs +4 -2
  146. package/esm/generations/features/web.feature.mjs.map +1 -1
  147. package/esm/http/build-rate-limit-options.d.mts +37 -0
  148. package/esm/http/build-rate-limit-options.d.mts.map +1 -0
  149. package/esm/http/build-rate-limit-options.mjs +37 -0
  150. package/esm/http/build-rate-limit-options.mjs.map +1 -0
  151. package/esm/http/csrf-origin-policy.d.mts.map +1 -1
  152. package/esm/http/csrf-origin-policy.mjs +5 -2
  153. package/esm/http/csrf-origin-policy.mjs.map +1 -1
  154. package/esm/http/flush-pending-cookies.mjs +52 -0
  155. package/esm/http/flush-pending-cookies.mjs.map +1 -0
  156. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  157. package/esm/http/middleware/cache-response-middleware.mjs +4 -2
  158. package/esm/http/middleware/cache-response-middleware.mjs.map +1 -1
  159. package/esm/http/middleware/idempotency.middleware.d.mts +5 -0
  160. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  161. package/esm/http/middleware/idempotency.middleware.mjs +35 -3
  162. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  163. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  164. package/esm/http/middleware/inject-request-context.mjs +14 -3
  165. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  166. package/esm/http/middleware/rate-limit.middleware.d.mts +4 -3
  167. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  168. package/esm/http/middleware/rate-limit.middleware.mjs +4 -3
  169. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  170. package/esm/http/middleware/utils/cidr-match.d.mts +1 -1
  171. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  172. package/esm/http/middleware/utils/cidr-match.mjs +11 -2
  173. package/esm/http/middleware/utils/cidr-match.mjs.map +1 -1
  174. package/esm/http/middleware/utils/idempotency-key.mjs +1 -1
  175. package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -1
  176. package/esm/http/plugins.d.mts.map +1 -1
  177. package/esm/http/plugins.mjs +13 -5
  178. package/esm/http/plugins.mjs.map +1 -1
  179. package/esm/http/request.d.mts +12 -1
  180. package/esm/http/request.d.mts.map +1 -1
  181. package/esm/http/request.mjs +35 -7
  182. package/esm/http/request.mjs.map +1 -1
  183. package/esm/http/response.d.mts +16 -0
  184. package/esm/http/response.d.mts.map +1 -1
  185. package/esm/http/response.mjs +75 -37
  186. package/esm/http/response.mjs.map +1 -1
  187. package/esm/http/types.d.mts +26 -14
  188. package/esm/http/types.d.mts.map +1 -1
  189. package/esm/http/uploads/uploaded-file.controller.mjs +1 -1
  190. package/esm/http/uploads-config.mjs +2 -1
  191. package/esm/http/uploads-config.mjs.map +1 -1
  192. package/esm/http/uploads-types.d.mts +3 -3
  193. package/esm/image/image.d.mts +1 -1
  194. package/esm/image/image.d.mts.map +1 -1
  195. package/esm/image/image.mjs +25 -15
  196. package/esm/image/image.mjs.map +1 -1
  197. package/esm/index.d.mts +6 -4
  198. package/esm/index.mjs +7 -4
  199. package/esm/logger/logger.mjs +6 -1
  200. package/esm/logger/logger.mjs.map +1 -1
  201. package/esm/mail/config.d.mts.map +1 -1
  202. package/esm/mail/config.mjs +31 -21
  203. package/esm/mail/config.mjs.map +1 -1
  204. package/esm/mail/react-mail.mjs +6 -3
  205. package/esm/mail/react-mail.mjs.map +1 -1
  206. package/esm/mail/send-mail.d.mts.map +1 -1
  207. package/esm/mail/send-mail.mjs +40 -19
  208. package/esm/mail/send-mail.mjs.map +1 -1
  209. package/esm/production/assert-generated-imports.mjs +1 -0
  210. package/esm/production/assert-generated-imports.mjs.map +1 -1
  211. package/esm/production/build-contributions.mjs +3 -0
  212. package/esm/production/build-contributions.mjs.map +1 -1
  213. package/esm/production/esbuild-plugins.mjs +3 -2
  214. package/esm/production/esbuild-plugins.mjs.map +1 -1
  215. package/esm/production/production-builder.mjs +49 -37
  216. package/esm/production/production-builder.mjs.map +1 -1
  217. package/esm/production/production-supervisor.mjs +12 -5
  218. package/esm/production/production-supervisor.mjs.map +1 -1
  219. package/esm/production/route-registration-child.d.mts +1 -0
  220. package/esm/production/route-registration-child.mjs +65 -0
  221. package/esm/production/route-registration-child.mjs.map +1 -0
  222. package/esm/production/route-registration-snapshot.mjs +166 -0
  223. package/esm/production/route-registration-snapshot.mjs.map +1 -0
  224. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +3 -1
  225. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  226. package/esm/repositories/adapters/cascade/cascade-adapter.mjs +22 -12
  227. package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -1
  228. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +3 -3
  229. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -1
  230. package/esm/repositories/adapters/cascade/filter-applicator.mjs +88 -61
  231. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  232. package/esm/repositories/adapters/cascade/index.d.mts +1 -1
  233. package/esm/repositories/adapters/cascade/index.mjs +1 -1
  234. package/esm/repositories/contracts/query-builder.contract.d.mts +3 -3
  235. package/esm/repositories/contracts/types.d.mts +5 -0
  236. package/esm/repositories/contracts/types.d.mts.map +1 -1
  237. package/esm/repositories/index.d.mts +1 -1
  238. package/esm/repositories/index.mjs +1 -1
  239. package/esm/repositories/repository.manager.d.mts +65 -3
  240. package/esm/repositories/repository.manager.d.mts.map +1 -1
  241. package/esm/repositories/repository.manager.mjs +146 -57
  242. package/esm/repositories/repository.manager.mjs.map +1 -1
  243. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  244. package/esm/resource/resource-field-builder.mjs +1 -0
  245. package/esm/resource/resource-field-builder.mjs.map +1 -1
  246. package/esm/resource/resource.d.mts +10 -3
  247. package/esm/resource/resource.d.mts.map +1 -1
  248. package/esm/resource/resource.mjs +19 -5
  249. package/esm/resource/resource.mjs.map +1 -1
  250. package/esm/restful/restful.d.mts +12 -5
  251. package/esm/restful/restful.d.mts.map +1 -1
  252. package/esm/restful/restful.mjs +47 -16
  253. package/esm/restful/restful.mjs.map +1 -1
  254. package/esm/router/build-route-rate-limit.mjs +22 -0
  255. package/esm/router/build-route-rate-limit.mjs.map +1 -0
  256. package/esm/router/dev-dispatch.mjs +60 -0
  257. package/esm/router/dev-dispatch.mjs.map +1 -0
  258. package/esm/router/route-builder.mjs +4 -1
  259. package/esm/router/route-builder.mjs.map +1 -1
  260. package/esm/router/route-registry.d.mts.map +1 -1
  261. package/esm/router/route-registry.mjs +2 -2
  262. package/esm/router/route-registry.mjs.map +1 -1
  263. package/esm/router/router.d.mts +1 -1
  264. package/esm/router/router.d.mts.map +1 -1
  265. package/esm/router/router.mjs +57 -39
  266. package/esm/router/router.mjs.map +1 -1
  267. package/esm/socket/index.d.mts +1 -1
  268. package/esm/socket/types.d.mts +25 -3
  269. package/esm/socket/types.d.mts.map +1 -1
  270. package/esm/storage/drivers/cloud-driver.d.mts +26 -0
  271. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  272. package/esm/storage/drivers/cloud-driver.mjs +100 -16
  273. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  274. package/esm/storage/drivers/do-spaces-driver.d.mts +7 -0
  275. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  276. package/esm/storage/drivers/do-spaces-driver.mjs +9 -2
  277. package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -1
  278. package/esm/storage/drivers/local-driver.d.mts +16 -5
  279. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  280. package/esm/storage/drivers/local-driver.mjs +71 -28
  281. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  282. package/esm/storage/index.d.mts +3 -1
  283. package/esm/storage/index.mjs +4 -2
  284. package/esm/storage/scoped-storage.d.mts +27 -1
  285. package/esm/storage/scoped-storage.d.mts.map +1 -1
  286. package/esm/storage/scoped-storage.mjs +40 -8
  287. package/esm/storage/scoped-storage.mjs.map +1 -1
  288. package/esm/storage/storage.d.mts +11 -5
  289. package/esm/storage/storage.d.mts.map +1 -1
  290. package/esm/storage/storage.mjs +39 -16
  291. package/esm/storage/storage.mjs.map +1 -1
  292. package/esm/storage/types.d.mts +43 -4
  293. package/esm/storage/types.d.mts.map +1 -1
  294. package/esm/storage/utils/classify-ip-address.d.mts +13 -0
  295. package/esm/storage/utils/classify-ip-address.d.mts.map +1 -0
  296. package/esm/storage/utils/classify-ip-address.mjs +98 -0
  297. package/esm/storage/utils/classify-ip-address.mjs.map +1 -0
  298. package/esm/storage/utils/safe-fetch.d.mts +3 -12
  299. package/esm/storage/utils/safe-fetch.d.mts.map +1 -1
  300. package/esm/storage/utils/safe-fetch.mjs +3 -48
  301. package/esm/storage/utils/safe-fetch.mjs.map +1 -1
  302. package/esm/storage/utils/storage-capability-error.d.mts +25 -0
  303. package/esm/storage/utils/storage-capability-error.d.mts.map +1 -0
  304. package/esm/storage/utils/storage-capability-error.mjs +26 -0
  305. package/esm/storage/utils/storage-capability-error.mjs.map +1 -0
  306. package/esm/updater/update-warlock-packages.mjs +11 -1
  307. package/esm/updater/update-warlock-packages.mjs.map +1 -1
  308. package/esm/use-cases/use-case-broadcast.mjs +7 -1
  309. package/esm/use-cases/use-case-broadcast.mjs.map +1 -1
  310. package/esm/use-cases/use-cases-registry.mjs +21 -2
  311. package/esm/use-cases/use-cases-registry.mjs.map +1 -1
  312. package/esm/utils/database-log.mjs +0 -3
  313. package/esm/utils/database-log.mjs.map +1 -1
  314. package/esm/utils/queue.d.mts +6 -4
  315. package/esm/utils/queue.d.mts.map +1 -1
  316. package/esm/utils/queue.mjs +20 -9
  317. package/esm/utils/queue.mjs.map +1 -1
  318. package/esm/validation/database/exists-except-current-id.mjs +6 -2
  319. package/esm/validation/database/exists-except-current-id.mjs.map +1 -1
  320. package/esm/validation/database/unique-except-current-id.mjs +6 -2
  321. package/esm/validation/database/unique-except-current-id.mjs.map +1 -1
  322. package/esm/validation/init.mjs +6 -2
  323. package/esm/validation/init.mjs.map +1 -1
  324. package/esm/validation/validateAll.mjs +3 -2
  325. package/esm/validation/validateAll.mjs.map +1 -1
  326. package/esm/warlock-config/types.d.mts +14 -1
  327. package/esm/warlock-config/types.d.mts.map +1 -1
  328. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  329. package/esm/warlock-config/warlock-config.manager.mjs +3 -1
  330. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  331. package/esm/warlock-config/warn-deprecated-config.mjs +25 -0
  332. package/esm/warlock-config/warn-deprecated-config.mjs.map +1 -0
  333. package/llms-full.txt +71 -42
  334. package/llms.txt +41 -41
  335. package/package.json +21 -15
  336. package/skills/add-connector/SKILL.md +5 -1
  337. package/skills/benchmark-code/SKILL.md +1 -1
  338. package/skills/build-restful/SKILL.md +1 -1
  339. package/skills/build-url/SKILL.md +1 -1
  340. package/skills/configure-app/SKILL.md +7 -1
  341. package/skills/create-controller/SKILL.md +1 -1
  342. package/skills/create-module/SKILL.md +1 -1
  343. package/skills/define-resource/SKILL.md +1 -1
  344. package/skills/encrypt-data/SKILL.md +1 -1
  345. package/skills/hash-password/SKILL.md +1 -1
  346. package/skills/health-checks/SKILL.md +1 -1
  347. package/skills/index.md +30 -0
  348. package/skills/lower-stage3-decorators/SKILL.md +1 -1
  349. package/skills/process-image/SKILL.md +1 -1
  350. package/skills/register-route/SKILL.md +1 -1
  351. package/skills/request-memo/SKILL.md +1 -1
  352. package/skills/request-tracing/SKILL.md +1 -1
  353. package/skills/resolve-path/SKILL.md +1 -1
  354. package/skills/retry-operation/SKILL.md +1 -1
  355. package/skills/run-app/SKILL.md +1 -1
  356. package/skills/send-mail/SKILL.md +1 -1
  357. package/skills/send-response/SKILL.md +1 -1
  358. package/skills/store-file/SKILL.md +11 -1
  359. package/skills/test-http/SKILL.md +1 -1
  360. package/skills/test-service/SKILL.md +1 -1
  361. package/skills/update-packages/SKILL.md +1 -1
  362. package/skills/upload-file/SKILL.md +1 -1
  363. package/skills/use-app-context/SKILL.md +1 -1
  364. package/skills/use-localization/SKILL.md +1 -1
  365. package/skills/use-middleware/SKILL.md +7 -2
  366. package/skills/use-model-transformers/SKILL.md +1 -1
  367. package/skills/use-repository/SKILL.md +1 -1
  368. package/skills/use-request-locals/SKILL.md +1 -1
  369. package/skills/validate-input/SKILL.md +1 -1
  370. package/skills/warlock-conventions/SKILL.md +1 -1
  371. package/skills/warlock-doctor/SKILL.md +1 -1
  372. package/skills/warlock-routes/SKILL.md +1 -1
  373. package/skills/wire-socket/SKILL.md +5 -1
  374. package/skills/write-cli-command/SKILL.md +1 -1
  375. package/skills/write-middleware/SKILL.md +1 -1
  376. package/skills/write-seeder/SKILL.md +1 -1
  377. package/skills/write-use-case/SKILL.md +1 -1
  378. package/esm/_virtual/_rolldown/runtime.mjs +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"repository.manager.d.mts","names":[],"sources":["../../../../../../../core/src/repositories/repository.manager.ts"],"mappings":"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"}
1
+ {"version":3,"file":"repository.manager.d.mts","names":[],"sources":["../../../../../../../core/src/repositories/repository.manager.ts"],"mappings":"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"}
@@ -23,7 +23,7 @@ import { cache } from "@warlock.js/cache";
23
23
  * // Direct instantiation with adapter
24
24
  * const userRepo = new RepositoryManager<User>(new PrismaAdapter(prisma.user));
25
25
  */
26
- var RepositoryManager = class {
26
+ var RepositoryManager = class RepositoryManager {
27
27
  /**
28
28
  * Get adapter instance (lazy-loaded)
29
29
  * Resolution order:
@@ -47,6 +47,9 @@ var RepositoryManager = class {
47
47
  */
48
48
  constructor(adapter) {
49
49
  this.filterBy = {};
50
+ this.sortable = [];
51
+ this.selectable = [];
52
+ this.maxPerPage = 100;
50
53
  this.defaultOptions = config.get("repository.defaultOptions") || {};
51
54
  this.simpleSelectColumns = [];
52
55
  this.isCacheable = config.get("repository.isCacheable") ?? true;
@@ -63,7 +66,9 @@ var RepositoryManager = class {
63
66
  registerEvents() {
64
67
  try {
65
68
  this.eventsCallbacks.push(...this.adapter.registerEvents((source) => {
66
- this.clearCache();
69
+ this.clearCache().catch((error) => {
70
+ console.error("[Repository] cache invalidation failed", error);
71
+ });
67
72
  }));
68
73
  } catch (error) {
69
74
  console.error(`[Repository] Failed to register events:`, error);
@@ -139,6 +144,17 @@ var RepositoryManager = class {
139
144
  return { [this.getIsActiveColumn()]: this.getIsActiveValue() };
140
145
  }
141
146
  /**
147
+ * Attach the active scope to the options. It travels under its own key (after
148
+ * the caller's options, so it can't be overridden) and is applied as a real
149
+ * `where` by `applyOptionsToQuery`, independent of `filterBy`.
150
+ */
151
+ withActive(options) {
152
+ return {
153
+ ...options,
154
+ activeScope: this.getIsActiveFilter()
155
+ };
156
+ }
157
+ /**
142
158
  * Find a record by ID
143
159
  * @param id - Record ID or model instance
144
160
  * @returns Promise resolving to record or null
@@ -192,6 +208,7 @@ var RepositoryManager = class {
192
208
  const query = this.newQuery();
193
209
  const opts = this.prepareOptions(options);
194
210
  this.applyOptionsToQuery(query, opts);
211
+ this.applyLookupFilters(query, opts);
195
212
  return query.limit(1).first();
196
213
  }
197
214
  /**
@@ -258,10 +275,7 @@ var RepositoryManager = class {
258
275
  * @public
259
276
  */
260
277
  async firstActive(options) {
261
- return this.first({
262
- ...this.getIsActiveFilter(),
263
- ...options
264
- });
278
+ return this.first({ ...this.withActive(options) });
265
279
  }
266
280
  /**
267
281
  * Get first active cached record
@@ -270,10 +284,7 @@ var RepositoryManager = class {
270
284
  * @public
271
285
  */
272
286
  async firstActiveCached(options) {
273
- return this.firstCached({
274
- ...this.getIsActiveFilter(),
275
- ...options
276
- });
287
+ return this.firstCached({ ...this.withActive(options) });
277
288
  }
278
289
  /**
279
290
  * Get last record matching options
@@ -304,10 +315,7 @@ var RepositoryManager = class {
304
315
  * @public
305
316
  */
306
317
  async lastActive(options) {
307
- return this.last({
308
- ...this.getIsActiveFilter(),
309
- ...options
310
- });
318
+ return this.last({ ...this.withActive(options) });
311
319
  }
312
320
  /**
313
321
  * Get last active cached record
@@ -316,10 +324,7 @@ var RepositoryManager = class {
316
324
  * @public
317
325
  */
318
326
  async lastActiveCached(options) {
319
- return this.lastCached({
320
- ...this.getIsActiveFilter(),
321
- ...options
322
- });
327
+ return this.lastCached({ ...this.withActive(options) });
323
328
  }
324
329
  async list(options) {
325
330
  return this._listImpl(options);
@@ -332,8 +337,9 @@ var RepositoryManager = class {
332
337
  */
333
338
  async _listImpl(options) {
334
339
  const query = this.newQuery();
335
- const opts = this.prepareOptions(options);
340
+ const opts = this.sanitizeControls(this.prepareOptions(options));
336
341
  const paginationMode = opts.paginationMode || "pages";
342
+ if (opts.paginate === false) return { data: await this.all(opts) };
337
343
  this.applyOptionsToQuery(query, opts);
338
344
  if (paginationMode === "cursor") return query.cursorPaginate({
339
345
  limit: opts.limit || opts.defaultLimit || 15,
@@ -359,10 +365,7 @@ var RepositoryManager = class {
359
365
  return query.get();
360
366
  }
361
367
  async listActive(options) {
362
- return this._listImpl({
363
- ...this.getIsActiveFilter(),
364
- ...options
365
- });
368
+ return this._listImpl({ ...this.withActive(options) });
366
369
  }
367
370
  /**
368
371
  * List all active records without pagination
@@ -371,10 +374,7 @@ var RepositoryManager = class {
371
374
  * @public
372
375
  */
373
376
  async allActive(options) {
374
- return this.all(this.asTypedAll({
375
- ...this.getIsActiveFilter(),
376
- ...options
377
- }));
377
+ return this.all(this.asTypedAll(this.withActive(options)));
378
378
  }
379
379
  /**
380
380
  * Check if record exists matching filter
@@ -419,6 +419,7 @@ var RepositoryManager = class {
419
419
  */
420
420
  prepareOptions(options) {
421
421
  return {
422
+ ...config.get("repository.defaultOptions") || {},
422
423
  ...this.defaultOptions || {},
423
424
  ...options || {}
424
425
  };
@@ -434,6 +435,89 @@ var RepositoryManager = class {
434
435
  asTypedAll(opts) {
435
436
  return opts;
436
437
  }
438
+ static {
439
+ this.controlKeys = new Set([
440
+ "paginationMode",
441
+ "paginate",
442
+ "page",
443
+ "limit",
444
+ "perPage",
445
+ "defaultLimit",
446
+ "select",
447
+ "simpleSelect",
448
+ "deselect",
449
+ "orderBy",
450
+ "sortBy",
451
+ "sortDirection",
452
+ "cursor",
453
+ "direction",
454
+ "cursorColumn",
455
+ "purgeCache",
456
+ "perform",
457
+ "activeScope"
458
+ ]);
459
+ }
460
+ /**
461
+ * Columns `orderBy` / `sortBy` / `cursorColumn` may target.
462
+ */
463
+ getSortableColumns() {
464
+ return new Set([
465
+ "id",
466
+ ...this.sortable,
467
+ ...Object.keys(this.filterBy || {})
468
+ ]);
469
+ }
470
+ /**
471
+ * Split client-controllable control options from filters: `limit` is capped by
472
+ * `maxPerPage`, sort / cursor columns must be whitelisted (`sortable`, `filterBy`
473
+ * keys or `id`) and `select` must be within `selectable`. Anything else is
474
+ * dropped, so `list({ ...request.all() })` cannot steer the query.
475
+ */
476
+ sanitizeControls(options) {
477
+ const safe = { ...options };
478
+ const raw = safe;
479
+ const allowed = this.getSortableColumns();
480
+ const requested = Number(raw.limit ?? raw.perPage);
481
+ delete raw.perPage;
482
+ if (Number.isFinite(requested) && requested > 0) safe.limit = Math.min(Math.floor(requested), this.maxPerPage);
483
+ else delete raw.limit;
484
+ if (safe.defaultLimit) safe.defaultLimit = Math.min(safe.defaultLimit, this.maxPerPage);
485
+ if (safe.cursorColumn !== void 0 && !allowed.has(safe.cursorColumn)) delete raw.cursorColumn;
486
+ if (safe.sortBy !== void 0 && !allowed.has(safe.sortBy)) delete raw.sortBy;
487
+ if (safe.orderBy && safe.orderBy !== "random") {
488
+ if ((Array.isArray(safe.orderBy) ? [safe.orderBy[0]] : typeof safe.orderBy === "object" ? Object.keys(safe.orderBy) : []).some((column) => !allowed.has(column))) delete raw.orderBy;
489
+ }
490
+ if (safe.select) {
491
+ const selectable = new Set(this.selectable);
492
+ const columns = (Array.isArray(safe.select) ? safe.select : []).filter((column) => selectable.has(column));
493
+ if (columns.length > 0) safe.select = columns;
494
+ else delete raw.select;
495
+ }
496
+ return safe;
497
+ }
498
+ /**
499
+ * Read the active scope only when it is exactly what `getIsActiveFilter()`
500
+ * produces, so a client can't smuggle an arbitrary `where` through it.
501
+ */
502
+ readActiveScope(options) {
503
+ const scope = options.activeScope;
504
+ if (!scope || typeof scope !== "object") return void 0;
505
+ const expected = this.getIsActiveFilter();
506
+ return JSON.stringify(scope) === JSON.stringify(expected) ? expected : void 0;
507
+ }
508
+ /**
509
+ * Apply plain `{ column: scalar }` lookups that are not declared in `filterBy`
510
+ * as equality wheres. Used by `first` (and so `exists`, `findOrCreate`,
511
+ * `updateOrCreate`) so an undeclared key is never silently dropped and can't
512
+ * match the wrong row.
513
+ */
514
+ applyLookupFilters(query, options) {
515
+ for (const [key, value] of Object.entries(options)) {
516
+ if (RepositoryManager.controlKeys.has(key) || key in (this.filterBy || {}) || value === void 0) continue;
517
+ if (value !== null && typeof value === "object") throw new Error(`[Repository] Lookup "${key}" must be a scalar value.`);
518
+ query.where(key, value);
519
+ }
520
+ }
437
521
  /**
438
522
  * Apply repository options to query
439
523
  * @param query - Query builder instance
@@ -444,7 +528,7 @@ var RepositoryManager = class {
444
528
  if (options.paginationMode === "cursor") {
445
529
  const cursorColumn = options.cursorColumn ?? "id";
446
530
  const direction = options.direction ?? "next";
447
- if (options.cursor) query.where(cursorColumn, direction === "next" ? ">" : "<", options.cursor);
531
+ if (options.cursor) query.where(cursorColumn, direction === "next" ? ">" : "<", typeof options.cursor === "string" && /^-?\d+(\.\d+)?$/.test(options.cursor.trim()) ? Number(options.cursor) : options.cursor);
448
532
  query.orderBy(cursorColumn, direction === "next" ? "asc" : "desc");
449
533
  if (options.orderBy) {
450
534
  if ((Array.isArray(options.orderBy) ? [options.orderBy[0]] : typeof options.orderBy === "object" ? Object.keys(options.orderBy) : []).includes(cursorColumn)) {
@@ -460,6 +544,8 @@ var RepositoryManager = class {
460
544
  dateFormat: "DD-MM-YYYY",
461
545
  dateTimeFormat: "DD-MM-YYYY HH:mm:ss"
462
546
  });
547
+ const activeScope = this.readActiveScope(options);
548
+ if (activeScope) for (const [column, value] of Object.entries(activeScope)) query.where(column, value);
463
549
  if (options.select) query.select(options.select);
464
550
  if (options.deselect) query.deselect(options.deselect);
465
551
  if (options.simpleSelect && this.simpleSelectColumns.length > 0) query.select(this.simpleSelectColumns);
@@ -554,10 +640,7 @@ var RepositoryManager = class {
554
640
  * @public
555
641
  */
556
642
  async chunkActive(size, callback, options) {
557
- return this.chunk(size, callback, this.asTyped({
558
- ...this.getIsActiveFilter(),
559
- ...options
560
- }));
643
+ return this.chunk(size, callback, this.asTyped(this.withActive(options)));
561
644
  }
562
645
  async latest(options) {
563
646
  return this._listImpl({
@@ -574,15 +657,13 @@ var RepositoryManager = class {
574
657
  async latestActive(options) {
575
658
  return this._listImpl({
576
659
  orderBy: ["id", "desc"],
577
- ...this.getIsActiveFilter(),
578
- ...options
660
+ ...this.withActive(options)
579
661
  });
580
662
  }
581
663
  async oldestActive(options) {
582
664
  return this._listImpl({
583
665
  orderBy: ["id", "asc"],
584
- ...this.getIsActiveFilter(),
585
- ...options
666
+ ...this.withActive(options)
586
667
  });
587
668
  }
588
669
  /**
@@ -671,10 +752,7 @@ var RepositoryManager = class {
671
752
  * @public
672
753
  */
673
754
  async countActive(options) {
674
- return await this.count(this.asTyped({
675
- ...this.getIsActiveFilter(),
676
- ...options
677
- }));
755
+ return await this.count(this.asTyped(this.withActive(options)));
678
756
  }
679
757
  /**
680
758
  * Count records with caching
@@ -687,7 +765,7 @@ var RepositoryManager = class {
687
765
  const opts = this.prepareOptions(options);
688
766
  const cacheKey = this.cacheKey("count", opts);
689
767
  if (!opts.purgeCache) {
690
- const cachedCount = await this.cacheDriver.get(cacheKey);
768
+ const cachedCount = await this.safeCacheGet(cacheKey);
691
769
  if (cachedCount !== null && cachedCount !== void 0) return cachedCount;
692
770
  }
693
771
  const count = await this.count(options);
@@ -701,10 +779,7 @@ var RepositoryManager = class {
701
779
  * @public
702
780
  */
703
781
  async countActiveCached(options) {
704
- return await this.countCached(this.asTyped({
705
- ...this.getIsActiveFilter(),
706
- ...options
707
- }));
782
+ return await this.countCached(this.asTyped(this.withActive(options)));
708
783
  }
709
784
  /**
710
785
  * Sum a numeric field across records matching options.
@@ -869,6 +944,15 @@ var RepositoryManager = class {
869
944
  return cacheKey;
870
945
  }
871
946
  /**
947
+ * Whether a value holds a function at any depth (cycle-safe).
948
+ */
949
+ containsFunction(value, seen = /* @__PURE__ */ new WeakSet()) {
950
+ if (typeof value === "function") return true;
951
+ if (value === null || typeof value !== "object" || seen.has(value)) return false;
952
+ seen.add(value);
953
+ return Object.values(value).some((item) => this.containsFunction(item, seen));
954
+ }
955
+ /**
872
956
  * Deterministically serialize a value for use in a cache key.
873
957
  *
874
958
  * Unlike raw `JSON.stringify`, object keys are recursively sorted so that
@@ -931,7 +1015,7 @@ var RepositoryManager = class {
931
1015
  async getCachedBy(column, value, cacheKeyOptions) {
932
1016
  if (!this.isCacheable || !this.cacheDriver) return await this.findBy(column, value);
933
1017
  const cacheKey = this.cacheKey(`${column}.${value}`, cacheKeyOptions);
934
- const cachedData = await this.cacheDriver.get(cacheKey);
1018
+ const cachedData = await this.safeCacheGet(cacheKey);
935
1019
  if (cachedData) return this.adapter.deserializeModel(cachedData);
936
1020
  const model = await this.findBy(column, value);
937
1021
  if (!model) return null;
@@ -949,7 +1033,7 @@ var RepositoryManager = class {
949
1033
  const opts = this.prepareOptions(options);
950
1034
  const cacheKey = this.cacheKey("all", opts);
951
1035
  if (!opts.purgeCache) {
952
- const cachedData = await this.cacheDriver.get(cacheKey);
1036
+ const cachedData = await this.safeCacheGet(cacheKey);
953
1037
  if (cachedData) return cachedData.map((record) => this.adapter.deserializeModel(record));
954
1038
  }
955
1039
  const records = await this.all(options);
@@ -963,10 +1047,7 @@ var RepositoryManager = class {
963
1047
  * @public
964
1048
  */
965
1049
  async allActiveCached(options) {
966
- return await this.allCached(this.asTypedAll({
967
- ...this.getIsActiveFilter(),
968
- ...options
969
- }));
1050
+ return await this.allCached(this.asTypedAll(this.withActive(options)));
970
1051
  }
971
1052
  /**
972
1053
  * List cached records with pagination
@@ -977,9 +1058,10 @@ var RepositoryManager = class {
977
1058
  async listCached(options) {
978
1059
  if (!this.isCacheable || !this.cacheDriver) return await this._listImpl(options);
979
1060
  const opts = this.prepareOptions(options);
1061
+ if (!opts.cacheKey && this.containsFunction(opts)) return await this._listImpl(options);
980
1062
  const cacheKey = this.cacheKey("list", opts);
981
1063
  if (!opts.purgeCache) {
982
- const cachedData = await this.cacheDriver.get(cacheKey);
1064
+ const cachedData = await this.safeCacheGet(cacheKey);
983
1065
  if (cachedData) return {
984
1066
  data: (cachedData?.data || []).map((record) => this.adapter.deserializeModel(record)),
985
1067
  pagination: cachedData.pagination
@@ -999,10 +1081,7 @@ var RepositoryManager = class {
999
1081
  * @public
1000
1082
  */
1001
1083
  async listActiveCached(options) {
1002
- return await this.listCached(this.asTyped({
1003
- ...this.getIsActiveFilter(),
1004
- ...options
1005
- }));
1084
+ return await this.listCached(this.asTyped(this.withActive(options)));
1006
1085
  }
1007
1086
  /**
1008
1087
  * Get active cached record by ID
@@ -1049,7 +1128,17 @@ var RepositoryManager = class {
1049
1128
  async $cleanup() {
1050
1129
  await this.clearCache();
1051
1130
  this.cleanuEvents();
1052
- if (this.cacheDriver) await this.cacheDriver.flush();
1131
+ }
1132
+ /**
1133
+ * Cache read that treats a driver failure (e.g. Redis down) as a miss.
1134
+ */
1135
+ async safeCacheGet(key) {
1136
+ try {
1137
+ return await this.cacheDriver.get(key);
1138
+ } catch (error) {
1139
+ console.error("[Repository] cache read failed, treating as miss", error);
1140
+ return null;
1141
+ }
1053
1142
  }
1054
1143
  /**
1055
1144
  * Clear all cache for this repository