@warlock.js/core 4.1.15 → 4.2.1

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 (781) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/LICENSE +21 -0
  3. package/esm/application/app.d.mts +1 -1
  4. package/esm/application/app.d.mts.map +1 -1
  5. package/esm/application/app.mjs +1 -1
  6. package/esm/application/app.mjs.map +1 -1
  7. package/esm/application/application-config-types.d.mts +1 -1
  8. package/esm/application/application-config-types.d.mts.map +1 -1
  9. package/esm/application/application.d.mts +1 -1
  10. package/esm/application/application.d.mts.map +1 -1
  11. package/esm/application/application.mjs +1 -1
  12. package/esm/application/application.mjs.map +1 -1
  13. package/esm/benchmark/benchmark-snapshots.d.mts +1 -1
  14. package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -1
  15. package/esm/benchmark/benchmark-snapshots.mjs +1 -1
  16. package/esm/benchmark/benchmark-snapshots.mjs.map +1 -1
  17. package/esm/benchmark/benchmark.d.mts +1 -1
  18. package/esm/benchmark/benchmark.d.mts.map +1 -1
  19. package/esm/benchmark/benchmark.mjs +1 -1
  20. package/esm/benchmark/benchmark.mjs.map +1 -1
  21. package/esm/benchmark/channels/console.channel.d.mts +1 -1
  22. package/esm/benchmark/channels/console.channel.d.mts.map +1 -1
  23. package/esm/benchmark/channels/console.channel.mjs +1 -1
  24. package/esm/benchmark/channels/console.channel.mjs.map +1 -1
  25. package/esm/benchmark/channels/noop.channel.d.mts +1 -1
  26. package/esm/benchmark/channels/noop.channel.d.mts.map +1 -1
  27. package/esm/benchmark/channels/noop.channel.mjs +1 -1
  28. package/esm/benchmark/channels/noop.channel.mjs.map +1 -1
  29. package/esm/benchmark/profiler.d.mts +1 -1
  30. package/esm/benchmark/profiler.d.mts.map +1 -1
  31. package/esm/benchmark/profiler.mjs +1 -1
  32. package/esm/benchmark/profiler.mjs.map +1 -1
  33. package/esm/benchmark/types.d.mts +1 -1
  34. package/esm/benchmark/types.d.mts.map +1 -1
  35. package/esm/bootstrap/setup.d.mts +1 -1
  36. package/esm/bootstrap/setup.d.mts.map +1 -1
  37. package/esm/bootstrap/setup.mjs +1 -1
  38. package/esm/bootstrap/setup.mjs.map +1 -1
  39. package/esm/bootstrap.d.mts +1 -1
  40. package/esm/bootstrap.d.mts.map +1 -1
  41. package/esm/bootstrap.mjs +1 -1
  42. package/esm/bootstrap.mjs.map +1 -1
  43. package/esm/cache/database-cache-driver.d.mts +1 -1
  44. package/esm/cache/database-cache-driver.d.mts.map +1 -1
  45. package/esm/cache/database-cache-driver.mjs +1 -1
  46. package/esm/cache/database-cache-driver.mjs.map +1 -1
  47. package/esm/cache/index.mjs +1 -1
  48. package/esm/cache/index.mjs.map +1 -1
  49. package/esm/cli/cli-command.d.mts +1 -1
  50. package/esm/cli/cli-command.d.mts.map +1 -1
  51. package/esm/cli/cli-command.mjs +1 -1
  52. package/esm/cli/cli-command.mjs.map +1 -1
  53. package/esm/cli/types.d.mts +1 -1
  54. package/esm/cli/types.d.mts.map +1 -1
  55. package/esm/config/config-getter.d.mts +1 -1
  56. package/esm/config/config-getter.d.mts.map +1 -1
  57. package/esm/config/config-getter.mjs +6 -6
  58. package/esm/config/config-getter.mjs.map +1 -1
  59. package/esm/config/config-handlers.d.mts +1 -1
  60. package/esm/config/config-handlers.d.mts.map +1 -1
  61. package/esm/config/config-handlers.mjs +1 -1
  62. package/esm/config/config-handlers.mjs.map +1 -1
  63. package/esm/config/config-loader.d.mts +1 -1
  64. package/esm/config/config-loader.d.mts.map +1 -1
  65. package/esm/config/config-loader.mjs +3 -3
  66. package/esm/config/config-loader.mjs.map +1 -1
  67. package/esm/config/config-manager.mjs +1 -1
  68. package/esm/config/config-manager.mjs.map +1 -1
  69. package/esm/config/config-special-handlers.d.mts +1 -1
  70. package/esm/config/config-special-handlers.d.mts.map +1 -1
  71. package/esm/config/config-special-handlers.mjs +1 -1
  72. package/esm/config/config-special-handlers.mjs.map +1 -1
  73. package/esm/config/load-config-files.mjs +1 -1
  74. package/esm/config/load-config-files.mjs.map +1 -1
  75. package/esm/config/types.d.mts +1 -1
  76. package/esm/config/types.d.mts.map +1 -1
  77. package/esm/connectors/access-connector.d.mts +39 -0
  78. package/esm/connectors/access-connector.d.mts.map +1 -0
  79. package/esm/connectors/access-connector.mjs +54 -0
  80. package/esm/connectors/access-connector.mjs.map +1 -0
  81. package/esm/connectors/base-connector.d.mts +1 -1
  82. package/esm/connectors/base-connector.d.mts.map +1 -1
  83. package/esm/connectors/base-connector.mjs +1 -1
  84. package/esm/connectors/base-connector.mjs.map +1 -1
  85. package/esm/connectors/cache-connector.d.mts +1 -1
  86. package/esm/connectors/cache-connector.d.mts.map +1 -1
  87. package/esm/connectors/cache-connector.mjs +3 -3
  88. package/esm/connectors/cache-connector.mjs.map +1 -1
  89. package/esm/connectors/connectors-manager.d.mts +1 -1
  90. package/esm/connectors/connectors-manager.d.mts.map +1 -1
  91. package/esm/connectors/connectors-manager.mjs +5 -1
  92. package/esm/connectors/connectors-manager.mjs.map +1 -1
  93. package/esm/connectors/database-connector.d.mts +1 -1
  94. package/esm/connectors/database-connector.d.mts.map +1 -1
  95. package/esm/connectors/database-connector.mjs +3 -3
  96. package/esm/connectors/database-connector.mjs.map +1 -1
  97. package/esm/connectors/herald-connector.d.mts +1 -1
  98. package/esm/connectors/herald-connector.d.mts.map +1 -1
  99. package/esm/connectors/herald-connector.mjs +4 -4
  100. package/esm/connectors/herald-connector.mjs.map +1 -1
  101. package/esm/connectors/http-connector.d.mts +1 -1
  102. package/esm/connectors/http-connector.d.mts.map +1 -1
  103. package/esm/connectors/http-connector.mjs +8 -6
  104. package/esm/connectors/http-connector.mjs.map +1 -1
  105. package/esm/connectors/index.d.mts +2 -0
  106. package/esm/connectors/index.mjs +2 -0
  107. package/esm/connectors/logger-connector.d.mts +1 -1
  108. package/esm/connectors/logger-connector.d.mts.map +1 -1
  109. package/esm/connectors/logger-connector.mjs +3 -3
  110. package/esm/connectors/logger-connector.mjs.map +1 -1
  111. package/esm/connectors/mail-connector.d.mts +1 -1
  112. package/esm/connectors/mail-connector.d.mts.map +1 -1
  113. package/esm/connectors/mail-connector.mjs +3 -3
  114. package/esm/connectors/mail-connector.mjs.map +1 -1
  115. package/esm/connectors/notifications-connector.d.mts +38 -0
  116. package/esm/connectors/notifications-connector.d.mts.map +1 -0
  117. package/esm/connectors/notifications-connector.mjs +51 -0
  118. package/esm/connectors/notifications-connector.mjs.map +1 -0
  119. package/esm/connectors/socket-connector.d.mts +1 -1
  120. package/esm/connectors/socket-connector.d.mts.map +1 -1
  121. package/esm/connectors/socket-connector.mjs +4 -4
  122. package/esm/connectors/socket-connector.mjs.map +1 -1
  123. package/esm/connectors/storage.connector.d.mts +1 -1
  124. package/esm/connectors/storage.connector.d.mts.map +1 -1
  125. package/esm/connectors/storage.connector.mjs +1 -1
  126. package/esm/connectors/storage.connector.mjs.map +1 -1
  127. package/esm/connectors/types.d.mts +5 -3
  128. package/esm/connectors/types.d.mts.map +1 -1
  129. package/esm/connectors/types.mjs +3 -1
  130. package/esm/connectors/types.mjs.map +1 -1
  131. package/esm/container/index.d.mts +1 -1
  132. package/esm/container/index.d.mts.map +1 -1
  133. package/esm/container/index.mjs +1 -1
  134. package/esm/container/index.mjs.map +1 -1
  135. package/esm/database/models/database-log/database-log.d.mts +1 -1
  136. package/esm/database/models/database-log/database-log.d.mts.map +1 -1
  137. package/esm/database/models/database-log/database-log.mjs +1 -1
  138. package/esm/database/models/database-log/database-log.mjs.map +1 -1
  139. package/esm/database/seeds/seeder.d.mts +1 -1
  140. package/esm/database/seeds/seeder.d.mts.map +1 -1
  141. package/esm/database/seeds/seeder.mjs +1 -1
  142. package/esm/database/seeds/seeder.mjs.map +1 -1
  143. package/esm/database/seeds/types.d.mts +1 -1
  144. package/esm/database/seeds/types.d.mts.map +1 -1
  145. package/esm/database/utils.d.mts +1 -1
  146. package/esm/database/utils.d.mts.map +1 -1
  147. package/esm/database/utils.mjs +1 -1
  148. package/esm/database/utils.mjs.map +1 -1
  149. package/esm/dev-server/create-worker.mjs +1 -1
  150. package/esm/dev-server/create-worker.mjs.map +1 -1
  151. package/esm/dev-server/dependency-graph.d.mts +1 -1
  152. package/esm/dev-server/dependency-graph.d.mts.map +1 -1
  153. package/esm/dev-server/dependency-graph.mjs +1 -1
  154. package/esm/dev-server/dependency-graph.mjs.map +1 -1
  155. package/esm/dev-server/dev-logger.mjs +2 -13
  156. package/esm/dev-server/dev-logger.mjs.map +1 -1
  157. package/esm/dev-server/events.mjs +1 -1
  158. package/esm/dev-server/events.mjs.map +1 -1
  159. package/esm/dev-server/file-event-handler.mjs +1 -1
  160. package/esm/dev-server/file-event-handler.mjs.map +1 -1
  161. package/esm/dev-server/file-manager.d.mts +1 -1
  162. package/esm/dev-server/file-manager.d.mts.map +1 -1
  163. package/esm/dev-server/file-manager.mjs +1 -1
  164. package/esm/dev-server/file-manager.mjs.map +1 -1
  165. package/esm/dev-server/file-operations.d.mts +1 -1
  166. package/esm/dev-server/file-operations.d.mts.map +1 -1
  167. package/esm/dev-server/file-operations.mjs +1 -1
  168. package/esm/dev-server/file-operations.mjs.map +1 -1
  169. package/esm/dev-server/files-orchestrator.d.mts +1 -1
  170. package/esm/dev-server/files-orchestrator.d.mts.map +1 -1
  171. package/esm/dev-server/files-orchestrator.mjs +1 -1
  172. package/esm/dev-server/files-orchestrator.mjs.map +1 -1
  173. package/esm/dev-server/files-watcher.d.mts +1 -1
  174. package/esm/dev-server/files-watcher.d.mts.map +1 -1
  175. package/esm/dev-server/files-watcher.mjs +1 -1
  176. package/esm/dev-server/files-watcher.mjs.map +1 -1
  177. package/esm/dev-server/flags.mjs +1 -1
  178. package/esm/dev-server/flags.mjs.map +1 -1
  179. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +1 -1
  180. package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -1
  181. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +1 -1
  182. package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -1
  183. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +1 -1
  184. package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -1
  185. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +1 -1
  186. package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -1
  187. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +1 -1
  188. package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -1
  189. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +1 -1
  190. package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -1
  191. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +1 -1
  192. package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -1
  193. package/esm/dev-server/health-checker/file-health-result.d.mts +1 -1
  194. package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -1
  195. package/esm/dev-server/health-checker/file-health-result.mjs +1 -1
  196. package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -1
  197. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +1 -1
  198. package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -1
  199. package/esm/dev-server/health-checker/files-healthcare.manager.mjs +1 -1
  200. package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -1
  201. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +1 -1
  202. package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -1
  203. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +1 -1
  204. package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -1
  205. package/esm/dev-server/loader/build-transpile-init.mjs +1 -1
  206. package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -1
  207. package/esm/dev-server/loader/register-loader.mjs +1 -1
  208. package/esm/dev-server/loader/register-loader.mjs.map +1 -1
  209. package/esm/dev-server/loader/transpile-cache.mjs +2 -164
  210. package/esm/dev-server/loader/transpile-cache.mjs.map +1 -1
  211. package/esm/dev-server/manifest-manager.d.mts +1 -1
  212. package/esm/dev-server/manifest-manager.d.mts.map +1 -1
  213. package/esm/dev-server/manifest-manager.mjs +1 -1
  214. package/esm/dev-server/manifest-manager.mjs.map +1 -1
  215. package/esm/dev-server/module-loader.d.mts +1 -1
  216. package/esm/dev-server/module-loader.d.mts.map +1 -1
  217. package/esm/dev-server/module-loader.mjs +1 -1
  218. package/esm/dev-server/module-loader.mjs.map +1 -1
  219. package/esm/dev-server/package-json-manager.mjs +1 -1
  220. package/esm/dev-server/package-json-manager.mjs.map +1 -1
  221. package/esm/dev-server/parse-imports.mjs +1 -1
  222. package/esm/dev-server/parse-imports.mjs.map +1 -1
  223. package/esm/dev-server/path.mjs +1 -1
  224. package/esm/dev-server/path.mjs.map +1 -1
  225. package/esm/dev-server/special-files-collector.d.mts +1 -1
  226. package/esm/dev-server/special-files-collector.d.mts.map +1 -1
  227. package/esm/dev-server/special-files-collector.mjs +1 -1
  228. package/esm/dev-server/special-files-collector.mjs.map +1 -1
  229. package/esm/dev-server/tsconfig-manager.mjs +1 -1
  230. package/esm/dev-server/tsconfig-manager.mjs.map +1 -1
  231. package/esm/dev-server/types.d.mts +1 -1
  232. package/esm/dev-server/types.d.mts.map +1 -1
  233. package/esm/dev-server/utils.mjs +1 -1
  234. package/esm/dev-server/utils.mjs.map +1 -1
  235. package/esm/encryption/encrypt.d.mts +1 -1
  236. package/esm/encryption/encrypt.d.mts.map +1 -1
  237. package/esm/encryption/encrypt.mjs +1 -1
  238. package/esm/encryption/encrypt.mjs.map +1 -1
  239. package/esm/encryption/hash.d.mts +1 -1
  240. package/esm/encryption/hash.d.mts.map +1 -1
  241. package/esm/encryption/hash.mjs +1 -1
  242. package/esm/encryption/hash.mjs.map +1 -1
  243. package/esm/encryption/password.d.mts +1 -1
  244. package/esm/encryption/password.d.mts.map +1 -1
  245. package/esm/encryption/password.mjs +1 -1
  246. package/esm/encryption/password.mjs.map +1 -1
  247. package/esm/encryption/types.d.mts +1 -1
  248. package/esm/encryption/types.d.mts.map +1 -1
  249. package/esm/http/config.d.mts +1 -1
  250. package/esm/http/config.d.mts.map +1 -1
  251. package/esm/http/config.mjs +3 -3
  252. package/esm/http/config.mjs.map +1 -1
  253. package/esm/http/context/request-context.d.mts +1 -1
  254. package/esm/http/context/request-context.d.mts.map +1 -1
  255. package/esm/http/context/request-context.mjs +1 -1
  256. package/esm/http/context/request-context.mjs.map +1 -1
  257. package/esm/http/createHttpApplication.d.mts +1 -1
  258. package/esm/http/createHttpApplication.d.mts.map +1 -1
  259. package/esm/http/createHttpApplication.mjs +3 -3
  260. package/esm/http/createHttpApplication.mjs.map +1 -1
  261. package/esm/http/database/RequestLog.d.mts +1 -1
  262. package/esm/http/database/RequestLog.d.mts.map +1 -1
  263. package/esm/http/database/RequestLog.mjs +1 -1
  264. package/esm/http/database/RequestLog.mjs.map +1 -1
  265. package/esm/http/error-codes.d.mts +1 -1
  266. package/esm/http/error-codes.d.mts.map +1 -1
  267. package/esm/http/error-codes.mjs +1 -1
  268. package/esm/http/error-codes.mjs.map +1 -1
  269. package/esm/http/errors/errors.d.mts +1 -1
  270. package/esm/http/errors/errors.d.mts.map +1 -1
  271. package/esm/http/errors/errors.mjs +1 -1
  272. package/esm/http/errors/errors.mjs.map +1 -1
  273. package/esm/http/events.d.mts +1 -1
  274. package/esm/http/events.d.mts.map +1 -1
  275. package/esm/http/events.mjs +1 -1
  276. package/esm/http/events.mjs.map +1 -1
  277. package/esm/http/middleware/cache-response-middleware.d.mts +1 -1
  278. package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -1
  279. package/esm/http/middleware/cache-response-middleware.mjs +1 -1
  280. package/esm/http/middleware/cache-response-middleware.mjs.map +1 -1
  281. package/esm/http/middleware/concurrency-limit.middleware.d.mts +1 -1
  282. package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -1
  283. package/esm/http/middleware/concurrency-limit.middleware.mjs +1 -1
  284. package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -1
  285. package/esm/http/middleware/idempotency.middleware.d.mts +1 -1
  286. package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -1
  287. package/esm/http/middleware/idempotency.middleware.mjs +6 -6
  288. package/esm/http/middleware/idempotency.middleware.mjs.map +1 -1
  289. package/esm/http/middleware/inject-request-context.d.mts +1 -1
  290. package/esm/http/middleware/inject-request-context.d.mts.map +1 -1
  291. package/esm/http/middleware/inject-request-context.mjs +3 -3
  292. package/esm/http/middleware/inject-request-context.mjs.map +1 -1
  293. package/esm/http/middleware/ip-filter.middleware.d.mts +1 -1
  294. package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -1
  295. package/esm/http/middleware/ip-filter.middleware.mjs +1 -1
  296. package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -1
  297. package/esm/http/middleware/maintenance.middleware.d.mts +1 -1
  298. package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -1
  299. package/esm/http/middleware/maintenance.middleware.mjs +5 -5
  300. package/esm/http/middleware/maintenance.middleware.mjs.map +1 -1
  301. package/esm/http/middleware/max-body-size.middleware.d.mts +1 -1
  302. package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -1
  303. package/esm/http/middleware/max-body-size.middleware.mjs +1 -1
  304. package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -1
  305. package/esm/http/middleware/middleware-list.d.mts +1 -1
  306. package/esm/http/middleware/middleware-list.d.mts.map +1 -1
  307. package/esm/http/middleware/middleware-list.mjs +1 -1
  308. package/esm/http/middleware/middleware-list.mjs.map +1 -1
  309. package/esm/http/middleware/rate-limit.middleware.d.mts +1 -1
  310. package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -1
  311. package/esm/http/middleware/rate-limit.middleware.mjs +1 -1
  312. package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -1
  313. package/esm/http/middleware/utils/cidr-match.d.mts +1 -1
  314. package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -1
  315. package/esm/http/middleware/utils/cidr-match.mjs +1 -1
  316. package/esm/http/middleware/utils/cidr-match.mjs.map +1 -1
  317. package/esm/http/middleware/utils/idempotency-key.d.mts +1 -1
  318. package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -1
  319. package/esm/http/middleware/utils/idempotency-key.mjs +1 -1
  320. package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -1
  321. package/esm/http/middleware/utils/parse-size.d.mts +1 -1
  322. package/esm/http/middleware/utils/parse-size.d.mts.map +1 -1
  323. package/esm/http/middleware/utils/parse-size.mjs +1 -1
  324. package/esm/http/middleware/utils/parse-size.mjs.map +1 -1
  325. package/esm/http/plugins.d.mts +1 -1
  326. package/esm/http/plugins.d.mts.map +1 -1
  327. package/esm/http/plugins.mjs +10 -10
  328. package/esm/http/plugins.mjs.map +1 -1
  329. package/esm/http/request-controller.d.mts +1 -1
  330. package/esm/http/request-controller.d.mts.map +1 -1
  331. package/esm/http/request-controller.mjs +1 -1
  332. package/esm/http/request-controller.mjs.map +1 -1
  333. package/esm/http/request.d.mts +1 -1
  334. package/esm/http/request.d.mts.map +1 -1
  335. package/esm/http/request.mjs +1 -1
  336. package/esm/http/request.mjs.map +1 -1
  337. package/esm/http/response.d.mts +4 -4
  338. package/esm/http/response.d.mts.map +1 -1
  339. package/esm/http/response.mjs +6 -6
  340. package/esm/http/response.mjs.map +1 -1
  341. package/esm/http/server.d.mts +1 -1
  342. package/esm/http/server.d.mts.map +1 -1
  343. package/esm/http/server.mjs +3 -3
  344. package/esm/http/server.mjs.map +1 -1
  345. package/esm/http/types.d.mts +1 -1
  346. package/esm/http/types.d.mts.map +1 -1
  347. package/esm/http/uploaded-file.d.mts +1 -1
  348. package/esm/http/uploaded-file.d.mts.map +1 -1
  349. package/esm/http/uploaded-file.mjs +1 -1
  350. package/esm/http/uploaded-file.mjs.map +1 -1
  351. package/esm/http/uploads-config.d.mts +1 -1
  352. package/esm/http/uploads-config.d.mts.map +1 -1
  353. package/esm/http/uploads-config.mjs +1 -1
  354. package/esm/http/uploads-config.mjs.map +1 -1
  355. package/esm/http/uploads-types.d.mts +1 -1
  356. package/esm/http/uploads-types.d.mts.map +1 -1
  357. package/esm/image/image.d.mts +1 -1
  358. package/esm/image/image.d.mts.map +1 -1
  359. package/esm/image/image.mjs +1 -1
  360. package/esm/image/image.mjs.map +1 -1
  361. package/esm/index.d.mts +4 -1
  362. package/esm/index.mjs +5 -1
  363. package/esm/logger/logger.d.mts +1 -1
  364. package/esm/logger/logger.d.mts.map +1 -1
  365. package/esm/logger/logger.mjs +1 -1
  366. package/esm/logger/logger.mjs.map +1 -1
  367. package/esm/logger/types.d.mts +1 -1
  368. package/esm/logger/types.d.mts.map +1 -1
  369. package/esm/mail/config.d.mts +1 -1
  370. package/esm/mail/config.d.mts.map +1 -1
  371. package/esm/mail/config.mjs +1 -1
  372. package/esm/mail/config.mjs.map +1 -1
  373. package/esm/mail/events.d.mts +1 -1
  374. package/esm/mail/events.d.mts.map +1 -1
  375. package/esm/mail/events.mjs +1 -1
  376. package/esm/mail/events.mjs.map +1 -1
  377. package/esm/mail/mail.d.mts +1 -1
  378. package/esm/mail/mail.d.mts.map +1 -1
  379. package/esm/mail/mail.mjs +1 -1
  380. package/esm/mail/mail.mjs.map +1 -1
  381. package/esm/mail/mailer-pool.d.mts +1 -1
  382. package/esm/mail/mailer-pool.d.mts.map +1 -1
  383. package/esm/mail/mailer-pool.mjs +1 -1
  384. package/esm/mail/mailer-pool.mjs.map +1 -1
  385. package/esm/mail/react-mail.d.mts +1 -1
  386. package/esm/mail/react-mail.d.mts.map +1 -1
  387. package/esm/mail/react-mail.mjs +1 -1
  388. package/esm/mail/react-mail.mjs.map +1 -1
  389. package/esm/mail/send-mail.d.mts +1 -1
  390. package/esm/mail/send-mail.d.mts.map +1 -1
  391. package/esm/mail/send-mail.mjs +1 -1
  392. package/esm/mail/send-mail.mjs.map +1 -1
  393. package/esm/mail/test-mailbox.d.mts +1 -1
  394. package/esm/mail/test-mailbox.d.mts.map +1 -1
  395. package/esm/mail/test-mailbox.mjs +1 -1
  396. package/esm/mail/test-mailbox.mjs.map +1 -1
  397. package/esm/mail/types.d.mts +1 -1
  398. package/esm/mail/types.d.mts.map +1 -1
  399. package/esm/mail/types.mjs +1 -1
  400. package/esm/mail/types.mjs.map +1 -1
  401. package/esm/react/index.d.mts +1 -1
  402. package/esm/react/index.d.mts.map +1 -1
  403. package/esm/react/index.mjs +1 -1
  404. package/esm/react/index.mjs.map +1 -1
  405. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +1 -1
  406. package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -1
  407. package/esm/repositories/adapters/cascade/cascade-adapter.mjs +1 -1
  408. package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -1
  409. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +1 -1
  410. package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -1
  411. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +1 -1
  412. package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -1
  413. package/esm/repositories/adapters/cascade/filter-applicator.mjs +1 -1
  414. package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -1
  415. package/esm/repositories/contracts/query-builder.contract.d.mts +1 -1
  416. package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -1
  417. package/esm/repositories/contracts/repository-adapter.contract.d.mts +1 -1
  418. package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -1
  419. package/esm/repositories/contracts/types.d.mts +1 -1
  420. package/esm/repositories/contracts/types.d.mts.map +1 -1
  421. package/esm/repositories/repository.manager.d.mts +1 -1
  422. package/esm/repositories/repository.manager.d.mts.map +1 -1
  423. package/esm/repositories/repository.manager.mjs +1 -1
  424. package/esm/repositories/repository.manager.mjs.map +1 -1
  425. package/esm/resource/define-resource.d.mts +1 -1
  426. package/esm/resource/define-resource.d.mts.map +1 -1
  427. package/esm/resource/define-resource.mjs +1 -1
  428. package/esm/resource/define-resource.mjs.map +1 -1
  429. package/esm/resource/register-resource.d.mts +1 -1
  430. package/esm/resource/register-resource.d.mts.map +1 -1
  431. package/esm/resource/register-resource.mjs +1 -1
  432. package/esm/resource/register-resource.mjs.map +1 -1
  433. package/esm/resource/resource-field-builder.d.mts +1 -1
  434. package/esm/resource/resource-field-builder.d.mts.map +1 -1
  435. package/esm/resource/resource-field-builder.mjs +1 -1
  436. package/esm/resource/resource-field-builder.mjs.map +1 -1
  437. package/esm/resource/resource.d.mts +1 -1
  438. package/esm/resource/resource.d.mts.map +1 -1
  439. package/esm/resource/resource.mjs +1 -1
  440. package/esm/resource/resource.mjs.map +1 -1
  441. package/esm/resource/types.d.mts +1 -1
  442. package/esm/resource/types.d.mts.map +1 -1
  443. package/esm/restful/restful.d.mts +1 -1
  444. package/esm/restful/restful.d.mts.map +1 -1
  445. package/esm/restful/restful.mjs +1 -1
  446. package/esm/restful/restful.mjs.map +1 -1
  447. package/esm/router/route-builder.d.mts +1 -1
  448. package/esm/router/route-builder.d.mts.map +1 -1
  449. package/esm/router/route-builder.mjs +1 -1
  450. package/esm/router/route-builder.mjs.map +1 -1
  451. package/esm/router/route-registry.mjs +1 -1
  452. package/esm/router/route-registry.mjs.map +1 -1
  453. package/esm/router/router.d.mts +1 -1
  454. package/esm/router/router.d.mts.map +1 -1
  455. package/esm/router/router.mjs +1 -1
  456. package/esm/router/router.mjs.map +1 -1
  457. package/esm/router/types.d.mts +1 -1
  458. package/esm/router/types.d.mts.map +1 -1
  459. package/esm/socket/types.d.mts +1 -1
  460. package/esm/socket/types.d.mts.map +1 -1
  461. package/esm/socket/utils.d.mts +1 -1
  462. package/esm/socket/utils.d.mts.map +1 -1
  463. package/esm/socket/utils.mjs +1 -1
  464. package/esm/socket/utils.mjs.map +1 -1
  465. package/esm/storage/config.d.mts +1 -1
  466. package/esm/storage/config.d.mts.map +1 -1
  467. package/esm/storage/config.mjs +1 -1
  468. package/esm/storage/config.mjs.map +1 -1
  469. package/esm/storage/context/storage-driver-context.d.mts +1 -1
  470. package/esm/storage/context/storage-driver-context.d.mts.map +1 -1
  471. package/esm/storage/context/storage-driver-context.mjs +1 -1
  472. package/esm/storage/context/storage-driver-context.mjs.map +1 -1
  473. package/esm/storage/drivers/cloud-driver.d.mts +1 -1
  474. package/esm/storage/drivers/cloud-driver.d.mts.map +1 -1
  475. package/esm/storage/drivers/cloud-driver.mjs +1 -1
  476. package/esm/storage/drivers/cloud-driver.mjs.map +1 -1
  477. package/esm/storage/drivers/do-spaces-driver.d.mts +1 -1
  478. package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -1
  479. package/esm/storage/drivers/do-spaces-driver.mjs +1 -1
  480. package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -1
  481. package/esm/storage/drivers/local-driver.d.mts +1 -1
  482. package/esm/storage/drivers/local-driver.d.mts.map +1 -1
  483. package/esm/storage/drivers/local-driver.mjs +1 -1
  484. package/esm/storage/drivers/local-driver.mjs.map +1 -1
  485. package/esm/storage/drivers/r2-driver.d.mts +1 -1
  486. package/esm/storage/drivers/r2-driver.d.mts.map +1 -1
  487. package/esm/storage/drivers/r2-driver.mjs +1 -1
  488. package/esm/storage/drivers/r2-driver.mjs.map +1 -1
  489. package/esm/storage/drivers/s3-driver.d.mts +1 -1
  490. package/esm/storage/drivers/s3-driver.d.mts.map +1 -1
  491. package/esm/storage/drivers/s3-driver.mjs +1 -1
  492. package/esm/storage/drivers/s3-driver.mjs.map +1 -1
  493. package/esm/storage/scoped-storage.d.mts +1 -1
  494. package/esm/storage/scoped-storage.d.mts.map +1 -1
  495. package/esm/storage/scoped-storage.mjs +1 -1
  496. package/esm/storage/scoped-storage.mjs.map +1 -1
  497. package/esm/storage/storage-file.d.mts +1 -1
  498. package/esm/storage/storage-file.d.mts.map +1 -1
  499. package/esm/storage/storage-file.mjs +1 -1
  500. package/esm/storage/storage-file.mjs.map +1 -1
  501. package/esm/storage/storage.d.mts +1 -1
  502. package/esm/storage/storage.d.mts.map +1 -1
  503. package/esm/storage/storage.mjs +1 -1
  504. package/esm/storage/storage.mjs.map +1 -1
  505. package/esm/storage/types.d.mts +1 -1
  506. package/esm/storage/types.d.mts.map +1 -1
  507. package/esm/storage/utils/mime.d.mts +1 -1
  508. package/esm/storage/utils/mime.d.mts.map +1 -1
  509. package/esm/storage/utils/mime.mjs +1 -1
  510. package/esm/storage/utils/mime.mjs.map +1 -1
  511. package/esm/tests/start-http-development-server.d.mts +1 -1
  512. package/esm/tests/start-http-development-server.d.mts.map +1 -1
  513. package/esm/tests/start-http-development-server.mjs +4 -2
  514. package/esm/tests/start-http-development-server.mjs.map +1 -1
  515. package/esm/tests/test-helpers.d.mts +1 -1
  516. package/esm/tests/test-helpers.d.mts.map +1 -1
  517. package/esm/tests/test-helpers.mjs +1 -1
  518. package/esm/tests/test-helpers.mjs.map +1 -1
  519. package/esm/tests/vitest-setup.d.mts +1 -1
  520. package/esm/tests/vitest-setup.d.mts.map +1 -1
  521. package/esm/tests/vitest-setup.mjs +1 -1
  522. package/esm/tests/vitest-setup.mjs.map +1 -1
  523. package/esm/use-cases/types.d.mts +1 -1
  524. package/esm/use-cases/types.d.mts.map +1 -1
  525. package/esm/use-cases/use-case-broadcast.d.mts +1 -1
  526. package/esm/use-cases/use-case-broadcast.d.mts.map +1 -1
  527. package/esm/use-cases/use-case-broadcast.mjs +1 -1
  528. package/esm/use-cases/use-case-broadcast.mjs.map +1 -1
  529. package/esm/use-cases/use-case-events.d.mts +1 -1
  530. package/esm/use-cases/use-case-events.d.mts.map +1 -1
  531. package/esm/use-cases/use-case-events.mjs +1 -1
  532. package/esm/use-cases/use-case-events.mjs.map +1 -1
  533. package/esm/use-cases/use-case-pipeline.d.mts +1 -1
  534. package/esm/use-cases/use-case-pipeline.d.mts.map +1 -1
  535. package/esm/use-cases/use-case-pipeline.mjs +1 -1
  536. package/esm/use-cases/use-case-pipeline.mjs.map +1 -1
  537. package/esm/use-cases/use-case.d.mts +1 -1
  538. package/esm/use-cases/use-case.d.mts.map +1 -1
  539. package/esm/use-cases/use-case.errors.d.mts +1 -1
  540. package/esm/use-cases/use-case.errors.d.mts.map +1 -1
  541. package/esm/use-cases/use-case.errors.mjs +1 -1
  542. package/esm/use-cases/use-case.errors.mjs.map +1 -1
  543. package/esm/use-cases/use-case.mjs +1 -1
  544. package/esm/use-cases/use-case.mjs.map +1 -1
  545. package/esm/use-cases/use-cases-registry.d.mts +1 -1
  546. package/esm/use-cases/use-cases-registry.d.mts.map +1 -1
  547. package/esm/use-cases/use-cases-registry.mjs +1 -1
  548. package/esm/use-cases/use-cases-registry.mjs.map +1 -1
  549. package/esm/utils/app-log.d.mts +1 -1
  550. package/esm/utils/app-log.d.mts.map +1 -1
  551. package/esm/utils/app-log.mjs +1 -1
  552. package/esm/utils/app-log.mjs.map +1 -1
  553. package/esm/utils/database-log.d.mts +1 -1
  554. package/esm/utils/database-log.d.mts.map +1 -1
  555. package/esm/utils/database-log.mjs +1 -1
  556. package/esm/utils/database-log.mjs.map +1 -1
  557. package/esm/utils/environment.d.mts +1 -1
  558. package/esm/utils/environment.d.mts.map +1 -1
  559. package/esm/utils/environment.mjs +1 -1
  560. package/esm/utils/environment.mjs.map +1 -1
  561. package/esm/utils/framework-vesion.mjs +2 -11
  562. package/esm/utils/framework-vesion.mjs.map +1 -1
  563. package/esm/utils/get-localized.d.mts +1 -1
  564. package/esm/utils/get-localized.d.mts.map +1 -1
  565. package/esm/utils/get-localized.mjs +1 -1
  566. package/esm/utils/get-localized.mjs.map +1 -1
  567. package/esm/utils/paths.d.mts +1 -1
  568. package/esm/utils/paths.d.mts.map +1 -1
  569. package/esm/utils/paths.mjs +3 -3
  570. package/esm/utils/paths.mjs.map +1 -1
  571. package/esm/utils/promise-all-object.d.mts +1 -1
  572. package/esm/utils/promise-all-object.d.mts.map +1 -1
  573. package/esm/utils/promise-all-object.mjs +1 -1
  574. package/esm/utils/promise-all-object.mjs.map +1 -1
  575. package/esm/utils/queue.d.mts +1 -1
  576. package/esm/utils/queue.d.mts.map +1 -1
  577. package/esm/utils/queue.mjs +1 -1
  578. package/esm/utils/queue.mjs.map +1 -1
  579. package/esm/utils/sleep.d.mts +1 -1
  580. package/esm/utils/sleep.d.mts.map +1 -1
  581. package/esm/utils/sleep.mjs +1 -1
  582. package/esm/utils/sleep.mjs.map +1 -1
  583. package/esm/utils/sluggable.d.mts +1 -1
  584. package/esm/utils/sluggable.d.mts.map +1 -1
  585. package/esm/utils/sluggable.mjs +1 -1
  586. package/esm/utils/sluggable.mjs.map +1 -1
  587. package/esm/utils/to-json.d.mts +1 -1
  588. package/esm/utils/to-json.d.mts.map +1 -1
  589. package/esm/utils/to-json.mjs +1 -1
  590. package/esm/utils/to-json.mjs.map +1 -1
  591. package/esm/utils/types.d.mts +1 -1
  592. package/esm/utils/types.d.mts.map +1 -1
  593. package/esm/utils/urls.d.mts +1 -1
  594. package/esm/utils/urls.d.mts.map +1 -1
  595. package/esm/utils/urls.mjs +1 -1
  596. package/esm/utils/urls.mjs.map +1 -1
  597. package/esm/validation/database/exists-except-current-id.d.mts +1 -1
  598. package/esm/validation/database/exists-except-current-id.d.mts.map +1 -1
  599. package/esm/validation/database/exists-except-current-id.mjs +1 -1
  600. package/esm/validation/database/exists-except-current-id.mjs.map +1 -1
  601. package/esm/validation/database/exists-except-current-user.d.mts +1 -1
  602. package/esm/validation/database/exists-except-current-user.d.mts.map +1 -1
  603. package/esm/validation/database/exists-except-current-user.mjs +1 -1
  604. package/esm/validation/database/exists-except-current-user.mjs.map +1 -1
  605. package/esm/validation/database/types.d.mts +1 -1
  606. package/esm/validation/database/types.d.mts.map +1 -1
  607. package/esm/validation/database/unique-except-current-id.d.mts +1 -1
  608. package/esm/validation/database/unique-except-current-id.d.mts.map +1 -1
  609. package/esm/validation/database/unique-except-current-id.mjs +1 -1
  610. package/esm/validation/database/unique-except-current-id.mjs.map +1 -1
  611. package/esm/validation/database/unique-except-current-user.d.mts +1 -1
  612. package/esm/validation/database/unique-except-current-user.d.mts.map +1 -1
  613. package/esm/validation/database/unique-except-current-user.mjs +1 -1
  614. package/esm/validation/database/unique-except-current-user.mjs.map +1 -1
  615. package/esm/validation/file/file.d.mts +1 -1
  616. package/esm/validation/file/file.d.mts.map +1 -1
  617. package/esm/validation/file/file.mjs +1 -1
  618. package/esm/validation/file/file.mjs.map +1 -1
  619. package/esm/validation/init.mjs +1 -1
  620. package/esm/validation/init.mjs.map +1 -1
  621. package/esm/validation/plugins/database-plugin.mjs +1 -1
  622. package/esm/validation/plugins/database-plugin.mjs.map +1 -1
  623. package/esm/validation/plugins/file-plugin.mjs +1 -1
  624. package/esm/validation/plugins/file-plugin.mjs.map +1 -1
  625. package/esm/validation/plugins/localized-plugin.mjs +1 -1
  626. package/esm/validation/plugins/localized-plugin.mjs.map +1 -1
  627. package/esm/validation/types.d.mts +1 -1
  628. package/esm/validation/types.d.mts.map +1 -1
  629. package/esm/validation/validateAll.mjs +3 -3
  630. package/esm/validation/validateAll.mjs.map +1 -1
  631. package/esm/validation/validators/file-validator.d.mts +1 -1
  632. package/esm/validation/validators/file-validator.d.mts.map +1 -1
  633. package/esm/validation/validators/file-validator.mjs +1 -1
  634. package/esm/validation/validators/file-validator.mjs.map +1 -1
  635. package/esm/vite/index.mjs +3 -0
  636. package/esm/vite/lower-stage3-decorators.d.mts +53 -0
  637. package/esm/vite/lower-stage3-decorators.d.mts.map +1 -0
  638. package/esm/vite/lower-stage3-decorators.mjs +63 -0
  639. package/esm/vite/lower-stage3-decorators.mjs.map +1 -0
  640. package/esm/warlock-config/default-configurations.mjs +1 -1
  641. package/esm/warlock-config/default-configurations.mjs.map +1 -1
  642. package/esm/warlock-config/define-config.d.mts +1 -1
  643. package/esm/warlock-config/define-config.d.mts.map +1 -1
  644. package/esm/warlock-config/define-config.mjs +1 -1
  645. package/esm/warlock-config/define-config.mjs.map +1 -1
  646. package/esm/warlock-config/types.d.mts +1 -1
  647. package/esm/warlock-config/types.d.mts.map +1 -1
  648. package/esm/warlock-config/warlock-config.manager.d.mts +1 -1
  649. package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -1
  650. package/esm/warlock-config/warlock-config.manager.mjs +1 -1
  651. package/esm/warlock-config/warlock-config.manager.mjs.map +1 -1
  652. package/llms-full.txt +64 -4
  653. package/llms.txt +1 -0
  654. package/package.json +9 -33
  655. package/skills/lower-stage3-decorators/SKILL.md +54 -0
  656. package/skills/test-http/SKILL.md +3 -2
  657. package/skills/test-service/SKILL.md +3 -2
  658. package/esm/_virtual/_rolldown/runtime.mjs +0 -7
  659. package/esm/cli/cli-commands.manager.mjs +0 -290
  660. package/esm/cli/cli-commands.manager.mjs.map +0 -1
  661. package/esm/cli/cli-commands.utils.mjs +0 -217
  662. package/esm/cli/cli-commands.utils.mjs.map +0 -1
  663. package/esm/cli/commands/add.command.mjs +0 -27
  664. package/esm/cli/commands/add.command.mjs.map +0 -1
  665. package/esm/cli/commands/build.command.mjs +0 -14
  666. package/esm/cli/commands/build.command.mjs.map +0 -1
  667. package/esm/cli/commands/create-database.command.mjs +0 -24
  668. package/esm/cli/commands/create-database.command.mjs.map +0 -1
  669. package/esm/cli/commands/dev-server.command.mjs +0 -48
  670. package/esm/cli/commands/dev-server.command.mjs.map +0 -1
  671. package/esm/cli/commands/drop-tables.command.mjs +0 -23
  672. package/esm/cli/commands/drop-tables.command.mjs.map +0 -1
  673. package/esm/cli/commands/generate/generate.command.mjs +0 -201
  674. package/esm/cli/commands/generate/generate.command.mjs.map +0 -1
  675. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +0 -49
  676. package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +0 -1
  677. package/esm/cli/commands/generate/generators/controller.generator.mjs +0 -48
  678. package/esm/cli/commands/generate/generators/controller.generator.mjs.map +0 -1
  679. package/esm/cli/commands/generate/generators/migration.generator.mjs +0 -81
  680. package/esm/cli/commands/generate/generators/migration.generator.mjs.map +0 -1
  681. package/esm/cli/commands/generate/generators/model.generator.mjs +0 -60
  682. package/esm/cli/commands/generate/generators/model.generator.mjs.map +0 -1
  683. package/esm/cli/commands/generate/generators/module.generator.mjs +0 -113
  684. package/esm/cli/commands/generate/generators/module.generator.mjs.map +0 -1
  685. package/esm/cli/commands/generate/generators/repository.generator.mjs +0 -42
  686. package/esm/cli/commands/generate/generators/repository.generator.mjs.map +0 -1
  687. package/esm/cli/commands/generate/generators/resource.generator.mjs +0 -42
  688. package/esm/cli/commands/generate/generators/resource.generator.mjs.map +0 -1
  689. package/esm/cli/commands/generate/generators/service.generator.mjs +0 -42
  690. package/esm/cli/commands/generate/generators/service.generator.mjs.map +0 -1
  691. package/esm/cli/commands/generate/templates/stubs.mjs +0 -514
  692. package/esm/cli/commands/generate/templates/stubs.mjs.map +0 -1
  693. package/esm/cli/commands/generate/utils/name-parser.mjs +0 -69
  694. package/esm/cli/commands/generate/utils/name-parser.mjs.map +0 -1
  695. package/esm/cli/commands/generate/utils/path-resolver.mjs +0 -56
  696. package/esm/cli/commands/generate/utils/path-resolver.mjs.map +0 -1
  697. package/esm/cli/commands/generate/utils/prompt.mjs +0 -28
  698. package/esm/cli/commands/generate/utils/prompt.mjs.map +0 -1
  699. package/esm/cli/commands/generate/utils/writer.mjs +0 -60
  700. package/esm/cli/commands/generate/utils/writer.mjs.map +0 -1
  701. package/esm/cli/commands/migrate.command.mjs +0 -60
  702. package/esm/cli/commands/migrate.command.mjs.map +0 -1
  703. package/esm/cli/commands/seed.command.mjs +0 -41
  704. package/esm/cli/commands/seed.command.mjs.map +0 -1
  705. package/esm/cli/commands/start-production.command.mjs +0 -50
  706. package/esm/cli/commands/start-production.command.mjs.map +0 -1
  707. package/esm/cli/commands/storage-put.action.mjs +0 -75
  708. package/esm/cli/commands/storage-put.action.mjs.map +0 -1
  709. package/esm/cli/commands/storage-put.command.mjs +0 -46
  710. package/esm/cli/commands/storage-put.command.mjs.map +0 -1
  711. package/esm/cli/commands/typings-generator.command.mjs +0 -38
  712. package/esm/cli/commands/typings-generator.command.mjs.map +0 -1
  713. package/esm/cli/commands-loader.mjs +0 -50
  714. package/esm/cli/commands-loader.mjs.map +0 -1
  715. package/esm/cli/framework-cli-commands.mjs +0 -37
  716. package/esm/cli/framework-cli-commands.mjs.map +0 -1
  717. package/esm/cli/parse-cli-args.mjs +0 -62
  718. package/esm/cli/parse-cli-args.mjs.map +0 -1
  719. package/esm/cli/start.d.mts +0 -1
  720. package/esm/cli/start.mjs +0 -8
  721. package/esm/cli/start.mjs.map +0 -1
  722. package/esm/cli/string-similarity.mjs +0 -56
  723. package/esm/cli/string-similarity.mjs.map +0 -1
  724. package/esm/database/create-database-action.mjs +0 -32
  725. package/esm/database/create-database-action.mjs.map +0 -1
  726. package/esm/database/drop-tables-action.mjs +0 -35
  727. package/esm/database/drop-tables-action.mjs.map +0 -1
  728. package/esm/database/migrate-action.mjs +0 -99
  729. package/esm/database/migrate-action.mjs.map +0 -1
  730. package/esm/database/seed-command-action.mjs +0 -74
  731. package/esm/database/seed-command-action.mjs.map +0 -1
  732. package/esm/database/seeds/seeders.manager.mjs +0 -129
  733. package/esm/database/seeds/seeders.manager.mjs.map +0 -1
  734. package/esm/database/seeds/seeds-table-migration.mjs +0 -31
  735. package/esm/database/seeds/seeds-table-migration.mjs.map +0 -1
  736. package/esm/database/seeds/utils.mjs +0 -6
  737. package/esm/database/seeds/utils.mjs.map +0 -1
  738. package/esm/dev-server/development-server.mjs +0 -115
  739. package/esm/dev-server/development-server.mjs.map +0 -1
  740. package/esm/dev-server/health-checker/workers/eslint-health.worker.d.mts +0 -1
  741. package/esm/dev-server/health-checker/workers/ts-health.worker.d.mts +0 -1
  742. package/esm/dev-server/layer-executor.mjs +0 -114
  743. package/esm/dev-server/layer-executor.mjs.map +0 -1
  744. package/esm/dev-server/loader/hook-thread.d.mts +0 -48
  745. package/esm/dev-server/loader/hook-thread.d.mts.map +0 -1
  746. package/esm/dev-server/loader/hook-thread.mjs +0 -47
  747. package/esm/dev-server/loader/hook-thread.mjs.map +0 -1
  748. package/esm/dev-server/loader/load-hook.d.mts +0 -58
  749. package/esm/dev-server/loader/load-hook.d.mts.map +0 -1
  750. package/esm/dev-server/loader/load-hook.mjs +0 -86
  751. package/esm/dev-server/loader/load-hook.mjs.map +0 -1
  752. package/esm/dev-server/loader/own-resolver.mjs +0 -69
  753. package/esm/dev-server/loader/own-resolver.mjs.map +0 -1
  754. package/esm/dev-server/loader/resolve-capture.mjs +0 -43
  755. package/esm/dev-server/loader/resolve-capture.mjs.map +0 -1
  756. package/esm/dev-server/loader/resolve-hook.d.mts +0 -41
  757. package/esm/dev-server/loader/resolve-hook.d.mts.map +0 -1
  758. package/esm/dev-server/loader/resolve-hook.mjs +0 -87
  759. package/esm/dev-server/loader/resolve-hook.mjs.map +0 -1
  760. package/esm/dev-server/loader/source-slug.mjs +0 -22
  761. package/esm/dev-server/loader/source-slug.mjs.map +0 -1
  762. package/esm/dev-server/loader/version-registry.mjs +0 -45
  763. package/esm/dev-server/loader/version-registry.mjs.map +0 -1
  764. package/esm/dev-server/start-development-server.mjs +0 -63
  765. package/esm/dev-server/start-development-server.mjs.map +0 -1
  766. package/esm/dev-server/type-generator.mjs +0 -453
  767. package/esm/dev-server/type-generator.mjs.map +0 -1
  768. package/esm/generations/add-command.action.mjs +0 -376
  769. package/esm/generations/add-command.action.mjs.map +0 -1
  770. package/esm/generations/stubs.mjs +0 -103
  771. package/esm/generations/stubs.mjs.map +0 -1
  772. package/esm/manifest/manifest-manager.mjs +0 -79
  773. package/esm/manifest/manifest-manager.mjs.map +0 -1
  774. package/esm/production/build-app-production.mjs +0 -14
  775. package/esm/production/build-app-production.mjs.map +0 -1
  776. package/esm/production/esbuild-plugins.mjs +0 -37
  777. package/esm/production/esbuild-plugins.mjs.map +0 -1
  778. package/esm/production/production-builder.mjs +0 -264
  779. package/esm/production/production-builder.mjs.map +0 -1
  780. package/esm/production/resolve-build-config.mjs +0 -28
  781. package/esm/production/resolve-build-config.mjs.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,30 @@
