effect-mq 0.4.2 → 0.6.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 (64) hide show
  1. package/README.md +85 -17
  2. package/dist/Flow.d.ts +381 -0
  3. package/dist/Flow.d.ts.map +1 -0
  4. package/dist/Flow.js +340 -0
  5. package/dist/Flow.js.map +1 -0
  6. package/dist/Job.d.ts +37 -6
  7. package/dist/Job.d.ts.map +1 -1
  8. package/dist/Job.js +17 -2
  9. package/dist/Job.js.map +1 -1
  10. package/dist/JobSchedules.d.ts +112 -0
  11. package/dist/JobSchedules.d.ts.map +1 -0
  12. package/dist/JobSchedules.js +106 -0
  13. package/dist/JobSchedules.js.map +1 -0
  14. package/dist/JobStore.d.ts +320 -10
  15. package/dist/JobStore.d.ts.map +1 -1
  16. package/dist/JobStore.js.map +1 -1
  17. package/dist/MemoryJobStore.d.ts.map +1 -1
  18. package/dist/MemoryJobStore.js +336 -8
  19. package/dist/MemoryJobStore.js.map +1 -1
  20. package/dist/Metrics.d.ts +31 -0
  21. package/dist/Metrics.d.ts.map +1 -1
  22. package/dist/Metrics.js +39 -0
  23. package/dist/Metrics.js.map +1 -1
  24. package/dist/Worker.d.ts +120 -11
  25. package/dist/Worker.d.ts.map +1 -1
  26. package/dist/Worker.js +452 -26
  27. package/dist/Worker.js.map +1 -1
  28. package/dist/drizzle-postgres/DrizzleJobStore.d.ts +19 -1
  29. package/dist/drizzle-postgres/DrizzleJobStore.d.ts.map +1 -1
  30. package/dist/drizzle-postgres/DrizzleJobStore.js +662 -81
  31. package/dist/drizzle-postgres/DrizzleJobStore.js.map +1 -1
  32. package/dist/drizzle-postgres/schema.d.ts +310 -3
  33. package/dist/drizzle-postgres/schema.d.ts.map +1 -1
  34. package/dist/drizzle-postgres/schema.js +68 -1
  35. package/dist/drizzle-postgres/schema.js.map +1 -1
  36. package/dist/index.d.ts +14 -0
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +14 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/redis/RedisJobStore.d.ts.map +1 -1
  41. package/dist/redis/RedisJobStore.js +221 -19
  42. package/dist/redis/RedisJobStore.js.map +1 -1
  43. package/dist/redis/scripts.d.ts +118 -11
  44. package/dist/redis/scripts.d.ts.map +1 -1
  45. package/dist/redis/scripts.js +497 -28
  46. package/dist/redis/scripts.js.map +1 -1
  47. package/dist/testing/conformance.d.ts +6 -0
  48. package/dist/testing/conformance.d.ts.map +1 -1
  49. package/dist/testing/conformance.js +765 -1
  50. package/dist/testing/conformance.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/Flow.ts +778 -0
  53. package/src/Job.ts +42 -11
  54. package/src/JobSchedules.ts +223 -0
  55. package/src/JobStore.ts +347 -9
  56. package/src/MemoryJobStore.ts +372 -8
  57. package/src/Metrics.ts +43 -0
  58. package/src/Worker.ts +726 -37
  59. package/src/drizzle-postgres/DrizzleJobStore.ts +827 -82
  60. package/src/drizzle-postgres/schema.ts +94 -0
  61. package/src/index.ts +16 -0
  62. package/src/redis/RedisJobStore.ts +291 -8
  63. package/src/redis/scripts.ts +529 -26
  64. package/src/testing/conformance.ts +989 -1
