alepha 0.19.2 → 0.19.4

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 (241) hide show
  1. package/assets/swagger-ui/swagger-ui-bundle.js +1 -1
  2. package/dist/api/audits/index.d.ts +8 -8
  3. package/dist/api/invitations/index.d.ts +790 -0
  4. package/dist/api/invitations/index.d.ts.map +1 -0
  5. package/dist/api/invitations/index.js +665 -0
  6. package/dist/api/invitations/index.js.map +1 -0
  7. package/dist/api/jobs/index.browser.js +8 -9
  8. package/dist/api/jobs/index.browser.js.map +1 -1
  9. package/dist/api/jobs/index.d.ts +90 -34
  10. package/dist/api/jobs/index.d.ts.map +1 -1
  11. package/dist/api/jobs/index.js +267 -44
  12. package/dist/api/jobs/index.js.map +1 -1
  13. package/dist/api/notifications/index.browser.js +0 -1
  14. package/dist/api/notifications/index.browser.js.map +1 -1
  15. package/dist/api/notifications/index.d.ts +3 -3
  16. package/dist/api/notifications/index.d.ts.map +1 -1
  17. package/dist/api/notifications/index.js +0 -1
  18. package/dist/api/notifications/index.js.map +1 -1
  19. package/dist/api/parameters/index.browser.js +112 -1
  20. package/dist/api/parameters/index.browser.js.map +1 -1
  21. package/dist/api/parameters/index.d.ts +90 -3
  22. package/dist/api/parameters/index.d.ts.map +1 -1
  23. package/dist/api/parameters/index.js +79 -12
  24. package/dist/api/parameters/index.js.map +1 -1
  25. package/dist/{billing → api/payments}/index.d.ts +67 -49
  26. package/dist/api/payments/index.d.ts.map +1 -0
  27. package/dist/{billing → api/payments}/index.js +108 -74
  28. package/dist/api/payments/index.js.map +1 -0
  29. package/dist/api/subscriptions/index.d.ts +1692 -0
  30. package/dist/api/subscriptions/index.d.ts.map +1 -0
  31. package/dist/api/subscriptions/index.js +1870 -0
  32. package/dist/api/subscriptions/index.js.map +1 -0
  33. package/dist/api/users/index.d.ts +27 -21
  34. package/dist/api/users/index.d.ts.map +1 -1
  35. package/dist/api/users/index.js +167 -34
  36. package/dist/api/users/index.js.map +1 -1
  37. package/dist/api/workflows/index.browser.js +246 -0
  38. package/dist/api/workflows/index.browser.js.map +1 -0
  39. package/dist/api/workflows/index.d.ts +1618 -0
  40. package/dist/api/workflows/index.d.ts.map +1 -0
  41. package/dist/api/workflows/index.js +1504 -0
  42. package/dist/api/workflows/index.js.map +1 -0
  43. package/dist/cli/config/index.d.ts +6 -28
  44. package/dist/cli/config/index.d.ts.map +1 -1
  45. package/dist/cli/config/index.js +5 -10
  46. package/dist/cli/config/index.js.map +1 -1
  47. package/dist/cli/core/index.d.ts +11669 -208
  48. package/dist/cli/core/index.d.ts.map +1 -1
  49. package/dist/cli/core/index.js +60 -69
  50. package/dist/cli/core/index.js.map +1 -1
  51. package/dist/cli/devtools/index.d.ts +5 -0
  52. package/dist/cli/devtools/index.d.ts.map +1 -1
  53. package/dist/cli/devtools/index.js +4 -0
  54. package/dist/cli/devtools/index.js.map +1 -1
  55. package/dist/cli/platform/index.d.ts +69 -64
  56. package/dist/cli/platform/index.d.ts.map +1 -1
  57. package/dist/cli/platform/index.js +6 -2
  58. package/dist/cli/platform/index.js.map +1 -1
  59. package/dist/cli/vendor/index.d.ts +38 -10
  60. package/dist/cli/vendor/index.d.ts.map +1 -1
  61. package/dist/cli/vendor/index.js +85 -26
  62. package/dist/cli/vendor/index.js.map +1 -1
  63. package/dist/core/index.browser.js +21 -2
  64. package/dist/core/index.browser.js.map +1 -1
  65. package/dist/core/index.d.ts +33 -2
  66. package/dist/core/index.d.ts.map +1 -1
  67. package/dist/core/index.js +25 -2
  68. package/dist/core/index.js.map +1 -1
  69. package/dist/core/index.native.js +25 -2
  70. package/dist/core/index.native.js.map +1 -1
  71. package/dist/core/index.workerd.js +25 -2
  72. package/dist/core/index.workerd.js.map +1 -1
  73. package/dist/email/smtp/index.js +24 -8
  74. package/dist/email/smtp/index.js.map +1 -1
  75. package/dist/logger/index.d.ts.map +1 -1
  76. package/dist/logger/index.js +1 -1
  77. package/dist/logger/index.js.map +1 -1
  78. package/dist/orm/core/index.browser.js +0 -18
  79. package/dist/orm/core/index.browser.js.map +1 -1
  80. package/dist/orm/core/index.bun.js +25 -73
  81. package/dist/orm/core/index.bun.js.map +1 -1
  82. package/dist/orm/core/index.d.ts +10 -32
  83. package/dist/orm/core/index.d.ts.map +1 -1
  84. package/dist/orm/core/index.js +25 -73
  85. package/dist/orm/core/index.js.map +1 -1
  86. package/dist/orm/postgres/index.bun.js +3 -3
  87. package/dist/orm/postgres/index.bun.js.map +1 -1
  88. package/dist/orm/postgres/index.d.ts +2 -1
  89. package/dist/orm/postgres/index.d.ts.map +1 -1
  90. package/dist/orm/postgres/index.js +3 -3
  91. package/dist/orm/postgres/index.js.map +1 -1
  92. package/dist/react/router/index.browser.js +25 -3
  93. package/dist/react/router/index.browser.js.map +1 -1
  94. package/dist/react/router/index.d.ts +16 -1
  95. package/dist/react/router/index.d.ts.map +1 -1
  96. package/dist/react/router/index.js +25 -3
  97. package/dist/react/router/index.js.map +1 -1
  98. package/dist/security/index.d.ts +28 -0
  99. package/dist/security/index.d.ts.map +1 -1
  100. package/dist/security/index.js +28 -0
  101. package/dist/security/index.js.map +1 -1
  102. package/package.json +37 -20
  103. package/src/api/invitations/__tests__/InvitationService.spec.ts +439 -0
  104. package/src/api/invitations/controllers/AdminInvitationController.ts +86 -0
  105. package/src/api/invitations/controllers/InvitationController.ts +84 -0
  106. package/src/api/invitations/entities/invitations.ts +33 -0
  107. package/src/api/invitations/index.ts +65 -0
  108. package/src/api/invitations/jobs/InvitationJobs.ts +37 -0
  109. package/src/api/invitations/providers/InvitationProvider.ts +45 -0
  110. package/src/api/invitations/schemas/createInvitationSchema.ts +12 -0
  111. package/src/api/invitations/schemas/invitationConfigAtom.ts +20 -0
  112. package/src/api/invitations/schemas/invitationQuerySchema.ts +15 -0
  113. package/src/api/invitations/schemas/invitationResourceSchema.ts +6 -0
  114. package/src/api/invitations/schemas/invitationWithResourceInfoSchema.ts +22 -0
  115. package/src/api/invitations/schemas/myInvitationsQuerySchema.ts +10 -0
  116. package/src/api/invitations/services/InvitationService.ts +556 -0
  117. package/src/api/jobs/__tests__/$job.spec.ts +876 -0
  118. package/src/api/jobs/controllers/AdminJobController.ts +44 -0
  119. package/src/api/jobs/entities/jobExecutionEntity.ts +0 -2
  120. package/src/api/jobs/index.ts +0 -3
  121. package/src/api/jobs/primitives/$job.ts +22 -11
  122. package/src/api/jobs/providers/JobProvider.ts +239 -25
  123. package/src/api/jobs/schemas/jobConfigAtom.ts +4 -0
  124. package/src/api/jobs/schemas/jobCronInfoSchema.ts +1 -0
  125. package/src/api/jobs/schemas/jobExecutionQuerySchema.ts +0 -1
  126. package/src/api/jobs/schemas/jobQueueDepthSchema.ts +1 -0
  127. package/src/api/jobs/schemas/jobRegistrationSchema.ts +1 -6
  128. package/src/api/jobs/services/JobService.ts +51 -12
  129. package/src/api/notifications/schemas/notificationQuerySchema.ts +0 -1
  130. package/src/api/parameters/__tests__/$parameter.spec.ts +327 -0
  131. package/src/api/parameters/controllers/AdminParameterController.ts +29 -3
  132. package/src/api/parameters/index.browser.ts +12 -0
  133. package/src/api/parameters/primitives/$parameter.ts +20 -3
  134. package/src/api/parameters/services/ParameterProvider.ts +48 -7
  135. package/src/{billing → api/payments}/__tests__/PaymentMethodService.spec.ts +32 -6
  136. package/src/api/payments/__tests__/PaymentService.spec.ts +279 -0
  137. package/src/{billing/controllers/AdminBillingController.ts → api/payments/controllers/AdminPaymentController.ts} +26 -21
  138. package/src/{billing/controllers/BillingController.ts → api/payments/controllers/PaymentController.ts} +23 -11
  139. package/src/{billing → api/payments}/entities/paymentIntents.ts +1 -0
  140. package/src/{billing/errors/BillingError.ts → api/payments/errors/PaymentError.ts} +1 -1
  141. package/src/{billing → api/payments}/index.ts +31 -25
  142. package/src/{billing/providers/MemoryBillingProvider.ts → api/payments/providers/MemoryPaymentProvider.ts} +4 -4
  143. package/src/{billing/providers/BillingProvider.ts → api/payments/providers/PaymentProvider.ts} +9 -2
  144. package/src/{billing → api/payments}/services/PaymentMethodService.ts +5 -5
  145. package/src/{billing/services/BillingService.ts → api/payments/services/PaymentService.ts} +94 -18
  146. package/src/api/subscriptions/__tests__/BillingService.spec.ts +218 -0
  147. package/src/api/subscriptions/__tests__/SubscriptionService.spec.ts +278 -0
  148. package/src/api/subscriptions/controllers/AdminSubscriptionController.ts +212 -0
  149. package/src/api/subscriptions/controllers/SubscriptionController.ts +189 -0
  150. package/src/api/subscriptions/entities/subscriptionEvents.ts +54 -0
  151. package/src/api/subscriptions/entities/subscriptions.ts +68 -0
  152. package/src/api/subscriptions/index.ts +144 -0
  153. package/src/api/subscriptions/jobs/SubscriptionJobs.ts +382 -0
  154. package/src/api/subscriptions/middleware/$requireLimit.ts +50 -0
  155. package/src/api/subscriptions/middleware/$requirePlan.ts +49 -0
  156. package/src/api/subscriptions/notifications/SubscriptionNotifications.ts +110 -0
  157. package/src/api/subscriptions/schemas/cancelSubscriptionSchema.ts +8 -0
  158. package/src/api/subscriptions/schemas/changePlanSchema.ts +9 -0
  159. package/src/api/subscriptions/schemas/createSubscriptionSchema.ts +11 -0
  160. package/src/api/subscriptions/schemas/entitlementsSchema.ts +21 -0
  161. package/src/api/subscriptions/schemas/mrrSchema.ts +13 -0
  162. package/src/api/subscriptions/schemas/planDefinitionSchema.ts +71 -0
  163. package/src/api/subscriptions/schemas/planResourceSchema.ts +25 -0
  164. package/src/api/subscriptions/schemas/subscriptionEventResourceSchema.ts +8 -0
  165. package/src/api/subscriptions/schemas/subscriptionQuerySchema.ts +19 -0
  166. package/src/api/subscriptions/schemas/subscriptionResourceSchema.ts +6 -0
  167. package/src/api/subscriptions/schemas/subscriptionSettingsSchema.ts +32 -0
  168. package/src/api/subscriptions/schemas/subscriptionStatsSchema.ts +23 -0
  169. package/src/api/subscriptions/services/BillingService.ts +437 -0
  170. package/src/api/subscriptions/services/SubscriptionConfig.ts +56 -0
  171. package/src/api/subscriptions/services/SubscriptionService.ts +867 -0
  172. package/src/api/subscriptions/services/UsageService.ts +118 -0
  173. package/src/api/users/__tests__/AdminUserController.spec.ts +80 -1
  174. package/src/api/users/__tests__/CredentialService.spec.ts +177 -0
  175. package/src/api/users/__tests__/EmailVerification.spec.ts +29 -18
  176. package/src/api/users/__tests__/PasswordReset.spec.ts +3 -0
  177. package/src/api/users/__tests__/RegistrationService.spec.ts +148 -1
  178. package/src/api/users/__tests__/SessionService.spec.ts +142 -1
  179. package/src/api/users/atoms/realmAuthSettingsAtom.ts +10 -1
  180. package/src/api/users/controllers/UserController.ts +3 -8
  181. package/src/api/users/notifications/UserNotifications.ts +23 -0
  182. package/src/api/users/schemas/loginSchema.ts +1 -1
  183. package/src/api/users/services/CredentialService.ts +51 -4
  184. package/src/api/users/services/RegistrationService.ts +38 -9
  185. package/src/api/users/services/SessionService.ts +62 -9
  186. package/src/api/users/services/UserService.ts +21 -12
  187. package/src/api/workflows/__tests__/$workflow.spec.ts +616 -0
  188. package/src/api/workflows/controllers/AdminWorkflowController.ts +191 -0
  189. package/src/api/workflows/entities/workflowExecutions.ts +74 -0
  190. package/src/api/workflows/entities/workflowStepExecutions.ts +74 -0
  191. package/src/api/workflows/entities/workflowStepLogs.ts +13 -0
  192. package/src/api/workflows/index.browser.ts +22 -0
  193. package/src/api/workflows/index.ts +124 -0
  194. package/src/api/workflows/jobs/WorkflowJobs.ts +77 -0
  195. package/src/api/workflows/primitives/$workflow.ts +202 -0
  196. package/src/api/workflows/providers/WorkflowProvider.ts +1284 -0
  197. package/src/api/workflows/schemas/workflowActivitySchema.ts +15 -0
  198. package/src/api/workflows/schemas/workflowConfigAtom.ts +51 -0
  199. package/src/api/workflows/schemas/workflowExecutionDetailSchema.ts +18 -0
  200. package/src/api/workflows/schemas/workflowExecutionQuerySchema.ts +26 -0
  201. package/src/api/workflows/schemas/workflowExecutionResourceSchema.ts +30 -0
  202. package/src/api/workflows/schemas/workflowRegistrationSchema.ts +26 -0
  203. package/src/api/workflows/schemas/workflowStatsSchema.ts +16 -0
  204. package/src/api/workflows/schemas/workflowStepExecutionResourceSchema.ts +15 -0
  205. package/src/api/workflows/services/WorkflowService.ts +382 -0
  206. package/src/cli/config/defineConfig.ts +17 -46
  207. package/src/cli/core/providers/ViteDevServerProvider.ts +45 -3
  208. package/src/cli/core/services/PackageManagerUtils.ts +3 -1
  209. package/src/cli/core/services/ProjectScaffolder.ts +5 -5
  210. package/src/cli/core/templates/agentMd.ts +14 -5
  211. package/src/cli/core/templates/webAppRouterTs.ts +5 -58
  212. package/src/cli/devtools/index.ts +21 -1
  213. package/src/cli/platform/index.ts +23 -2
  214. package/src/cli/vendor/__tests__/VendorService.spec.ts +283 -178
  215. package/src/cli/vendor/index.ts +20 -3
  216. package/src/cli/vendor/services/VendorService.ts +126 -27
  217. package/src/core/Alepha.ts +10 -0
  218. package/src/core/__tests__/TypeProvider.spec.ts +4 -2
  219. package/src/core/providers/SchemaValidator.ts +1 -1
  220. package/src/core/providers/TypeProvider.ts +46 -3
  221. package/src/logger/index.ts +6 -1
  222. package/src/orm/__tests__/enums.spec.ts +22 -29
  223. package/src/orm/__tests__/orm-showcase-tests.ts +430 -0
  224. package/src/orm/__tests__/orm-showcase.spec.ts +167 -0
  225. package/src/orm/core/providers/DatabaseTypeProvider.ts +0 -29
  226. package/src/orm/core/providers/DrizzleKitProvider.ts +56 -105
  227. package/src/orm/postgres/services/PostgresModelBuilder.ts +3 -6
  228. package/src/react/router/__tests__/$page.browser.spec.tsx +157 -0
  229. package/src/react/router/providers/ReactBrowserProvider.ts +39 -0
  230. package/src/react/router/providers/ReactBrowserRouterProvider.ts +22 -0
  231. package/src/security/__tests__/$secure-combinations.spec.ts +945 -0
  232. package/src/security/primitives/$secure.ts +28 -0
  233. package/tsconfig.base.json +0 -1
  234. package/dist/billing/index.d.ts.map +0 -1
  235. package/dist/billing/index.js.map +0 -1
  236. package/src/billing/__tests__/BillingService.spec.ts +0 -136
  237. /package/src/{billing → api/payments}/entities/paymentMethods.ts +0 -0
  238. /package/src/{billing → api/payments}/entities/refunds.ts +0 -0
  239. /package/src/{billing → api/payments}/schemas/intentSchemas.ts +0 -0
  240. /package/src/{billing → api/payments}/schemas/paymentMethodSchemas.ts +0 -0
  241. /package/src/{billing → api/payments}/schemas/refundSchemas.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/jobs/primitives/$job.ts","../../../src/api/jobs/providers/JobProvider.ts","../../../src/api/jobs/schemas/jobActivitySchema.ts","../../../src/api/jobs/schemas/jobCronInfoSchema.ts","../../../src/api/jobs/schemas/jobExecutionQuerySchema.ts","../../../src/api/jobs/schemas/jobFailureSchema.ts","../../../src/api/jobs/schemas/jobQueueDepthSchema.ts","../../../src/api/jobs/schemas/jobRegistrationSchema.ts","../../../src/api/jobs/schemas/jobStatsSchema.ts","../../../src/api/jobs/services/JobService.ts","../../../src/api/jobs/controllers/AdminJobController.ts","../../../src/api/jobs/entities/jobExecutionEntity.ts","../../../src/api/jobs/entities/jobExecutionLogEntity.ts","../../../src/api/jobs/providers/JobQueueProvider.ts","../../../src/api/jobs/schemas/jobConfigAtom.ts","../../../src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts","../../../src/api/jobs/schemas/jobExecutionResourceSchema.ts","../../../src/api/jobs/schemas/triggerJobSchema.ts","../../../src/api/jobs/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/orm/core/schemas/insertSchema.ts","../../../src/orm/core/schemas/updateSchema.ts","../../../src/orm/core/primitives/$entity.ts","../../../src/orm/core/constants/PG_SYMBOLS.ts","../../../src/orm/core/helpers/pgAttr.ts","../../../src/orm/core/schemas/databaseEnvSchema.ts","../../../src/api/jobs/primitives/$job.ts","../../../src/api/jobs/providers/JobProvider.ts","../../../src/api/jobs/schemas/jobActivitySchema.ts","../../../src/api/jobs/schemas/jobCronInfoSchema.ts","../../../src/api/jobs/schemas/jobExecutionQuerySchema.ts","../../../src/api/jobs/schemas/jobFailureSchema.ts","../../../src/api/jobs/schemas/jobQueueDepthSchema.ts","../../../src/api/jobs/schemas/jobRegistrationSchema.ts","../../../src/api/jobs/schemas/jobStatsSchema.ts","../../../src/api/jobs/services/JobService.ts","../../../src/api/jobs/controllers/AdminJobController.ts","../../../src/api/jobs/entities/jobExecutionEntity.ts","../../../src/api/jobs/entities/jobExecutionLogEntity.ts","../../../src/api/jobs/providers/JobQueueProvider.ts","../../../src/api/jobs/schemas/jobConfigAtom.ts","../../../src/api/jobs/schemas/jobExecutionDetailResourceSchema.ts","../../../src/api/jobs/schemas/jobExecutionResourceSchema.ts","../../../src/api/jobs/schemas/triggerJobSchema.ts","../../../src/api/jobs/index.ts"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { $atom, $hook, $inject, $module, $state, Alepha, AlephaError, KIND, PipelinePrimitive, createPrimitive, t } from "alepha";
