exisjs 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (519) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +11 -9
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/dev.d.ts.map +1 -1
  5. package/dist/cli/commands/dev.js +34 -36
  6. package/dist/cli/commands/dev.js.map +1 -1
  7. package/dist/cli/commands/exports.d.ts.map +1 -1
  8. package/dist/cli/commands/exports.js +5 -32
  9. package/dist/cli/commands/exports.js.map +1 -1
  10. package/dist/cli/commands/generate.d.ts +2 -13
  11. package/dist/cli/commands/generate.d.ts.map +1 -1
  12. package/dist/cli/commands/generate.js +27 -60
  13. package/dist/cli/commands/generate.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +4 -4
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/start.d.ts.map +1 -1
  18. package/dist/cli/commands/start.js +2 -6
  19. package/dist/cli/commands/start.js.map +1 -1
  20. package/dist/cli/index.js +11 -23
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/routes.d.ts.map +1 -1
  23. package/dist/cli/routes.js +20 -8
  24. package/dist/cli/routes.js.map +1 -1
  25. package/dist/config/config.d.ts +2 -1
  26. package/dist/config/config.d.ts.map +1 -1
  27. package/dist/config/config.js +3 -2
  28. package/dist/config/config.js.map +1 -1
  29. package/dist/config/types.d.ts +7 -2
  30. package/dist/config/types.d.ts.map +1 -1
  31. package/dist/decorators/constants.d.ts +2 -2
  32. package/dist/decorators/constants.d.ts.map +1 -1
  33. package/dist/decorators/constants.js +2 -2
  34. package/dist/decorators/constants.js.map +1 -1
  35. package/dist/decorators/core.d.ts +4 -3
  36. package/dist/decorators/core.d.ts.map +1 -1
  37. package/dist/decorators/core.js +7 -4
  38. package/dist/decorators/core.js.map +1 -1
  39. package/dist/decorators/middleware.d.ts +0 -10
  40. package/dist/decorators/middleware.d.ts.map +1 -1
  41. package/dist/decorators/middleware.js +0 -25
  42. package/dist/decorators/middleware.js.map +1 -1
  43. package/dist/decorators/routing.d.ts +0 -2
  44. package/dist/decorators/routing.d.ts.map +1 -1
  45. package/dist/decorators/routing.js +1 -3
  46. package/dist/decorators/routing.js.map +1 -1
  47. package/dist/di/inject.d.ts +1 -2
  48. package/dist/di/inject.d.ts.map +1 -1
  49. package/dist/di/inject.js.map +1 -1
  50. package/dist/docs/ARCHITECTURE.md +46 -285
  51. package/dist/docs/BENCHMARKS.md +5 -5
  52. package/dist/docs/README.md +8 -11
  53. package/dist/docs/content/boundaries.mdx +151 -0
  54. package/dist/docs/content/cli/commands.mdx +66 -104
  55. package/dist/docs/content/cli/overview.mdx +37 -47
  56. package/dist/docs/content/cli/usage.mdx +29 -15
  57. package/dist/docs/content/decorators.mdx +107 -80
  58. package/dist/docs/content/installation.mdx +20 -1
  59. package/dist/docs/content/middleware.mdx +65 -291
  60. package/dist/docs/content/security.mdx +44 -246
  61. package/dist/docs/content/structure.mdx +227 -100
  62. package/dist/docs/content/validation.mdx +0 -17
  63. package/dist/docs/reference/decorators.mdx +24 -217
  64. package/dist/docs/reference/middleware.mdx +41 -217
  65. package/dist/docs/reference/validator.mdx +2 -5
  66. package/dist/error/errors.d.ts.map +1 -1
  67. package/dist/error/errors.js +16 -0
  68. package/dist/error/errors.js.map +1 -1
  69. package/dist/index.d.ts +1 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +5 -2
  72. package/dist/index.js.map +1 -1
  73. package/dist/lib/start-repl.js +2 -4
  74. package/dist/lib/start-repl.js.map +1 -1
  75. package/dist/lib/start-server.js +12 -4
  76. package/dist/lib/start-server.js.map +1 -1
  77. package/dist/logger/index.d.ts +81 -0
  78. package/dist/logger/index.d.ts.map +1 -0
  79. package/dist/logger/index.js +142 -0
  80. package/dist/logger/index.js.map +1 -0
  81. package/dist/middleware/dedupe.d.ts +1 -1
  82. package/dist/middleware/dedupe.js +1 -1
  83. package/dist/middleware/middleware.d.ts +3 -5
  84. package/dist/middleware/middleware.d.ts.map +1 -1
  85. package/dist/middleware/middleware.js +2 -6
  86. package/dist/middleware/middleware.js.map +1 -1
  87. package/dist/router/{gateway.d.ts → boundary.d.ts} +21 -13
  88. package/dist/router/boundary.d.ts.map +1 -0
  89. package/dist/router/boundary.js +11 -0
  90. package/dist/router/boundary.js.map +1 -0
  91. package/dist/router/index.d.ts +3 -6
  92. package/dist/router/index.d.ts.map +1 -1
  93. package/dist/router/index.js +3 -7
  94. package/dist/router/index.js.map +1 -1
  95. package/dist/router/route-builder.d.ts +0 -28
  96. package/dist/router/route-builder.d.ts.map +1 -1
  97. package/dist/router/route-builder.js +0 -4
  98. package/dist/router/route-builder.js.map +1 -1
  99. package/dist/router/route-scanner.d.ts +1 -2
  100. package/dist/router/route-scanner.d.ts.map +1 -1
  101. package/dist/router/route-scanner.js +216 -193
  102. package/dist/router/route-scanner.js.map +1 -1
  103. package/dist/router/router.d.ts +4 -6
  104. package/dist/router/router.d.ts.map +1 -1
  105. package/dist/router/router.js +36 -72
  106. package/dist/router/router.js.map +1 -1
  107. package/dist/router/types.d.ts +2 -6
  108. package/dist/router/types.d.ts.map +1 -1
  109. package/dist/server/{bun-adapter.d.ts → adapters/bun-adapter.d.ts} +1 -1
  110. package/dist/server/adapters/bun-adapter.d.ts.map +1 -0
  111. package/dist/server/{bun-adapter.js → adapters/bun-adapter.js} +2 -24
  112. package/dist/server/adapters/bun-adapter.js.map +1 -0
  113. package/dist/server/{uws-adapter.d.ts → adapters/uws-adapter.d.ts} +1 -1
  114. package/dist/server/adapters/uws-adapter.d.ts.map +1 -0
  115. package/dist/server/{uws-adapter.js → adapters/uws-adapter.js} +1 -28
  116. package/dist/server/adapters/uws-adapter.js.map +1 -0
  117. package/dist/server/app.d.ts +9 -30
  118. package/dist/server/app.d.ts.map +1 -1
  119. package/dist/server/app.js +19 -134
  120. package/dist/server/app.js.map +1 -1
  121. package/dist/server/bootstrapper.d.ts +4 -15
  122. package/dist/server/bootstrapper.d.ts.map +1 -1
  123. package/dist/server/bootstrapper.js +31 -222
  124. package/dist/server/bootstrapper.js.map +1 -1
  125. package/dist/server/define.d.ts +2 -2
  126. package/dist/server/define.d.ts.map +1 -1
  127. package/dist/server/define.js +3 -3
  128. package/dist/server/define.js.map +1 -1
  129. package/dist/server/engines/bun-engine.d.ts +16 -0
  130. package/dist/server/engines/bun-engine.d.ts.map +1 -0
  131. package/dist/server/engines/bun-engine.js +41 -0
  132. package/dist/server/engines/bun-engine.js.map +1 -0
  133. package/dist/server/engines/engine.d.ts +16 -0
  134. package/dist/server/engines/engine.d.ts.map +1 -0
  135. package/dist/{queue/types.js → server/engines/engine.js} +1 -1
  136. package/dist/server/engines/engine.js.map +1 -0
  137. package/dist/server/engines/node-engine.d.ts +22 -0
  138. package/dist/server/engines/node-engine.d.ts.map +1 -0
  139. package/dist/server/engines/node-engine.js +130 -0
  140. package/dist/server/engines/node-engine.js.map +1 -0
  141. package/dist/server/engines/uws-engine.d.ts +16 -0
  142. package/dist/server/engines/uws-engine.d.ts.map +1 -0
  143. package/dist/server/engines/uws-engine.js +48 -0
  144. package/dist/server/engines/uws-engine.js.map +1 -0
  145. package/dist/server/request-handler.d.ts +0 -1
  146. package/dist/server/request-handler.d.ts.map +1 -1
  147. package/dist/server/request-handler.js +74 -48
  148. package/dist/server/request-handler.js.map +1 -1
  149. package/dist/server/request.d.ts +0 -8
  150. package/dist/server/request.d.ts.map +1 -1
  151. package/dist/server/request.js +0 -16
  152. package/dist/server/request.js.map +1 -1
  153. package/dist/utils/time.d.ts +6 -0
  154. package/dist/utils/time.d.ts.map +1 -0
  155. package/dist/utils/time.js +15 -0
  156. package/dist/utils/time.js.map +1 -0
  157. package/dist/validator/index.d.ts +1 -7
  158. package/dist/validator/index.d.ts.map +1 -1
  159. package/dist/validator/index.js +1 -5
  160. package/dist/validator/index.js.map +1 -1
  161. package/dist/validator/tex-types.d.ts +15 -2
  162. package/dist/validator/tex-types.d.ts.map +1 -1
  163. package/dist/validator/tex-types.js +8 -0
  164. package/dist/validator/tex-types.js.map +1 -1
  165. package/dist/validator/tex.d.ts.map +1 -1
  166. package/dist/validator/tex.js +21 -2
  167. package/dist/validator/tex.js.map +1 -1
  168. package/package.json +9 -151
  169. package/dist/adapters/aws-lambda.d.ts +0 -21
  170. package/dist/adapters/aws-lambda.d.ts.map +0 -1
  171. package/dist/adapters/aws-lambda.js +0 -125
  172. package/dist/adapters/aws-lambda.js.map +0 -1
  173. package/dist/adapters/bun.d.ts +0 -9
  174. package/dist/adapters/bun.d.ts.map +0 -1
  175. package/dist/adapters/bun.js +0 -23
  176. package/dist/adapters/bun.js.map +0 -1
  177. package/dist/adapters/cloudflare.d.ts +0 -10
  178. package/dist/adapters/cloudflare.d.ts.map +0 -1
  179. package/dist/adapters/cloudflare.js +0 -22
  180. package/dist/adapters/cloudflare.js.map +0 -1
  181. package/dist/adapters/deno.d.ts +0 -7
  182. package/dist/adapters/deno.d.ts.map +0 -1
  183. package/dist/adapters/deno.js +0 -21
  184. package/dist/adapters/deno.js.map +0 -1
  185. package/dist/adapters/fastly.d.ts +0 -6
  186. package/dist/adapters/fastly.d.ts.map +0 -1
  187. package/dist/adapters/fastly.js +0 -20
  188. package/dist/adapters/fastly.js.map +0 -1
  189. package/dist/adapters/fetch.d.ts +0 -30
  190. package/dist/adapters/fetch.d.ts.map +0 -1
  191. package/dist/adapters/fetch.js +0 -119
  192. package/dist/adapters/fetch.js.map +0 -1
  193. package/dist/adapters/index.d.ts +0 -9
  194. package/dist/adapters/index.d.ts.map +0 -1
  195. package/dist/adapters/index.js +0 -28
  196. package/dist/adapters/index.js.map +0 -1
  197. package/dist/adapters/netlify.d.ts +0 -8
  198. package/dist/adapters/netlify.d.ts.map +0 -1
  199. package/dist/adapters/netlify.js +0 -20
  200. package/dist/adapters/netlify.js.map +0 -1
  201. package/dist/adapters/vercel.d.ts +0 -17
  202. package/dist/adapters/vercel.d.ts.map +0 -1
  203. package/dist/adapters/vercel.js +0 -23
  204. package/dist/adapters/vercel.js.map +0 -1
  205. package/dist/auth/index.d.ts +0 -8
  206. package/dist/auth/index.d.ts.map +0 -1
  207. package/dist/auth/index.js +0 -49
  208. package/dist/auth/index.js.map +0 -1
  209. package/dist/auth/jwt.d.ts +0 -20
  210. package/dist/auth/jwt.d.ts.map +0 -1
  211. package/dist/auth/jwt.js +0 -59
  212. package/dist/auth/jwt.js.map +0 -1
  213. package/dist/auth/oauth/core.d.ts +0 -96
  214. package/dist/auth/oauth/core.d.ts.map +0 -1
  215. package/dist/auth/oauth/core.js +0 -203
  216. package/dist/auth/oauth/core.js.map +0 -1
  217. package/dist/auth/oauth/index.d.ts +0 -45
  218. package/dist/auth/oauth/index.d.ts.map +0 -1
  219. package/dist/auth/oauth/index.js +0 -64
  220. package/dist/auth/oauth/index.js.map +0 -1
  221. package/dist/auth/oauth/middleware.d.ts +0 -63
  222. package/dist/auth/oauth/middleware.d.ts.map +0 -1
  223. package/dist/auth/oauth/middleware.js +0 -164
  224. package/dist/auth/oauth/middleware.js.map +0 -1
  225. package/dist/auth/oauth/providers/custom.d.ts +0 -41
  226. package/dist/auth/oauth/providers/custom.d.ts.map +0 -1
  227. package/dist/auth/oauth/providers/custom.js +0 -204
  228. package/dist/auth/oauth/providers/custom.js.map +0 -1
  229. package/dist/auth/oauth/providers/discord.d.ts +0 -23
  230. package/dist/auth/oauth/providers/discord.d.ts.map +0 -1
  231. package/dist/auth/oauth/providers/discord.js +0 -130
  232. package/dist/auth/oauth/providers/discord.js.map +0 -1
  233. package/dist/auth/oauth/providers/facebook.d.ts +0 -28
  234. package/dist/auth/oauth/providers/facebook.d.ts.map +0 -1
  235. package/dist/auth/oauth/providers/facebook.js +0 -124
  236. package/dist/auth/oauth/providers/facebook.js.map +0 -1
  237. package/dist/auth/oauth/providers/github.d.ts +0 -25
  238. package/dist/auth/oauth/providers/github.d.ts.map +0 -1
  239. package/dist/auth/oauth/providers/github.js +0 -132
  240. package/dist/auth/oauth/providers/github.js.map +0 -1
  241. package/dist/auth/oauth/providers/google.d.ts +0 -23
  242. package/dist/auth/oauth/providers/google.d.ts.map +0 -1
  243. package/dist/auth/oauth/providers/google.js +0 -134
  244. package/dist/auth/oauth/providers/google.js.map +0 -1
  245. package/dist/auth/oauth/providers/microsoft.d.ts +0 -28
  246. package/dist/auth/oauth/providers/microsoft.d.ts.map +0 -1
  247. package/dist/auth/oauth/providers/microsoft.js +0 -136
  248. package/dist/auth/oauth/providers/microsoft.js.map +0 -1
  249. package/dist/auth/oauth/types.d.ts +0 -158
  250. package/dist/auth/oauth/types.d.ts.map +0 -1
  251. package/dist/auth/oauth/types.js +0 -4
  252. package/dist/auth/oauth/types.js.map +0 -1
  253. package/dist/auth/password.d.ts +0 -25
  254. package/dist/auth/password.d.ts.map +0 -1
  255. package/dist/auth/password.js +0 -93
  256. package/dist/auth/password.js.map +0 -1
  257. package/dist/auth/rbac.d.ts +0 -10
  258. package/dist/auth/rbac.d.ts.map +0 -1
  259. package/dist/auth/rbac.js +0 -34
  260. package/dist/auth/rbac.js.map +0 -1
  261. package/dist/auth/session.d.ts +0 -26
  262. package/dist/auth/session.d.ts.map +0 -1
  263. package/dist/auth/session.js +0 -134
  264. package/dist/auth/session.js.map +0 -1
  265. package/dist/cache/index.d.ts +0 -4
  266. package/dist/cache/index.d.ts.map +0 -1
  267. package/dist/cache/index.js +0 -25
  268. package/dist/cache/index.js.map +0 -1
  269. package/dist/cache/store.d.ts +0 -58
  270. package/dist/cache/store.d.ts.map +0 -1
  271. package/dist/cache/store.js +0 -298
  272. package/dist/cache/store.js.map +0 -1
  273. package/dist/cron/parser.d.ts +0 -2
  274. package/dist/cron/parser.d.ts.map +0 -1
  275. package/dist/cron/parser.js +0 -52
  276. package/dist/cron/parser.js.map +0 -1
  277. package/dist/cron/scheduler.d.ts +0 -23
  278. package/dist/cron/scheduler.d.ts.map +0 -1
  279. package/dist/cron/scheduler.js +0 -114
  280. package/dist/cron/scheduler.js.map +0 -1
  281. package/dist/database/adapters/mongodb.d.ts +0 -58
  282. package/dist/database/adapters/mongodb.d.ts.map +0 -1
  283. package/dist/database/adapters/mongodb.js +0 -264
  284. package/dist/database/adapters/mongodb.js.map +0 -1
  285. package/dist/database/adapters/mysql.d.ts +0 -27
  286. package/dist/database/adapters/mysql.d.ts.map +0 -1
  287. package/dist/database/adapters/mysql.js +0 -188
  288. package/dist/database/adapters/mysql.js.map +0 -1
  289. package/dist/database/adapters/postgres.d.ts +0 -28
  290. package/dist/database/adapters/postgres.d.ts.map +0 -1
  291. package/dist/database/adapters/postgres.js +0 -174
  292. package/dist/database/adapters/postgres.js.map +0 -1
  293. package/dist/database/adapters/sqlite.d.ts +0 -27
  294. package/dist/database/adapters/sqlite.d.ts.map +0 -1
  295. package/dist/database/adapters/sqlite.js +0 -149
  296. package/dist/database/adapters/sqlite.js.map +0 -1
  297. package/dist/database/index.d.ts +0 -42
  298. package/dist/database/index.d.ts.map +0 -1
  299. package/dist/database/index.js +0 -58
  300. package/dist/database/index.js.map +0 -1
  301. package/dist/database/manager.d.ts +0 -141
  302. package/dist/database/manager.d.ts.map +0 -1
  303. package/dist/database/manager.js +0 -337
  304. package/dist/database/manager.js.map +0 -1
  305. package/dist/database/migration.d.ts +0 -57
  306. package/dist/database/migration.d.ts.map +0 -1
  307. package/dist/database/migration.js +0 -329
  308. package/dist/database/migration.js.map +0 -1
  309. package/dist/database/query-builder.d.ts +0 -95
  310. package/dist/database/query-builder.d.ts.map +0 -1
  311. package/dist/database/query-builder.js +0 -404
  312. package/dist/database/query-builder.js.map +0 -1
  313. package/dist/database/sql/index.d.ts +0 -18
  314. package/dist/database/sql/index.d.ts.map +0 -1
  315. package/dist/database/sql/index.js +0 -74
  316. package/dist/database/sql/index.js.map +0 -1
  317. package/dist/database/sql/schema.d.ts +0 -38
  318. package/dist/database/sql/schema.d.ts.map +0 -1
  319. package/dist/database/sql/schema.js +0 -80
  320. package/dist/database/sql/schema.js.map +0 -1
  321. package/dist/database/synchronizer.d.ts +0 -12
  322. package/dist/database/synchronizer.d.ts.map +0 -1
  323. package/dist/database/synchronizer.js +0 -82
  324. package/dist/database/synchronizer.js.map +0 -1
  325. package/dist/database/types.d.ts +0 -184
  326. package/dist/database/types.d.ts.map +0 -1
  327. package/dist/database/types.js +0 -4
  328. package/dist/database/types.js.map +0 -1
  329. package/dist/dataloader/dataloader.d.ts +0 -23
  330. package/dist/dataloader/dataloader.d.ts.map +0 -1
  331. package/dist/dataloader/dataloader.js +0 -98
  332. package/dist/dataloader/dataloader.js.map +0 -1
  333. package/dist/dataloader/index.d.ts +0 -3
  334. package/dist/dataloader/index.d.ts.map +0 -1
  335. package/dist/dataloader/index.js +0 -19
  336. package/dist/dataloader/index.js.map +0 -1
  337. package/dist/dataloader/registry.d.ts +0 -17
  338. package/dist/dataloader/registry.d.ts.map +0 -1
  339. package/dist/dataloader/registry.js +0 -47
  340. package/dist/dataloader/registry.js.map +0 -1
  341. package/dist/dev/dep-graph.d.ts +0 -2
  342. package/dist/dev/dep-graph.d.ts.map +0 -1
  343. package/dist/dev/dep-graph.js +0 -111
  344. package/dist/dev/dep-graph.js.map +0 -1
  345. package/dist/dev/hot-reload.d.ts +0 -30
  346. package/dist/dev/hot-reload.d.ts.map +0 -1
  347. package/dist/dev/hot-reload.js +0 -262
  348. package/dist/dev/hot-reload.js.map +0 -1
  349. package/dist/docs/content/adapters.mdx +0 -199
  350. package/dist/docs/content/cache.mdx +0 -239
  351. package/dist/docs/content/circuit-breaker.mdx +0 -130
  352. package/dist/docs/content/cron.mdx +0 -109
  353. package/dist/docs/content/database.mdx +0 -278
  354. package/dist/docs/content/gateways.mdx +0 -376
  355. package/dist/docs/content/oauth.mdx +0 -179
  356. package/dist/docs/content/queues.mdx +0 -177
  357. package/dist/docs/content/rpc.mdx +0 -146
  358. package/dist/docs/content/sse.mdx +0 -159
  359. package/dist/docs/content/websockets.mdx +0 -289
  360. package/dist/docs/integrations/README.md +0 -23
  361. package/dist/docs/integrations/jwt.mdx +0 -151
  362. package/dist/docs/integrations/mongo.mdx +0 -183
  363. package/dist/docs/integrations/observability.mdx +0 -125
  364. package/dist/docs/integrations/openai.mdx +0 -108
  365. package/dist/docs/integrations/postgres.mdx +0 -190
  366. package/dist/docs/integrations/posthog.mdx +0 -122
  367. package/dist/docs/integrations/redis.mdx +0 -141
  368. package/dist/docs/integrations/resend.mdx +0 -117
  369. package/dist/docs/integrations/s3.mdx +0 -122
  370. package/dist/docs/integrations/swagger.mdx +0 -113
  371. package/dist/docs/reference/adapters.mdx +0 -130
  372. package/dist/docs/reference/auth.mdx +0 -183
  373. package/dist/docs/reference/cache.mdx +0 -132
  374. package/dist/docs/reference/circuit-breaker.mdx +0 -71
  375. package/dist/docs/reference/queue.mdx +0 -155
  376. package/dist/docs/reference/storage.mdx +0 -116
  377. package/dist/docs/reference/swagger.mdx +0 -132
  378. package/dist/integrations/drizzle.d.ts +0 -10
  379. package/dist/integrations/drizzle.d.ts.map +0 -1
  380. package/dist/integrations/drizzle.js +0 -34
  381. package/dist/integrations/drizzle.js.map +0 -1
  382. package/dist/integrations/jwt.d.ts +0 -12
  383. package/dist/integrations/jwt.d.ts.map +0 -1
  384. package/dist/integrations/jwt.js +0 -29
  385. package/dist/integrations/jwt.js.map +0 -1
  386. package/dist/integrations/mongodb.d.ts +0 -13
  387. package/dist/integrations/mongodb.d.ts.map +0 -1
  388. package/dist/integrations/mongodb.js +0 -48
  389. package/dist/integrations/mongodb.js.map +0 -1
  390. package/dist/integrations/mongoose.d.ts +0 -13
  391. package/dist/integrations/mongoose.d.ts.map +0 -1
  392. package/dist/integrations/mongoose.js +0 -84
  393. package/dist/integrations/mongoose.js.map +0 -1
  394. package/dist/integrations/openai.d.ts +0 -12
  395. package/dist/integrations/openai.d.ts.map +0 -1
  396. package/dist/integrations/openai.js +0 -47
  397. package/dist/integrations/openai.js.map +0 -1
  398. package/dist/integrations/postgres.d.ts +0 -13
  399. package/dist/integrations/postgres.d.ts.map +0 -1
  400. package/dist/integrations/postgres.js +0 -55
  401. package/dist/integrations/postgres.js.map +0 -1
  402. package/dist/integrations/posthog.d.ts +0 -13
  403. package/dist/integrations/posthog.d.ts.map +0 -1
  404. package/dist/integrations/posthog.js +0 -49
  405. package/dist/integrations/posthog.js.map +0 -1
  406. package/dist/integrations/prisma.d.ts +0 -10
  407. package/dist/integrations/prisma.d.ts.map +0 -1
  408. package/dist/integrations/prisma.js +0 -39
  409. package/dist/integrations/prisma.js.map +0 -1
  410. package/dist/integrations/redis.d.ts +0 -12
  411. package/dist/integrations/redis.d.ts.map +0 -1
  412. package/dist/integrations/redis.js +0 -48
  413. package/dist/integrations/redis.js.map +0 -1
  414. package/dist/integrations/resend.d.ts +0 -12
  415. package/dist/integrations/resend.d.ts.map +0 -1
  416. package/dist/integrations/resend.js +0 -47
  417. package/dist/integrations/resend.js.map +0 -1
  418. package/dist/integrations/s3.d.ts +0 -15
  419. package/dist/integrations/s3.d.ts.map +0 -1
  420. package/dist/integrations/s3.js +0 -60
  421. package/dist/integrations/s3.js.map +0 -1
  422. package/dist/integrations/supabase.d.ts +0 -13
  423. package/dist/integrations/supabase.d.ts.map +0 -1
  424. package/dist/integrations/supabase.js +0 -51
  425. package/dist/integrations/supabase.js.map +0 -1
  426. package/dist/middleware/cache.d.ts +0 -21
  427. package/dist/middleware/cache.d.ts.map +0 -1
  428. package/dist/middleware/cache.js +0 -156
  429. package/dist/middleware/cache.js.map +0 -1
  430. package/dist/observability/health.d.ts +0 -23
  431. package/dist/observability/health.d.ts.map +0 -1
  432. package/dist/observability/health.js +0 -49
  433. package/dist/observability/health.js.map +0 -1
  434. package/dist/observability/index.d.ts +0 -4
  435. package/dist/observability/index.d.ts.map +0 -1
  436. package/dist/observability/index.js +0 -10
  437. package/dist/observability/index.js.map +0 -1
  438. package/dist/observability/metrics.d.ts +0 -6
  439. package/dist/observability/metrics.d.ts.map +0 -1
  440. package/dist/observability/metrics.js +0 -60
  441. package/dist/observability/metrics.js.map +0 -1
  442. package/dist/observability/otel.d.ts +0 -27
  443. package/dist/observability/otel.d.ts.map +0 -1
  444. package/dist/observability/otel.js +0 -45
  445. package/dist/observability/otel.js.map +0 -1
  446. package/dist/observability/prometheus.d.ts +0 -30
  447. package/dist/observability/prometheus.d.ts.map +0 -1
  448. package/dist/observability/prometheus.js +0 -31
  449. package/dist/observability/prometheus.js.map +0 -1
  450. package/dist/queue/client.d.ts +0 -13
  451. package/dist/queue/client.d.ts.map +0 -1
  452. package/dist/queue/client.js +0 -83
  453. package/dist/queue/client.js.map +0 -1
  454. package/dist/queue/drivers/MemoryDriver.d.ts +0 -21
  455. package/dist/queue/drivers/MemoryDriver.d.ts.map +0 -1
  456. package/dist/queue/drivers/MemoryDriver.js +0 -176
  457. package/dist/queue/drivers/MemoryDriver.js.map +0 -1
  458. package/dist/queue/drivers/RedisDriver.d.ts +0 -19
  459. package/dist/queue/drivers/RedisDriver.d.ts.map +0 -1
  460. package/dist/queue/drivers/RedisDriver.js +0 -130
  461. package/dist/queue/drivers/RedisDriver.js.map +0 -1
  462. package/dist/queue/index.d.ts +0 -18
  463. package/dist/queue/index.d.ts.map +0 -1
  464. package/dist/queue/index.js +0 -37
  465. package/dist/queue/index.js.map +0 -1
  466. package/dist/queue/manager.d.ts +0 -18
  467. package/dist/queue/manager.d.ts.map +0 -1
  468. package/dist/queue/manager.js +0 -59
  469. package/dist/queue/manager.js.map +0 -1
  470. package/dist/queue/types.d.ts +0 -55
  471. package/dist/queue/types.d.ts.map +0 -1
  472. package/dist/queue/types.js.map +0 -1
  473. package/dist/queue/worker.d.ts +0 -18
  474. package/dist/queue/worker.d.ts.map +0 -1
  475. package/dist/queue/worker.js +0 -176
  476. package/dist/queue/worker.js.map +0 -1
  477. package/dist/router/gateway.d.ts.map +0 -1
  478. package/dist/router/gateway.js +0 -11
  479. package/dist/router/gateway.js.map +0 -1
  480. package/dist/server/bun-adapter.d.ts.map +0 -1
  481. package/dist/server/bun-adapter.js.map +0 -1
  482. package/dist/server/sse.d.ts +0 -16
  483. package/dist/server/sse.d.ts.map +0 -1
  484. package/dist/server/sse.js +0 -51
  485. package/dist/server/sse.js.map +0 -1
  486. package/dist/server/uws-adapter.d.ts.map +0 -1
  487. package/dist/server/uws-adapter.js.map +0 -1
  488. package/dist/storage/index.d.ts +0 -15
  489. package/dist/storage/index.d.ts.map +0 -1
  490. package/dist/storage/index.js +0 -7
  491. package/dist/storage/index.js.map +0 -1
  492. package/dist/swagger/index.d.ts +0 -9
  493. package/dist/swagger/index.d.ts.map +0 -1
  494. package/dist/swagger/index.js +0 -165
  495. package/dist/swagger/index.js.map +0 -1
  496. package/dist/threads/pool.d.ts +0 -14
  497. package/dist/threads/pool.d.ts.map +0 -1
  498. package/dist/threads/pool.js +0 -93
  499. package/dist/threads/pool.js.map +0 -1
  500. package/dist/threads/worker-runner.d.ts +0 -2
  501. package/dist/threads/worker-runner.d.ts.map +0 -1
  502. package/dist/threads/worker-runner.js +0 -71
  503. package/dist/threads/worker-runner.js.map +0 -1
  504. package/dist/validator/validator.d.ts +0 -360
  505. package/dist/validator/validator.d.ts.map +0 -1
  506. package/dist/validator/validator.js +0 -931
  507. package/dist/validator/validator.js.map +0 -1
  508. package/dist/websocket/orchestrator.d.ts +0 -11
  509. package/dist/websocket/orchestrator.d.ts.map +0 -1
  510. package/dist/websocket/orchestrator.js +0 -238
  511. package/dist/websocket/orchestrator.js.map +0 -1
  512. package/dist/websocket/server.d.ts +0 -66
  513. package/dist/websocket/server.d.ts.map +0 -1
  514. package/dist/websocket/server.js +0 -158
  515. package/dist/websocket/server.js.map +0 -1
  516. package/dist/websocket/socket.d.ts +0 -119
  517. package/dist/websocket/socket.d.ts.map +0 -1
  518. package/dist/websocket/socket.js +0 -242
  519. package/dist/websocket/socket.js.map +0 -1