package/dist/Flow.js ADDED
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Cross-store parent-child flows.
3
+ *
4
+ * A flow's PARENT job fans out N child jobs, parks in `waiting-children`
5
+ * until every child settles, then resumes with their typed results. The
6
+ * children may live on a **different store** than the parent — a
7
+ * cron-scheduled parent in Postgres can fan out thousands of idempotent
8
+ * sends into Redis and collect the outcomes back in Postgres.
9
+ *
10
+ * ```ts
11
+ * const DigestFlow = Flow.make("daily-digest", {
12
+ * parent: SendDigest, // a Job bound to the Postgres store
13
+ * children: [SendEmail], // Jobs, each bound to their own store
14
+ * onChildFailure: "continue" // default; "fail" settles on first failure
15
+ * })
16
+ *
17
+ * // the parent worker runs both phases (requires the parent AND child stores)
18
+ * const DigestWorker = DigestFlow.toLayer({
19
+ * fanOut: (payload) =>
20
+ * Effect.gen(function*() {
21
+ * const users = yield* Users.active
22
+ * return Flow.children(SendEmail, users.map((user) => ({
23
+ * key: user.id,
24
+ * payload: { userId: user.id }
25
+ * })))
26
+ * }),
27
+ * collect: (payload, results) =>
28
+ * Effect.succeed({ sent: results.counts.completed, failed: results.counts.failed })
29
+ * // or: yield* results.all (materialized buckets), results.stream (paged)
30
+ * })
31
+ *
32
+ * // workers that run the CHILDREN list the flow so results push instantly:
33
+ * // Worker.layer({ store: EmailStore, flows: [DigestFlow] })
34
+ * ```
35
+ *
36
+ * Architecture (see `designs/parent-child-flows.md`): the parent's store
37
+ * owns the flow — child manifest, per-child results, outcome counters — so
38
+ * "the flow settles exactly once" is single-store atomic. Cross-store needs
39
+ * only two at-least-once idempotent mechanisms: every terminal child
40
+ * transition atomically appends its report to the CHILD store's outbox,
41
+ * which worker relays *push* into the parent store in batches (children
42
+ * keep completing even while the parent store is down); and the parent
43
+ * worker's flow sweeper *reconciles* from child-store state (repairs
44
+ * everything the push path can miss: crashes mid-enqueue, dropped outbox
45
+ * entries, children terminal on stores no relay reaches).
46
+ *
47
+ * Flows nest: a child may itself be another flow's parent, reporting upward
48
+ * through the same machinery when it settles. Depth is capped (8) so a
49
+ * cyclic definition surfaces as an unrecoverable failure instead of an
50
+ * unbounded chain.
51
+ *
52
+ * Flow children bypass the child definition's `idempotencyKey`/`dedupe` —
53
+ * the child `key` (unique within the flow) IS the idempotency mechanism,
54
+ * carried in the deterministic job id. Handlers should be idempotent, as
55
+ * everywhere under at-least-once.
56
+ *
57
+ * @since 0.6.0
58
+ */
59
+ import { Cause, Context, Duration, Effect, Exit, Layer, Option, Schema, Scope as Scope_, Stream, Tracer } from "effect";
60
+ import { normalizeBackoff, normalizeKeep } from "./Job.js";
61
+ import { JobId, unrecoverable } from "./JobStore.js";
62
+ import { Worker } from "./Worker.js";
63
+ /**
64
+ * The deterministic id of a flow child. Every component is an arbitrary
65
+ * string (store keys, ids, and child keys may all contain "/"), so the two
66
+ * variable-length boundaries are pinned by a length prefix — distinct
67
+ * (storeKey, flowId, childKey) triples can never alias.
68
+ *
69
+ * @internal
70
+ */
71
+ export const childJobId = (parentStoreKey, flowId, childKey) => `flow/${parentStoreKey.length}.${flowId.length}/${parentStoreKey}/${flowId}/${childKey}`;
72
+ /**
73
+ * Declare children of one member type. Payloads are validated through the
74
+ * child's schema when the specs are built; duplicate keys (across ALL
75
+ * groups) fail the fan-out unrecoverably.
76
+ *
77
+ * @since 0.6.0
78
+ */
79
+ export const children = (job, items) => ({ job, items });
80
+ /**
81
+ * Define a flow over existing job definitions.
82
+ *
83
+ * Throws (synchronously, at definition time) on duplicate child names or a
84
+ * parent listed among its own children (direct self-recursion). Nesting
85
+ * across DIFFERENT flows is supported — see the module docs.
86
+ *
87
+ * @since 0.6.0
88
+ */
89
+ export const make = (name, options) => {
90
+ const parent = options.parent;
91
+ const byName = new Map();
92
+ for (const child of options.children) {
93
+ if (byName.has(child._tag)) {
94
+ throw new Error(`effect-mq: flow "${name}" declares child "${child._tag}" twice`);
95
+ }
96
+ byName.set(child._tag, child);
97
+ }
98
+ if (byName.has(parent._tag)) {
99
+ throw new Error(`effect-mq: flow "${name}" uses "${parent._tag}" as both its parent and one of its own children`);
100
+ }
101
+ const failFast = options.onChildFailure === "fail";
102
+ const decodeRow = (row) => Effect.gen(function* () {
103
+ if (row.status === "pending")
104
+ return undefined;
105
+ if (row.status === "cancelled") {
106
+ const entry = { outcome: "cancelled", key: row.childKey, name: row.name };
107
+ return entry;
108
+ }
109
+ if (row.exit === undefined) {
110
+ // Store-side failure: no exit was ever produced.
111
+ const entry = {
112
+ outcome: "failed",
113
+ key: row.childKey,
114
+ name: row.name,
115
+ cause: Cause.die(new Error(row.failedReason ?? `effect-mq: flow child "${row.childKey}" failed without a result`))
116
+ };
117
+ return entry;
118
+ }
119
+ const member = byName.get(row.name);
120
+ if (member === undefined) {
121
+ const entry = {
122
+ outcome: "failed",
123
+ key: row.childKey,
124
+ name: row.name,
125
+ cause: Cause.die(new Error(`effect-mq: flow "${name}" has no member definition for child "${row.name}"`))
126
+ };
127
+ return entry;
128
+ }
129
+ const decoded = yield* Schema.decodeUnknownEffect(member.exitSchema)(row.exit).pipe(Effect.orDie);
130
+ // SAFETY: a member's exitSchema Type is Exit<Success, Error> by
131
+ // construction in Job.make.
132
+ const exit = decoded;
133
+ const entry = Exit.isSuccess(exit)
134
+ ? { outcome: "completed", key: row.childKey, name: row.name, value: exit.value }
135
+ : { outcome: "failed", key: row.childKey, name: row.name, cause: exit.cause };
136
+ return entry;
137
+ });
138
+ // Build the collect-facing accessors over a flow's dependency rows.
139
+ // Accessors are lazy and may run in the caller's fiber later, so they
140
+ // carry the context captured at construction (the registration context
141
+ // under a worker; the caller's own context via `childResults`) — that is
142
+ // what lets their public types declare no requirements.
143
+ const makeResults = (store, flow, flowId, services) => {
144
+ // SAFETY: the captured context carries the members' decoding services,
145
+ // declared on toLayer's / childResults' public signatures.
146
+ const withCaptured = (effect) => effect.pipe(Effect.updateContext((input) => Context.merge(input, services)));
147
+ const decodePage = (cursor) => store.listChildResults(flowId, { cursor }).pipe(Effect.orDie, Effect.flatMap((page) => Effect.forEach(page.items, decodeRow).pipe(Effect.map((entries) => [
148
+ entries.filter((entry) => entry !== undefined),
149
+ Option.fromNullishOr(page.cursor)
150
+ ]))));
151
+ const stream = Stream.paginate(undefined, (cursor) => withCaptured(decodePage(cursor)));
152
+ const all = withCaptured(Effect.gen(function* () {
153
+ const completed = [];
154
+ const failed = [];
155
+ const cancelled = [];
156
+ let cursor;
157
+ do {
158
+ const [entries, next] = yield* decodePage(cursor);
159
+ for (const entry of entries) {
160
+ if (entry.outcome === "completed")
161
+ completed.push(entry);
162
+ else if (entry.outcome === "failed")
163
+ failed.push(entry);
164
+ else
165
+ cancelled.push(entry);
166
+ }
167
+ cursor = Option.getOrUndefined(next);
168
+ } while (cursor !== undefined);
169
+ return { completed, failed, cancelled };
170
+ }));
171
+ const counts = {
172
+ pending: flow.pending,
173
+ completed: flow.completed,
174
+ failed: flow.failed,
175
+ cancelled: flow.cancelled
176
+ };
177
+ return { counts, all, stream };
178
+ };
179
+ // Turn the fanOut handler's groups into complete FlowChildSpecs:
180
+ // deterministic ids, `parent` envelopes, encoded payloads, and the
181
+ // fan-out run's span context for cross-store trace linking. Definition
182
+ // bugs (unknown members, duplicate keys) die UNRECOVERABLY — retrying a
183
+ // deterministic bug burns the budget for nothing.
184
+ const buildSpecs = (input, context, parentDepth) => Effect.gen(function* () {
185
+ // Depth rides the parent envelope explicitly (never parsed out of ids
186
+ // — keys and ids are arbitrary user strings). Definitions cannot be
187
+ // cycle-checked statically (a job does not know which flows parent
188
+ // it), so a runaway A→B→A recursion surfaces here instead of growing
189
+ // forever.
190
+ const depth = parentDepth + 1;
191
+ if (depth > 8) {
192
+ return yield* Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" exceeds the nesting depth limit (8) — flow definitions must not form cycles`)));
193
+ }
194
+ const groups = Array.isArray(input) ? input : [input];
195
+ const span = yield* Effect.currentSpan.pipe(Effect.map((current) => ({
196
+ traceId: current.traceId,
197
+ spanId: current.spanId,
198
+ sampled: current.sampled,
199
+ delayed: false
200
+ })), Effect.catchTag("NoSuchElementError", () => Effect.succeed(undefined)));
201
+ const seen = new Set();
202
+ const specs = [];
203
+ for (const group of groups) {
204
+ const member = byName.get(group.job._tag);
205
+ if (member === undefined) {
206
+ return yield* Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" fanned out to "${group.job._tag}", which is not a declared child`)));
207
+ }
208
+ for (const item of group.items) {
209
+ if (item.key === "") {
210
+ return yield* Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" produced a child with an empty key`)));
211
+ }
212
+ if (seen.has(item.key)) {
213
+ return yield* Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" produced duplicate child key "${item.key}"`)));
214
+ }
215
+ seen.add(item.key);
216
+ // Payload validation/encode failures are deterministic definition
217
+ // bugs like duplicate keys: retrying the fan-out would burn the
218
+ // whole attempt budget on the same throw, so die unrecoverably.
219
+ let payload;
220
+ try {
221
+ payload = member.payloadSchema.make(item.payload);
222
+ }
223
+ catch (error) {
224
+ return yield* Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" child "${item.key}" payload failed validation: ${String(error)}`)));
225
+ }
226
+ const encoded = yield* Schema.encodeEffect(member.payloadJsonSchema)(payload).pipe(Effect.catch((error) => Effect.die(unrecoverable(new Error(`effect-mq: flow "${name}" child "${item.key}" payload failed to encode: ${String(error)}`)))));
227
+ // SAFETY: `metadata` is declared with a `never` parameter only to
228
+ // make the structural constraint universal; at runtime it accepts
229
+ // its own definition's payload, which is what `payload` is.
230
+ const memberMetadata = member.metadata?.(payload);
231
+ const itemOptions = item.options;
232
+ specs.push({
233
+ childKey: item.key,
234
+ storeKey: member.store.key,
235
+ request: {
236
+ // Namespaced by the parent store key: two parent stores
237
+ // sharing one child store can never collide on parent ids.
238
+ id: JobId(childJobId(parent.store.key, context.jobId, item.key)),
239
+ name: member._tag,
240
+ queue: member.queue,
241
+ payload: encoded,
242
+ metadata: { ...memberMetadata, ...itemOptions?.metadata },
243
+ priority: itemOptions?.priority ?? member.defaults.priority,
244
+ attemptsMax: Math.max(1, itemOptions?.attempts ?? member.defaults.attempts),
245
+ backoff: itemOptions?.backoff !== undefined
246
+ ? normalizeBackoff(itemOptions.backoff)
247
+ : member.defaults.backoff,
248
+ keep: itemOptions?.keep !== undefined
249
+ ? normalizeKeep(itemOptions.keep)
250
+ : member.defaults.keep,
251
+ timeoutMs: itemOptions?.timeout !== undefined
252
+ ? Duration.toMillis(itemOptions.timeout)
253
+ : member.defaults.timeoutMs,
254
+ // The child key is the idempotency mechanism; the member's
255
+ // idempotencyKey/dedupe callbacks do NOT apply to flow
256
+ // children (see the module docs).
257
+ dedupe: undefined,
258
+ trace: span,
259
+ parent: {
260
+ flowName: name,
261
+ flowId: context.jobId,
262
+ childKey: item.key,
263
+ parentStoreKey: parent.store.key,
264
+ depth
265
+ },
266
+ delayMs: 0
267
+ }
268
+ });
269
+ }
270
+ }
271
+ return specs;
272
+ });
273
+ // The lazy accessors and phase handlers run under a captured context;
274
+ // never capture the ambient Scope or span (they must come from the
275
+ // executing fiber), mirroring the worker's registration capture.
276
+ const captureServices = Effect.map(Effect.context(), (context) => context.pipe(Context.omit(Scope_.Scope, Tracer.ParentSpan)));
277
+ const toLayer = (handlers, registerOptions) => {
278
+ const descriptor = {
279
+ name,
280
+ parent: {
281
+ _tag: parent._tag,
282
+ queue: parent.queue,
283
+ store: parent.store,
284
+ payloadJsonSchema: parent.payloadJsonSchema,
285
+ exitSchema: parent.exitSchema,
286
+ retryable: parent.retryable
287
+ },
288
+ failFast,
289
+ childStores: options.children.map((child) => child.store),
290
+ fanOut: (payload, context, parentDepth) =>
291
+ // SAFETY: the worker decodes through the parent's payload schema
292
+ // before calling this, so `payload` is the parent's payload type.
293
+ handlers.fanOut(payload).pipe(Effect.flatMap((produced) => buildSpecs(produced, context, parentDepth))),
294
+ collect: (payload, flowState, context) => Effect.gen(function* () {
295
+ const store = yield* parent.store;
296
+ const services = yield* captureServices;
297
+ const results = makeResults(store, flowState, context.jobId, services);
298
+ // SAFETY: same as fanOut for `payload`; the accessors decode
299
+ // through each member's schemas, matching ChildResults.
300
+ return yield* handlers.collect(payload, results);
301
+ })
302
+ };
303
+ return Layer.effectDiscard(Effect.flatMap(Worker, (worker) => worker.registerFlow(descriptor, registerOptions)));
304
+ };
305
+ const emptyFlow = { failFast, pending: 0, completed: 0, failed: 0, cancelled: 0 };
306
+ const childResults = (flowId) => Effect.gen(function* () {
307
+ const store = yield* parent.store;
308
+ const services = yield* captureServices;
309
+ const record = yield* store.getJob(flowId).pipe(Effect.orDie);
310
+ const flowState = Option.isSome(record) && record.value.flow !== undefined
311
+ ? record.value.flow
312
+ : emptyFlow;
313
+ return makeResults(store, flowState, flowId, services);
314
+ });
315
+ // SAFETY: the `Flow` interface re-declares the precise member signatures
316
+ // (delegated producer methods carry the parent's own types; toLayer's
317
+ // requirements are declared there); the implementation is assembled
318
+ // dynamically, mirroring Job.make's prototype pattern.
319
+ const flow = {
320
+ name,
321
+ parent,
322
+ children: options.children,
323
+ failFast,
324
+ enqueue: parent.enqueue,
325
+ enqueueMany: parent.enqueueMany,
326
+ execute: parent.execute,
327
+ poll: parent.poll,
328
+ attempts: parent.attempts,
329
+ awaitResult: parent.awaitResult,
330
+ retry: parent.retry,
331
+ cancel: parent.cancel,
332
+ promote: parent.promote,
333
+ schedule: parent.schedule,
334
+ unschedule: parent.unschedule,
335
+ childResults,
336
+ toLayer
337
+ };
338
+ return flow;
339
+ };
340
+ //# sourceMappingURL=Flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flow.js","sourceRoot":"","sources":["../src/Flow.ts"],"names":[],"mappings":"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"}
package/dist/Job.d.ts CHANGED
@@ -40,7 +40,7 @@ export {
40
40
  * @since 0.2.0
41
41
  */
42
42
  unrecoverable };