2
- import { AlephaBatch } from "alepha/batch";
3
- import { AlephaLock } from "alepha/lock";
2
+ import { AlephaLock, LockProvider } from "alepha/lock";
4
3
  import { $queue, AlephaQueue } from "alepha/queue";
5
4
  import { AlephaScheduler, CronProvider } from "alepha/scheduler";
6
5
  import { $secure } from "alepha/security";
@@ -32,6 +31,7 @@ const jobCronInfoSchema = t.object({
32
31
  ]),
33
32
  concurrency: t.integer(),
34
33
  hasSchema: t.boolean(),
34
+ paused: t.boolean(),
35
35
  lastExecution: t.optional(t.object({
36
36
  id: t.uuid(),
37
37
  status: t.text(),
@@ -57,7 +57,6 @@ const jobExecutionEntity = $entity({
57
57
  "retrying",
58
58
  "running",
59
59
  "completed",
60
- "failed",
61
60
  "dead",
62
61
  "cancelled"
63
62
  ]), "pending"),
@@ -126,7 +125,6 @@ const jobExecutionQuerySchema = t.extend(pageQuerySchema, {
126
125
  "retrying",
127
126
  "running",
128
127
  "completed",
129
- "failed",
130
128
  "dead",
131
129
  "cancelled"
132
130
  ])),
@@ -155,7 +153,8 @@ const jobQueueDepthSchema = t.object({
155
153
  scheduled: t.integer(),
156
154
  retrying: t.integer(),
157
155
  dead: t.integer(),
158
- concurrency: t.integer()
156
+ concurrency: t.integer(),
157
+ paused: t.boolean()
159
158
  });
160
159
  //#endregion
161
160
  //#region ../../src/api/jobs/schemas/jobRegistrationSchema.ts
@@ -180,10 +179,7 @@ const jobRegistrationSchema = t.object({
180
179
  retries: t.integer(),
181
180
  hasBackoff: t.boolean()
182
181
  })),
