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

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 (151) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +634 -114
  3. package/dist/FailureCode.d.ts +33 -0
  4. package/dist/FailureCode.d.ts.map +1 -0
  5. package/dist/FailureCode.js +39 -0
  6. package/dist/FailureCode.js.map +1 -0
  7. package/dist/Job.d.ts +105 -9
  8. package/dist/Job.d.ts.map +1 -1
  9. package/dist/Job.js +69 -38
  10. package/dist/Job.js.map +1 -1
  11. package/dist/JobConsumer.d.ts +55 -2
  12. package/dist/JobConsumer.d.ts.map +1 -1
  13. package/dist/JobConsumer.js +44 -1
  14. package/dist/JobConsumer.js.map +1 -1
  15. package/dist/JobContract.d.ts +110 -7
  16. package/dist/JobContract.d.ts.map +1 -1
  17. package/dist/JobContract.js +54 -0
  18. package/dist/JobContract.js.map +1 -1
  19. package/dist/JobEnqueue.d.ts +33 -0
  20. package/dist/JobEnqueue.d.ts.map +1 -0
  21. package/dist/JobEnqueue.js +14 -0
  22. package/dist/JobEnqueue.js.map +1 -0
  23. package/dist/JobFailure.d.ts +45 -17
  24. package/dist/JobFailure.d.ts.map +1 -1
  25. package/dist/JobFailure.js +27 -6
  26. package/dist/JobFailure.js.map +1 -1
  27. package/dist/JobId.d.ts +15 -2
  28. package/dist/JobId.d.ts.map +1 -1
  29. package/dist/JobId.js +9 -1
  30. package/dist/JobId.js.map +1 -1
  31. package/dist/JobIdentity.d.ts +89 -6
  32. package/dist/JobIdentity.d.ts.map +1 -1
  33. package/dist/JobIdentity.js +72 -5
  34. package/dist/JobIdentity.js.map +1 -1
  35. package/dist/JobLifecycle.d.ts +227 -33
  36. package/dist/JobLifecycle.d.ts.map +1 -1
  37. package/dist/JobLifecycle.js +162 -13
  38. package/dist/JobLifecycle.js.map +1 -1
  39. package/dist/JobOperators.d.ts +123 -0
  40. package/dist/JobOperators.d.ts.map +1 -0
  41. package/dist/JobOperators.js +48 -0
  42. package/dist/JobOperators.js.map +1 -0
  43. package/dist/JobPayload.d.ts +62 -1
  44. package/dist/JobPayload.d.ts.map +1 -1
  45. package/dist/JobPayload.js +116 -0
  46. package/dist/JobPayload.js.map +1 -1
  47. package/dist/JobPayloadCodec.d.ts +24 -2
  48. package/dist/JobPayloadCodec.d.ts.map +1 -1
  49. package/dist/JobPayloadCodec.js +32 -7
  50. package/dist/JobPayloadCodec.js.map +1 -1
  51. package/dist/JobPolicy.d.ts +93 -5
  52. package/dist/JobPolicy.d.ts.map +1 -1
  53. package/dist/JobPolicy.js +68 -3
  54. package/dist/JobPolicy.js.map +1 -1
  55. package/dist/JobProducer.d.ts +47 -3
  56. package/dist/JobProducer.d.ts.map +1 -1
  57. package/dist/JobProducer.js +61 -14
  58. package/dist/JobProducer.js.map +1 -1
  59. package/dist/JobQueue.d.ts +16 -1
  60. package/dist/JobQueue.d.ts.map +1 -1
  61. package/dist/JobQueue.js +14 -1
  62. package/dist/JobQueue.js.map +1 -1
  63. package/dist/JobRegistry.d.ts +47 -2
  64. package/dist/JobRegistry.d.ts.map +1 -1
  65. package/dist/JobRegistry.js +34 -6
  66. package/dist/JobRegistry.js.map +1 -1
  67. package/dist/JobStore.d.ts +80 -1
  68. package/dist/JobStore.d.ts.map +1 -1
  69. package/dist/JobStore.js +39 -1
  70. package/dist/JobStore.js.map +1 -1
  71. package/dist/JobTransaction.d.ts +23 -2
  72. package/dist/JobTransaction.d.ts.map +1 -1
  73. package/dist/JobTransaction.js +8 -0
  74. package/dist/JobTransaction.js.map +1 -1
  75. package/dist/JobWorker.d.ts +39 -3
  76. package/dist/JobWorker.d.ts.map +1 -1
  77. package/dist/JobWorker.js +31 -5
  78. package/dist/JobWorker.js.map +1 -1
  79. package/dist/JobWorkerRuntime.d.ts +42 -1
  80. package/dist/JobWorkerRuntime.d.ts.map +1 -1
  81. package/dist/JobWorkerRuntime.js +44 -1
  82. package/dist/JobWorkerRuntime.js.map +1 -1
  83. package/dist/PollingJobWorker.d.ts +16 -1
  84. package/dist/PollingJobWorker.d.ts.map +1 -1
  85. package/dist/PollingJobWorker.js +10 -1
  86. package/dist/PollingJobWorker.js.map +1 -1
  87. package/dist/PostgreSqlDrizzleSchema.d.ts +117 -4
  88. package/dist/PostgreSqlDrizzleSchema.d.ts.map +1 -1
  89. package/dist/PostgreSqlDrizzleSchema.js +56 -31
  90. package/dist/PostgreSqlDrizzleSchema.js.map +1 -1
  91. package/dist/PostgreSqlJobs.d.ts +62 -3
  92. package/dist/PostgreSqlJobs.d.ts.map +1 -1
  93. package/dist/PostgreSqlJobs.js +94 -4
  94. package/dist/PostgreSqlJobs.js.map +1 -1
  95. package/dist/PostgreSqlNative.d.ts +30 -0
  96. package/dist/PostgreSqlNative.d.ts.map +1 -0
  97. package/dist/PostgreSqlNative.js +78 -0
  98. package/dist/PostgreSqlNative.js.map +1 -0
  99. package/dist/PostgreSqlSchema.d.ts +59 -5
  100. package/dist/PostgreSqlSchema.d.ts.map +1 -1
  101. package/dist/PostgreSqlSchema.js +105 -7
  102. package/dist/PostgreSqlSchema.js.map +1 -1
  103. package/dist/PostgreSqlTransaction.d.ts +35 -2
  104. package/dist/PostgreSqlTransaction.d.ts.map +1 -1
  105. package/dist/PostgreSqlTransaction.js +19 -1
  106. package/dist/PostgreSqlTransaction.js.map +1 -1
  107. package/dist/index.d.ts +2 -3
  108. package/dist/index.d.ts.map +1 -1
  109. package/dist/index.js +2 -3
  110. package/dist/index.js.map +1 -1
  111. package/dist/internal/JobTransaction.js +2 -2
  112. package/dist/internal/JobTransaction.js.map +1 -1
  113. package/dist/internal/codec/EncryptedBoundary.d.ts +4 -0
  114. package/dist/internal/codec/EncryptedBoundary.d.ts.map +1 -0
  115. package/dist/internal/codec/EncryptedBoundary.js +8 -0
  116. package/dist/internal/codec/EncryptedBoundary.js.map +1 -0
  117. package/dist/internal/codec/ProtectedProjection.d.ts.map +1 -1
  118. package/dist/internal/codec/ProtectedProjection.js +10 -0
  119. package/dist/internal/codec/ProtectedProjection.js.map +1 -1
  120. package/dist/internal/lifecycle/Artifacts.d.ts +34 -1
  121. package/dist/internal/lifecycle/Artifacts.d.ts.map +1 -1
  122. package/dist/internal/lifecycle/Artifacts.js +2 -2
  123. package/dist/internal/lifecycle/Artifacts.js.map +1 -1
  124. package/dist/internal/postgresql/Operators.d.ts +5 -0
  125. package/dist/internal/postgresql/Operators.d.ts.map +1 -0
  126. package/dist/internal/postgresql/Operators.js +150 -0
  127. package/dist/internal/postgresql/Operators.js.map +1 -0
  128. package/dist/internal/postgresql/Producer.d.ts +9 -0
  129. package/dist/internal/postgresql/Producer.d.ts.map +1 -1
  130. package/dist/internal/postgresql/Producer.js +29 -8
  131. package/dist/internal/postgresql/Producer.js.map +1 -1
  132. package/dist/internal/postgresql/Readiness.d.ts.map +1 -1
  133. package/dist/internal/postgresql/Readiness.js +30 -4
  134. package/dist/internal/postgresql/Readiness.js.map +1 -1
  135. package/dist/internal/postgresql/Rows.d.ts +10 -2
  136. package/dist/internal/postgresql/Rows.d.ts.map +1 -1
  137. package/dist/internal/postgresql/Rows.js +23 -3
  138. package/dist/internal/postgresql/Rows.js.map +1 -1
  139. package/dist/internal/postgresql/Store.js +5 -3
  140. package/dist/internal/postgresql/Store.js.map +1 -1
  141. package/dist/internal/worker/Execution.d.ts.map +1 -1
  142. package/dist/internal/worker/Execution.js +9 -5
  143. package/dist/internal/worker/Execution.js.map +1 -1
  144. package/package.json +66 -10
  145. package/specs/api-refinements.md +188 -0
  146. package/specs/architecture-decisions.md +91 -155
  147. package/specs/core-contract.md +23 -13
  148. package/specs/drizzle-compatibility.md +63 -20
  149. package/specs/operator-contract.md +104 -0
  150. package/specs/postgresql-backend.md +7 -0
  151. package/specs/release-qualification.md +158 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,64 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.2 (unpublished candidate)