43
- import { type JobContext, type RegisterOptions, Worker } from "./Worker.ts";
43
+ import { type CurrentJob, type RegisterOptions, Worker } from "./Worker.ts";
44
44
  declare const TypeId: "~effect-mq/Job";
45
45
  /**
46
46
  * A struct schema (or anything with struct fields).
@@ -253,7 +253,12 @@ export type EnqueueManyOptions = Omit<JobOptions, "delay"> & RunTimeInput & {
253
253
  */
254
254
  readonly metadata?: Readonly<Record<string, string>> | undefined;
255
255
  };
256
- interface ResolvedDefaults {
256
+ /**
257
+ * A definition's `defaults`, normalized to store units.
258
+ *
259
+ * @since 0.6.0
260
+ */
261
+ export interface ResolvedDefaults {
257
262
  readonly delayMs: number;
258
263
  readonly priority: number;
259
264
  readonly attempts: number;
@@ -296,6 +301,12 @@ export interface ScheduleOptions<PayloadInput> {
296
301
  readonly keep?: KeepInput | undefined;
297
302
  /** Per-run execution time limit for each occurrence. */
298
303
  readonly timeout?: Duration.Input | undefined;
304
+ /**
305
+ * Ownership label for declarative reconciliation: `JobSchedules.layer`
306
+ * prunes only schedules carrying its own group. Unlabeled schedules are
307
+ * never pruned. Usually set by `JobSchedules`, not by hand.
308
+ */
309
+ readonly group?: string | undefined;
299
310
  }
300
311
  /**
301
312
  * The status of a job as seen by `poll`. Fetch the full run ledger with
@@ -320,8 +331,12 @@ export interface JobAttempt<A, E> {
320
331
  readonly attempt: number;
321
332
  readonly startedAt: number | undefined;
322
333
  readonly finishedAt: number;
323
- readonly outcome: "completed" | "retried" | "failed" | "stalled" | "cancelled";
324
- /** Absent for `stalled` and `cancelled` entries. */
334
+ readonly outcome: "completed" | "retried" | "failed" | "stalled" | "cancelled" | "fanned-out";
335
+ /**
336
+ * Absent for `stalled`, `cancelled`, and `fanned-out` entries — and for
337
+ * `failed` ones settled store-side without a handler exit (e.g. a
338
+ * fail-fast flow settle).
339
+ */
325
340
  readonly exit: Option.Option<Exit.Exit<A, E>>;
326
341
  }
327
342
  /**
@@ -419,9 +434,11 @@ export interface Job<Name extends string, Payload extends AnyStructSchema, Succe
419
434
  readonly unschedule: (key: string) => Effect.Effect<boolean, never, StoreId>;
420
435
  /**
421
436
  * Attach the handler that processes this job, as a layer to provide on top
422
- * of `Worker.layer` (bound to the same store).
437
+ * of `Worker.layer` (bound to the same store). The handler reads the
438
+ * running attempt from the `Worker.CurrentJob` service — the worker
439
+ * provides it per run, so it never appears in the layer's requirements.
423
440
  */
424
- readonly toLayer: <R>(handler: (payload: Payload["Type"], context: JobContext) => Effect.Effect<Success["Type"], Error["Type"], R>, options?: RegisterOptions | undefined) => Layer.Layer<never, never, Worker | R | Payload["DecodingServices"] | Success["EncodingServices"] | Error["EncodingServices"]>;
441
+ readonly toLayer: <R>(handler: (payload: Payload["Type"]) => Effect.Effect<Success["Type"], Error["Type"], R>, options?: RegisterOptions | undefined) => Layer.Layer<never, never, Worker | Exclude<R, CurrentJob> | Payload["DecodingServices"] | Success["EncodingServices"] | Error["EncodingServices"]>;
425
442
  }