1
+ # Changelog — @warlock.js/core
2
+
3
+ All notable changes to `@warlock.js/core` are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
6
+
7
+ ## [Unreleased]
8
+
9
+ - `lowerStage3Decorators()` — shared Vite/Vitest plugin that lowers TC39 Stage-3 decorators with esbuild before oxc / the SSR rewrite mangles them. Drop it first in a config's `plugins` so model-decorated files load under Vitest 4 / Vite 8.
10
+ - `warlock add test` now scaffolds a `vite.config.ts` that includes `lowerStage3Decorators()`, so a fresh project can test decorated models out of the box.
11
+ - `warlock add test` `test`/`test:coverage` scripts now run one-shot (`vitest run`) instead of watch mode — safe for CI by default.
12
+ - `startHttpTestServer` now starts early-phase connectors (database, cache, logger, …) **before** loading app modules, then late-phase connectors (http, socket) after — mirroring the dev/prod boot order. Fixes a `MissingDataSourceError` when a module's `main.ts` boot side-effect queries the DB at import time under the Vitest integration harness.
13
+ - `warlock add notifications` — new feature in the `add` command: installs `@warlock.js/notifications` (and pulls the `mail` feature for the default mail channel), ejects `config/notifications.ts` (mail + in-app channels wired), and scaffolds the app-owned `Notification` model + a timestamped migration into `src/app/notifications/`. Re-running is idempotent (the model file is the sentinel — no duplicate migration). The async queue stays opt-in (commented in the config; enable with `warlock add herald` + `heraldQueue()`).
14
+ - **Notifications connector** — a built-in connector (priority `8`, early phase) reads `config/notifications.ts` at boot and hands its default export to `setNotificationConfig`. `@warlock.js/notifications` is lazy-imported (gated on the config's presence), so core keeps no hard dependency on it — the same pattern as the herald connector. Config files stay declarative (`export default config`); the side-effect moves out of the config file.
15
+
16
+ ## 4.2.1
17
+
18
+ ### Fixed
19
+
20
+ - Ship the `bin` folder so the `warlock` CLI works from the published package — it was omitted from the 4.2.0 build.
21
+
22
+ ## 4.2.0
23
+
24
+ ### Changed
25
+
26
+ - `herald-connector` and `http-connector` now log a failed boot-time connection at `log.fatal` (was `log.error` / a dev-only console write). A broker connection failure or an HTTP port-bind failure at boot is unrecoverable — `fatal` makes "page on fatal only" alerting clean, aligned with the cascade and cache drivers. The HTTP connector additionally `await log.flush()` before `process.exit(1)` so the fatal entry reaches Sentry/file before the process dies. Disconnect/shutdown failures stay at `error`.
27
+
28
+ ## 4.1.15
29
+
30
+ - Baseline — per-package changelog tracking starts at this version.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Hassan Zohdy
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -3,7 +3,7 @@ import { DataSource } from "@warlock.js/cascade";
3
3
  import { FastifyInstance } from "fastify";
4
4
  import { Server } from "socket.io";
5
5
 
6
- //#region ../../@warlock.js/core/src/application/app.d.ts
6
+ //#region ../@warlock.js/core/src/application/app.d.ts
7
7
  type RuntimeApplication = {
8
8
  socket: Server;
9
9
  http: FastifyInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/application/app.ts"],"mappings":";;;;;;KAMK,kBAAA;EACH,MAAA,EAAQ,MAAA;EACR,IAAA,EAAM,eAAA;EACN,MAAA,EAAQ,MAAA;EACR,QAAA,EAAU,UAAA;AAAA;AAAA,cAGC,GAAA,EAAK,kBA4BjB"}
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/application/app.ts"],"mappings":";;;;;;KAMK,kBAAA;EACH,MAAA,EAAQ,MAAA;EACR,IAAA,EAAM,eAAA;EACN,MAAA,EAAQ,MAAA;EACR,QAAA,EAAU,UAAA;AAAA;AAAA,cAGC,GAAA,EAAK,kBA4BjB"}
@@ -1,6 +1,6 @@
1
1
  import { container } from "../container/index.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/application/app.ts
3
+ //#region ../@warlock.js/core/src/application/app.ts
4
4
  const app = {
5
5
  /**
6
6
  * Socket Io Instance
@@ -1 +1 @@
1
- {"version":3,"file":"app.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/application/app.ts"],"sourcesContent":["import { type DataSource } from \"@warlock.js/cascade\";\nimport { type FastifyInstance } from \"fastify\";\nimport { type Server } from \"socket.io\";\nimport { type Router } from \"../router\";\nimport { container } from \"./../container\";\n\ntype RuntimeApplication = {\n socket: Server;\n http: FastifyInstance;\n router: Router;\n database: DataSource;\n};\n\nexport const app: RuntimeApplication = {\n /**\n * Socket Io Instance\n * Available only if socket.io config file exists\n */\n get socket() {\n return container.get(\"socket\");\n },\n /**\n * HTTP Server Instance\n * Available only if http config file exists\n */\n get http() {\n return container.get(\"http.server\");\n },\n /**\n * Router Instance\n */\n get router() {\n return container.get(\"router\");\n },\n /**\n * Database Instance\n * Available only if database config file exists\n */\n get database() {\n return container.get(\"database.source\");\n },\n};\n"],"mappings":";;;AAaA,MAAa,MAA0B;;;;;CAKrC,IAAI,SAAS;EACX,OAAO,UAAU,IAAI,QAAQ;CAC/B;;;;;CAKA,IAAI,OAAO;EACT,OAAO,UAAU,IAAI,aAAa;CACpC;;;;CAIA,IAAI,SAAS;EACX,OAAO,UAAU,IAAI,QAAQ;CAC/B;;;;;CAKA,IAAI,WAAW;EACb,OAAO,UAAU,IAAI,iBAAiB;CACxC;AACF"}
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/application/app.ts"],"sourcesContent":["import { type DataSource } from \"@warlock.js/cascade\";\nimport { type FastifyInstance } from \"fastify\";\nimport { type Server } from \"socket.io\";\nimport { type Router } from \"../router\";\nimport { container } from \"./../container\";\n\ntype RuntimeApplication = {\n socket: Server;\n http: FastifyInstance;\n router: Router;\n database: DataSource;\n};\n\nexport const app: RuntimeApplication = {\n /**\n * Socket Io Instance\n * Available only if socket.io config file exists\n */\n get socket() {\n return container.get(\"socket\");\n },\n /**\n * HTTP Server Instance\n * Available only if http config file exists\n */\n get http() {\n return container.get(\"http.server\");\n },\n /**\n * Router Instance\n */\n get router() {\n return container.get(\"router\");\n },\n /**\n * Database Instance\n * Available only if database config file exists\n */\n get database() {\n return container.get(\"database.source\");\n },\n};\n"],"mappings":";;;AAaA,MAAa,MAA0B;;;;;CAKrC,IAAI,SAAS;EACX,OAAO,UAAU,IAAI,QAAQ;CAC/B;;;;;CAKA,IAAI,OAAO;EACT,OAAO,UAAU,IAAI,aAAa;CACpC;;;;CAIA,IAAI,SAAS;EACX,OAAO,UAAU,IAAI,QAAQ;CAC/B;;;;;CAKA,IAAI,WAAW;EACb,OAAO,UAAU,IAAI,iBAAiB;CACxC;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/application/application-config-types.d.ts
1
+ //#region ../@warlock.js/core/src/application/application-config-types.d.ts
2
2
  type AppConfigurations = {
3
3
  /**
4
4
  * App name
@@ -1 +1 @@
1
- {"version":3,"file":"application-config-types.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/application/application-config-types.ts"],"mappings":";KAAY,iBAAA;EAAA;;;EAIV,OAAA;EAAA;;;;;EAMA,UAAA;EAcW;;;;;EARX,OAAA;;;;EAIA,QAAA;;;;EAIA,WAAA;AAAA"}
1
+ {"version":3,"file":"application-config-types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/application/application-config-types.ts"],"mappings":";KAAY,iBAAA;EAAA;;;EAIV,OAAA;EAAA;;;;;EAMA,UAAA;EAcW;;;;;EARX,OAAA;;;;EAIA,QAAA;;;;EAIA,WAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Environment } from "../utils/environment.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/application/application.d.ts
3
+ //#region ../@warlock.js/core/src/application/application.d.ts
4
4
  declare class Application {
5
5
  /**
6
6
  * Project start time regarding the process start time
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/application/application.ts"],"mappings":";;;cAIa,WAAA;;AAAb;;kBAIyB,SAAA,EAAS,IAAA;EAAA;;;EAAA,OAKlB,eAAA;EAiC+B;;;EAAA,WA5B3B,OAAA,CAAA;EAAA;;;EAAA,OAOJ,kBAAA,CAAmB,QAAA;EAcf;;;EAAA,WAPA,MAAA,CAAA;EAcW;;;EAAA,WAPX,WAAA,CAAA,GAAe,WAAA;EAmCf;;;EAAA,OA5BJ,cAAA,CAAe,GAAA,EAAK,WAAA;EAwDhB;;;EAAA,WAjDA,YAAA,CAAA;;;;aAOA,aAAA,CAAA;;;;aAOA,MAAA,CAAA;;;;aAOA,QAAA,CAAA;;;;aAOA,OAAA,CAAA;;;;aAOA,OAAA,CAAA;;;;aAOA,WAAA,CAAA;;;;aAOA,WAAA,CAAA;;;;aAOA,UAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"application.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/application/application.ts"],"mappings":";;;cAIa,WAAA;;AAAb;;kBAIyB,SAAA,EAAS,IAAA;EAAA;;;EAAA,OAKlB,eAAA;EAiC+B;;;EAAA,WA5B3B,OAAA;EAAA;;;EAAA,OAOJ,kBAAA,CAAmB,QAAA;EAcf;;;EAAA,WAPA,MAAA;EAcW;;;EAAA,WAPX,WAAA,IAAe,WAAA;EAmCf;;;EAAA,OA5BJ,cAAA,CAAe,GAAA,EAAK,WAAA;EAwDhB;;;EAAA,WAjDA,YAAA;;;;aAOA,aAAA;;;;aAOA,MAAA;;;;aAOA,QAAA;;;;aAOA,OAAA;;;;aAOA,OAAA;;;;aAOA,WAAA;;;;aAOA,WAAA;;;;aAOA,UAAA;AAAA"}
@@ -2,7 +2,7 @@ import { environment, setEnvironment } from "../utils/environment.mjs";
2
2
  import { appPath, publicPath, rootPath, srcPath, storagePath, uploadsPath } from "../utils/paths.mjs";
3
3
  import { getFrameworkVersion } from "../utils/framework-vesion.mjs";
4
4
 
5
- //#region ../../@warlock.js/core/src/application/application.ts
5
+ //#region ../@warlock.js/core/src/application/application.ts
6
6
  var Application = class {
7
7
  static {
8
8
  this.startedAt = /* @__PURE__ */ new Date(Date.now() - process.uptime() * 1e3);
@@ -1 +1 @@
1
- {"version":3,"file":"application.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/application/application.ts"],"sourcesContent":["import { environment, setEnvironment, type Environment } from \"../utils/environment\";\nimport { getFrameworkVersion } from \"../utils/framework-vesion\";\nimport { appPath, publicPath, rootPath, srcPath, storagePath, uploadsPath } from \"../utils/paths\";\n\nexport class Application {\n /**\n * Project start time regarding the process start time\n */\n public static readonly startedAt = new Date(Date.now() - process.uptime() * 1000);\n\n /**\n * Runtime strategy\n */\n public static runtimeStrategy: \"production\" | \"development\";\n\n /**\n * Get framework version\n */\n public static get version() {\n return getFrameworkVersion();\n }\n\n /**\n * Set the runtime strategy\n */\n public static setRuntimeStrategy(strategy: \"production\" | \"development\") {\n this.runtimeStrategy = strategy;\n }\n\n /**\n * Get project uptime in milliseconds\n */\n public static get uptime(): number {\n return process.uptime() * 1000;\n }\n\n /**\n * Get the current environment\n */\n public static get environment(): Environment {\n return environment();\n }\n\n /**\n * Set the current environment\n */\n public static setEnvironment(env: Environment) {\n setEnvironment(env);\n }\n\n /**\n * Check if the application is running in production environment\n */\n public static get isProduction(): boolean {\n return this.environment === \"production\";\n }\n\n /**\n * Check if the application is running in development environment\n */\n public static get isDevelopment(): boolean {\n return this.environment === \"development\";\n }\n\n /**\n * Check if the application is running in test environment\n */\n public static get isTest(): boolean {\n return this.environment === \"test\";\n }\n\n /**\n * Get the root path\n */\n public static get rootPath(): string {\n return rootPath();\n }\n\n /**\n * Get the src path\n */\n public static get srcPath(): string {\n return srcPath();\n }\n\n /**\n * Get the app path\n */\n public static get appPath(): string {\n return appPath();\n }\n\n /**\n * Get the storage path\n */\n public static get storagePath(): string {\n return storagePath();\n }\n\n /**\n * Get the uploads path\n */\n public static get uploadsPath(): string {\n return uploadsPath();\n }\n\n /**\n * Get the public path\n */\n public static get publicPath(): string {\n return publicPath();\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,cAAb,MAAyB;;mCAIY,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,OAAO,IAAI,GAAI;;;;;CAUhF,WAAkB,UAAU;EAC1B,OAAO,oBAAoB;CAC7B;;;;CAKA,OAAc,mBAAmB,UAAwC;EACvE,KAAK,kBAAkB;CACzB;;;;CAKA,WAAkB,SAAiB;EACjC,OAAO,QAAQ,OAAO,IAAI;CAC5B;;;;CAKA,WAAkB,cAA2B;EAC3C,OAAO,YAAY;CACrB;;;;CAKA,OAAc,eAAe,KAAkB;EAC7C,eAAe,GAAG;CACpB;;;;CAKA,WAAkB,eAAwB;EACxC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,gBAAyB;EACzC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,SAAkB;EAClC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,WAAmB;EACnC,OAAO,SAAS;CAClB;;;;CAKA,WAAkB,UAAkB;EAClC,OAAO,QAAQ;CACjB;;;;CAKA,WAAkB,UAAkB;EAClC,OAAO,QAAQ;CACjB;;;;CAKA,WAAkB,cAAsB;EACtC,OAAO,YAAY;CACrB;;;;CAKA,WAAkB,cAAsB;EACtC,OAAO,YAAY;CACrB;;;;CAKA,WAAkB,aAAqB;EACrC,OAAO,WAAW;CACpB;AACF"}
1
+ {"version":3,"file":"application.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/application/application.ts"],"sourcesContent":["import { environment, setEnvironment, type Environment } from \"../utils/environment\";\nimport { getFrameworkVersion } from \"../utils/framework-vesion\";\nimport { appPath, publicPath, rootPath, srcPath, storagePath, uploadsPath } from \"../utils/paths\";\n\nexport class Application {\n /**\n * Project start time regarding the process start time\n */\n public static readonly startedAt = new Date(Date.now() - process.uptime() * 1000);\n\n /**\n * Runtime strategy\n */\n public static runtimeStrategy: \"production\" | \"development\";\n\n /**\n * Get framework version\n */\n public static get version() {\n return getFrameworkVersion();\n }\n\n /**\n * Set the runtime strategy\n */\n public static setRuntimeStrategy(strategy: \"production\" | \"development\") {\n this.runtimeStrategy = strategy;\n }\n\n /**\n * Get project uptime in milliseconds\n */\n public static get uptime(): number {\n return process.uptime() * 1000;\n }\n\n /**\n * Get the current environment\n */\n public static get environment(): Environment {\n return environment();\n }\n\n /**\n * Set the current environment\n */\n public static setEnvironment(env: Environment) {\n setEnvironment(env);\n }\n\n /**\n * Check if the application is running in production environment\n */\n public static get isProduction(): boolean {\n return this.environment === \"production\";\n }\n\n /**\n * Check if the application is running in development environment\n */\n public static get isDevelopment(): boolean {\n return this.environment === \"development\";\n }\n\n /**\n * Check if the application is running in test environment\n */\n public static get isTest(): boolean {\n return this.environment === \"test\";\n }\n\n /**\n * Get the root path\n */\n public static get rootPath(): string {\n return rootPath();\n }\n\n /**\n * Get the src path\n */\n public static get srcPath(): string {\n return srcPath();\n }\n\n /**\n * Get the app path\n */\n public static get appPath(): string {\n return appPath();\n }\n\n /**\n * Get the storage path\n */\n public static get storagePath(): string {\n return storagePath();\n }\n\n /**\n * Get the uploads path\n */\n public static get uploadsPath(): string {\n return uploadsPath();\n }\n\n /**\n * Get the public path\n */\n public static get publicPath(): string {\n return publicPath();\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,cAAb,MAAyB;;mCAIY,IAAI,KAAK,KAAK,IAAI,IAAI,QAAQ,OAAO,IAAI,GAAI;;;;;CAUhF,WAAkB,UAAU;EAC1B,OAAO,oBAAoB;CAC7B;;;;CAKA,OAAc,mBAAmB,UAAwC;EACvE,KAAK,kBAAkB;CACzB;;;;CAKA,WAAkB,SAAiB;EACjC,OAAO,QAAQ,OAAO,IAAI;CAC5B;;;;CAKA,WAAkB,cAA2B;EAC3C,OAAO,YAAY;CACrB;;;;CAKA,OAAc,eAAe,KAAkB;EAC7C,eAAe,GAAG;CACpB;;;;CAKA,WAAkB,eAAwB;EACxC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,gBAAyB;EACzC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,SAAkB;EAClC,OAAO,KAAK,gBAAgB;CAC9B;;;;CAKA,WAAkB,WAAmB;EACnC,OAAO,SAAS;CAClB;;;;CAKA,WAAkB,UAAkB;EAClC,OAAO,QAAQ;CACjB;;;;CAKA,WAAkB,UAAkB;EAClC,OAAO,QAAQ;CACjB;;;;CAKA,WAAkB,cAAsB;EACtC,OAAO,YAAY;CACrB;;;;CAKA,WAAkB,cAAsB;EACtC,OAAO,YAAY;CACrB;;;;CAKA,WAAkB,aAAqB;EACrC,OAAO,WAAW;CACpB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BenchmarkErrorResult, BenchmarkSnapshotsOptions, BenchmarkSuccessResult } from "./types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/benchmark-snapshots.d.ts
3
+ //#region ../@warlock.js/core/src/benchmark/benchmark-snapshots.d.ts
4
4
  declare class BenchmarkSnapshots {
5
5
  private readonly maxSnapshots;
6
6
  private readonly capture;
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-snapshots.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/benchmark-snapshots.ts"],"mappings":";;;cAMa,kBAAA;EAAA,iBACM,YAAA;EAAA,iBACA,OAAA;EAAA,iBACA,SAAA;cAKE,OAAA,GAAU,yBAAA;EAAA;;;;;;;;;EActB,MAAA,CAAO,MAAA,EAAQ,sBAAA,YAAkC,oBAAA;EArBvC;;;;;;;;;EAgDV,YAAA,CAAa,IAAA,YAAgB,sBAAA,YAAkC,oBAAA;EAA/D;;;;;;;;EAYA,YAAA,CAAA,GAAgB,MAAA,UAEpB,sBAAA,YAAkC,oBAAA;EAoBxB;;AAAa;;;;;;;EAAnB,KAAA,CAAM,IAAA;AAAA"}
1
+ {"version":3,"file":"benchmark-snapshots.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/benchmark-snapshots.ts"],"mappings":";;;cAMa,kBAAA;EAAA,iBACM,YAAA;EAAA,iBACA,OAAA;EAAA,iBACA,SAAA;cAKE,OAAA,GAAU,yBAAA;EAAA;;;;;;;;;EActB,MAAA,CAAO,MAAA,EAAQ,sBAAA,YAAkC,oBAAA;EArBvC;;;;;;;;;EAgDV,YAAA,CAAa,IAAA,YAAgB,sBAAA,YAAkC,oBAAA;EAA/D;;;;;;;;EAYA,YAAA,IAAgB,MAAA,UAEpB,sBAAA,YAAkC,oBAAA;EAoBxB;;AAAa;;;;;;;EAAnB,KAAA,CAAM,IAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/benchmark/benchmark-snapshots.ts
1
+ //#region ../@warlock.js/core/src/benchmark/benchmark-snapshots.ts
2
2
  var BenchmarkSnapshots = class {
3
3
  constructor(options) {
4
4
  this.snapshots = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark-snapshots.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/benchmark-snapshots.ts"],"sourcesContent":["import type {\n BenchmarkErrorResult,\n BenchmarkSnapshotsOptions,\n BenchmarkSuccessResult,\n} from \"./types\";\n\nexport class BenchmarkSnapshots {\n private readonly maxSnapshots: number;\n private readonly capture: \"error\" | \"value\" | \"all\";\n private readonly snapshots = new Map<\n string,\n (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]\n >();\n\n public constructor(options?: BenchmarkSnapshotsOptions) {\n this.maxSnapshots = options?.maxSnapshots ?? 100;\n this.capture = options?.capture ?? \"error\";\n }\n\n /**\n * Record a raw result. Called automatically by measure() when a snapshotContainer is set.\n * Respects the `capture` setting — ignores results that don't match.\n *\n * @param result - The success or error result to record.\n *\n * @example\n * snapshots.record(result);\n */\n public record(result: BenchmarkSuccessResult<unknown> | BenchmarkErrorResult): void {\n if (this.capture === \"error\" && result.success) return;\n if (this.capture === \"value\" && !result.success) return;\n\n let list = this.snapshots.get(result.name);\n\n if (!list) {\n list = [];\n this.snapshots.set(result.name, list);\n }\n\n if (list.length >= this.maxSnapshots && this.maxSnapshots > 0) {\n list.shift(); // Evict oldest\n }\n\n list.push(result);\n }\n\n /**\n * Get all snapshots for one operation name.\n *\n * @param name - The operation name.\n * @returns Array of snapshots for the operation.\n *\n * @example\n * snapshots.getSnapshots(\"db-query\");\n */\n public getSnapshots(name: string): (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[] {\n return this.snapshots.get(name) ?? [];\n }\n\n /**\n * Get all snapshots for all tracked operations.\n *\n * @returns A mapping of operation names to their snapshots array.\n *\n * @example\n * snapshots.allSnapshots();\n */\n public allSnapshots(): Record<\n string,\n (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]\n > {\n const all: Record<string, (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]> = {};\n\n for (const [name, list] of this.snapshots.entries()) {\n all[name] = [...list];\n }\n\n return all;\n }\n\n /**\n * Clear snapshots for one or all operations.\n *\n * @param name - Optional operation name. If omitted, clears all snapshots.\n *\n * @example\n * snapshots.reset(\"db-query\");\n * snapshots.reset();\n */\n public reset(name?: string): void {\n if (name) {\n this.snapshots.delete(name);\n } else {\n this.snapshots.clear();\n }\n }\n}\n"],"mappings":";AAMA,IAAa,qBAAb,MAAgC;CAQ9B,AAAO,YAAY,SAAqC;mCAL3B,IAAI,IAG/B;EAGA,KAAK,eAAe,SAAS,gBAAgB;EAC7C,KAAK,UAAU,SAAS,WAAW;CACrC;;;;;;;;;;CAWA,AAAO,OAAO,QAAsE;EAClF,IAAI,KAAK,YAAY,WAAW,OAAO,SAAS;EAChD,IAAI,KAAK,YAAY,WAAW,CAAC,OAAO,SAAS;EAEjD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI;EAEzC,IAAI,CAAC,MAAM;GACT,OAAO,CAAC;GACR,KAAK,UAAU,IAAI,OAAO,MAAM,IAAI;EACtC;EAEA,IAAI,KAAK,UAAU,KAAK,gBAAgB,KAAK,eAAe,GAC1D,KAAK,MAAM;EAGb,KAAK,KAAK,MAAM;CAClB;;;;;;;;;;CAWA,AAAO,aAAa,MAA0E;EAC5F,OAAO,KAAK,UAAU,IAAI,IAAI,KAAK,CAAC;CACtC;;;;;;;;;CAUA,AAAO,eAGL;EACA,MAAM,MAAkF,CAAC;EAEzF,KAAK,MAAM,CAAC,MAAM,SAAS,KAAK,UAAU,QAAQ,GAChD,IAAI,QAAQ,CAAC,GAAG,IAAI;EAGtB,OAAO;CACT;;;;;;;;;;CAWA,AAAO,MAAM,MAAqB;EAChC,IAAI,MACF,KAAK,UAAU,OAAO,IAAI;OAE1B,KAAK,UAAU,MAAM;CAEzB;AACF"}
1
+ {"version":3,"file":"benchmark-snapshots.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/benchmark-snapshots.ts"],"sourcesContent":["import type {\n BenchmarkErrorResult,\n BenchmarkSnapshotsOptions,\n BenchmarkSuccessResult,\n} from \"./types\";\n\nexport class BenchmarkSnapshots {\n private readonly maxSnapshots: number;\n private readonly capture: \"error\" | \"value\" | \"all\";\n private readonly snapshots = new Map<\n string,\n (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]\n >();\n\n public constructor(options?: BenchmarkSnapshotsOptions) {\n this.maxSnapshots = options?.maxSnapshots ?? 100;\n this.capture = options?.capture ?? \"error\";\n }\n\n /**\n * Record a raw result. Called automatically by measure() when a snapshotContainer is set.\n * Respects the `capture` setting — ignores results that don't match.\n *\n * @param result - The success or error result to record.\n *\n * @example\n * snapshots.record(result);\n */\n public record(result: BenchmarkSuccessResult<unknown> | BenchmarkErrorResult): void {\n if (this.capture === \"error\" && result.success) return;\n if (this.capture === \"value\" && !result.success) return;\n\n let list = this.snapshots.get(result.name);\n\n if (!list) {\n list = [];\n this.snapshots.set(result.name, list);\n }\n\n if (list.length >= this.maxSnapshots && this.maxSnapshots > 0) {\n list.shift(); // Evict oldest\n }\n\n list.push(result);\n }\n\n /**\n * Get all snapshots for one operation name.\n *\n * @param name - The operation name.\n * @returns Array of snapshots for the operation.\n *\n * @example\n * snapshots.getSnapshots(\"db-query\");\n */\n public getSnapshots(name: string): (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[] {\n return this.snapshots.get(name) ?? [];\n }\n\n /**\n * Get all snapshots for all tracked operations.\n *\n * @returns A mapping of operation names to their snapshots array.\n *\n * @example\n * snapshots.allSnapshots();\n */\n public allSnapshots(): Record<\n string,\n (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]\n > {\n const all: Record<string, (BenchmarkSuccessResult<unknown> | BenchmarkErrorResult)[]> = {};\n\n for (const [name, list] of this.snapshots.entries()) {\n all[name] = [...list];\n }\n\n return all;\n }\n\n /**\n * Clear snapshots for one or all operations.\n *\n * @param name - Optional operation name. If omitted, clears all snapshots.\n *\n * @example\n * snapshots.reset(\"db-query\");\n * snapshots.reset();\n */\n public reset(name?: string): void {\n if (name) {\n this.snapshots.delete(name);\n } else {\n this.snapshots.clear();\n }\n }\n}\n"],"mappings":";AAMA,IAAa,qBAAb,MAAgC;CAQ9B,AAAO,YAAY,SAAqC;mCAL3B,IAAI,IAG/B;EAGA,KAAK,eAAe,SAAS,gBAAgB;EAC7C,KAAK,UAAU,SAAS,WAAW;CACrC;;;;;;;;;;CAWA,AAAO,OAAO,QAAsE;EAClF,IAAI,KAAK,YAAY,WAAW,OAAO,SAAS;EAChD,IAAI,KAAK,YAAY,WAAW,CAAC,OAAO,SAAS;EAEjD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,IAAI;EAEzC,IAAI,CAAC,MAAM;GACT,OAAO,CAAC;GACR,KAAK,UAAU,IAAI,OAAO,MAAM,IAAI;EACtC;EAEA,IAAI,KAAK,UAAU,KAAK,gBAAgB,KAAK,eAAe,GAC1D,KAAK,MAAM;EAGb,KAAK,KAAK,MAAM;CAClB;;;;;;;;;;CAWA,AAAO,aAAa,MAA0E;EAC5F,OAAO,KAAK,UAAU,IAAI,IAAI,KAAK,CAAC;CACtC;;;;;;;;;CAUA,AAAO,eAGL;EACA,MAAM,MAAkF,CAAC;EAEzF,KAAK,MAAM,CAAC,MAAM,SAAS,KAAK,UAAU,QAAQ,GAChD,IAAI,QAAQ,CAAC,GAAG,IAAI;EAGtB,OAAO;CACT;;;;;;;;;;CAWA,AAAO,MAAM,MAAqB;EAChC,IAAI,MACF,KAAK,UAAU,OAAO,IAAI;OAE1B,KAAK,UAAU,MAAM;CAEzB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BenchmarkErrorResult, BenchmarkOptions, BenchmarkSuccessResult } from "./types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/benchmark.d.ts
3
+ //#region ../@warlock.js/core/src/benchmark/benchmark.d.ts
4
4
  /**
5
5
  * Measure the execution time of a function and classify its performance.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/benchmark.ts"],"mappings":";;;;;AA+CA;;;;;;;;;;;;;;;;;;;;iBAAsB,OAAA,GAAA,CACpB,IAAA,UACA,EAAA,QAAU,CAAA,GAAI,OAAA,CAAQ,CAAA,GACtB,OAAA,GAAU,gBAAA,CAAiB,CAAA,IAC1B,OAAA,CAAQ,sBAAA,CAAuB,CAAA,IAAK,oBAAA"}
1
+ {"version":3,"file":"benchmark.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/benchmark.ts"],"mappings":";;;;;AA+CA;;;;;;;;;;;;;;;;;;;;iBAAsB,OAAA,IACpB,IAAA,UACA,EAAA,QAAU,CAAA,GAAI,OAAA,CAAQ,CAAA,GACtB,OAAA,GAAU,gBAAA,CAAiB,CAAA,IAC1B,OAAA,CAAQ,sBAAA,CAAuB,CAAA,IAAK,oBAAA"}
@@ -1,7 +1,7 @@
1
1
  import { config } from "../config/config-getter.mjs";
2
2
  import "../config/index.mjs";
3
3
 
4
- //#region ../../@warlock.js/core/src/benchmark/benchmark.ts
4
+ //#region ../@warlock.js/core/src/benchmark/benchmark.ts
5
5
  /**
6
6
  * Classifies latency into "excellent", "good", or "poor" based on thresholds.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/benchmark.ts"],"sourcesContent":["import { config } from \"../config\";\nimport type {\n BenchmarkConfigurations,\n BenchmarkErrorResult,\n BenchmarkOptions,\n BenchmarkSuccessResult,\n} from \"./types\";\n\n/**\n * Classifies latency into \"excellent\", \"good\", or \"poor\" based on thresholds.\n *\n * @example\n * latencyState(80, { excellent: 100, poor: 500 }) // \"excellent\"\n * latencyState(300, { excellent: 100, poor: 500 }) // \"good\"\n * latencyState(600, { excellent: 100, poor: 500 }) // \"poor\"\n */\nfunction latencyState(\n latency: number,\n range: { excellent: number; poor: number },\n): \"excellent\" | \"good\" | \"poor\" {\n if (latency <= range.excellent) return \"excellent\";\n if (latency >= range.poor) return \"poor\";\n return \"good\";\n}\n\n/**\n * Measure the execution time of a function and classify its performance.\n *\n * When `enabled` is false, fn() is still called but no timing runs and no hooks fire.\n * A zeroed SuccessResult is returned to keep the return type stable for all callers.\n *\n * @example\n * ```ts\n * const result = await measure(\"db-query\", () => db.query(\"SELECT 1\"), {\n * latencyRange: { excellent: 100, poor: 500 },\n * onComplete: (r) => metrics.record(r.latency),\n * onError: (r) => logger.error(\"query failed\", r.error),\n * onFinish: (r) => logger.info(`${r.name} took ${r.latency}ms`),\n * });\n *\n * if (result.success) {\n * console.log(result.value);\n * } else {\n * console.error(result.error);\n * }\n * ```\n */\nexport async function measure<T>(\n name: string,\n fn: () => T | Promise<T>,\n options?: BenchmarkOptions<T>,\n): Promise<BenchmarkSuccessResult<T> | BenchmarkErrorResult> {\n // Fast path: disabled — call fn() and return a zeroed success wrapper.\n // No timing, no hooks. Re-throws if fn() throws.\n if (options?.enabled === false) {\n const value = await fn();\n return {\n name,\n success: true,\n value,\n latency: 0,\n state: \"excellent\",\n tags: options.tags,\n startedAt: new Date(),\n endedAt: new Date(),\n };\n }\n\n // Resolve latency range from inline options or global config\n const benchmarkConfig = config.get<BenchmarkConfigurations>(\"benchmark\");\n const latencyRange = options?.latencyRange ?? benchmarkConfig?.latencyRange;\n\n const startedAt = new Date();\n const startTime = performance.now();\n const profiler = options?.profiler ?? benchmarkConfig?.profiler;\n const snapshotContainer = options?.snapshotContainer ?? benchmarkConfig?.snapshotContainer;\n\n try {\n const value = await fn();\n\n const endTime = performance.now();\n const latency = Math.round(endTime - startTime);\n const state = latencyRange ? latencyState(latency, latencyRange) : \"good\";\n\n const result: BenchmarkSuccessResult<T> = {\n name,\n success: true,\n value,\n latency,\n state,\n tags: options?.tags,\n startedAt,\n endedAt: new Date(),\n };\n\n if (profiler) {\n profiler.record(result);\n }\n\n if (snapshotContainer) {\n snapshotContainer.record(result);\n }\n\n options?.onComplete?.(result);\n options?.onFinish?.(result);\n\n return result;\n } catch (thrown) {\n // Decide whether to benchmark this error or just re-throw immediately\n const shouldBenchmark = options?.shouldBenchmarkError\n ? options.shouldBenchmarkError(thrown)\n : true;\n\n if (!shouldBenchmark) {\n throw thrown;\n }\n\n // Capture timing even on failure — a 30s timeout is very different from a 2ms crash\n const endTime = performance.now();\n const latency = Math.round(endTime - startTime);\n const state = latencyRange ? latencyState(latency, latencyRange) : \"poor\";\n\n // Normalize thrown value to something consistent\n const error = thrown instanceof Error ? thrown : new Error(String(thrown));\n\n const result: BenchmarkErrorResult = {\n name,\n success: false,\n error,\n latency,\n state,\n tags: options?.tags,\n startedAt,\n endedAt: new Date(),\n };\n\n if (profiler) {\n profiler.record(result);\n }\n\n if (snapshotContainer) {\n snapshotContainer.record(result);\n }\n\n options?.onError?.(result);\n options?.onFinish?.(result);\n\n return result;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAS,aACP,SACA,OAC+B;CAC/B,IAAI,WAAW,MAAM,WAAW,OAAO;CACvC,IAAI,WAAW,MAAM,MAAM,OAAO;CAClC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,eAAsB,QACpB,MACA,IACA,SAC2D;CAG3D,IAAI,SAAS,YAAY,OAEvB,OAAO;EACL;EACA,SAAS;EACT,aAJkB,GAAG;EAKrB,SAAS;EACT,OAAO;EACP,MAAM,QAAQ;EACd,2BAAW,IAAI,KAAK;EACpB,yBAAS,IAAI,KAAK;CACpB;CAIF,MAAM,kBAAkB,OAAO,IAA6B,WAAW;CACvE,MAAM,eAAe,SAAS,gBAAgB,iBAAiB;CAE/D,MAAM,4BAAY,IAAI,KAAK;CAC3B,MAAM,YAAY,YAAY,IAAI;CAClC,MAAM,WAAW,SAAS,YAAY,iBAAiB;CACvD,MAAM,oBAAoB,SAAS,qBAAqB,iBAAiB;CAEzE,IAAI;EACF,MAAM,QAAQ,MAAM,GAAG;EAEvB,MAAM,UAAU,YAAY,IAAI;EAChC,MAAM,UAAU,KAAK,MAAM,UAAU,SAAS;EAG9C,MAAM,SAAoC;GACxC;GACA,SAAS;GACT;GACA;GACA,OAPY,eAAe,aAAa,SAAS,YAAY,IAAI;GAQjE,MAAM,SAAS;GACf;GACA,yBAAS,IAAI,KAAK;EACpB;EAEA,IAAI,UACF,SAAS,OAAO,MAAM;EAGxB,IAAI,mBACF,kBAAkB,OAAO,MAAM;EAGjC,SAAS,aAAa,MAAM;EAC5B,SAAS,WAAW,MAAM;EAE1B,OAAO;CACT,SAAS,QAAQ;EAMf,IAAI,EAJoB,SAAS,uBAC7B,QAAQ,qBAAqB,MAAM,IACnC,OAGF,MAAM;EAIR,MAAM,UAAU,YAAY,IAAI;EAChC,MAAM,UAAU,KAAK,MAAM,UAAU,SAAS;EAC9C,MAAM,QAAQ,eAAe,aAAa,SAAS,YAAY,IAAI;EAKnE,MAAM,SAA+B;GACnC;GACA,SAAS;GACT,OALY,kBAAkB,QAAQ,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC;GAMvE;GACA;GACA,MAAM,SAAS;GACf;GACA,yBAAS,IAAI,KAAK;EACpB;EAEA,IAAI,UACF,SAAS,OAAO,MAAM;EAGxB,IAAI,mBACF,kBAAkB,OAAO,MAAM;EAGjC,SAAS,UAAU,MAAM;EACzB,SAAS,WAAW,MAAM;EAE1B,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"benchmark.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/benchmark.ts"],"sourcesContent":["import { config } from \"../config\";\nimport type {\n BenchmarkConfigurations,\n BenchmarkErrorResult,\n BenchmarkOptions,\n BenchmarkSuccessResult,\n} from \"./types\";\n\n/**\n * Classifies latency into \"excellent\", \"good\", or \"poor\" based on thresholds.\n *\n * @example\n * latencyState(80, { excellent: 100, poor: 500 }) // \"excellent\"\n * latencyState(300, { excellent: 100, poor: 500 }) // \"good\"\n * latencyState(600, { excellent: 100, poor: 500 }) // \"poor\"\n */\nfunction latencyState(\n latency: number,\n range: { excellent: number; poor: number },\n): \"excellent\" | \"good\" | \"poor\" {\n if (latency <= range.excellent) return \"excellent\";\n if (latency >= range.poor) return \"poor\";\n return \"good\";\n}\n\n/**\n * Measure the execution time of a function and classify its performance.\n *\n * When `enabled` is false, fn() is still called but no timing runs and no hooks fire.\n * A zeroed SuccessResult is returned to keep the return type stable for all callers.\n *\n * @example\n * ```ts\n * const result = await measure(\"db-query\", () => db.query(\"SELECT 1\"), {\n * latencyRange: { excellent: 100, poor: 500 },\n * onComplete: (r) => metrics.record(r.latency),\n * onError: (r) => logger.error(\"query failed\", r.error),\n * onFinish: (r) => logger.info(`${r.name} took ${r.latency}ms`),\n * });\n *\n * if (result.success) {\n * console.log(result.value);\n * } else {\n * console.error(result.error);\n * }\n * ```\n */\nexport async function measure<T>(\n name: string,\n fn: () => T | Promise<T>,\n options?: BenchmarkOptions<T>,\n): Promise<BenchmarkSuccessResult<T> | BenchmarkErrorResult> {\n // Fast path: disabled — call fn() and return a zeroed success wrapper.\n // No timing, no hooks. Re-throws if fn() throws.\n if (options?.enabled === false) {\n const value = await fn();\n return {\n name,\n success: true,\n value,\n latency: 0,\n state: \"excellent\",\n tags: options.tags,\n startedAt: new Date(),\n endedAt: new Date(),\n };\n }\n\n // Resolve latency range from inline options or global config\n const benchmarkConfig = config.get<BenchmarkConfigurations>(\"benchmark\");\n const latencyRange = options?.latencyRange ?? benchmarkConfig?.latencyRange;\n\n const startedAt = new Date();\n const startTime = performance.now();\n const profiler = options?.profiler ?? benchmarkConfig?.profiler;\n const snapshotContainer = options?.snapshotContainer ?? benchmarkConfig?.snapshotContainer;\n\n try {\n const value = await fn();\n\n const endTime = performance.now();\n const latency = Math.round(endTime - startTime);\n const state = latencyRange ? latencyState(latency, latencyRange) : \"good\";\n\n const result: BenchmarkSuccessResult<T> = {\n name,\n success: true,\n value,\n latency,\n state,\n tags: options?.tags,\n startedAt,\n endedAt: new Date(),\n };\n\n if (profiler) {\n profiler.record(result);\n }\n\n if (snapshotContainer) {\n snapshotContainer.record(result);\n }\n\n options?.onComplete?.(result);\n options?.onFinish?.(result);\n\n return result;\n } catch (thrown) {\n // Decide whether to benchmark this error or just re-throw immediately\n const shouldBenchmark = options?.shouldBenchmarkError\n ? options.shouldBenchmarkError(thrown)\n : true;\n\n if (!shouldBenchmark) {\n throw thrown;\n }\n\n // Capture timing even on failure — a 30s timeout is very different from a 2ms crash\n const endTime = performance.now();\n const latency = Math.round(endTime - startTime);\n const state = latencyRange ? latencyState(latency, latencyRange) : \"poor\";\n\n // Normalize thrown value to something consistent\n const error = thrown instanceof Error ? thrown : new Error(String(thrown));\n\n const result: BenchmarkErrorResult = {\n name,\n success: false,\n error,\n latency,\n state,\n tags: options?.tags,\n startedAt,\n endedAt: new Date(),\n };\n\n if (profiler) {\n profiler.record(result);\n }\n\n if (snapshotContainer) {\n snapshotContainer.record(result);\n }\n\n options?.onError?.(result);\n options?.onFinish?.(result);\n\n return result;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAS,aACP,SACA,OAC+B;CAC/B,IAAI,WAAW,MAAM,WAAW,OAAO;CACvC,IAAI,WAAW,MAAM,MAAM,OAAO;CAClC,OAAO;AACT;;;;;;;;;;;;;;;;;;;;;;;AAwBA,eAAsB,QACpB,MACA,IACA,SAC2D;CAG3D,IAAI,SAAS,YAAY,OAEvB,OAAO;EACL;EACA,SAAS;EACT,aAJkB,GAAG;EAKrB,SAAS;EACT,OAAO;EACP,MAAM,QAAQ;EACd,2BAAW,IAAI,KAAK;EACpB,yBAAS,IAAI,KAAK;CACpB;CAIF,MAAM,kBAAkB,OAAO,IAA6B,WAAW;CACvE,MAAM,eAAe,SAAS,gBAAgB,iBAAiB;CAE/D,MAAM,4BAAY,IAAI,KAAK;CAC3B,MAAM,YAAY,YAAY,IAAI;CAClC,MAAM,WAAW,SAAS,YAAY,iBAAiB;CACvD,MAAM,oBAAoB,SAAS,qBAAqB,iBAAiB;CAEzE,IAAI;EACF,MAAM,QAAQ,MAAM,GAAG;EAEvB,MAAM,UAAU,YAAY,IAAI;EAChC,MAAM,UAAU,KAAK,MAAM,UAAU,SAAS;EAG9C,MAAM,SAAoC;GACxC;GACA,SAAS;GACT;GACA;GACA,OAPY,eAAe,aAAa,SAAS,YAAY,IAAI;GAQjE,MAAM,SAAS;GACf;GACA,yBAAS,IAAI,KAAK;EACpB;EAEA,IAAI,UACF,SAAS,OAAO,MAAM;EAGxB,IAAI,mBACF,kBAAkB,OAAO,MAAM;EAGjC,SAAS,aAAa,MAAM;EAC5B,SAAS,WAAW,MAAM;EAE1B,OAAO;CACT,SAAS,QAAQ;EAMf,IAAI,EAJoB,SAAS,uBAC7B,QAAQ,qBAAqB,MAAM,IACnC,OAGF,MAAM;EAIR,MAAM,UAAU,YAAY,IAAI;EAChC,MAAM,UAAU,KAAK,MAAM,UAAU,SAAS;EAC9C,MAAM,QAAQ,eAAe,aAAa,SAAS,YAAY,IAAI;EAKnE,MAAM,SAA+B;GACnC;GACA,SAAS;GACT,OALY,kBAAkB,QAAQ,SAAS,IAAI,MAAM,OAAO,MAAM,CAAC;GAMvE;GACA;GACA,MAAM,SAAS;GACf;GACA,yBAAS,IAAI,KAAK;EACpB;EAEA,IAAI,UACF,SAAS,OAAO,MAAM;EAGxB,IAAI,mBACF,kBAAkB,OAAO,MAAM;EAGjC,SAAS,UAAU,MAAM;EACzB,SAAS,WAAW,MAAM;EAE1B,OAAO;CACT;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BenchmarkChannel, BenchmarkStats } from "../types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/channels/console.channel.d.ts
3
+ //#region ../@warlock.js/core/src/benchmark/channels/console.channel.d.ts
4
4
  declare class ConsoleChannel implements BenchmarkChannel {
5
5
  /**
6
6
  * Pretty-prints a stats table per operation on onFlush().
@@ -1 +1 @@
1
- {"version":3,"file":"console.channel.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/channels/console.channel.ts"],"mappings":";;;cAEa,cAAA,YAA0B,gBAAA;;AAAvC;;;;;;;;EAUS,OAAA,CAAQ,KAAA,EAAO,MAAA,SAAe,cAAA;AAAA"}
1
+ {"version":3,"file":"console.channel.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/benchmark/channels/console.channel.ts"],"mappings":";;;cAEa,cAAA,YAA0B,gBAAA;;AAAvC;;;;;;;;EAUS,OAAA,CAAQ,KAAA,EAAO,MAAA,SAAe,cAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/benchmark/channels/console.channel.ts
1
+ //#region ../@warlock.js/core/src/benchmark/channels/console.channel.ts
2
2
  var ConsoleChannel = class {
3
3
  /**
4
4
  * Pretty-prints a stats table per operation on onFlush().
@@ -1 +1 @@
1
- {"version":3,"file":"console.channel.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/channels/console.channel.ts"],"sourcesContent":["import type { BenchmarkChannel, BenchmarkStats } from \"../types\";\n\nexport class ConsoleChannel implements BenchmarkChannel {\n /**\n * Pretty-prints a stats table per operation on onFlush().\n *\n * @param stats - Aggregated stats for all tracked operations.\n *\n * @example\n * const channel = new ConsoleChannel();\n * channel.onFlush({ \"db-query\": { p50: 10, count: 100, ... } });\n */\n public onFlush(stats: Record<string, BenchmarkStats>): void {\n const tableData: Record<string, any> = {};\n\n for (const [name, operationStats] of Object.entries(stats)) {\n tableData[name] = {\n \"p50 (ms)\": operationStats.p50,\n \"p90 (ms)\": operationStats.p90,\n \"p95 (ms)\": operationStats.p95,\n \"p99 (ms)\": operationStats.p99,\n \"Avg (ms)\": operationStats.avg,\n \"Min (ms)\": operationStats.min,\n \"Max (ms)\": operationStats.max,\n \"Error Rate\": `${(operationStats.errorRate * 100).toFixed(2)}%`,\n Errors: operationStats.errors,\n Count: operationStats.count,\n };\n }\n\n console.table(tableData);\n }\n}\n"],"mappings":";AAEA,IAAa,iBAAb,MAAwD;;;;;;;;;;CAUtD,AAAO,QAAQ,OAA6C;EAC1D,MAAM,YAAiC,CAAC;EAExC,KAAK,MAAM,CAAC,MAAM,mBAAmB,OAAO,QAAQ,KAAK,GACvD,UAAU,QAAQ;GAChB,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,cAAc,IAAI,eAAe,YAAY,KAAK,QAAQ,CAAC,EAAE;GAC7D,QAAQ,eAAe;GACvB,OAAO,eAAe;EACxB;EAGF,QAAQ,MAAM,SAAS;CACzB;AACF"}
1
+ {"version":3,"file":"console.channel.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/benchmark/channels/console.channel.ts"],"sourcesContent":["import type { BenchmarkChannel, BenchmarkStats } from \"../types\";\n\nexport class ConsoleChannel implements BenchmarkChannel {\n /**\n * Pretty-prints a stats table per operation on onFlush().\n *\n * @param stats - Aggregated stats for all tracked operations.\n *\n * @example\n * const channel = new ConsoleChannel();\n * channel.onFlush({ \"db-query\": { p50: 10, count: 100, ... } });\n */\n public onFlush(stats: Record<string, BenchmarkStats>): void {\n const tableData: Record<string, any> = {};\n\n for (const [name, operationStats] of Object.entries(stats)) {\n tableData[name] = {\n \"p50 (ms)\": operationStats.p50,\n \"p90 (ms)\": operationStats.p90,\n \"p95 (ms)\": operationStats.p95,\n \"p99 (ms)\": operationStats.p99,\n \"Avg (ms)\": operationStats.avg,\n \"Min (ms)\": operationStats.min,\n \"Max (ms)\": operationStats.max,\n \"Error Rate\": `${(operationStats.errorRate * 100).toFixed(2)}%`,\n Errors: operationStats.errors,\n Count: operationStats.count,\n };\n }\n\n console.table(tableData);\n }\n}\n"],"mappings":";AAEA,IAAa,iBAAb,MAAwD;;;;;;;;;;CAUtD,AAAO,QAAQ,OAA6C;EAC1D,MAAM,YAAiC,CAAC;EAExC,KAAK,MAAM,CAAC,MAAM,mBAAmB,OAAO,QAAQ,KAAK,GACvD,UAAU,QAAQ;GAChB,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,YAAY,eAAe;GAC3B,cAAc,IAAI,eAAe,YAAY,IAAG,CAAE,QAAQ,CAAC,EAAE;GAC7D,QAAQ,eAAe;GACvB,OAAO,eAAe;EACxB;EAGF,QAAQ,MAAM,SAAS;CACzB;AACF"}
@@ -1,6 +1,6 @@
1
1
  import { BenchmarkChannel } from "../types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/channels/noop.channel.d.ts
3
+ //#region ../@warlock.js/core/src/benchmark/channels/noop.channel.d.ts
4
4
  declare class NoopChannel implements BenchmarkChannel {
5
5
  onFlush(): void;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noop.channel.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/channels/noop.channel.ts"],"mappings":";;;cAEa,WAAA,YAAuB,gBAAgB;EAC3C,OAAO,CAAA;AAAA"}
1
+ {"version":3,"file":"noop.channel.d.mts","names":[],"sources":["../../../../../../../../@warlock.js/core/src/benchmark/channels/noop.channel.ts"],"mappings":";;;cAEa,WAAA,YAAuB,gBAAgB;EAC3C,OAAO;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/benchmark/channels/noop.channel.ts
1
+ //#region ../@warlock.js/core/src/benchmark/channels/noop.channel.ts
2
2
  var NoopChannel = class {
3
3
  onFlush() {}
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"noop.channel.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/channels/noop.channel.ts"],"sourcesContent":["import type { BenchmarkChannel } from \"../types\";\n\nexport class NoopChannel implements BenchmarkChannel {\n public onFlush(): void {}\n}\n"],"mappings":";AAEA,IAAa,cAAb,MAAqD;CACnD,AAAO,UAAgB,CAAC;AAC1B"}
1
+ {"version":3,"file":"noop.channel.mjs","names":[],"sources":["../../../../../../../../@warlock.js/core/src/benchmark/channels/noop.channel.ts"],"sourcesContent":["import type { BenchmarkChannel } from \"../types\";\n\nexport class NoopChannel implements BenchmarkChannel {\n public onFlush(): void {}\n}\n"],"mappings":";AAEA,IAAa,cAAb,MAAqD;CACnD,AAAO,UAAgB,CAAC;AAC1B"}
@@ -1,6 +1,6 @@
1
1
  import { BenchmarkErrorResult, BenchmarkProfilerOptions, BenchmarkStats, BenchmarkSuccessResult } from "./types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/profiler.d.ts
3
+ //#region ../@warlock.js/core/src/benchmark/profiler.d.ts
4
4
  declare class BenchmarkProfiler {
5
5
  private readonly maxSamples;
6
6
  private readonly channels;
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/profiler.ts"],"mappings":";;;cAkBa,iBAAA;EAAA,iBACM,UAAA;EAAA,iBACA,QAAA;EAAA,iBACA,OAAA;EAAA,QACT,QAAA;cAEW,OAAA,GAAU,wBAAA;EAoBP;;;;;;;;EAAf,MAAA,CAAO,MAAA,EAAQ,sBAAA,YAAkC,oBAAA;EAxBvC;;;;;;;;;;EAqEV,KAAA,CAAM,IAAA,WAAe,cAAA;EAAf;;;;;;;;EAoCN,QAAA,CAAA,GAAY,MAAA,SAAe,cAAA;EAyD3B;;AAAO;;;;EAxCD,KAAA,CAAA,GAAS,OAAA;;;;;;;;;;;EAmBf,KAAA,CAAM,IAAA;;;;;;;EAqBN,OAAA,CAAA;AAAA"}
1
+ {"version":3,"file":"profiler.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/profiler.ts"],"mappings":";;;cAkBa,iBAAA;EAAA,iBACM,UAAA;EAAA,iBACA,QAAA;EAAA,iBACA,OAAA;EAAA,QACT,QAAA;cAEW,OAAA,GAAU,wBAAA;EAoBP;;;;;;;;EAAf,MAAA,CAAO,MAAA,EAAQ,sBAAA,YAAkC,oBAAA;EAxBvC;;;;;;;;;;EAqEV,KAAA,CAAM,IAAA,WAAe,cAAA;EAAf;;;;;;;;EAoCN,QAAA,IAAY,MAAA,SAAe,cAAA;EAyD3B;;AAAO;;;;EAxCD,KAAA,IAAS,OAAA;;;;;;;;;;;EAmBf,KAAA,CAAM,IAAA;;;;;;;EAqBN,OAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
  import { NoopChannel } from "./channels/noop.channel.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/benchmark/profiler.ts
3
+ //#region ../@warlock.js/core/src/benchmark/profiler.ts
4
4
  var BenchmarkProfiler = class {
5
5
  constructor(options) {
6
6
  this.entries = /* @__PURE__ */ new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"profiler.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/profiler.ts"],"sourcesContent":["import { NoopChannel } from \"./channels/noop.channel\";\nimport type {\n BenchmarkChannel,\n BenchmarkErrorResult,\n BenchmarkProfilerOptions,\n BenchmarkStats,\n BenchmarkSuccessResult,\n} from \"./types\";\n\ntype BenchmarkEntry = {\n latencies: number[];\n sum: number;\n total: number;\n errors: number;\n firstSeenAt: Date;\n lastSeenAt: Date;\n};\n\nexport class BenchmarkProfiler {\n private readonly maxSamples: number;\n private readonly channels: BenchmarkChannel[];\n private readonly entries = new Map<string, BenchmarkEntry>();\n private interval?: ReturnType<typeof setInterval>;\n\n public constructor(options?: BenchmarkProfilerOptions) {\n this.maxSamples = options?.maxSamples ?? 1000;\n this.channels = options?.channels ?? [new NoopChannel()];\n\n if (options?.flushEvery) {\n this.interval = setInterval(() => {\n // We use void to explicitly ignore the promise, as this is a background interval\n void this.flush();\n }, options.flushEvery);\n }\n }\n\n /**\n * Record one measurement result. Called automatically by measure() when a profiler is set.\n *\n * @param result - The success or error result from measure()\n *\n * @example\n * profiler.record(result);\n */\n public record(result: BenchmarkSuccessResult<unknown> | BenchmarkErrorResult): void {\n let entry = this.entries.get(result.name);\n\n if (!entry) {\n entry = {\n latencies: [],\n sum: 0,\n total: 0,\n errors: 0,\n firstSeenAt: result.startedAt,\n lastSeenAt: result.endedAt,\n };\n\n this.entries.set(result.name, entry);\n }\n\n entry.latencies.push(result.latency);\n entry.sum += result.latency;\n\n if (entry.latencies.length > this.maxSamples) {\n const removed = entry.latencies.shift();\n if (removed !== undefined) {\n entry.sum -= removed;\n }\n }\n\n entry.total += 1;\n\n if (!result.success) {\n entry.errors += 1;\n }\n\n entry.lastSeenAt = result.endedAt;\n }\n\n /**\n * Get aggregated stats for one operation name.\n * Computes p50/p95/p99 by sorting the ring buffer on demand.\n *\n * @param name - The operation name to get stats for.\n * @returns Stats object or undefined if no data yet.\n *\n * @example\n * const stats = profiler.stats(\"db-query\");\n */\n public stats(name: string): BenchmarkStats | undefined {\n const entry = this.entries.get(name);\n if (!entry || entry.latencies.length === 0) return undefined;\n\n const latencies = [...entry.latencies].sort((a, b) => a - b);\n const count = latencies.length;\n\n const getP = (percentile: number) => {\n const index = Math.min(count - 1, Math.floor(count * percentile));\n return latencies[index];\n };\n\n return {\n p50: getP(0.5),\n p90: getP(0.9),\n p95: getP(0.95),\n p99: getP(0.99),\n avg: Math.round((entry.sum / count) * 100) / 100,\n min: latencies[0],\n max: latencies[count - 1],\n count: entry.total,\n errors: entry.errors,\n errorRate: Math.round((entry.errors / entry.total) * 100) / 100,\n firstSeenAt: entry.firstSeenAt,\n lastSeenAt: entry.lastSeenAt,\n };\n }\n\n /**\n * Get stats for all tracked operations.\n *\n * @returns A record mapping operation names to their stats.\n *\n * @example\n * const all = profiler.allStats();\n */\n public allStats(): Record<string, BenchmarkStats> {\n const all: Record<string, BenchmarkStats> = {};\n for (const name of this.entries.keys()) {\n const operationStats = this.stats(name);\n if (operationStats) {\n all[name] = operationStats;\n }\n }\n return all;\n }\n\n /**\n * Send allStats() to all registered channels.\n *\n * @example\n * await profiler.flush();\n */\n public async flush(): Promise<void> {\n const stats = this.allStats();\n if (Object.keys(stats).length === 0) return;\n\n for (const channel of this.channels) {\n await channel.onFlush(stats);\n }\n }\n\n /**\n * Clear ring buffer for one or all operations.\n * Does NOT reset unbounded total/error counters.\n *\n * @param name - Optional operation name. If omitted, clears all ring buffers.\n *\n * @example\n * profiler.reset(\"db-query\");\n * profiler.reset();\n */\n public reset(name?: string): void {\n if (name) {\n const entry = this.entries.get(name);\n if (entry) {\n entry.latencies = [];\n entry.sum = 0;\n }\n } else {\n for (const entry of this.entries.values()) {\n entry.latencies = [];\n entry.sum = 0;\n }\n }\n }\n\n /**\n * Dispose the profiler, clearing its auto-flush interval.\n *\n * @example\n * profiler.dispose();\n */\n public dispose(): void {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n }\n }\n}\n"],"mappings":";;;AAkBA,IAAa,oBAAb,MAA+B;CAM7B,AAAO,YAAY,SAAoC;iCAH5B,IAAI,IAA4B;EAIzD,KAAK,aAAa,SAAS,cAAc;EACzC,KAAK,WAAW,SAAS,YAAY,CAAC,IAAI,YAAY,CAAC;EAEvD,IAAI,SAAS,YACX,KAAK,WAAW,kBAAkB;GAEhC,AAAK,KAAK,MAAM;EAClB,GAAG,QAAQ,UAAU;CAEzB;;;;;;;;;CAUA,AAAO,OAAO,QAAsE;EAClF,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI;EAExC,IAAI,CAAC,OAAO;GACV,QAAQ;IACN,WAAW,CAAC;IACZ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,aAAa,OAAO;IACpB,YAAY,OAAO;GACrB;GAEA,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK;EACrC;EAEA,MAAM,UAAU,KAAK,OAAO,OAAO;EACnC,MAAM,OAAO,OAAO;EAEpB,IAAI,MAAM,UAAU,SAAS,KAAK,YAAY;GAC5C,MAAM,UAAU,MAAM,UAAU,MAAM;GACtC,IAAI,YAAY,QACd,MAAM,OAAO;EAEjB;EAEA,MAAM,SAAS;EAEf,IAAI,CAAC,OAAO,SACV,MAAM,UAAU;EAGlB,MAAM,aAAa,OAAO;CAC5B;;;;;;;;;;;CAYA,AAAO,MAAM,MAA0C;EACrD,MAAM,QAAQ,KAAK,QAAQ,IAAI,IAAI;EACnC,IAAI,CAAC,SAAS,MAAM,UAAU,WAAW,GAAG,OAAO;EAEnD,MAAM,YAAY,CAAC,GAAG,MAAM,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;EAC3D,MAAM,QAAQ,UAAU;EAExB,MAAM,QAAQ,eAAuB;GAEnC,OAAO,UADO,KAAK,IAAI,QAAQ,GAAG,KAAK,MAAM,QAAQ,UAAU,CAC1C;EACvB;EAEA,OAAO;GACL,KAAK,KAAK,EAAG;GACb,KAAK,KAAK,EAAG;GACb,KAAK,KAAK,GAAI;GACd,KAAK,KAAK,GAAI;GACd,KAAK,KAAK,MAAO,MAAM,MAAM,QAAS,GAAG,IAAI;GAC7C,KAAK,UAAU;GACf,KAAK,UAAU,QAAQ;GACvB,OAAO,MAAM;GACb,QAAQ,MAAM;GACd,WAAW,KAAK,MAAO,MAAM,SAAS,MAAM,QAAS,GAAG,IAAI;GAC5D,aAAa,MAAM;GACnB,YAAY,MAAM;EACpB;CACF;;;;;;;;;CAUA,AAAO,WAA2C;EAChD,MAAM,MAAsC,CAAC;EAC7C,KAAK,MAAM,QAAQ,KAAK,QAAQ,KAAK,GAAG;GACtC,MAAM,iBAAiB,KAAK,MAAM,IAAI;GACtC,IAAI,gBACF,IAAI,QAAQ;EAEhB;EACA,OAAO;CACT;;;;;;;CAQA,MAAa,QAAuB;EAClC,MAAM,QAAQ,KAAK,SAAS;EAC5B,IAAI,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;EAErC,KAAK,MAAM,WAAW,KAAK,UACzB,MAAM,QAAQ,QAAQ,KAAK;CAE/B;;;;;;;;;;;CAYA,AAAO,MAAM,MAAqB;EAChC,IAAI,MAAM;GACR,MAAM,QAAQ,KAAK,QAAQ,IAAI,IAAI;GACnC,IAAI,OAAO;IACT,MAAM,YAAY,CAAC;IACnB,MAAM,MAAM;GACd;EACF,OACE,KAAK,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;GACzC,MAAM,YAAY,CAAC;GACnB,MAAM,MAAM;EACd;CAEJ;;;;;;;CAQA,AAAO,UAAgB;EACrB,IAAI,KAAK,UAAU;GACjB,cAAc,KAAK,QAAQ;GAC3B,KAAK,WAAW;EAClB;CACF;AACF"}
1
+ {"version":3,"file":"profiler.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/profiler.ts"],"sourcesContent":["import { NoopChannel } from \"./channels/noop.channel\";\nimport type {\n BenchmarkChannel,\n BenchmarkErrorResult,\n BenchmarkProfilerOptions,\n BenchmarkStats,\n BenchmarkSuccessResult,\n} from \"./types\";\n\ntype BenchmarkEntry = {\n latencies: number[];\n sum: number;\n total: number;\n errors: number;\n firstSeenAt: Date;\n lastSeenAt: Date;\n};\n\nexport class BenchmarkProfiler {\n private readonly maxSamples: number;\n private readonly channels: BenchmarkChannel[];\n private readonly entries = new Map<string, BenchmarkEntry>();\n private interval?: ReturnType<typeof setInterval>;\n\n public constructor(options?: BenchmarkProfilerOptions) {\n this.maxSamples = options?.maxSamples ?? 1000;\n this.channels = options?.channels ?? [new NoopChannel()];\n\n if (options?.flushEvery) {\n this.interval = setInterval(() => {\n // We use void to explicitly ignore the promise, as this is a background interval\n void this.flush();\n }, options.flushEvery);\n }\n }\n\n /**\n * Record one measurement result. Called automatically by measure() when a profiler is set.\n *\n * @param result - The success or error result from measure()\n *\n * @example\n * profiler.record(result);\n */\n public record(result: BenchmarkSuccessResult<unknown> | BenchmarkErrorResult): void {\n let entry = this.entries.get(result.name);\n\n if (!entry) {\n entry = {\n latencies: [],\n sum: 0,\n total: 0,\n errors: 0,\n firstSeenAt: result.startedAt,\n lastSeenAt: result.endedAt,\n };\n\n this.entries.set(result.name, entry);\n }\n\n entry.latencies.push(result.latency);\n entry.sum += result.latency;\n\n if (entry.latencies.length > this.maxSamples) {\n const removed = entry.latencies.shift();\n if (removed !== undefined) {\n entry.sum -= removed;\n }\n }\n\n entry.total += 1;\n\n if (!result.success) {\n entry.errors += 1;\n }\n\n entry.lastSeenAt = result.endedAt;\n }\n\n /**\n * Get aggregated stats for one operation name.\n * Computes p50/p95/p99 by sorting the ring buffer on demand.\n *\n * @param name - The operation name to get stats for.\n * @returns Stats object or undefined if no data yet.\n *\n * @example\n * const stats = profiler.stats(\"db-query\");\n */\n public stats(name: string): BenchmarkStats | undefined {\n const entry = this.entries.get(name);\n if (!entry || entry.latencies.length === 0) return undefined;\n\n const latencies = [...entry.latencies].sort((a, b) => a - b);\n const count = latencies.length;\n\n const getP = (percentile: number) => {\n const index = Math.min(count - 1, Math.floor(count * percentile));\n return latencies[index];\n };\n\n return {\n p50: getP(0.5),\n p90: getP(0.9),\n p95: getP(0.95),\n p99: getP(0.99),\n avg: Math.round((entry.sum / count) * 100) / 100,\n min: latencies[0],\n max: latencies[count - 1],\n count: entry.total,\n errors: entry.errors,\n errorRate: Math.round((entry.errors / entry.total) * 100) / 100,\n firstSeenAt: entry.firstSeenAt,\n lastSeenAt: entry.lastSeenAt,\n };\n }\n\n /**\n * Get stats for all tracked operations.\n *\n * @returns A record mapping operation names to their stats.\n *\n * @example\n * const all = profiler.allStats();\n */\n public allStats(): Record<string, BenchmarkStats> {\n const all: Record<string, BenchmarkStats> = {};\n for (const name of this.entries.keys()) {\n const operationStats = this.stats(name);\n if (operationStats) {\n all[name] = operationStats;\n }\n }\n return all;\n }\n\n /**\n * Send allStats() to all registered channels.\n *\n * @example\n * await profiler.flush();\n */\n public async flush(): Promise<void> {\n const stats = this.allStats();\n if (Object.keys(stats).length === 0) return;\n\n for (const channel of this.channels) {\n await channel.onFlush(stats);\n }\n }\n\n /**\n * Clear ring buffer for one or all operations.\n * Does NOT reset unbounded total/error counters.\n *\n * @param name - Optional operation name. If omitted, clears all ring buffers.\n *\n * @example\n * profiler.reset(\"db-query\");\n * profiler.reset();\n */\n public reset(name?: string): void {\n if (name) {\n const entry = this.entries.get(name);\n if (entry) {\n entry.latencies = [];\n entry.sum = 0;\n }\n } else {\n for (const entry of this.entries.values()) {\n entry.latencies = [];\n entry.sum = 0;\n }\n }\n }\n\n /**\n * Dispose the profiler, clearing its auto-flush interval.\n *\n * @example\n * profiler.dispose();\n */\n public dispose(): void {\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = undefined;\n }\n }\n}\n"],"mappings":";;;AAkBA,IAAa,oBAAb,MAA+B;CAM7B,AAAO,YAAY,SAAoC;iCAH5B,IAAI,IAA4B;EAIzD,KAAK,aAAa,SAAS,cAAc;EACzC,KAAK,WAAW,SAAS,YAAY,CAAC,IAAI,YAAY,CAAC;EAEvD,IAAI,SAAS,YACX,KAAK,WAAW,kBAAkB;GAEhC,AAAK,KAAK,MAAM;EAClB,GAAG,QAAQ,UAAU;CAEzB;;;;;;;;;CAUA,AAAO,OAAO,QAAsE;EAClF,IAAI,QAAQ,KAAK,QAAQ,IAAI,OAAO,IAAI;EAExC,IAAI,CAAC,OAAO;GACV,QAAQ;IACN,WAAW,CAAC;IACZ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,aAAa,OAAO;IACpB,YAAY,OAAO;GACrB;GAEA,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK;EACrC;EAEA,MAAM,UAAU,KAAK,OAAO,OAAO;EACnC,MAAM,OAAO,OAAO;EAEpB,IAAI,MAAM,UAAU,SAAS,KAAK,YAAY;GAC5C,MAAM,UAAU,MAAM,UAAU,MAAM;GACtC,IAAI,YAAY,QACd,MAAM,OAAO;EAEjB;EAEA,MAAM,SAAS;EAEf,IAAI,CAAC,OAAO,SACV,MAAM,UAAU;EAGlB,MAAM,aAAa,OAAO;CAC5B;;;;;;;;;;;CAYA,AAAO,MAAM,MAA0C;EACrD,MAAM,QAAQ,KAAK,QAAQ,IAAI,IAAI;EACnC,IAAI,CAAC,SAAS,MAAM,UAAU,WAAW,GAAG,OAAO;EAEnD,MAAM,YAAY,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC;EAC3D,MAAM,QAAQ,UAAU;EAExB,MAAM,QAAQ,eAAuB;GAEnC,OAAO,UADO,KAAK,IAAI,QAAQ,GAAG,KAAK,MAAM,QAAQ,UAAU,CAC1C;EACvB;EAEA,OAAO;GACL,KAAK,KAAK,EAAG;GACb,KAAK,KAAK,EAAG;GACb,KAAK,KAAK,GAAI;GACd,KAAK,KAAK,GAAI;GACd,KAAK,KAAK,MAAO,MAAM,MAAM,QAAS,GAAG,IAAI;GAC7C,KAAK,UAAU;GACf,KAAK,UAAU,QAAQ;GACvB,OAAO,MAAM;GACb,QAAQ,MAAM;GACd,WAAW,KAAK,MAAO,MAAM,SAAS,MAAM,QAAS,GAAG,IAAI;GAC5D,aAAa,MAAM;GACnB,YAAY,MAAM;EACpB;CACF;;;;;;;;;CAUA,AAAO,WAA2C;EAChD,MAAM,MAAsC,CAAC;EAC7C,KAAK,MAAM,QAAQ,KAAK,QAAQ,KAAK,GAAG;GACtC,MAAM,iBAAiB,KAAK,MAAM,IAAI;GACtC,IAAI,gBACF,IAAI,QAAQ;EAEhB;EACA,OAAO;CACT;;;;;;;CAQA,MAAa,QAAuB;EAClC,MAAM,QAAQ,KAAK,SAAS;EAC5B,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,WAAW,GAAG;EAErC,KAAK,MAAM,WAAW,KAAK,UACzB,MAAM,QAAQ,QAAQ,KAAK;CAE/B;;;;;;;;;;;CAYA,AAAO,MAAM,MAAqB;EAChC,IAAI,MAAM;GACR,MAAM,QAAQ,KAAK,QAAQ,IAAI,IAAI;GACnC,IAAI,OAAO;IACT,MAAM,YAAY,CAAC;IACnB,MAAM,MAAM;GACd;EACF,OACE,KAAK,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;GACzC,MAAM,YAAY,CAAC;GACnB,MAAM,MAAM;EACd;CAEJ;;;;;;;CAQA,AAAO,UAAgB;EACrB,IAAI,KAAK,UAAU;GACjB,cAAc,KAAK,QAAQ;GAC3B,KAAK,WAAW;EAClB;CACF;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { BenchmarkSnapshots } from "./benchmark-snapshots.mjs";
2
2
  import { BenchmarkProfiler } from "./profiler.mjs";
3
3
 
4
- //#region ../../@warlock.js/core/src/benchmark/types.d.ts
4
+ //#region ../@warlock.js/core/src/benchmark/types.d.ts
5
5
  /**
6
6
  * Global benchmark configuration (set via config.get("benchmark"))
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/benchmark/types.ts"],"mappings":";;;;;;AAMA;KAAY,uBAAA;EACV,OAAA;EACA,YAAA;IAAiB,SAAA;IAAmB,IAAA;EAAA;EACpC,QAAA,GAAW,iBAAA;EACX,iBAAA,GAAoB,kBAAkB;AAAA;AAAA,KAG5B,gBAAA;EAHU;;AAAkB;AAGxC;EAKE,OAAA;EAL0B;;;;;;;;;EAe1B,YAAA;IAkDsC;;;IA9CpC,SAAA;IAJF;;;IAQE,IAAA;EAAA;EAK2C;;;EAA7C,UAAA,IAAc,MAAA,EAAQ,sBAAA,CAAuB,CAAA;EAIlC;;;EAAX,OAAA,IAAW,MAAA,EAAQ,oBAAA;EAK6B;;;;EAAhD,QAAA,IAAY,MAAA,EAAQ,sBAAA,CAAuB,CAAA,IAAK,oBAAA;EAcxB;;;;;EARxB,IAAA,GAAO,MAAA;EAsB+B;AAGxC;;;;;;EAjBE,oBAAA,IAAwB,KAAA;EAyCX;;;;;;EAlCb,QAAA,GAAW,iBAAA;EA8BA;;;;AAIE;AAMf;EAjCE,iBAAA,GAAoB,kBAAA;AAAA;AAAA,KAGV,eAAA;EA8BuB;;;EA1BjC,IAAA;EA4BO;;AAAC;EAxBR,OAAA;EA8B8B;;;EA1B9B,KAAA;EA2BA;;;EAvBA,IAAA,GAAO,MAAA;EA2BQ;;;EAvBf,SAAA,EAAW,IAAA;EA2BI;;;EAvBf,OAAA,EAAS,IAAA;AAAA;;;;KAMC,sBAAA,MAA4B,eAAA;EACtC,OAAA;EACA,KAAA,EAAO,CAAC;AAAA;;;;KAME,oBAAA,GAAuB,eAAe;EAChD,OAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EAaf;;;EATA,OAAA,CAAQ,KAAA,EAAO,MAAA,SAAe,cAAA,WAAyB,OAAA;AAAA;AAAA,KAG7C,cAAA;EACV,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EAEA,KAAA,UAWA;EATA,MAAA,UAWW;EATX,SAAA;EACA,WAAA,EAAa,IAAA;EACb,UAAA,EAAY,IAAI;AAAA;AAAA,KAGN,wBAAA;sEAEV,UAAA,WAmBO;EAjBP,QAAA,GAAW,gBAAgB;EAE3B,UAAA;AAAA;AAAA,KAGU,yBAAA;+DAEV,YAAA;;;;;;;;;;EAUA,OAAO;AAAA"}
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/benchmark/types.ts"],"mappings":";;;;;;AAMA;KAAY,uBAAA;EACV,OAAA;EACA,YAAA;IAAiB,SAAA;IAAmB,IAAA;EAAA;EACpC,QAAA,GAAW,iBAAA;EACX,iBAAA,GAAoB,kBAAkB;AAAA;AAAA,KAG5B,gBAAA;EAHU;;AAAkB;AAGxC;EAKE,OAAA;EAL0B;;;;;;;;;EAe1B,YAAA;IAkDsC;;;IA9CpC,SAAA;IAJF;;;IAQE,IAAA;EAAA;EAK2C;;;EAA7C,UAAA,IAAc,MAAA,EAAQ,sBAAA,CAAuB,CAAA;EAIlC;;;EAAX,OAAA,IAAW,MAAA,EAAQ,oBAAA;EAK6B;;;;EAAhD,QAAA,IAAY,MAAA,EAAQ,sBAAA,CAAuB,CAAA,IAAK,oBAAA;EAcxB;;;;;EARxB,IAAA,GAAO,MAAA;EAsB+B;AAGxC;;;;;;EAjBE,oBAAA,IAAwB,KAAA;EAyCX;;;;;;EAlCb,QAAA,GAAW,iBAAA;EA8BA;;;;AAIE;AAMf;EAjCE,iBAAA,GAAoB,kBAAA;AAAA;AAAA,KAGV,eAAA;EA8BuB;;;EA1BjC,IAAA;EA4BO;;AAAC;EAxBR,OAAA;EA8B8B;;;EA1B9B,KAAA;EA2BA;;;EAvBA,IAAA,GAAO,MAAA;EA2BQ;;;EAvBf,SAAA,EAAW,IAAA;EA2BI;;;EAvBf,OAAA,EAAS,IAAA;AAAA;;;;KAMC,sBAAA,MAA4B,eAAA;EACtC,OAAA;EACA,KAAA,EAAO,CAAC;AAAA;;;;KAME,oBAAA,GAAuB,eAAe;EAChD,OAAA;EACA,KAAA;AAAA;AAAA,UAGe,gBAAA;EAaf;;;EATA,OAAA,CAAQ,KAAA,EAAO,MAAA,SAAe,cAAA,WAAyB,OAAA;AAAA;AAAA,KAG7C,cAAA;EACV,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EACA,GAAA;EAEA,KAAA,UAWA;EATA,MAAA,UAWW;EATX,SAAA;EACA,WAAA,EAAa,IAAA;EACb,UAAA,EAAY,IAAI;AAAA;AAAA,KAGN,wBAAA;sEAEV,UAAA,WAmBO;EAjBP,QAAA,GAAW,gBAAgB;EAE3B,UAAA;AAAA;AAAA,KAGU,yBAAA;+DAEV,YAAA;;;;;;;;;;EAUA,OAAO;AAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/bootstrap/setup.d.ts
1
+ //#region ../@warlock.js/core/src/bootstrap/setup.d.ts
2
2
  declare function displayEnvironmentMode(): void;
3
3
  //#endregion
4
4
  export { displayEnvironmentMode };
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/bootstrap/setup.ts"],"mappings":";iBAGgB,sBAAA,CAAA"}
1
+ {"version":3,"file":"setup.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/bootstrap/setup.ts"],"mappings":";iBAGgB,sBAAA"}
@@ -2,7 +2,7 @@ import { environment } from "../utils/environment.mjs";
2
2
  import "../utils/index.mjs";
3
3
  import { colors } from "@mongez/copper";
4
4
 
5
- //#region ../../@warlock.js/core/src/bootstrap/setup.ts
5
+ //#region ../@warlock.js/core/src/bootstrap/setup.ts
6
6
  function displayEnvironmentMode() {
7
7
  const env = environment();
8
8
  const envColor = (env) => {
@@ -1 +1 @@
1
- {"version":3,"file":"setup.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/bootstrap/setup.ts"],"sourcesContent":["import { colors } from \"@mongez/copper\";\nimport { environment } from \"../utils\";\n\nexport function displayEnvironmentMode() {\n const env = environment();\n\n const envColor = (env: string) => {\n switch (env) {\n case \"development\":\n return colors.yellow(env);\n case \"production\":\n return colors.green(env);\n case \"test\":\n return colors.magentaBright(env);\n }\n };\n\n console.log(\n colors.blueBright(\"ℹ\"),\n colors.yellow(`(${new Date().toISOString()})`),\n colors.orange(\"[warlock]\"),\n colors.magenta(`bootstrap`),\n colors.blueBright(`Starting application in ${envColor(env)} mode`),\n );\n}\n"],"mappings":";;;;;AAGA,SAAgB,yBAAyB;CACvC,MAAM,MAAM,YAAY;CAExB,MAAM,YAAY,QAAgB;EAChC,QAAQ,KAAR;GACE,KAAK,eACH,OAAO,OAAO,OAAO,GAAG;GAC1B,KAAK,cACH,OAAO,OAAO,MAAM,GAAG;GACzB,KAAK,QACH,OAAO,OAAO,cAAc,GAAG;EACnC;CACF;CAEA,QAAQ,IACN,OAAO,WAAW,GAAG,GACrB,OAAO,OAAO,qBAAI,IAAI,KAAK,GAAE,YAAY,EAAE,EAAE,GAC7C,OAAO,OAAO,WAAW,GACzB,OAAO,QAAQ,WAAW,GAC1B,OAAO,WAAW,2BAA2B,SAAS,GAAG,EAAE,MAAM,CACnE;AACF"}
1
+ {"version":3,"file":"setup.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/bootstrap/setup.ts"],"sourcesContent":["import { colors } from \"@mongez/copper\";\nimport { environment } from \"../utils\";\n\nexport function displayEnvironmentMode() {\n const env = environment();\n\n const envColor = (env: string) => {\n switch (env) {\n case \"development\":\n return colors.yellow(env);\n case \"production\":\n return colors.green(env);\n case \"test\":\n return colors.magentaBright(env);\n }\n };\n\n console.log(\n colors.blueBright(\"ℹ\"),\n colors.yellow(`(${new Date().toISOString()})`),\n colors.orange(\"[warlock]\"),\n colors.magenta(`bootstrap`),\n colors.blueBright(`Starting application in ${envColor(env)} mode`),\n );\n}\n"],"mappings":";;;;;AAGA,SAAgB,yBAAyB;CACvC,MAAM,MAAM,YAAY;CAExB,MAAM,YAAY,QAAgB;EAChC,QAAQ,KAAR;GACE,KAAK,eACH,OAAO,OAAO,OAAO,GAAG;GAC1B,KAAK,cACH,OAAO,OAAO,MAAM,GAAG;GACzB,KAAK,QACH,OAAO,OAAO,cAAc,GAAG;EACnC;CACF;CAEA,QAAQ,IACN,OAAO,WAAW,GAAG,GACrB,OAAO,OAAO,qBAAI,IAAI,KAAK,EAAC,CAAC,YAAY,EAAE,EAAE,GAC7C,OAAO,OAAO,WAAW,GACzB,OAAO,QAAQ,WAAW,GAC1B,OAAO,WAAW,2BAA2B,SAAS,GAAG,EAAE,MAAM,CACnE;AACF"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/bootstrap.d.ts
1
+ //#region ../@warlock.js/core/src/bootstrap.d.ts
2
2
  declare function bootstrap(): Promise<void>;
3
3
  //#endregion
4
4
  export { bootstrap };
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.mts","names":[],"sources":["../../../../../@warlock.js/core/src/bootstrap.ts"],"mappings":";iBAIsB,SAAA,CAAA,GAAS,OAAA"}
1
+ {"version":3,"file":"bootstrap.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/bootstrap.ts"],"mappings":";iBAIsB,SAAA,IAAS,OAAA"}
package/esm/bootstrap.mjs CHANGED
@@ -2,7 +2,7 @@ import { loadEnv } from "@mongez/dotenv";
2
2
  import { captureAnyUnhandledRejection } from "@warlock.js/logger";
3
3
  import { initializeDayjs } from "@mongez/time-wizard";
4
4
 
5
- //#region ../../@warlock.js/core/src/bootstrap.ts
5
+ //#region ../@warlock.js/core/src/bootstrap.ts
6
6
  async function bootstrap() {
7
7
  await loadEnv();
8
8
  initializeDayjs();
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.mjs","names":[],"sources":["../../../../../@warlock.js/core/src/bootstrap.ts"],"sourcesContent":["import { loadEnv } from \"@mongez/dotenv\";\nimport { initializeDayjs } from \"@mongez/time-wizard\";\nimport { captureAnyUnhandledRejection } from \"@warlock.js/logger\";\n\nexport async function bootstrap() {\n await loadEnv();\n\n initializeDayjs();\n captureAnyUnhandledRejection();\n}\n"],"mappings":";;;;;AAIA,eAAsB,YAAY;CAChC,MAAM,QAAQ;CAEd,gBAAgB;CAChB,6BAA6B;AAC/B"}
1
+ {"version":3,"file":"bootstrap.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/bootstrap.ts"],"sourcesContent":["import { loadEnv } from \"@mongez/dotenv\";\nimport { initializeDayjs } from \"@mongez/time-wizard\";\nimport { captureAnyUnhandledRejection } from \"@warlock.js/logger\";\n\nexport async function bootstrap() {\n await loadEnv();\n\n initializeDayjs();\n captureAnyUnhandledRejection();\n}\n"],"mappings":";;;;;AAIA,eAAsB,YAAY;CAChC,MAAM,QAAQ;CAEd,gBAAgB;CAChB,6BAA6B;AAC/B"}
@@ -1,7 +1,7 @@
1
1
  import { Model } from "@warlock.js/cascade";
2
2
  import { BaseCacheDriver, CacheDriver, CacheKey } from "@warlock.js/cache";
3
3
 
4
- //#region ../../@warlock.js/core/src/cache/database-cache-driver.d.ts
4
+ //#region ../@warlock.js/core/src/cache/database-cache-driver.d.ts
5
5
  type DatabaseCacheOptions = {
6
6
  /**
7
7
  * Database model class
@@ -1 +1 @@
1
- {"version":3,"file":"database-cache-driver.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/cache/database-cache-driver.ts"],"mappings":";;;;KAQY,oBAAA;;AAAZ;;EAIE,KAAA,UAAe,UAAU;EAAA;;;EAIzB,YAAA;EAMA;;AAAG;AAGL;;EAHE,GAAA;AAAA;AAAA,cAGW,UAAA,SAAmB,KAAK;EAAA,OACrB,KAAK;AAAA;AAAA,cAGR,mBAAA,SACH,eAAA,CAAgB,mBAAA,EAAqB,oBAAA,aAClC,WAAA,CAAY,mBAAA,EAAqB,oBAAA;EADpB;;;EAMjB,IAAA;EAKe;;;EAAf,KAAA,SAAe,UAAA;EAiCkC;;;EA5BjD,UAAA,CAAW,OAAA,EAAS,oBAAA;EAgGM;;;EArFpB,eAAA,CAAgB,SAAA,WAAiB,OAAA;EA1BxB;;;EA2CT,GAAA,CAAI,GAAA,EAAK,QAAA,EAAU,KAAA,OAAY,GAAA,YAAY,OAAA;EA5CX;;;EAsFhC,GAAA,CAAI,GAAA,EAAK,QAAA,GAAQ,OAAA;EAhFvB;;;EA0GM,MAAA,CAAO,GAAA,EAAK,QAAA,GAAQ,OAAA;EAhGN;;;EA+Gd,KAAA,CAAA,GAAK,OAAA;AAAA"}
1
+ {"version":3,"file":"database-cache-driver.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/cache/database-cache-driver.ts"],"mappings":";;;;KAQY,oBAAA;;AAAZ;;EAIE,KAAA,UAAe,UAAU;EAAA;;;EAIzB,YAAA;EAMA;;AAAG;AAGL;;EAHE,GAAA;AAAA;AAAA,cAGW,UAAA,SAAmB,KAAK;EAAA,OACrB,KAAK;AAAA;AAAA,cAGR,mBAAA,SACH,eAAA,CAAgB,mBAAA,EAAqB,oBAAA,aAClC,WAAA,CAAY,mBAAA,EAAqB,oBAAA;EADpB;;;EAMjB,IAAA;EAKe;;;EAAf,KAAA,SAAe,UAAA;EAiCkC;;;EA5BjD,UAAA,CAAW,OAAA,EAAS,oBAAA;EAgGM;;;EArFpB,eAAA,CAAgB,SAAA,WAAiB,OAAA;EA1BxB;;;EA2CT,GAAA,CAAI,GAAA,EAAK,QAAA,EAAU,KAAA,OAAY,GAAA,YAAY,OAAA;EA5CX;;;EAsFhC,GAAA,CAAI,GAAA,EAAK,QAAA,GAAQ,OAAA;EAhFvB;;;EA0GM,MAAA,CAAO,GAAA,EAAK,QAAA,GAAQ,OAAA;EAhGN;;;EA+Gd,KAAA,IAAK,OAAA;AAAA"}
@@ -1,7 +1,7 @@
1
1
  import { Model } from "@warlock.js/cascade";
2
2
  import { BaseCacheDriver } from "@warlock.js/cache";
3
3
 
4
- //#region ../../@warlock.js/core/src/cache/database-cache-driver.ts
4
+ //#region ../@warlock.js/core/src/cache/database-cache-driver.ts
5
5
  var CacheModel = class extends Model {
6
6
  static {
7
7
  this.table = "cache";
@@ -1 +1 @@
1
- {"version":3,"file":"database-cache-driver.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/cache/database-cache-driver.ts"],"sourcesContent":["import {\n BaseCacheDriver,\n type CacheData,\n type CacheDriver,\n type CacheKey,\n} from \"@warlock.js/cache\";\nimport { Model } from \"@warlock.js/cascade\";\n\nexport type DatabaseCacheOptions = {\n /**\n * Database model class\n */\n model?: typeof CacheModel;\n /**\n * Global prefix for the cache key\n */\n globalPrefix?: string | (() => string);\n /**\n * The default TTL for the cache in seconds\n *\n * @default Infinity\n */\n ttl?: number;\n};\n\nexport class CacheModel extends Model {\n public static table = \"cache\";\n}\n\nexport class DatabaseCacheDriver\n extends BaseCacheDriver<DatabaseCacheDriver, DatabaseCacheOptions>\n implements CacheDriver<DatabaseCacheDriver, DatabaseCacheOptions>\n{\n /**\n * {@inheritdoc}\n */\n public name = \"database\";\n\n /**\n * Database model class\n */\n public model!: typeof CacheModel;\n\n /**\n * {@inheritdoc}\n */\n public setOptions(options: DatabaseCacheOptions) {\n super.setOptions(options);\n\n this.model = options.model ?? CacheModel;\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async removeNamespace(namespace: string) {\n this.log(\"clearing\", namespace);\n\n namespace = this.parseKey(namespace);\n\n await this.model.delete({\n namespace,\n });\n\n this.log(\"cleared\", namespace);\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async set(key: CacheKey, value: any, ttl?: number) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"caching\", parsedKey);\n\n if (ttl === undefined) {\n ttl = this.ttl;\n }\n\n // Extract namespace: all parts except the last (e.g., \"users.id.1\" -> \"users.id\")\n const keyParts = parsedKey.split(\".\");\n const namespace = keyParts.slice(0, -1).join(\".\") || parsedKey;\n\n // Find existing cache entry or create new one (upsert pattern)\n let cacheEntry = await this.model.first({ key: parsedKey });\n\n if (cacheEntry) {\n // Update existing entry\n cacheEntry.set(\"namespace\", namespace);\n cacheEntry.set(\"data\", value);\n cacheEntry.set(\"ttl\", ttl);\n cacheEntry.set(\"expiresAt\", this.getExpiresAt(ttl) || null);\n await cacheEntry.save();\n } else {\n // Create new entry\n await this.model.create({\n key: parsedKey,\n namespace,\n data: value,\n ttl,\n expiresAt: this.getExpiresAt(ttl) || null,\n });\n }\n\n this.log(\"cached\", parsedKey);\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async get(key: CacheKey) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"fetching\", parsedKey);\n\n const model = await this.model.first({\n key: parsedKey,\n });\n\n if (!model) {\n this.log(\"notFound\", parsedKey);\n return null;\n }\n\n const data: CacheData = {\n data: model.get(\"data\"),\n expiresAt: model.get(\"expiresAt\") as number | undefined,\n ttl: model.get(\"ttl\") as number | undefined,\n };\n\n return this.parseCachedData(parsedKey, data);\n }\n\n /**\n * {@inheritdoc}\n */\n public async remove(key: CacheKey) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"removing\", parsedKey);\n\n await this.model.delete({\n key: parsedKey,\n });\n\n this.log(\"removed\", parsedKey);\n }\n\n /**\n * {@inheritdoc}\n */\n public async flush() {\n this.log(\"flushing\");\n if (this.options.globalPrefix) {\n this.removeNamespace(\"\");\n } else {\n await this.model.delete();\n }\n\n this.log(\"flushed\");\n }\n}\n"],"mappings":";;;;AAyBA,IAAa,aAAb,cAAgC,MAAM;;eACd;;AACxB;AAEA,IAAa,sBAAb,cACU,gBAEV;;;cAIgB;;;;;CAUd,AAAO,WAAW,SAA+B;EAC/C,MAAM,WAAW,OAAO;EAExB,KAAK,QAAQ,QAAQ,SAAS;EAE9B,OAAO;CACT;;;;CAKA,MAAa,gBAAgB,WAAmB;EAC9C,KAAK,IAAI,YAAY,SAAS;EAE9B,YAAY,KAAK,SAAS,SAAS;EAEnC,MAAM,KAAK,MAAM,OAAO,EACtB,UACF,CAAC;EAED,KAAK,IAAI,WAAW,SAAS;EAE7B,OAAO;CACT;;;;CAKA,MAAa,IAAI,KAAe,OAAY,KAAc;EACxD,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,WAAW,SAAS;EAE7B,IAAI,QAAQ,QACV,MAAM,KAAK;EAKb,MAAM,YADW,UAAU,MAAM,GACR,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK;EAGrD,IAAI,aAAa,MAAM,KAAK,MAAM,MAAM,EAAE,KAAK,UAAU,CAAC;EAE1D,IAAI,YAAY;GAEd,WAAW,IAAI,aAAa,SAAS;GACrC,WAAW,IAAI,QAAQ,KAAK;GAC5B,WAAW,IAAI,OAAO,GAAG;GACzB,WAAW,IAAI,aAAa,KAAK,aAAa,GAAG,KAAK,IAAI;GAC1D,MAAM,WAAW,KAAK;EACxB,OAEE,MAAM,KAAK,MAAM,OAAO;GACtB,KAAK;GACL;GACA,MAAM;GACN;GACA,WAAW,KAAK,aAAa,GAAG,KAAK;EACvC,CAAC;EAGH,KAAK,IAAI,UAAU,SAAS;EAE5B,OAAO;CACT;;;;CAKA,MAAa,IAAI,KAAe;EAC9B,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,YAAY,SAAS;EAE9B,MAAM,QAAQ,MAAM,KAAK,MAAM,MAAM,EACnC,KAAK,UACP,CAAC;EAED,IAAI,CAAC,OAAO;GACV,KAAK,IAAI,YAAY,SAAS;GAC9B,OAAO;EACT;EAEA,MAAM,OAAkB;GACtB,MAAM,MAAM,IAAI,MAAM;GACtB,WAAW,MAAM,IAAI,WAAW;GAChC,KAAK,MAAM,IAAI,KAAK;EACtB;EAEA,OAAO,KAAK,gBAAgB,WAAW,IAAI;CAC7C;;;;CAKA,MAAa,OAAO,KAAe;EACjC,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,YAAY,SAAS;EAE9B,MAAM,KAAK,MAAM,OAAO,EACtB,KAAK,UACP,CAAC;EAED,KAAK,IAAI,WAAW,SAAS;CAC/B;;;;CAKA,MAAa,QAAQ;EACnB,KAAK,IAAI,UAAU;EACnB,IAAI,KAAK,QAAQ,cACf,KAAK,gBAAgB,EAAE;OAEvB,MAAM,KAAK,MAAM,OAAO;EAG1B,KAAK,IAAI,SAAS;CACpB;AACF"}
1
+ {"version":3,"file":"database-cache-driver.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/cache/database-cache-driver.ts"],"sourcesContent":["import {\n BaseCacheDriver,\n type CacheData,\n type CacheDriver,\n type CacheKey,\n} from \"@warlock.js/cache\";\nimport { Model } from \"@warlock.js/cascade\";\n\nexport type DatabaseCacheOptions = {\n /**\n * Database model class\n */\n model?: typeof CacheModel;\n /**\n * Global prefix for the cache key\n */\n globalPrefix?: string | (() => string);\n /**\n * The default TTL for the cache in seconds\n *\n * @default Infinity\n */\n ttl?: number;\n};\n\nexport class CacheModel extends Model {\n public static table = \"cache\";\n}\n\nexport class DatabaseCacheDriver\n extends BaseCacheDriver<DatabaseCacheDriver, DatabaseCacheOptions>\n implements CacheDriver<DatabaseCacheDriver, DatabaseCacheOptions>\n{\n /**\n * {@inheritdoc}\n */\n public name = \"database\";\n\n /**\n * Database model class\n */\n public model!: typeof CacheModel;\n\n /**\n * {@inheritdoc}\n */\n public setOptions(options: DatabaseCacheOptions) {\n super.setOptions(options);\n\n this.model = options.model ?? CacheModel;\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async removeNamespace(namespace: string) {\n this.log(\"clearing\", namespace);\n\n namespace = this.parseKey(namespace);\n\n await this.model.delete({\n namespace,\n });\n\n this.log(\"cleared\", namespace);\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async set(key: CacheKey, value: any, ttl?: number) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"caching\", parsedKey);\n\n if (ttl === undefined) {\n ttl = this.ttl;\n }\n\n // Extract namespace: all parts except the last (e.g., \"users.id.1\" -> \"users.id\")\n const keyParts = parsedKey.split(\".\");\n const namespace = keyParts.slice(0, -1).join(\".\") || parsedKey;\n\n // Find existing cache entry or create new one (upsert pattern)\n let cacheEntry = await this.model.first({ key: parsedKey });\n\n if (cacheEntry) {\n // Update existing entry\n cacheEntry.set(\"namespace\", namespace);\n cacheEntry.set(\"data\", value);\n cacheEntry.set(\"ttl\", ttl);\n cacheEntry.set(\"expiresAt\", this.getExpiresAt(ttl) || null);\n await cacheEntry.save();\n } else {\n // Create new entry\n await this.model.create({\n key: parsedKey,\n namespace,\n data: value,\n ttl,\n expiresAt: this.getExpiresAt(ttl) || null,\n });\n }\n\n this.log(\"cached\", parsedKey);\n\n return this;\n }\n\n /**\n * {@inheritdoc}\n */\n public async get(key: CacheKey) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"fetching\", parsedKey);\n\n const model = await this.model.first({\n key: parsedKey,\n });\n\n if (!model) {\n this.log(\"notFound\", parsedKey);\n return null;\n }\n\n const data: CacheData = {\n data: model.get(\"data\"),\n expiresAt: model.get(\"expiresAt\") as number | undefined,\n ttl: model.get(\"ttl\") as number | undefined,\n };\n\n return this.parseCachedData(parsedKey, data);\n }\n\n /**\n * {@inheritdoc}\n */\n public async remove(key: CacheKey) {\n const parsedKey = this.parseKey(key);\n\n this.log(\"removing\", parsedKey);\n\n await this.model.delete({\n key: parsedKey,\n });\n\n this.log(\"removed\", parsedKey);\n }\n\n /**\n * {@inheritdoc}\n */\n public async flush() {\n this.log(\"flushing\");\n if (this.options.globalPrefix) {\n this.removeNamespace(\"\");\n } else {\n await this.model.delete();\n }\n\n this.log(\"flushed\");\n }\n}\n"],"mappings":";;;;AAyBA,IAAa,aAAb,cAAgC,MAAM;;eACd;;AACxB;AAEA,IAAa,sBAAb,cACU,gBAEV;;;cAIgB;;;;;CAUd,AAAO,WAAW,SAA+B;EAC/C,MAAM,WAAW,OAAO;EAExB,KAAK,QAAQ,QAAQ,SAAS;EAE9B,OAAO;CACT;;;;CAKA,MAAa,gBAAgB,WAAmB;EAC9C,KAAK,IAAI,YAAY,SAAS;EAE9B,YAAY,KAAK,SAAS,SAAS;EAEnC,MAAM,KAAK,MAAM,OAAO,EACtB,UACF,CAAC;EAED,KAAK,IAAI,WAAW,SAAS;EAE7B,OAAO;CACT;;;;CAKA,MAAa,IAAI,KAAe,OAAY,KAAc;EACxD,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,WAAW,SAAS;EAE7B,IAAI,QAAQ,QACV,MAAM,KAAK;EAKb,MAAM,YADW,UAAU,MAAM,GACR,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK;EAGrD,IAAI,aAAa,MAAM,KAAK,MAAM,MAAM,EAAE,KAAK,UAAU,CAAC;EAE1D,IAAI,YAAY;GAEd,WAAW,IAAI,aAAa,SAAS;GACrC,WAAW,IAAI,QAAQ,KAAK;GAC5B,WAAW,IAAI,OAAO,GAAG;GACzB,WAAW,IAAI,aAAa,KAAK,aAAa,GAAG,KAAK,IAAI;GAC1D,MAAM,WAAW,KAAK;EACxB,OAEE,MAAM,KAAK,MAAM,OAAO;GACtB,KAAK;GACL;GACA,MAAM;GACN;GACA,WAAW,KAAK,aAAa,GAAG,KAAK;EACvC,CAAC;EAGH,KAAK,IAAI,UAAU,SAAS;EAE5B,OAAO;CACT;;;;CAKA,MAAa,IAAI,KAAe;EAC9B,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,YAAY,SAAS;EAE9B,MAAM,QAAQ,MAAM,KAAK,MAAM,MAAM,EACnC,KAAK,UACP,CAAC;EAED,IAAI,CAAC,OAAO;GACV,KAAK,IAAI,YAAY,SAAS;GAC9B,OAAO;EACT;EAEA,MAAM,OAAkB;GACtB,MAAM,MAAM,IAAI,MAAM;GACtB,WAAW,MAAM,IAAI,WAAW;GAChC,KAAK,MAAM,IAAI,KAAK;EACtB;EAEA,OAAO,KAAK,gBAAgB,WAAW,IAAI;CAC7C;;;;CAKA,MAAa,OAAO,KAAe;EACjC,MAAM,YAAY,KAAK,SAAS,GAAG;EAEnC,KAAK,IAAI,YAAY,SAAS;EAE9B,MAAM,KAAK,MAAM,OAAO,EACtB,KAAK,UACP,CAAC;EAED,KAAK,IAAI,WAAW,SAAS;CAC/B;;;;CAKA,MAAa,QAAQ;EACnB,KAAK,IAAI,UAAU;EACnB,IAAI,KAAK,QAAQ,cACf,KAAK,gBAAgB,EAAE;OAEvB,MAAM,KAAK,MAAM,OAAO;EAG1B,KAAK,IAAI,SAAS;CACpB;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { DatabaseCacheDriver } from "./database-cache-driver.mjs";
2
2
  import { cache } from "@warlock.js/cache";
3
3
 
4
- //#region ../../@warlock.js/core/src/cache/index.ts
4
+ //#region ../@warlock.js/core/src/cache/index.ts
5
5
  cache.registerDriver("database", DatabaseCacheDriver);
6
6
 
7
7
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/cache/index.ts"],"sourcesContent":["export { DatabaseCacheDriver } from \"./database-cache-driver\";\nexport type { DatabaseCacheOptions } from \"./database-cache-driver\";\n\n// Auto-register database cache driver\nimport { cache } from \"@warlock.js/cache\";\nimport { DatabaseCacheDriver } from \"./database-cache-driver\";\n\ncache.registerDriver(\"database\", DatabaseCacheDriver);\n"],"mappings":";;;;AAOA,MAAM,eAAe,YAAY,mBAAmB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../@warlock.js/core/src/cache/index.ts"],"sourcesContent":["export { DatabaseCacheDriver } from \"./database-cache-driver\";\nexport type { DatabaseCacheOptions } from \"./database-cache-driver\";\n\n// Auto-register database cache driver\nimport { cache } from \"@warlock.js/cache\";\nimport { DatabaseCacheDriver } from \"./database-cache-driver\";\n\ncache.registerDriver(\"database\", DatabaseCacheDriver);\n"],"mappings":";;;;AAOA,MAAM,eAAe,YAAY,mBAAmB"}
@@ -1,6 +1,6 @@
1
1
  import { CLICommandAction, CLICommandOption, CLICommandOptions, CLICommandPreload, CLICommandSource, CommandActionData, ResolvedCLICommandOption } from "./types.mjs";
2
2
 
3
- //#region ../../@warlock.js/core/src/cli/cli-command.d.ts
3
+ //#region ../@warlock.js/core/src/cli/cli-command.d.ts
4
4
  declare class CLICommand {
5
5
  name: string;
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cli-command.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/cli/cli-command.ts"],"mappings":";;;cAUa,UAAA;EAqDF,IAAA;EArDE;;;EAIJ,aAAA,GAAgB,gBAAA;EAKA;;;EAAhB,aAAA,GAAgB,gBAAA;EAyDD;;;;EAnDf,gBAAA,GAAmB,gBAAA;EAuHuC;;;EAlH1D,cAAA,GAAiB,iBAAA;EAoNA;;;EA/MjB,kBAAA;EAuNqC;;;EAlNrC,cAAA,EAAgB,wBAAA;EArBhB;;;;;EA4BA,mBAAA;EAZA;;;EAiBA,YAAA;EAAA;;;EAKA,YAAA;EAOL;;;cADO,IAAA,UACP,WAAA;EAoBK;;;EARA,MAAA,CAAO,MAAA,EAAQ,gBAAA;EAyBf;;;EAjBA,WAAA,CAAY,WAAA;EAyBL;;;EAjBP,UAAA,CAAW,YAAA;EAkCX;;;;EAzBA,KAAA,CAAM,KAAA;EA0CN;;;EAlCA,MAAA,CAAO,MAAA,EAAQ,gBAAA;EAmCR;;;;EA1BP,SAAA,CAAU,MAAA,EAAQ,gBAAA;EAwDf;;;EAhDH,OAAA,CAAQ,OAAA,EAAS,gBAAA;EA8FhB;;;EArFD,aAAA,CAAc,YAAA;EAmHR;;;EA3GN,MAAA,CAAO,MAAA,EAAQ,gBAAA;EACf,MAAA,CAAO,IAAA,UAAc,WAAA,WAAsB,OAAA,GAAU,IAAA,CAAK,gBAAA;EA0GrB;AAS9C;;;;;;;;EAT8C,UA5ElC,WAAA,CAAY,MAAA,EAAQ,gBAAA,GAAmB,wBAAA;;;;;;;;;UA8CzC,iBAAA;;;;EAsBD,OAAA,CAAQ,OAAA,EAAS,iBAAA;;;;EAQX,OAAA,CAAQ,IAAA,EAAM,iBAAA,GAAiB,OAAA;AAAA;AAAA,iBAS9B,OAAA,CAAQ,OAAA,EAAS,iBAAA,GAAiB,UAAA"}
1
+ {"version":3,"file":"cli-command.d.mts","names":[],"sources":["../../../../../../../@warlock.js/core/src/cli/cli-command.ts"],"mappings":";;;cAUa,UAAA;EAqDF,IAAA;EArDE;;;EAIJ,aAAA,GAAgB,gBAAA;EAKA;;;EAAhB,aAAA,GAAgB,gBAAA;EAyDD;;;;EAnDf,gBAAA,GAAmB,gBAAA;EAuHuC;;;EAlH1D,cAAA,GAAiB,iBAAA;EAoNA;;;EA/MjB,kBAAA;EAuNqC;;;EAlNrC,cAAA,EAAgB,wBAAA;EArBhB;;;;;EA4BA,mBAAA;EAZA;;;EAiBA,YAAA;EAAA;;;EAKA,YAAA;EAOL;;;cADO,IAAA,UACP,WAAA;EAoBK;;;EARA,MAAA,CAAO,MAAA,EAAQ,gBAAA;EAyBf;;;EAjBA,WAAA,CAAY,WAAA;EAyBL;;;EAjBP,UAAA,CAAW,YAAA;EAkCX;;;;EAzBA,KAAA,CAAM,KAAA;EA0CN;;;EAlCA,MAAA,CAAO,MAAA,EAAQ,gBAAA;EAmCR;;;;EA1BP,SAAA,CAAU,MAAA,EAAQ,gBAAA;EAwDf;;;EAhDH,OAAA,CAAQ,OAAA,EAAS,gBAAA;EA8FhB;;;EArFD,aAAA,CAAc,YAAA;EAmHR;;;EA3GN,MAAA,CAAO,MAAA,EAAQ,gBAAA;EACf,MAAA,CAAO,IAAA,UAAc,WAAA,WAAsB,OAAA,GAAU,IAAA,CAAK,gBAAA;EA0GrB;AAS9C;;;;;;;;EAT8C,UA5ElC,WAAA,CAAY,MAAA,EAAQ,gBAAA,GAAmB,wBAAA;;;;;;;;;UA8CzC,iBAAA;;;;EAsBD,OAAA,CAAQ,OAAA,EAAS,iBAAA;;;;EAQX,OAAA,CAAQ,IAAA,EAAM,iBAAA,GAAiB,OAAA;AAAA;AAAA,iBAS9B,OAAA,CAAQ,OAAA,EAAS,iBAAA,GAAiB,UAAA"}
@@ -1,4 +1,4 @@
1
- //#region ../../@warlock.js/core/src/cli/cli-command.ts
1
+ //#region ../@warlock.js/core/src/cli/cli-command.ts
2
2
  var CLICommand = class {
3
3
  /**
4
4
  * Constructor