4
+
5
+ Breaking prerelease changes since alpha.1:
6
+
7
+ - Rename public `Job.make({ kind })` to `{ name }`, definition/catalog and handler
8
+ context access from `.kind` to `.name`, and `JobIdentity.JobKind` to
9
+ `JobIdentity.JobName`. The public Drizzle jobs-column property also becomes
10
+ `.name`, including `extraIndexes` callbacks. Keep existing name values and
11
+ catalog versions: the physical PostgreSQL column is still `kind`, so this
12
+ rename alone needs no column rename, data rewrite/reset or migration. See
13
+ [the API migration contract](./specs/api-refinements.md).
14
+ - Require exact Effect `4.0.5`; the qualified native PostgreSQL companion is
15
+ `@effect/sql-pg@4.0.5`. Optional Drizzle peers are the exact snapshots
16
+ `1.0.0-rc.5-ab785fc` and `1.0.0-rc.5-169397b`.
17
+ - Bind producer slots to definitions with inferred enqueue inputs and explicit
18
+ application-owned transaction/service composition.
19
+ - Extend the PostgreSQL schema/readiness contract for Cancelled jobs, guarded
20
+ operators, corrected redrive and durable repair lineage. Applications own
21
+ migration review and execution; runtime does not migrate old installations.
22
+
23
+ Also included:
24
+
25
+ - Focused `JobOperators` support for guarded retry acceleration, cancellation and
26
+ redrive; corrected redrive creates a new job and preserves source evidence.
27
+ - Current Astro documentation, runnable application examples and the local
28
+ playground. The npm package excludes the website/playground implementation.
29
+ - PostgreSQL Node/Bun CI, real-process crash/recovery tests, and a bounded manual
30
+ soak harness. These are scoped synthetic qualification, not production or
31
+ exactly-once guarantees.
32
+
33
+ Completed retention remains 90 days by default. Upstream Drizzle full-declaration
34
+ 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.
37
+
38
+ ## 0.1.0-alpha.1-effect.4.0.5.local.2 (local only)
39
+
40
+ - Qualify exact Drizzle snapshots `1.0.0-rc.5-ab785fc` and `1.0.0-rc.5-169397b`
41
+ with Effect/sql-pg 4.0.5; use `ab785fc` for the Alchemy beta.83 peer graph.
42
+ - Preserve native PgClient transaction ownership and production runtime bytes.
43
+ - Keep the narrowly approved seven upstream declaration diagnostics as separate
44
+ C FAIL; require independent A+B source and negative controls for both snapshots.
45
+
46
+ ## 0.1.0-alpha.1
47
+
48
+ Breaking prerelease API changes since alpha.0:
49
+
50
+ - Resolve ambient `enqueue` through `JobEnqueue` on the same active PgClient;
51
+ use `enqueueStandalone` for an explicitly owned transaction.
52
+ - Use immutable `JobPolicy.defaultPolicy` and validated typed `FailureCode` catalogs.
53
+ - Bind `JobPayload.encrypted` to a domain Schema and application key service.
54
+ - Default job version to 1 and infer the standard encoder; add optional Drizzle
55
+ `extraIndexes` without changing the required baseline.
56
+ - Preserve mixed codec Causes and qualify the revised README against the exact
57
+ package, pinned Alchemy declarations, Node/Bun and native PostgreSQL fixtures.
58
+
59
+ Cloudflare external PostgreSQL and deployment remain NotTested. This changelog
60
+ describes the release candidate; registry publication is a separate owner action.
61
+
3
62
  ## 0.1.0-alpha.0
4
63
 
5
64
  Initial alpha extraction of the Effect-native durable jobs mechanism from