426
443
  /**
427
444
  * @since 0.1.0
@@ -431,6 +448,20 @@ export interface Any {
431
448
  readonly _tag: string;
432
449
  readonly queue: QueueName;
433
450
  }
451
+ /**
452
+ * Normalize a user-facing `BackoffInput` to the persisted policy. Shared
453
+ * with the flow runtime's child-spec builder.
454
+ *
455
+ * @internal
456
+ */
457
+ export declare const normalizeBackoff: (input: BackoffInput | undefined) => BackoffPolicy | undefined;
458
+ /**
459
+ * Normalize a user-facing `KeepInput` to the persisted policy. Shared with
460
+ * the flow runtime's child-spec builder.
461
+ *
462
+ * @internal
463
+ */
464
+ export declare const normalizeKeep: (input: KeepInput | undefined) => KeepPolicy | undefined;
434
465
  /**
435
466
  * Define a job.
436
467
  *
package/dist/Job.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Job.d.ts","sourceRoot":"","sources":["../src/Job.ts"],"names":[],"mappings":"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"}
package/dist/Job.js CHANGED
@@ -64,7 +64,13 @@ const defaultPollSchedule = Schedule.min([
64
64
  Schedule.exponential(10, 2),
65
65
  Schedule.spaced("1 second")
66
66
  ]);
67
- const normalizeBackoff = (input) => input === undefined ? undefined : {
67
+ /**
68
+ * Normalize a user-facing `BackoffInput` to the persisted policy. Shared
69
+ * with the flow runtime's child-spec builder.
70
+ *
71
+ * @internal
72
+ */
73
+ export const normalizeBackoff = (input) => input === undefined ? undefined : {
68
74
  _tag: input.type,
69
75
  delayMs: Duration.toMillis(input.delay),
70
76
  factor: input.factor
@@ -73,7 +79,13 @@ const normalizeKeepState = (input) => ({
73
79
  count: input.count,
74
80
  ageMs: input.age !== undefined ? Duration.toMillis(input.age) : undefined
75
81
  });
76
- const normalizeKeep = (input) => {
82
+ /**
83
+ * Normalize a user-facing `KeepInput` to the persisted policy. Shared with
84
+ * the flow runtime's child-spec builder.
85
+ *
86
+ * @internal
87
+ */
88
+ export const normalizeKeep = (input) => {
77
89
  if (input === undefined)
78
90
  return undefined;
79
91
  const split = "completed" in input || "failed" in input || "cancelled" in input;
@@ -150,6 +162,7 @@ const Proto = {
150
162
  trace: capturedSpan === undefined
151
163
  ? undefined
152
164
  : { ...capturedSpan, delayed: resolvedDelayMs > 0 },
165
+ parent: undefined,
153
166
  delayMs: resolvedDelayMs
154
167
  }))), Effect.orDie, Effect.tap((result) => Metric.update(Metrics.jobsEnqueued.pipe(Metric.withAttributes({
155
168
  name: this._tag,
@@ -202,6 +215,7 @@ const Proto = {
202
215
  trace: capturedSpan === undefined
203
216
  ? undefined
204
217
  : { ...capturedSpan, delayed: resolvedDelayMs > 0 },
218
+ parent: undefined,
205
219
  delayMs: resolvedDelayMs
206
220
  }))))), Effect.orDie, Effect.tap((results) => {
207
221
  const duplicates = results.filter((result) => result.duplicate).length;
@@ -315,6 +329,7 @@ const Proto = {
315
329
  timeoutMs: options.timeout !== undefined
316
330
  ? Duration.toMillis(options.timeout)
317
331
  : self.defaults.timeoutMs,
332
+ group: options.group,
318
333
  nextRunAt
319
334
  };
320
335
  const store = yield* self.store;