183
- batch: t.optional(t.object({
184
- size: t.integer(),
185
- window: t.text()
186
- }))
182
+ paused: t.boolean()
187
183
  });
188
184
  //#endregion
189
185
  //#region ../../src/api/jobs/schemas/jobStatsSchema.ts
@@ -225,7 +221,8 @@ const jobConfig = $atom({
225
221
  }),
226
222
  delayed: t.object({ interval: t.integer({ description: "Sweep interval (ms)." }) }),
227
223
  logRetentionDays: t.integer({ description: "Days to keep completed/dead executions." }),
228
- logMaxEntries: t.integer({ description: "Max log entries captured per execution." })
224
+ logMaxEntries: t.integer({ description: "Max log entries captured per execution." }),
225
+ drainTimeout: t.integer({ description: "Max time (ms) to wait for in-flight jobs during shutdown." })
229
226
  }),
230
227
  default: {
231
228
  recovery: {
@@ -235,7 +232,8 @@ const jobConfig = $atom({
235
232
  },
236
233
  delayed: { interval: 3e5 },
237
234
  logRetentionDays: 30,
238
- logMaxEntries: 100
235
+ logMaxEntries: 100,
236
+ drainTimeout: 3e4
239
237
  }
240
238
  });
241
239
  //#endregion