@@ -1,298 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.TieredCacheStore = exports.RedisCacheStore = exports.MemoryCacheStore = exports.FileSystemCacheStore = void 0;
37
- exports.getCacheStore = getCacheStore;
38
- exports.setCacheStore = setCacheStore;
39
- const fs = __importStar(require("node:fs/promises"));
40
- const path = __importStar(require("node:path"));
41
- const crypto = __importStar(require("node:crypto"));
42
- class FileSystemCacheStore {
43
- constructor(cwd) {
44
- this.cacheDir = path.join(cwd, '.exis', 'cache');
45
- this.tagsPath = path.join(this.cacheDir, 'tags.json');
46
- }
47
- async ensureDir() {
48
- try {
49
- await fs.mkdir(this.cacheDir, { recursive: true });
50
- }
51
- catch {
52
- /* ignore */
53
- }
54
- }
55
- hashKey(key) {
56
- return crypto.createHash('sha256').update(key).digest('hex');
57
- }
58
- async getTags() {
59
- try {
60
- const data = await fs.readFile(this.tagsPath, 'utf8');
61
- return JSON.parse(data);
62
- }
63
- catch {
64
- return {};
65
- }
66
- }
67
- async get(key) {
68
- const hash = this.hashKey(key);
69
- const itemPath = path.join(this.cacheDir, `${hash}.json`);
70
- try {
71
- const data = await fs.readFile(itemPath, 'utf8');
72
- const item = JSON.parse(data);
73
- const tags = await this.getTags();
74
- // Check if stale via tags
75
- for (const tag of item.tags) {
76
- if (tags[tag] && tags[tag] > item.createdAt) {
77
- // It's stale!
78
- return null;
79
- }
80
- }
81
- return item;
82
- }
83
- catch {
84
- return null;
85
- }
86
- }
87
- async set(key, data, tags, _ttlMs) {
88
- await this.ensureDir();
89
- const hash = this.hashKey(key);
90
- const itemPath = path.join(this.cacheDir, `${hash}.json`);
91
- const item = {
92
- data,
93
- tags,
94
- createdAt: Date.now(),
95
- };
96
- await fs.writeFile(itemPath, JSON.stringify(item), 'utf8');
97
- }
98
- async revalidateTag(tag) {
99
- await this.ensureDir();
100
- const tags = await this.getTags();
101
- tags[tag] = Date.now();
102
- await fs.writeFile(this.tagsPath, JSON.stringify(tags), 'utf8');
103
- }
104
- }
105
- exports.FileSystemCacheStore = FileSystemCacheStore;
106
- class MemoryCacheStore {
107
- constructor(capacity = 10000) {
108
- // Dynamically load to avoid issues if native module fails in some environments
109
- // eslint-disable-next-line @typescript-eslint/no-require-imports
110
- const { NativeCache } = require('@exisjs/rs');
111
- this.cache = new NativeCache(capacity);
112
- this.isWorker =
113
- process.env.__EXIS_CLUSTER_WORKERS !== undefined &&
114
- process.send !== undefined;
115
- if (this.isWorker) {
116
- process.on('message', (msg) => {
117
- if (msg && msg.type === 'exis:cache:revalidate' && msg.tag) {
118
- this.cache.revalidateTag(msg.tag);
119
- }
120
- });
121
- }
122
- }
123
- async get(key) {
124
- const data = this.cache.get(key);
125
- if (!data)
126
- return null;
127
- try {
128
- return JSON.parse(data);
129
- }
130
- catch {
131
- return null;
132
- }
133
- }
134
- async set(key, data, tags, _ttlMs) {
135
- try {
136
- const dataJson = JSON.stringify(data);
137
- this.cache.set(key, dataJson, tags);
138
- }
139
- catch {
140
- // Ignore serialization errors
141
- }
142
- }
143
- async revalidateTag(tag) {
144
- this.cache.revalidateTag(tag);
145
- if (this.isWorker && process.send) {
146
- process.send({
147
- type: 'exis:cache:revalidate',
148
- tag,
149
- });
150
- }
151
- }
152
- async getTags() {
153
- try {
154
- const data = this.cache.getTags();
155
- if (!data)
156
- return {};
157
- return JSON.parse(data);
158
- }
159
- catch {
160
- return {};
161
- }
162
- }
163
- }
164
- exports.MemoryCacheStore = MemoryCacheStore;
165
- class RedisCacheStore {
166
- constructor(client, prefix = 'exis:cache:') {
167
- this.client = client;
168
- this.prefix = prefix;
169
- }
170
- async getTags() {
171
- try {
172
- const data = await this.client.get(this.prefix + 'tags');
173
- if (!data)
174
- return {};
175
- return JSON.parse(data);
176
- }
177
- catch {
178
- return {};
179
- }
180
- }
181
- async get(key) {
182
- try {
183
- const data = await this.client.get(this.prefix + key);
184
- if (!data)
185
- return null;
186
- const item = JSON.parse(data);
187
- const tags = await this.getTags();
188
- for (const tag of item.tags) {
189
- if (tags[tag] && tags[tag] > item.createdAt) {
190
- return null;
191
- }
192
- }
193
- return item;
194
- }
195
- catch {
196
- return null;
197
- }
198
- }
199
- async set(key, data, tags, ttlMs) {
200
- try {
201
- const item = {
202
- data,
203
- tags,
204
- createdAt: Date.now(),
205
- };
206
- const serialized = JSON.stringify(item);
207
- if (ttlMs) {
208
- await this.client.set(this.prefix + key, serialized, 'PX', ttlMs);
209
- }
210
- else {
211
- // Without TTL, just set it, but MinimalRedisClient signature requires 'PX' and duration.
212
- // So we'll default to 30 days if no TTL is provided
213
- await this.client.set(this.prefix + key, serialized, 'PX', 30 * 24 * 60 * 60 * 1000);
214
- }
215
- }
216
- catch {
217
- // Ignore
218
- }
219
- }
220
- async revalidateTag(tag) {
221
- try {
222
- const tags = await this.getTags();
223
- tags[tag] = Date.now();
224
- await this.client.set(this.prefix + 'tags', JSON.stringify(tags), 'PX', 30 * 24 * 60 * 60 * 1000);
225
- }
226
- catch {
227
- // Ignore
228
- }
229
- }
230
- }
231
- exports.RedisCacheStore = RedisCacheStore;
232
- class TieredCacheStore {
233
- constructor(local, remote) {
234
- this.local = local;
235
- this.remote = remote;
236
- }
237
- async get(key) {
238
- const localItem = await this.local.get(key);
239
- if (localItem)
240
- return localItem;
241
- const remoteItem = await this.remote.get(key);
242
- if (remoteItem) {
243
- // Background sync back to local cache
244
- Promise.resolve(this.local.set(key, remoteItem.data, remoteItem.tags, undefined) // TTL logic omitted for sync simplicity
245
- ).catch(() => {
246
- /* noop */
247
- });
248
- return remoteItem;
249
- }
250
- return null;
251
- }
252
- async set(key, data, tags, ttlMs) {
253
- await Promise.all([
254
- this.local.set(key, data, tags, ttlMs),
255
- this.remote.set(key, data, tags, ttlMs),
256
- ]);
257
- }
258
- async revalidateTag(tag) {
259
- await Promise.all([
260
- this.local.revalidateTag(tag),
261
- this.remote.revalidateTag(tag),
262
- ]);
263
- }
264
- async getTags() {
265
- // Rely on remote for tags to ensure consistency across fleet
266
- return this.remote.getTags();
267
- }
268
- }
269
- exports.TieredCacheStore = TieredCacheStore;
270
- // Global active store singleton
271
- let activeStore = null;
272
- function getCacheStore() {
273
- if (!activeStore) {
274
- let memoryStore;
275
- if (process.env.NODE_ENV === 'production') {
276
- memoryStore = new MemoryCacheStore(100000);
277
- }
278
- else {
279
- memoryStore = new FileSystemCacheStore(process.cwd());
280
- }
281
- // If REDIS_URL is present, automatically compose a TieredCacheStore
282
- if (process.env.REDIS_URL) {
283
- // Lazy load redis to avoid cold start overhead if not used
284
- // eslint-disable-next-line @typescript-eslint/no-require-imports
285
- const Redis = require('ioredis');
286
- const redisClient = new Redis(process.env.REDIS_URL);
287
- activeStore = new TieredCacheStore(memoryStore, new RedisCacheStore(redisClient));
288
- }
289
- else {
290
- activeStore = memoryStore;
291
- }
292
- }
293
- return activeStore;
294
- }
295
- function setCacheStore(store) {
296
- activeStore = store;
297
- }
298
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function parseCronExpression(expression: string, date: Date): boolean;
2
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cron/parser.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAiB3E"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseCronExpression = parseCronExpression;
4
- function parseCronExpression(expression, date) {
5
- const parts = expression.trim().split(/\s+/);
6
- if (parts.length !== 5) {
7
- throw new Error(`Invalid cron expression: "${expression}". Expected 5 parts (min hr dom mth dow)`);
8
- }
9
- const [min, hr, dom, mth, dow] = parts;
10
- return (matchCronPart(min, date.getMinutes()) &&
11
- matchCronPart(hr, date.getHours()) &&
12
- matchCronPart(dom, date.getDate()) &&
13
- matchCronPart(mth, date.getMonth() + 1) && // JS months are 0-indexed
14
- matchCronPart(dow, date.getDay()));
15
- }
16
- function matchCronPart(part, value) {
17
- if (part === '*')
18
- return true;
19
- // Support lists e.g., "1,5,10"
20
- if (part.includes(',')) {
21
- return part.split(',').some((p) => matchCronPart(p, value));
22
- }
23
- // Support steps e.g., "*/5" or "10/2"
24
- if (part.includes('/')) {
25
- const [rangeStr, stepStr] = part.split('/');
26
- const step = parseInt(stepStr, 10);
27
- if (rangeStr === '*') {
28
- return value % step === 0;
29
- }
30
- // Support range with steps e.g. "1-10/2"
31
- if (rangeStr.includes('-')) {
32
- const [startStr, endStr] = rangeStr.split('-');
33
- const start = parseInt(startStr, 10);
34
- const end = parseInt(endStr, 10);
35
- if (value >= start && value <= end) {
36
- return (value - start) % step === 0;
37
- }
38
- return false;
39
- }
40
- // e.g., "10/2" -> value must be >= 10, and (value - 10) % 2 === 0
41
- const start = parseInt(rangeStr, 10);
42
- return value >= start && (value - start) % step === 0;
43
- }
44
- // Support ranges e.g., "1-5"
45
- if (part.includes('-')) {
46
- const [startStr, endStr] = part.split('-');
47
- return value >= parseInt(startStr, 10) && value <= parseInt(endStr, 10);
48
- }
49
- // Exact match
50
- return parseInt(part, 10) === value;
51
- }
52
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cron/parser.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { JobDefinition } from '../queue/types';
2
- import type Redis from 'ioredis';
3
- import type { ExisWorker } from '../queue/worker';
4
- import type { LogFn } from '../types';
5
- export declare class CronScheduler {
6
- private jobs;
7
- private timer;
8
- private redis;
9
- private worker;
10
- private logger;
11
- private prefix;
12
- private queuePrefix;
13
- constructor(worker: ExisWorker | null, redis: Redis | null, logger: {
14
- error: LogFn;
15
- info: LogFn;
16
- debug: LogFn;
17
- }, queuePrefix?: string);
18
- registerJob(job: JobDefinition): void;
19
- start(): void;
20
- private tick;
21
- stop(): void;
22
- }
23
- //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAErC,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAA6C;IAC3D,OAAO,CAAC,MAAM,CAAc;IAE5B,OAAO,CAAC,WAAW,CAAQ;gBAGzB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,EACnD,WAAW,SAAW;IAQxB,WAAW,CAAC,GAAG,EAAE,aAAa;IAS9B,KAAK;YAsBS,IAAI;IAqFlB,IAAI;CAOL"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CronScheduler = void 0;
4
- const parser_1 = require("./parser");
5
- class CronScheduler {
6
- constructor(worker, redis, logger, queuePrefix = 'exis:q') {
7
- this.jobs = [];
8
- this.timer = null;
9
- this.redis = null;
10
- this.worker = null;
11
- this.prefix = 'exis:cron';
12
- this.worker = worker;
13
- this.redis = redis;
14
- this.logger = logger;
15
- this.queuePrefix = queuePrefix;
16
- }
17
- registerJob(job) {
18
- if (job.cron) {
19
- this.jobs.push(job);
20
- if (!process.env.__EXIS_IS_RESTART) {
21
- this.logger.info(`Scheduled cron job ${job.name} (${job.cron})`);
22
- }
23
- }
24
- }
25
- start() {
26
- if (this.jobs.length === 0)
27
- return;
28
- if (!this.worker) {
29
- this.logger.error('CronScheduler cannot start: Queue Worker is disabled.');
30
- return;
31
- }
32
- // Align to the next exact minute
33
- const now = new Date();
34
- const msUntilNextMinute = 60000 - (now.getSeconds() * 1000 + now.getMilliseconds());
35
- this.timer = setTimeout(() => {
36
- this.tick();
37
- // Now run exactly every 60 seconds
38
- this.timer = setInterval(() => this.tick(), 60000);
39
- this.timer.unref?.();
40
- }, msUntilNextMinute);
41
- this.timer.unref?.();
42
- }
43
- async tick() {
44
- const now = new Date();
45
- // Zero out seconds/milliseconds for precise cron matching
46
- now.setSeconds(0, 0);
47
- for (const job of this.jobs) {
48
- if (!job.cron)
49
- continue;
50
- try {
51
- if ((0, parser_1.parseCronExpression)(job.cron, now)) {
52
- // If Redis is configured, use SETNX to acquire a lock for this minute
53
- // This guarantees that across a 10-server cluster, the job only runs ONCE.
54
- let shouldRun = true;
55
- if (this.redis) {
56
- const lockKey = `${this.prefix}:lock:${job.name}:${now.getTime()}`;
57
- // Lock expires in 55 seconds to clean itself up
58
- const acquired = await this.redis.set(lockKey, 'locked', 'EX', 55, 'NX');
59
- if (!acquired) {
60
- shouldRun = false;
61
- }
62
- }
63
- if (shouldRun) {
64
- this.logger.debug(`Triggering cron job: ${job.name}`);
65
- // We just enqueue an empty object for cron triggers!
66
- const id = Date.now().toString() +
67
- '-' +
68
- Math.random().toString(36).substring(2, 9);
69
- if (this.redis) {
70
- const payload = {
71
- id,
72
- name: job.name,
73
- data: {},
74
- attemptsMade: 0,
75
- };
76
- const zsetKey = `${this.queuePrefix}:${job.name}:pending`;
77
- const hashKey = `${this.queuePrefix}:${job.name}:payloads`;
78
- const payloadStr = JSON.stringify(payload);
79
- const score = Date.now();
80
- const luaScript = `
81
- redis.call("ZADD", KEYS[1], ARGV[1], ARGV[2])
82
- redis.call("HSET", KEYS[2], ARGV[2], ARGV[3])
83
- return 1
84
- `;
85
- await this.redis.eval(luaScript, 2, zsetKey, hashKey, score, payload.id, payloadStr);
86
- }
87
- else if (this.worker) {
88
- // Fallback for completely memory-based setups without Redis
89
- // We'll directly invoke the worker processJob method (but it's private...)
90
- // Since worker poll reads from Redis, if they don't have Redis they shouldn't be using cron.
91
- // We will just throw an error if no redis but has worker.
92
- // Wait, they can use cron locally! We can expose a trigger method on the worker or threadpool.
93
- // Actually, ExisWorker is designed to be Redis-backed.
94
- // We can just log an error if Redis is not configured but they are trying to run cron.
95
- this.logger.error(`Cron requires Redis to distribute the queue payload for ${job.name}.`);
96
- }
97
- }
98
- }
99
- }
100
- catch (err) {
101
- this.logger.error(`Failed to parse cron for ${job.name}: ${err.message}`);
102
- }
103
- }
104
- }
105
- stop() {
106
- if (this.timer) {
107
- clearTimeout(this.timer);
108
- clearInterval(this.timer);
109
- this.timer = null;
110
- }
111
- }
112
- }
113
- exports.CronScheduler = CronScheduler;
114
- //# sourceMappingURL=scheduler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- /**
2
- * MongoDB Database Adapter.
3
- *
4
- * Uses the `mongodb` npm package for native MongoDB driver support.
5
- * Maps the relational-style DatabaseAdapter interface to document-oriented operations.
6
- *
7
- * For MongoDB, `query()` executes raw commands or aggregation pipelines,
8
- * and `execute()` handles insert/update/delete operations.
9
- *
10
- * Peer Dependencies required:
11
- * npm install mongodb
12
- */
13
- import type { DatabaseAdapter, DatabaseConfig, QueryResult, ExecuteResult, Transaction } from '../types';
14
- export declare class MongodbAdapter implements DatabaseAdapter {
15
- readonly dialect: "mongodb";
16
- private client;
17
- private database;
18
- private config;
19
- constructor(config: DatabaseConfig);
20
- connect(): Promise<void>;
21
- disconnect(): Promise<void>;
22
- /**
23
- * Execute a MongoDB find query.
24
- *
25
- * For MongoDB, `sql` is treated as a JSON command string:
26
- * `{ "collection": "users", "filter": { "role": "admin" }, "options": { "limit": 10 } }`
27
- *
28
- * Or simply pass the collection name as `sql` and the filter as `params[0]`:
29
- * query('users', [{ role: 'admin' }])
30
- */
31
- query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<QueryResult<T>>;
32
- /**
33
- * Execute a MongoDB write operation.
34
- *
35
- * The `sql` parameter is a JSON command string:
36
- * `{ "collection": "users", "operation": "insertOne", "document": { ... } }`
37
- * `{ "collection": "users", "operation": "updateOne", "filter": { ... }, "update": { ... } }`
38
- * `{ "collection": "users", "operation": "deleteOne", "filter": { ... } }`
39
- *
40
- * Or use the shorthand: execute('users.insertOne', [document])
41
- */
42
- execute(sql: string, params?: unknown[]): Promise<ExecuteResult>;
43
- transaction<T>(fn: (tx: Transaction) => Promise<T>): Promise<T>;
44
- isHealthy(): Promise<boolean>;
45
- getRawClient(): unknown;
46
- /**
47
- * Get the raw MongoDB database instance for native operations.
48
- */
49
- getDatabase(): unknown;
50
- private executeJsonCommand;
51
- private executeOperation;
52
- private ensureConnected;
53
- private buildConnectionUrl;
54
- private extractDbName;
55
- private logQuery;
56
- private log;
57
- }
58
- //# sourceMappingURL=mongodb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../../src/database/adapters/mongodb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,WAAW,EACZ,MAAM,UAAU,CAAA;AAEjB,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,OAAO,EAAG,SAAS,CAAS;IAErC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,cAAc;IAI5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiDxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;;;;;;;OAQG;IACG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAuB1B;;;;;;;;;OASG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBpE,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwD/D,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAUnC,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,WAAW,IAAI,OAAO;YAMR,kBAAkB;YAWlB,gBAAgB;IA2C9B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,GAAG;CAMZ"}