effect-jobs 0.1.0-alpha.2 → 0.1.0-alpha.3

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 (250) hide show
  1. package/CHANGELOG.md +47 -3
  2. package/README.md +323 -334
  3. package/dist/Job.d.ts +16 -92
  4. package/dist/Job.d.ts.map +1 -1
  5. package/dist/Job.js +25 -89
  6. package/dist/Job.js.map +1 -1
  7. package/dist/JobApi.d.ts +35 -0
  8. package/dist/JobApi.d.ts.map +1 -0
  9. package/dist/JobApi.js +62 -0
  10. package/dist/JobApi.js.map +1 -0
  11. package/dist/JobApiBuilder.d.ts +29 -0
  12. package/dist/JobApiBuilder.d.ts.map +1 -0
  13. package/dist/JobApiBuilder.js +53 -0
  14. package/dist/JobApiBuilder.js.map +1 -0
  15. package/dist/JobContract.d.ts +26 -71
  16. package/dist/JobContract.d.ts.map +1 -1
  17. package/dist/JobContract.js +8 -2
  18. package/dist/JobContract.js.map +1 -1
  19. package/dist/JobEnqueue.d.ts +12 -11
  20. package/dist/JobEnqueue.d.ts.map +1 -1
  21. package/dist/JobEnqueue.js +4 -4
  22. package/dist/JobEnqueue.js.map +1 -1
  23. package/dist/JobFailure.d.ts +6 -5
  24. package/dist/JobFailure.d.ts.map +1 -1
  25. package/dist/JobFailure.js +6 -5
  26. package/dist/JobFailure.js.map +1 -1
  27. package/dist/JobGroup.d.ts +64 -0
  28. package/dist/JobGroup.d.ts.map +1 -0
  29. package/dist/JobGroup.js +52 -0
  30. package/dist/JobGroup.js.map +1 -0
  31. package/dist/JobId.d.ts +1 -1
  32. package/dist/JobId.js +1 -1
  33. package/dist/JobIdentity.d.ts +8 -28
  34. package/dist/JobIdentity.d.ts.map +1 -1
  35. package/dist/JobIdentity.js +25 -60
  36. package/dist/JobIdentity.js.map +1 -1
  37. package/dist/JobLifecycle.d.ts +57 -114
  38. package/dist/JobLifecycle.d.ts.map +1 -1
  39. package/dist/JobLifecycle.js +45 -32
  40. package/dist/JobLifecycle.js.map +1 -1
  41. package/dist/JobOperators.d.ts +17 -9
  42. package/dist/JobOperators.d.ts.map +1 -1
  43. package/dist/JobOperators.js.map +1 -1
  44. package/dist/JobPayload.d.ts +4 -2
  45. package/dist/JobPayload.d.ts.map +1 -1
  46. package/dist/JobPayload.js +86 -61
  47. package/dist/JobPayload.js.map +1 -1
  48. package/dist/JobPayloadCodec.d.ts.map +1 -1
  49. package/dist/JobPayloadCodec.js +41 -22
  50. package/dist/JobPayloadCodec.js.map +1 -1
  51. package/dist/JobPolicy.d.ts +102 -21
  52. package/dist/JobPolicy.d.ts.map +1 -1
  53. package/dist/JobPolicy.js +124 -51
  54. package/dist/JobPolicy.js.map +1 -1
  55. package/dist/JobPolling.d.ts +34 -0
  56. package/dist/JobPolling.d.ts.map +1 -0
  57. package/dist/JobPolling.js +103 -0
  58. package/dist/JobPolling.js.map +1 -0
  59. package/dist/JobProducer.d.ts +94 -49
  60. package/dist/JobProducer.d.ts.map +1 -1
  61. package/dist/JobProducer.js +169 -52
  62. package/dist/JobProducer.js.map +1 -1
  63. package/dist/JobRetryPolicy.d.ts +24 -0
  64. package/dist/JobRetryPolicy.d.ts.map +1 -0
  65. package/dist/JobRetryPolicy.js +39 -0
  66. package/dist/JobRetryPolicy.js.map +1 -0
  67. package/dist/JobSchedule.d.ts +74 -0
  68. package/dist/JobSchedule.d.ts.map +1 -0
  69. package/dist/JobSchedule.js +55 -0
  70. package/dist/JobSchedule.js.map +1 -0
  71. package/dist/JobStorage.d.ts +43 -0
  72. package/dist/JobStorage.d.ts.map +1 -0
  73. package/dist/JobStorage.js +46 -0
  74. package/dist/JobStorage.js.map +1 -0
  75. package/dist/JobStore.d.ts +38 -261
  76. package/dist/JobStore.d.ts.map +1 -1
  77. package/dist/JobStore.js +4 -4
  78. package/dist/JobStore.js.map +1 -1
  79. package/dist/JobTelemetry.d.ts +15 -5
  80. package/dist/JobTelemetry.d.ts.map +1 -1
  81. package/dist/JobTelemetry.js +119 -26
  82. package/dist/JobTelemetry.js.map +1 -1
  83. package/dist/JobTransaction.d.ts +9 -7
  84. package/dist/JobTransaction.d.ts.map +1 -1
  85. package/dist/JobTransaction.js +3 -3
  86. package/dist/JobTransaction.js.map +1 -1
  87. package/dist/JobWorker.d.ts +58 -49
  88. package/dist/JobWorker.d.ts.map +1 -1
  89. package/dist/JobWorker.js +42 -175
  90. package/dist/JobWorker.js.map +1 -1
  91. package/dist/index.d.ts +1 -1
  92. package/dist/index.js +1 -1
  93. package/dist/internal/JobTransaction.d.ts +11 -3
  94. package/dist/internal/JobTransaction.d.ts.map +1 -1
  95. package/dist/internal/JobTransaction.js +5 -0
  96. package/dist/internal/JobTransaction.js.map +1 -1
  97. package/dist/internal/ProducerDeclaration.d.ts +27 -0
  98. package/dist/internal/ProducerDeclaration.d.ts.map +1 -0
  99. package/dist/internal/ProducerDeclaration.js +38 -0
  100. package/dist/internal/ProducerDeclaration.js.map +1 -0
  101. package/dist/internal/codec/CanonicalJson.d.ts +2 -2
  102. package/dist/internal/codec/CanonicalJson.d.ts.map +1 -1
  103. package/dist/internal/codec/CanonicalJson.js +177 -134
  104. package/dist/internal/codec/CanonicalJson.js.map +1 -1
  105. package/dist/internal/codec/ProtectedProjection.d.ts.map +1 -1
  106. package/dist/internal/codec/ProtectedProjection.js +164 -112
  107. package/dist/internal/codec/ProtectedProjection.js.map +1 -1
  108. package/dist/internal/lifecycle/Artifacts.d.ts +8 -3
  109. package/dist/internal/lifecycle/Artifacts.d.ts.map +1 -1
  110. package/dist/internal/lifecycle/Artifacts.js +3 -3
  111. package/dist/internal/lifecycle/Artifacts.js.map +1 -1
  112. package/dist/internal/lifecycle/Reconciliation.d.ts +10 -63
  113. package/dist/internal/lifecycle/Reconciliation.d.ts.map +1 -1
  114. package/dist/internal/lifecycle/Reconciliation.js +20 -38
  115. package/dist/internal/lifecycle/Reconciliation.js.map +1 -1
  116. package/dist/internal/policy/Retry.d.ts +65 -0
  117. package/dist/internal/policy/Retry.d.ts.map +1 -0
  118. package/dist/internal/policy/Retry.js +69 -0
  119. package/dist/internal/policy/Retry.js.map +1 -0
  120. package/dist/internal/worker/Capability.d.ts +14 -72
  121. package/dist/internal/worker/Capability.d.ts.map +1 -1
  122. package/dist/internal/worker/Capability.js +1 -1
  123. package/dist/internal/worker/Capability.js.map +1 -1
  124. package/dist/internal/worker/Drain.d.ts +5 -3
  125. package/dist/internal/worker/Drain.d.ts.map +1 -1
  126. package/dist/internal/worker/Drain.js +13 -10
  127. package/dist/internal/worker/Drain.js.map +1 -1
  128. package/dist/internal/worker/Execution.d.ts +1 -1
  129. package/dist/internal/worker/Execution.d.ts.map +1 -1
  130. package/dist/internal/worker/Execution.js +35 -19
  131. package/dist/internal/worker/Execution.js.map +1 -1
  132. package/dist/internal/worker/GroupWorker.d.ts +59 -0
  133. package/dist/internal/worker/GroupWorker.d.ts.map +1 -0
  134. package/dist/internal/worker/GroupWorker.js +91 -0
  135. package/dist/internal/worker/GroupWorker.js.map +1 -0
  136. package/dist/internal/worker/Handler.d.ts +14 -0
  137. package/dist/internal/worker/Handler.d.ts.map +1 -0
  138. package/dist/internal/worker/Handler.js +2 -0
  139. package/dist/internal/worker/Handler.js.map +1 -0
  140. package/dist/internal/worker/InstallHandlers.d.ts +9 -0
  141. package/dist/internal/worker/InstallHandlers.d.ts.map +1 -0
  142. package/dist/internal/worker/InstallHandlers.js +35 -0
  143. package/dist/internal/worker/InstallHandlers.js.map +1 -0
  144. package/dist/internal/worker/QueueRun.d.ts +9 -0
  145. package/dist/internal/worker/QueueRun.d.ts.map +1 -0
  146. package/dist/internal/worker/QueueRun.js +2 -0
  147. package/dist/internal/worker/QueueRun.js.map +1 -0
  148. package/dist/internal/worker/Results.d.ts +13 -92
  149. package/dist/internal/worker/Results.d.ts.map +1 -1
  150. package/dist/internal/worker/Results.js +1 -1
  151. package/dist/internal/worker/Results.js.map +1 -1
  152. package/dist/internal/worker/Runtime.d.ts +26 -0
  153. package/dist/internal/worker/Runtime.d.ts.map +1 -0
  154. package/dist/internal/worker/Runtime.js +158 -0
  155. package/dist/internal/worker/Runtime.js.map +1 -0
  156. package/dist/{PostgreSqlDrizzleSchema.d.ts → postgresql/PostgreSqlDrizzleSchema.d.ts} +43 -7
  157. package/dist/postgresql/PostgreSqlDrizzleSchema.d.ts.map +1 -0
  158. package/dist/{PostgreSqlDrizzleSchema.js → postgresql/PostgreSqlDrizzleSchema.js} +5 -4
  159. package/dist/postgresql/PostgreSqlDrizzleSchema.js.map +1 -0
  160. package/dist/{PostgreSqlJobs.d.ts → postgresql/PostgreSqlJobs.d.ts} +40 -19
  161. package/dist/postgresql/PostgreSqlJobs.d.ts.map +1 -0
  162. package/dist/{PostgreSqlJobs.js → postgresql/PostgreSqlJobs.js} +58 -39
  163. package/dist/postgresql/PostgreSqlJobs.js.map +1 -0
  164. package/dist/{PostgreSqlNative.d.ts → postgresql/PostgreSqlNative.d.ts} +2 -2
  165. package/dist/postgresql/PostgreSqlNative.d.ts.map +1 -0
  166. package/dist/postgresql/PostgreSqlNative.js +151 -0
  167. package/dist/postgresql/PostgreSqlNative.js.map +1 -0
  168. package/dist/{PostgreSqlSchema.d.ts → postgresql/PostgreSqlSchema.d.ts} +9 -3
  169. package/dist/postgresql/PostgreSqlSchema.d.ts.map +1 -0
  170. package/dist/{PostgreSqlSchema.js → postgresql/PostgreSqlSchema.js} +9 -2
  171. package/dist/postgresql/PostgreSqlSchema.js.map +1 -0
  172. package/dist/postgresql/PostgreSqlTransaction.d.ts.map +1 -0
  173. package/dist/postgresql/PostgreSqlTransaction.js.map +1 -0
  174. package/dist/postgresql/internal/Health.d.ts +27 -0
  175. package/dist/postgresql/internal/Health.d.ts.map +1 -0
  176. package/dist/postgresql/internal/Health.js +58 -0
  177. package/dist/postgresql/internal/Health.js.map +1 -0
  178. package/dist/{internal/postgresql → postgresql/internal}/Operators.d.ts +1 -1
  179. package/dist/{internal/postgresql → postgresql/internal}/Operators.d.ts.map +1 -1
  180. package/dist/{internal/postgresql → postgresql/internal}/Operators.js +12 -18
  181. package/dist/postgresql/internal/Operators.js.map +1 -0
  182. package/dist/{internal/postgresql → postgresql/internal}/Producer.d.ts +6 -6
  183. package/dist/postgresql/internal/Producer.d.ts.map +1 -0
  184. package/dist/{internal/postgresql → postgresql/internal}/Producer.js +25 -15
  185. package/dist/postgresql/internal/Producer.js.map +1 -0
  186. package/dist/{internal/postgresql → postgresql/internal}/Readiness.d.ts +2 -2
  187. package/dist/postgresql/internal/Readiness.d.ts.map +1 -0
  188. package/dist/{internal/postgresql → postgresql/internal}/Readiness.js +11 -2
  189. package/dist/postgresql/internal/Readiness.js.map +1 -0
  190. package/dist/{internal/postgresql → postgresql/internal}/Rows.d.ts +14 -6
  191. package/dist/postgresql/internal/Rows.d.ts.map +1 -0
  192. package/dist/{internal/postgresql → postgresql/internal}/Rows.js +43 -19
  193. package/dist/postgresql/internal/Rows.js.map +1 -0
  194. package/dist/postgresql/internal/Schedule.d.ts +6 -0
  195. package/dist/postgresql/internal/Schedule.d.ts.map +1 -0
  196. package/dist/postgresql/internal/Schedule.js +74 -0
  197. package/dist/postgresql/internal/Schedule.js.map +1 -0
  198. package/dist/{internal/postgresql → postgresql/internal}/Store.d.ts +1 -1
  199. package/dist/postgresql/internal/Store.d.ts.map +1 -0
  200. package/dist/{internal/postgresql → postgresql/internal}/Store.js +65 -25
  201. package/dist/postgresql/internal/Store.js.map +1 -0
  202. package/docs/observability-checklist.md +33 -0
  203. package/docs/observability.md +204 -0
  204. package/package.json +97 -50
  205. package/specs/api-refinements.md +79 -65
  206. package/specs/architecture-decisions.md +102 -60
  207. package/specs/core-contract.md +127 -72
  208. package/specs/drizzle-compatibility.md +12 -1
  209. package/specs/operator-contract.md +9 -6
  210. package/specs/{postgresql-backend.md → postgresql-jobs.md} +53 -8
  211. package/specs/release-qualification.md +118 -225
  212. package/specs/retry-policy.md +120 -0
  213. package/dist/JobConsumer.d.ts +0 -87
  214. package/dist/JobConsumer.d.ts.map +0 -1
  215. package/dist/JobConsumer.js +0 -71
  216. package/dist/JobConsumer.js.map +0 -1
  217. package/dist/JobRegistry.d.ts +0 -82
  218. package/dist/JobRegistry.d.ts.map +0 -1
  219. package/dist/JobRegistry.js +0 -75
  220. package/dist/JobRegistry.js.map +0 -1
  221. package/dist/JobWorkerRuntime.d.ts +0 -59
  222. package/dist/JobWorkerRuntime.d.ts.map +0 -1
  223. package/dist/JobWorkerRuntime.js +0 -48
  224. package/dist/JobWorkerRuntime.js.map +0 -1
  225. package/dist/PollingJobWorker.d.ts +0 -24
  226. package/dist/PollingJobWorker.d.ts.map +0 -1
  227. package/dist/PollingJobWorker.js +0 -63
  228. package/dist/PollingJobWorker.js.map +0 -1
  229. package/dist/PostgreSqlDrizzleSchema.d.ts.map +0 -1
  230. package/dist/PostgreSqlDrizzleSchema.js.map +0 -1
  231. package/dist/PostgreSqlJobs.d.ts.map +0 -1
  232. package/dist/PostgreSqlJobs.js.map +0 -1
  233. package/dist/PostgreSqlNative.d.ts.map +0 -1
  234. package/dist/PostgreSqlNative.js +0 -78
  235. package/dist/PostgreSqlNative.js.map +0 -1
  236. package/dist/PostgreSqlSchema.d.ts.map +0 -1
  237. package/dist/PostgreSqlSchema.js.map +0 -1
  238. package/dist/PostgreSqlTransaction.d.ts.map +0 -1
  239. package/dist/PostgreSqlTransaction.js.map +0 -1
  240. package/dist/internal/postgresql/Operators.js.map +0 -1
  241. package/dist/internal/postgresql/Producer.d.ts.map +0 -1
  242. package/dist/internal/postgresql/Producer.js.map +0 -1
  243. package/dist/internal/postgresql/Readiness.d.ts.map +0 -1
  244. package/dist/internal/postgresql/Readiness.js.map +0 -1
  245. package/dist/internal/postgresql/Rows.d.ts.map +0 -1
  246. package/dist/internal/postgresql/Rows.js.map +0 -1
  247. package/dist/internal/postgresql/Store.d.ts.map +0 -1
  248. package/dist/internal/postgresql/Store.js.map +0 -1
  249. /package/dist/{PostgreSqlTransaction.d.ts → postgresql/PostgreSqlTransaction.d.ts} +0 -0
  250. /package/dist/{PostgreSqlTransaction.js → postgresql/PostgreSqlTransaction.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,49 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.0-alpha.2 (unpublished candidate)
3
+ ## 0.1.0-alpha.3 (unpublished candidate)
4
+
5
+ Breaking prerelease changes since the published alpha.2 package:
6
+
7
+ - Require exact Effect/sql-pg `4.1.0` and optional Drizzle `1.0.0-rc.5`, replacing
8
+ Effect/sql-pg `4.0.5` and the two hash-suffixed Drizzle snapshots. Node `24.15.0`
9
+ and Bun `1.4.2` remain pinned; the local Alchemy example uses `2.0.0-beta.85`.
10
+ - Evaluate lazy `Job.make`, `JobProducer.make`, `JobPolicy.make` and
11
+ `JobPayload.encrypted` setup in their typed Effect channels. Reuse one
12
+ application-owned definitions Layer; do not hide setup in synchronous runners.
13
+ - Move routing and default policy from jobs into immutable producer slot bindings:
14
+ `JobProducer.make(operation).pipe(JobProducer.withSlot(slot, job, { queue }))`.
15
+ Enqueue now takes one object containing `slot`, `operationId` and `payload`.
16
+ Fixed bindings forbid an enqueue queue; selectable `{ queues: [...] }` bindings
17
+ require a declared queue-name string. Job-level enqueue and producer `identity`
18
+ are removed. See [the API migration contract](./specs/api-refinements.md).
19
+ - Replace `JobRegistry`, `JobConsumer`, `JobWorkerRuntime` and `PollingJobWorker`
20
+ public entrypoints with `JobGroup`, `JobApi`, `JobApiBuilder`, `JobStorage`,
21
+ `JobSchedule` and `JobPolling`. Declare complete catalog handlers and compose
22
+ the shared worker/storage graph explicitly; old imports are not aliases.
23
+ - Configure retries through `JobRetryPolicy` and `yield* JobPolicy.make({ retry })`.
24
+ Replace `retryDelay`/`maxAttempts` options with `fixed`/`exponential`, optional
25
+ cap/jitter, and `maxFinalizedAttempts`. Public counters use `finalizedAttempts`;
26
+ stored `maxAttempts`/`attempts_made` keys are retained. Upgrade every reader
27
+ before producing `BackoffV1`/`ProportionalV1` jobs; old readers cannot process
28
+ them safely. Existing `FixedDelayV1` policies keep their semantics.
29
+ - Adapt encrypted codecs to the lazy Schema-native transformation, with explicit
30
+ independent seal/open services. Already-protected envelopes remain supported.
31
+ The application still owns encryption, keys and stable keyed fingerprints.
32
+
33
+ Also included: read-only bounded scheduling, nullable creation metadata and its
34
+ application-owned `creationTimeMigration`, focused PostgreSQL implementation
35
+ subpaths behind the unchanged public PostgreSQL export names, and bounded
36
+ observability with application-owned exporters. Review schema readiness and
37
+ apply required migrations before starting readers; runtime never migrates or
38
+ resets an installation. See [retry rollout](./specs/retry-policy.md) and the
39
+ [PostgreSQL contract](./specs/postgresql-jobs.md).
40
+
41
+ This entry describes prepared source, not publication or a fresh qualification
42
+ PASS. The release handoff binds actual commands, exceptions and cleanup to one
43
+ immutable archive. Completed retention remains 90 days. Website/playground source
44
+ is excluded from npm; no deployment or production guarantee is implied.
45
+
46
+ ## 0.1.0-alpha.2 (published)
4
47
 
5
48
  Breaking prerelease changes since alpha.1:
6
49
 
@@ -32,8 +75,9 @@ Also included:
32
75
 
33
76
  Completed retention remains 90 days by default. Upstream Drizzle full-declaration
34
77
  checks retain their documented known-failure exceptions; successful own-code
35
- checks do not mean upstream full strict PASS. Publication, registry installation
36
- and deployment remain separate owner actions.
78
+ checks do not mean upstream full strict PASS. The registry contains this release
79
+ with Effect `4.0.5` and the two Drizzle snapshots; current source is not identical
80
+ to those published bytes. Deployment is not established by registry publication.
37
81
 
38
82
  ## 0.1.0-alpha.1-effect.4.0.5.local.2 (local only)
39
83