@@ -256,11 +254,14 @@ var JobProvider = class JobProvider {
256
254
  alepha = $inject(Alepha);
257
255
  dt = $inject(DateTimeProvider);
258
256
  cronProvider = $inject(CronProvider);
257
+ lockProvider = $inject(LockProvider);
259
258
  config = $state(jobConfig);
260
259
  log = $logger();
261
260
  executions = $repository(jobExecutionEntity);
262
261
  executionLogs = $repository(jobExecutionLogEntity);
263
262
  jobs = /* @__PURE__ */ new Map();
263
+ pausedJobs = /* @__PURE__ */ new Set();
264
+ inFlight = /* @__PURE__ */ new Set();
264
265
  /**
265
266
  * When set, job executions are dispatched through a queue (e.g. `JobQueueProvider`).
266
267
  * When null, jobs execute inline (fire-and-forget). Useful for serverless environments.
@@ -282,10 +283,16 @@ var JobProvider = class JobProvider {
282
283
  priority: options.priority ?? "normal",
283
284
  retries: options.retry?.retries ?? 0
284
285
  });
285
- if (options.cron) this.cronProvider.createCronJob(name, options.cron, () => this.trigger(name, {
286
- triggeredBy: "system",
287
- triggeredByName: "system (cron)"
288
- }));
286
+ if (options.cron) this.cronProvider.createCronJob(name, options.cron, async () => {
287
+ try {
288
+ await this.trigger(name, {
289
+ triggeredBy: "system",
290
+ triggeredByName: "system (cron)"
291
+ });
292
+ } catch (error) {
293
+ this.log.error(`Cron trigger failed for job '${name}'`, error);
294
+ }
295
+ });
289
296
  }
290
297
  /**
291
298
  * Get all registered job definitions.
@@ -340,8 +347,35 @@ var JobProvider = class JobProvider {
340
347
  return execution.id;
341
348
  }
342
349
  async pushMany(name, items) {
343
- const ids = [];
350
+ if (items.length === 0) return [];
351
+ const opts = this.getRegistration(name).options;
352
+ if (!opts.schema) throw new AlephaError(`Cannot push to job '${name}': no schema defined. Use trigger() for cron-only jobs.`);
353
+ const maxAttempts = (opts.retry?.retries ?? 0) + 1;
354
+ const keyed = [];
355
+ const bulkRows = [];
344
356
  for (const item of items) {
357
+ const validated = this.alepha.codec.validate(opts.schema, item.payload);
358
+ if (item.key) keyed.push({
359
+ ...item,
360
+ payload: validated
361
+ });
362
+ else {
363
+ const status = item.delay || item.scheduledAt ? "scheduled" : "pending";
364
+ let scheduledAt;
365
+ if (item.scheduledAt) scheduledAt = item.scheduledAt.toISOString();
366
+ else if (item.delay) scheduledAt = this.dt.now().add(this.dt.duration(item.delay)).toISOString();
367
+ bulkRows.push({
368
+ jobName: name,
369
+ payload: validated,
370
+ status,
371
+ priority: PRIORITY_MAP[item.priority ?? opts.priority ?? "normal"],
372
+ maxAttempts,
373
+ scheduledAt
374
+ });
375
+ }
376
+ }
377
+ const ids = [];
378
+ for (const item of keyed) {
345
379
  const id = await this.push(name, item.payload, {
346
380
  key: item.key,
347
381
  delay: item.delay,
@@ -350,6 +384,17 @@ var JobProvider = class JobProvider {
350
384
  });
351
385
  ids.push(id);
352
386
  }
387
+ if (bulkRows.length > 0) {
388
+ const created = await this.executions.createMany(bulkRows);
389
+ for (const exec of created) {
390
+ ids.push(exec.id);
391
+ if (exec.status === "pending" && !this.stopping) await this.scheduleProcessing(name, exec.id);
392
+ }
393
+ }
394
+ this.log.debug(`pushMany '${name}': ${ids.length} jobs created`, {
395
+ bulk: bulkRows.length,
396
+ keyed: keyed.length
397
+ });
353
398
  return ids;
354
399
  }
355
400
  async trigger(name, context) {
@@ -397,6 +442,19 @@ var JobProvider = class JobProvider {
397
442
  });
398
443
  }
399
444
  async scheduleProcessing(jobName, executionId) {
445
+ if (this.pausedJobs.has(jobName)) {
446
+ this.log.debug(`Job '${jobName}' is paused, deferring`, { executionId });
447
+ return;
448
+ }
449
+ const maxConcurrency = this.getRegistration(jobName).options.concurrency ?? 1;
450
+ const runningCount = await this.executions.count({
451
+ jobName: { eq: jobName },
452
+ status: { eq: "running" }
453
+ });
454
+ if (runningCount >= maxConcurrency) {
455
+ this.log.debug(`Job '${jobName}' at concurrency limit (${runningCount}/${maxConcurrency}), deferring`, { executionId });
456
+ return;
457
+ }
400
458
  if (this.queueDispatch) {
401
459
  this.log.debug(`Dispatching job '${jobName}' via queue`, { executionId });
402
460
  await this.queueDispatch(jobName, executionId);
@@ -406,6 +464,15 @@ var JobProvider = class JobProvider {
406
464
  }
407
465
  }
408
466
  async processExecution(jobName, executionId) {
467
+ const promise = this.processExecutionInner(jobName, executionId);
468
+ this.inFlight.add(promise);
469
+ try {
470
+ await promise;
471
+ } finally {
472
+ this.inFlight.delete(promise);
473
+ }
474
+ }
475
+ async processExecutionInner(jobName, executionId) {
409
476
  const registration = this.getRegistration(jobName);
410
477
  if (!await this.claim(executionId)) {
411
478
  this.log.debug(`Execution ${executionId} already claimed, skipping`);
@@ -477,12 +544,39 @@ var JobProvider = class JobProvider {
477
544
  name: jobName,
478
545
  executionId
479
546
  }, { catch: true });
547
+ await this.dispatchNextPending(jobName);
480
548
  }
481
549
  }, { context });
482
550
  } finally {
483
551
  this.logs.delete(context);
484
552
  }
485
553
  }
554
+ /**
555
+ * After a job finishes (success, failure, or cancel), dispatch any pending
556
+ * jobs that were deferred due to the concurrency limit.
557
+ */
558
+ async dispatchNextPending(jobName) {
559
+ if (this.stopping || this.pausedJobs.has(jobName)) return;
560
+ const registration = this.jobs.get(jobName);
561
+ if (!registration) return;
562
+ const available = (registration.options.concurrency ?? 1) - await this.executions.count({
563
+ jobName: { eq: jobName },
564
+ status: { eq: "running" }
565
+ });
566
+ if (available <= 0) return;
567
+ const pending = await this.executions.findMany({
568
+ where: {
569
+ jobName: { eq: jobName },
570
+ status: { eq: "pending" }
571
+ },
572
+ orderBy: {
573
+ column: "priority",
574
+ direction: "asc"
575
+ },
576
+ limit: available
577
+ });
578
+ for (const exec of pending) await this.scheduleProcessing(jobName, exec.id);
579
+ }
486
580
  async claim(executionId) {
487
581
  const execution = await this.executions.findById(executionId);
488
582
  if (!execution) return false;
@@ -600,13 +694,20 @@ var JobProvider = class JobProvider {
600
694
  async recoverySweep() {
601
695
  this.log.trace("Starting recovery sweep");
602
696
  if (this.stopping) return;
697
+ if (!await this.tryLock("_alepha:jobs:recovery-lock", 3e5)) return;
603
698
  try {
604
699
  const now = this.dt.now();
605
700
  const staleThreshold = now.subtract(this.config.recovery.staleThreshold, "millisecond").toISOString();
606
701
  const pendingWhere = this.executions.createQueryWhere();
607
702
  pendingWhere.status = { eq: "pending" };
608
703
  pendingWhere.createdAt = { lte: staleThreshold };
609
- const stalePending = await this.executions.findMany({ where: pendingWhere });
704
+ const stalePending = await this.executions.findMany({
705
+ where: pendingWhere,
706
+ orderBy: {
707
+ column: "priority",
708
+ direction: "asc"
709
+ }
710
+ });
610
711
  for (const exec of stalePending) {
611
712
  if (!this.jobs.has(exec.jobName)) continue;
612
713
  this.log.debug(`Recovery sweep: re-dispatching stale pending job ${exec.jobName} (${exec.id})`);
@@ -633,6 +734,8 @@ var JobProvider = class JobProvider {
633
734
  }
634
735
  } catch (e) {
635
736
  this.log.error("Recovery sweep failed", { error: e });
737
+ } finally {
738
+ await this.releaseLock("_alepha:jobs:recovery-lock");
636
739
  }
637
740
  }
638
741
  /**
@@ -645,12 +748,19 @@ var JobProvider = class JobProvider {
645
748
  async delayedDispatchSweep() {
646
749
  this.log.trace("Starting delayed dispatch sweep");
647
750
  if (this.stopping) return;
751
+ if (!await this.tryLock("_alepha:jobs:dispatch-lock", 6e4)) return;
648
752
  try {
649
753
  const now = this.dt.nowISOString();
650
754
  const where = this.executions.createQueryWhere();
651
755
  where.status = { inArray: ["scheduled", "retrying"] };
652
756
  where.scheduledAt = { lte: now };
653
- const ready = await this.executions.findMany({ where });
757
+ const ready = await this.executions.findMany({
758
+ where,
759
+ orderBy: {
760
+ column: "priority",
761
+ direction: "asc"
762
+ }
763
+ });
654
764
  for (const exec of ready) {
655
765
  if (!this.jobs.has(exec.jobName)) continue;
656
766
  await this.executions.updateById(exec.id, { status: "pending" });
@@ -658,6 +768,8 @@ var JobProvider = class JobProvider {
658
768
  }
659
769
  } catch (e) {
660
770
  this.log.error("Delayed dispatch sweep failed", { error: e });
771
+ } finally {
772
+ await this.releaseLock("_alepha:jobs:dispatch-lock");
661
773
  }
662
774
  }
663
775
  /**
@@ -677,18 +789,55 @@ var JobProvider = class JobProvider {
677
789
  "cancelled"
678
790
  ] };
679
791
  where.completedAt = { lte: cutoff };
680
- const old = await this.executions.findMany({ where });
681
- for (const exec of old) {
682
- try {
683
- await this.executionLogs.deleteById(exec.id);
684
- } catch {}
685
- await this.executions.deleteById(exec.id);
792
+ const expiredIds = await this.executions.findMany({
793
+ where,
794
+ columns: ["id"]
795
+ });
796
+ if (expiredIds.length > 0) {
797
+ const ids = expiredIds.map((e) => e.id);
798
+ await this.executionLogs.deleteMany({ id: { inArray: ids } });
799
+ await this.executions.deleteMany({ id: { inArray: ids } });
800
+ this.log.info(`Log purge: deleted ${ids.length} old execution records`);
686
801
  }
687
- if (old.length > 0) this.log.info(`Log purge: deleted ${old.length} old execution records`);
688
802
  } catch (e) {
689
803
  this.log.error("Log purge failed", { error: e });
690
804
  }
691
805
  }
806
+ pauseJob(name) {
807
+ this.getRegistration(name);
808
+ this.pausedJobs.add(name);
809
+ this.log.info(`Paused job '${name}'`);
810
+ }
811
+ async resumeJob(name) {
812
+ this.getRegistration(name);
813
+ this.pausedJobs.delete(name);
814
+ this.log.info(`Resumed job '${name}'`);
815
+ const pending = await this.executions.findMany({
816
+ where: {
817
+ jobName: { eq: name },
818
+ status: { eq: "pending" }
819
+ },
820
+ orderBy: {
821
+ column: "priority",
822
+ direction: "asc"
823
+ }
824
+ });
825
+ for (const exec of pending) await this.scheduleProcessing(name, exec.id);
826
+ }
827
+ isJobPaused(name) {
828
+ return this.pausedJobs.has(name);
829
+ }
830
+ getPausedJobs() {
831
+ return [...this.pausedJobs];
832
+ }
833
+ async tryLock(key, ttlMs) {
834
+ const lockValue = `${this.workerId},${this.dt.nowISOString()}`;
835
+ const [lockId] = (await this.lockProvider.set(key, lockValue, true, ttlMs)).split(",");
836
+ return lockId === this.workerId;
837
+ }
838
+ async releaseLock(key) {
839
+ await this.lockProvider.del(key);
840
+ }
692
841
  onStart = $hook({
693
842
  on: "start",
694
843
  handler: async () => {
@@ -723,7 +872,14 @@ var JobProvider = class JobProvider {
723
872
  on: "stop",
724
873
  handler: async () => {
725
874
  this.stopping = true;
726
- for (const controller of this.abortControllers.values()) controller.abort();
875
+ if (this.inFlight.size > 0) {
876
+ this.log.info(`Draining ${this.inFlight.size} in-flight job(s)...`);
877
+ await Promise.race([Promise.allSettled([...this.inFlight]), this.dt.wait([this.config.drainTimeout, "millisecond"])]);
878
+ }
879
+ if (this.abortControllers.size > 0) {
880
+ this.log.warn(`Aborting ${this.abortControllers.size} remaining job(s) after drain timeout`);
881
+ for (const controller of this.abortControllers.values()) controller.abort();
882
+ }
727
883
  }
728
884
  });
729
885
  getRegistration(name) {
@@ -735,7 +891,7 @@ var JobProvider = class JobProvider {
735
891
  //#endregion
736
892
  //#region ../../src/api/jobs/primitives/$job.ts
737
893
  /**
738
- * Job primitive for defining scheduled and on-demand tasks with payload validation, retry policies, and batching.
894
+ * Job primitive for defining scheduled and on-demand tasks with payload validation and retry policies.
739
895
  */
740
896
  const $job = (options) => {
741
897
  return createPrimitive(JobPrimitive, options);
@@ -777,6 +933,24 @@ var JobPrimitive = class extends PipelinePrimitive {
777
933
  async trigger(context) {
778
934
  return this.jobProvider.trigger(this.name, context);
779
935
  }
936
+ /**
937
+ * Pause this job. Pushed items are still accepted but processing is held.
938
+ */
939
+ pause() {
940
+ this.jobProvider.pauseJob(this.name);
941
+ }
942
+ /**
943
+ * Resume a paused job and dispatch any pending items.
944
+ */
945
+ async resume() {
946
+ return this.jobProvider.resumeJob(this.name);
947
+ }
948
+ /**
949
+ * Whether this job is currently paused.
950
+ */
951
+ get paused() {
952
+ return this.jobProvider.isJobPaused(this.name);
953
+ }
780
954
  };
781
955
  $job[KIND] = JobPrimitive;
782
956
  //#endregion
@@ -816,7 +990,7 @@ var JobService = class {
816
990
  COUNT(*) FILTER (WHERE ${e.status} = 'retrying') AS retrying,
817
991
  COUNT(*) FILTER (WHERE ${e.status} = 'dead') AS dead,
818
992
  COUNT(*) FILTER (WHERE ${e.status} = 'completed' AND ${e.completedAt} >= ${periodAgo}) AS completed_24h,
819
- COUNT(*) FILTER (WHERE ${e.status} IN ('dead', 'failed') AND ${e.completedAt} >= ${periodAgo}) AS failed_24h
993
+ COUNT(*) FILTER (WHERE ${e.status} = 'dead' AND ${e.completedAt} >= ${periodAgo}) AS failed_24h
820
994
  FROM ${e}
821
995
  `, t.object({
822
996
  running: t.string(),
@@ -861,10 +1035,7 @@ var JobService = class {
861
1035
  retries: opts.retry.retries,
862
1036
  hasBackoff: Boolean(opts.retry.backoff)
863
1037
  } : void 0,
864
- batch: opts.batch ? {
865
- size: opts.batch.size,
866
- window: String(opts.batch.window)
867
- } : void 0
1038
+ paused: this.jobProvider.isJobPaused(name)
868
1039
  };
869
1040
  result.push(registration);
870
1041
  }
@@ -938,6 +1109,23 @@ var JobService = class {
938
1109
  });
939
1110
  return { ok: true };
940
1111
  }
1112
+ pauseJob(name, context) {
1113
+ const job = this.alepha.primitives($job).find((j) => j.name === name);
1114
+ if (!job) throw new NotFoundError(`Job not found: ${name}`);
1115
+ this.log.info(`Pausing job '${name}'`, { pausedBy: context?.pausedByName ?? context?.pausedBy });
1116
+ job.pause();
1117
+ return { ok: true };
1118
+ }
1119
+ async resumeJob(name, context) {
1120
+ const job = this.alepha.primitives($job).find((j) => j.name === name);
1121
+ if (!job) throw new NotFoundError(`Job not found: ${name}`);
1122
+ this.log.info(`Resuming job '${name}'`, { resumedBy: context?.resumedByName ?? context?.resumedBy });
1123
+ await job.resume();
1124
+ return { ok: true };
1125
+ }
1126
+ getPausedJobs() {
1127
+ return this.jobProvider.getPausedJobs();
1128
+ }
941
1129
  async getCronJobs() {
942
1130
  const jobs = this.jobProvider.getRegisteredJobs();
943
1131
  const cronJobNames = [];
@@ -954,6 +1142,7 @@ var JobService = class {
954
1142
  priority: opts.priority ?? "normal",
955
1143
  concurrency: opts.concurrency ?? 1,
956
1144
  hasSchema: Boolean(opts.schema),
1145
+ paused: this.jobProvider.isJobPaused(name),
957
1146
  lastExecution: last ? {
958
1147
  id: last.id,
959
1148
  status: last.status,
@@ -997,7 +1186,8 @@ var JobService = class {
997
1186
  scheduled: Number(row?.scheduled ?? 0),
998
1187
  retrying: Number(row?.retrying ?? 0),
999
1188
  dead: Number(row?.dead ?? 0),
1000
- concurrency: reg.options.concurrency ?? 1
1189
+ concurrency: reg.options.concurrency ?? 1,
1190
+ paused: this.jobProvider.isJobPaused(name)
1001
1191
  });
1002
1192
  }
1003
1193
  return result;
@@ -1015,10 +1205,10 @@ var JobService = class {
1015
1205
  SELECT
1016
1206
  ds.date::text AS date,
1017
1207
  COALESCE(COUNT(*) FILTER (WHERE ${e.status} = 'completed'), 0) AS completed,
1018
- COALESCE(COUNT(*) FILTER (WHERE ${e.status} IN ('dead', 'failed')), 0) AS failed
1208
+ COALESCE(COUNT(*) FILTER (WHERE ${e.status} = 'dead'), 0) AS failed
1019
1209
  FROM date_series ds
1020
1210
  LEFT JOIN ${e} ON DATE(${e.completedAt}) = ds.date
1021
- AND ${e.status} IN ('completed', 'dead', 'failed')
1211
+ AND ${e.status} IN ('completed', 'dead')
1022
1212
  GROUP BY ds.date
1023
1213
  ORDER BY ds.date ASC
1024
1214
  `, t.object({
@@ -1034,11 +1224,7 @@ var JobService = class {
1034
1224
  async getActivitySqlite(days = 14) {
1035
1225
  const startDate = this.dt.now().subtract(days - 1, "day");
1036
1226
  const where = this.executions.createQueryWhere();
1037
- where.status = { inArray: [
1038
- "completed",
1039
- "dead",
1040
- "failed"
1041
- ] };
1227
+ where.status = { inArray: ["completed", "dead"] };
1042
1228
  where.completedAt = { gte: startDate.startOf("day").toISOString() };
1043
1229
  const executions = await this.executions.findMany({ where });
1044
1230
  const byDate = /* @__PURE__ */ new Map();
@@ -1071,7 +1257,7 @@ var JobService = class {
1071
1257
  COUNT(*) AS failures,
1072
1258
  (ARRAY_AGG(${e.error} ORDER BY ${e.completedAt} DESC))[1] AS last_error
1073
1259
  FROM ${e}
1074
- WHERE ${e.status} IN ('dead', 'failed')
1260
+ WHERE ${e.status} = 'dead'
1075
1261
  AND ${e.completedAt} >= ${periodAgoIso}
1076
1262
  GROUP BY ${e.jobName}
1077
1263
  ORDER BY failures DESC
@@ -1087,7 +1273,7 @@ var JobService = class {
1087
1273
  }
1088
1274
  async getTopFailuresSqlite(periodAgoIso) {
1089
1275
  const where = this.executions.createQueryWhere();
1090
- where.status = { inArray: ["dead", "failed"] };
1276
+ where.status = { eq: "dead" };
1091
1277
  where.completedAt = { gte: periodAgoIso };
1092
1278
  const failures = await this.executions.findMany({
1093
1279
  where,
@@ -1284,6 +1470,45 @@ var AdminJobController = class {
1284
1470
  },
1285
1471
  handler: ({ query }) => this.jobService.getTopFailures(query.days)
1286
1472
  });
1473
+ pauseJob = $action({
1474
+ method: "POST",
1475
+ path: `${this.url}/pause`,
1476
+ group: this.group,
1477
+ use: [$secure({ permissions: ["admin:job:trigger"] })],
1478
+ schema: {
1479
+ body: t.object({ name: t.text() }),
1480
+ response: okSchema
1481
+ },
1482
+ handler: ({ body, user }) => {
1483
+ return this.jobService.pauseJob(body.name, {
1484
+ pausedBy: user?.id,
1485
+ pausedByName: user?.name
1486
+ });
1487
+ }
1488
+ });
1489
+ resumeJob = $action({
1490
+ method: "POST",
1491
+ path: `${this.url}/resume`,
1492
+ group: this.group,
1493
+ use: [$secure({ permissions: ["admin:job:trigger"] })],
1494
+ schema: {
1495
+ body: t.object({ name: t.text() }),
1496
+ response: okSchema
1497
+ },
1498
+ handler: async ({ body, user }) => {
1499
+ return this.jobService.resumeJob(body.name, {
1500
+ resumedBy: user?.id,
1501
+ resumedByName: user?.name
1502
+ });
1503
+ }
1504
+ });
1505
+ getPausedJobs = $action({
1506
+ path: `${this.url}/paused`,
1507
+ group: this.group,
1508
+ use: [$secure({ permissions: ["admin:job:read"] })],
1509
+ schema: { response: t.array(t.text()) },
1510
+ handler: () => this.jobService.getPausedJobs()
1511
+ });
1287
1512
  };
1288
1513
  //#endregion
1289
1514
  //#region ../../src/api/jobs/providers/JobQueueProvider.ts
@@ -1345,7 +1570,6 @@ const AlephaApiJobs = $module({
1345
1570
  AlephaQueue,
1346
1571
  AlephaScheduler,
1347
1572
  AlephaLock,
1348
- AlephaBatch,
1349
1573
  JobProvider,
1350
1574
  JobQueueProvider,
1351
1575
  JobService,
@@ -1356,7 +1580,6 @@ const AlephaApiJobs = $module({
1356
1580
  const useQueue = env.ALEPHA_JOBS_QUEUE === 1 ? true : env.ALEPHA_JOBS_QUEUE === 0 ? false : !alepha.isServerless();
1357
1581
  alepha.with(AlephaScheduler);
1358
1582
  alepha.with(AlephaLock);
1359
- alepha.with(AlephaBatch);
1360
1583
  alepha.with(JobProvider);
1361
1584
  alepha.with(JobService);
1362
1585
  alepha.with(AdminJobController);