@adonis-agora/durable 0.53.0 → 0.54.1

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 (57) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/src/buffered-child-signals.d.ts +46 -0
  3. package/dist/src/buffered-child-signals.d.ts.map +1 -0
  4. package/dist/src/buffered-child-signals.js +293 -0
  5. package/dist/src/buffered-child-signals.js.map +1 -0
  6. package/dist/src/codec-state-store.d.ts +9 -1
  7. package/dist/src/codec-state-store.d.ts.map +1 -1
  8. package/dist/src/codec-state-store.js +26 -0
  9. package/dist/src/codec-state-store.js.map +1 -1
  10. package/dist/src/commands/worker.d.ts +2 -1
  11. package/dist/src/commands/worker.d.ts.map +1 -1
  12. package/dist/src/commands/worker.js +44 -0
  13. package/dist/src/commands/worker.js.map +1 -1
  14. package/dist/src/dashboard/index.d.ts +1 -1
  15. package/dist/src/dashboard/index.js +1 -1
  16. package/dist/src/engine.d.ts +63 -1
  17. package/dist/src/engine.d.ts.map +1 -1
  18. package/dist/src/engine.js +326 -56
  19. package/dist/src/engine.js.map +1 -1
  20. package/dist/src/index.d.ts +1 -1
  21. package/dist/src/index.js +1 -1
  22. package/dist/src/interfaces.d.ts +38 -0
  23. package/dist/src/interfaces.d.ts.map +1 -1
  24. package/dist/src/interfaces.js.map +1 -1
  25. package/dist/src/stores/lucid.d.ts +5 -1
  26. package/dist/src/stores/lucid.d.ts.map +1 -1
  27. package/dist/src/stores/lucid.js +111 -5
  28. package/dist/src/stores/lucid.js.map +1 -1
  29. package/dist/src/testing/in-memory-state-store.d.ts +5 -1
  30. package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
  31. package/dist/src/testing/in-memory-state-store.js +42 -3
  32. package/dist/src/testing/in-memory-state-store.js.map +1 -1
  33. package/dist/src/testing-kit/run-dispatch-contract.d.ts.map +1 -1
  34. package/dist/src/testing-kit/run-dispatch-contract.js +98 -0
  35. package/dist/src/testing-kit/run-dispatch-contract.js.map +1 -1
  36. package/dist/src/testing-kit/state-store-conformance.d.ts +6 -0
  37. package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
  38. package/dist/src/testing-kit/state-store-conformance.js +189 -0
  39. package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
  40. package/dist/src/transport-pool.d.ts +7 -0
  41. package/dist/src/transport-pool.d.ts.map +1 -1
  42. package/dist/src/transport-pool.js +28 -0
  43. package/dist/src/transport-pool.js.map +1 -1
  44. package/dist/src/transports/bullmq/bullmq-transport.d.ts +10 -4
  45. package/dist/src/transports/bullmq/bullmq-transport.d.ts.map +1 -1
  46. package/dist/src/transports/bullmq/bullmq-transport.js +44 -1
  47. package/dist/src/transports/bullmq/bullmq-transport.js.map +1 -1
  48. package/dist/src/transports/db.d.ts +9 -1
  49. package/dist/src/transports/db.d.ts.map +1 -1
  50. package/dist/src/transports/db.js +106 -36
  51. package/dist/src/transports/db.js.map +1 -1
  52. package/dist/src/transports/queue.d.ts +9 -1
  53. package/dist/src/transports/queue.d.ts.map +1 -1
  54. package/dist/src/transports/queue.js +28 -1
  55. package/dist/src/transports/queue.js.map +1 -1
  56. package/package.json +3 -3
  57. package/skills/durable-transports-stores/SKILL.md +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.js","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CheckpointQuery, CheckpointStat, ChildWait, RunFacetQuery, RunFacetRow, RunQuery, RunStatus, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, ScheduleQuery, ScheduleRecord, SignalWaiter, StateStore, StepCheckpoint, WorkflowRun } from '../interfaces.js';
1
+ import type { BufferedSignalRow, CheckpointQuery, CheckpointStat, ChildWait, RunFacetQuery, RunFacetRow, RunQuery, RunStatus, RunValueAxis, RunValueFacetOptions, RunValueFacetRow, ScheduleQuery, ScheduleRecord, SignalWaiter, StateStore, StepCheckpoint, WorkflowRun } from '../interfaces.js';
2
2
  export declare class InMemoryStateStore implements StateStore {
3
3
  /** All of this store's data; shared by reference with every {@link withScope} view. */
4
4
  private state;
@@ -53,7 +53,9 @@ export declare class InMemoryStateStore implements StateStore {
53
53
  deleteRun(runId: string): Promise<void>;
54
54
  deleteRuns(runIds: string[]): Promise<void>;
55
55
  getCheckpoint(runId: string, seq: number): Promise<StepCheckpoint | null>;
56
+ getCheckpoints(runId: string, seqs: number[]): Promise<StepCheckpoint[]>;
56
57
  saveCheckpoint(checkpoint: StepCheckpoint): Promise<void>;
58
+ saveCheckpoints(checkpoints: StepCheckpoint[]): Promise<void>;
57
59
  saveCheckpointIfPending(checkpoint: StepCheckpoint): Promise<boolean>;
58
60
  saveCheckpointsIfPending(checkpoints: StepCheckpoint[]): Promise<boolean[]>;
59
61
  /** Mirror of `LucidStateStore.recordStepHeartbeat`: mutate in place, no-op when absent. */
@@ -80,6 +82,8 @@ export declare class InMemoryStateStore implements StateStore {
80
82
  }) => Promise<T>): Promise<T>;
81
83
  private get bufferedSignals();
82
84
  bufferSignal(token: string, payload: unknown): Promise<void>;
85
+ listBufferedSignals(tokenPrefix: string, afterId: string | undefined, limit: number): Promise<BufferedSignalRow[]>;
86
+ deleteBufferedSignals(ids: string[]): Promise<void>;
83
87
  listBufferedSignalTokens(prefix: string, limit: number): Promise<string[]>;
84
88
  takeBufferedSignal(token: string): Promise<{
85
89
  payload: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-state-store.d.ts","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-state-store.d.ts","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ const freshState = () => ({
18
18
  signalWaiters: new Map(),
19
19
  attributeIndex: new Map(),
20
20
  bufferedSignals: new Map(),
21
+ bufferedSignalSeq: 0,
21
22
  bufferedEvents: new Map(),
22
23
  schedules: new Map(),
23
24
  stats: { lastAttributeCandidates: 0, lastCheckpointRowsRead: 0, checkpointRowsRead: 0 },
@@ -200,9 +201,23 @@ export class InMemoryStateStore {
200
201
  const cp = this.checkpoints.get(this.key(runId, seq));
201
202
  return cp ? { ...cp } : null;
202
203
  }
204
+ async getCheckpoints(runId, seqs) {
205
+ const out = [];
206
+ for (const seq of [...new Set(seqs)].sort((a, b) => a - b)) {
207
+ const cp = this.checkpoints.get(this.key(runId, seq));
208
+ if (cp)
209
+ out.push({ ...cp });
210
+ }
211
+ return out;
212
+ }
203
213
  async saveCheckpoint(checkpoint) {
204
214
  this.checkpoints.set(this.key(checkpoint.runId, checkpoint.seq), { ...checkpoint });
205
215
  }
216
+ async saveCheckpoints(checkpoints) {
217
+ for (const checkpoint of checkpoints) {
218
+ this.checkpoints.set(this.key(checkpoint.runId, checkpoint.seq), { ...checkpoint });
219
+ }
220
+ }
206
221
  async saveCheckpointIfPending(checkpoint) {
207
222
  const key = this.key(checkpoint.runId, checkpoint.seq);
208
223
  if (this.checkpoints.get(key)?.status !== 'pending')
@@ -356,9 +371,33 @@ export class InMemoryStateStore {
356
371
  }
357
372
  async bufferSignal(token, payload) {
358
373
  const queue = this.bufferedSignals.get(token) ?? [];
359
- queue.push(payload);
374
+ this.state.bufferedSignalSeq += 1;
375
+ queue.push({ id: this.state.bufferedSignalSeq, payload });
360
376
  this.bufferedSignals.set(token, queue);
361
377
  }
378
+ async listBufferedSignals(tokenPrefix, afterId, limit) {
379
+ const after = afterId === undefined ? 0 : Number(afterId);
380
+ const rows = [];
381
+ for (const [token, queue] of this.bufferedSignals) {
382
+ if (!token.startsWith(tokenPrefix))
383
+ continue;
384
+ for (const { id, payload } of queue) {
385
+ if (id > after)
386
+ rows.push({ id: String(id), token, payload });
387
+ }
388
+ }
389
+ return rows.sort((a, b) => Number(a.id) - Number(b.id)).slice(0, limit);
390
+ }
391
+ async deleteBufferedSignals(ids) {
392
+ const doomed = new Set(ids.map(Number));
393
+ for (const [token, queue] of this.bufferedSignals) {
394
+ const kept = queue.filter((row) => !doomed.has(row.id));
395
+ if (kept.length === 0)
396
+ this.bufferedSignals.delete(token);
397
+ else
398
+ this.bufferedSignals.set(token, kept);
399
+ }
400
+ }
362
401
  async listBufferedSignalTokens(prefix, limit) {
363
402
  const out = [];
364
403
  for (const [token, queue] of this.bufferedSignals) {
@@ -373,10 +412,10 @@ export class InMemoryStateStore {
373
412
  const queue = this.bufferedSignals.get(token);
374
413
  if (!queue || queue.length === 0)
375
414
  return null;
376
- const payload = queue.shift();
415
+ const head = queue.shift();
377
416
  if (queue.length === 0)
378
417
  this.bufferedSignals.delete(token);
379
- return { payload };
418
+ return { payload: head.payload };
380
419
  }
381
420
  /** `id -> row`, so {@link removeBufferedEvent} can delete an exact row regardless of iteration
382
421
  * order — mirrors the SQL store's PK-by-id delete. */
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-state-store.js","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-state-store.js","sourceRoot":"","sources":["../../../src/testing/in-memory-state-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-dispatch-contract.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/run-dispatch-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EAEd,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,+GAA+G;AAC/G,MAAM,MAAM,iBAAiB,GAAG,SAAS,GACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAE9F;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iGAAiG;IACjG,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IACvD,kFAAkF;IAClF,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoDD,mGAAmG;AACnG,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,iBAAiB,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6GAA6G;IAC7G,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CAChE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMhB;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CAChE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GhB;AAED,uGAAuG;AACvG,eAAO,MAAM,iBAAiB;aAC1B,KAAK,EAAE,YAAY;;aACnB,KAAK,EAAE,+BAA+B;aAAE,qBAAqB;;aAE7D,KAAK,EAAE,8CAA8C;aACrD,qBAAqB;aACrB,OAAO,EAAE,CAAC;aACV,MAAM,EAAE,IAAK;;aAGb,KAAK,EAAE,gCAAgC;aACvC,qBAAqB;aACrB,eAAe;;aAGf,KAAK,EAAE,mCAAmC;aAC1C,qBAAqB;aACrB,oBAAoB;;aAGpB,KAAK,EAAE,wBAAwB;aAC/B,eAAe;aACf,yBAAyB;EAEnB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAqnB/F"}
1
+ {"version":3,"file":"run-dispatch-contract.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/run-dispatch-contract.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EAEd,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB,+GAA+G;AAC/G,MAAM,MAAM,iBAAiB,GAAG,SAAS,GACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,GAAG,iBAAiB,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAE9F;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iGAAiG;IACjG,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IACvD,kFAAkF;IAClF,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClC,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAoDD,mGAAmG;AACnG,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,iBAAiB,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6GAA6G;IAC7G,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CAChE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiMhB;AAED;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CAAC,IAAI,EAAE;IAC3D,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;CAChE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6GhB;AAED,uGAAuG;AACvG,eAAO,MAAM,iBAAiB;aAC1B,KAAK,EAAE,YAAY;;aACnB,KAAK,EAAE,+BAA+B;aAAE,qBAAqB;;aAE7D,KAAK,EAAE,8CAA8C;aACrD,qBAAqB;aACrB,OAAO,EAAE,CAAC;aACV,MAAM,EAAE,IAAK;;aAGb,KAAK,EAAE,gCAAgC;aACvC,qBAAqB;aACrB,eAAe;;aAGf,KAAK,EAAE,mCAAmC;aAC1C,qBAAqB;aACrB,oBAAoB;;aAGpB,KAAK,EAAE,wBAAwB;aAC/B,eAAe;aACf,yBAAyB;EAEnB,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAouB/F"}
@@ -474,6 +474,30 @@ export function runRunDispatchContract(name, factory) {
474
474
  await settled('urgent');
475
475
  expect(recorded.dispatched.find((d) => d.runId === 'urgent')?.priority).toBe(7);
476
476
  }, timeout * 2);
477
+ for (const mode of ['all', 'allSettled']) {
478
+ it(`a ctx.${mode} fan joined after some of its children finished settles them at once (reconcile off)`, async () => {
479
+ const a = await instance();
480
+ const b = await instance();
481
+ for (const { engine } of [a, b]) {
482
+ engine.register('child', '1', async (_ctx, input) => input * 10);
483
+ engine.register('parent', '1', async (ctx) => mode === 'all'
484
+ ? ctx.all('child', [0, 1, 2, 3])
485
+ : ctx.allSettled('child', [0, 1, 2, 3]));
486
+ }
487
+ // Children 0 and 2 run (and finish) before the parent's fan registers its waiters: their
488
+ // completions find no waiter, and are not buffered for a parent that does not exist yet.
489
+ for (const i of [0, 2])
490
+ await a.engine.start('child', i, `joined.all.0.${i}`);
491
+ for (const i of [0, 2]) {
492
+ expect((await settled(`joined.all.0.${i}`))?.status).toBe('completed');
493
+ }
494
+ await a.engine.start('parent', {}, 'joined');
495
+ const run = await settled('joined');
496
+ expect(run?.output).toEqual(mode === 'all'
497
+ ? [0, 10, 20, 30]
498
+ : [0, 10, 20, 30].map((value) => ({ status: 'fulfilled', value })));
499
+ }, timeout * 2);
500
+ }
477
501
  /** The fan forms every child-fan case runs: both combinators, with and without waves. */
478
502
  const FANS = [
479
503
  { mode: 'all', concurrency: undefined },
@@ -593,6 +617,80 @@ export function runRunDispatchContract(name, factory) {
593
617
  expect(times).toBe(1);
594
618
  }, timeout * 3);
595
619
  }
620
+ it("sends a step fan's tasks in bulk and hands its results to the engine together", async () => {
621
+ const transport = await factory.make();
622
+ transports.push(transport);
623
+ const serve = transport.handle;
624
+ if (typeof serve !== 'function')
625
+ return;
626
+ const n = 300;
627
+ const name = 'contract.line.bulk';
628
+ serve.call(transport, name, async (input) => input * 2);
629
+ // Every result the transport has handed to the engine so far.
630
+ let handedOver = 0;
631
+ const bindResults = transport.onResult.bind(transport);
632
+ transport.onResult = (handler) => bindResults(async (result) => {
633
+ handedOver += 1;
634
+ await handler(result);
635
+ });
636
+ const sent = { one: 0, many: [] };
637
+ const dispatchOne = transport.dispatch.bind(transport);
638
+ transport.dispatch = async (task) => {
639
+ sent.one += 1;
640
+ await dispatchOne(task);
641
+ };
642
+ const dispatchMany = transport.dispatchMany?.bind(transport);
643
+ if (dispatchMany) {
644
+ transport.dispatchMany = async (tasks) => {
645
+ sent.many.push(tasks.length);
646
+ await dispatchMany(tasks);
647
+ };
648
+ }
649
+ // The first batch of results waits until the transport has handed the engine every one, so
650
+ // the rest of the fan is in hand when it lands.
651
+ const writes = [];
652
+ const settleBatch = store.saveCheckpointsIfPending?.bind(store);
653
+ let allInHand;
654
+ const inHand = new Promise((resolve) => {
655
+ allInHand = resolve;
656
+ });
657
+ if (settleBatch) {
658
+ store.saveCheckpointsIfPending = async (cps) => {
659
+ if (writes.length === 0)
660
+ await inHand;
661
+ writes.push(cps.length);
662
+ return settleBatch(cps);
663
+ };
664
+ }
665
+ const settleOne = store.saveCheckpointIfPending?.bind(store);
666
+ if (settleOne) {
667
+ store.saveCheckpointIfPending = async (cp) => {
668
+ if (cp.runId === 'bulkfan' && cp.status !== 'pending') {
669
+ if (writes.length === 0)
670
+ await inHand;
671
+ writes.push(1);
672
+ }
673
+ return settleOne(cp);
674
+ };
675
+ }
676
+ const engine = new WorkflowEngine({ store, transport, reconcileMs: 0 });
677
+ engines.push(engine);
678
+ const step = Object.assign(() => undefined, { [DURABLE_STEP_NAME]: name });
679
+ const inputs = Array.from({ length: n }, (_, i) => i);
680
+ engine.register('bulkfan', '1', async (ctx) => ctx.all(step, inputs));
681
+ await engine.start('bulkfan', {}, 'bulkfan');
682
+ await until(() => handedOver >= n, timeout, `all ${n} results handed to the engine`);
683
+ allInHand();
684
+ const run = await settled('bulkfan');
685
+ expect(run?.output).toEqual(inputs.map((i) => i * 2));
686
+ if (dispatchMany) {
687
+ expect(sent.many.reduce((a, b) => a + b, 0)).toBe(n);
688
+ expect(sent.one).toBe(0);
689
+ }
690
+ // One write for the batch that waited, and the rest of the fan in about one more.
691
+ expect(writes.reduce((a, b) => a + b, 0)).toBe(n);
692
+ expect(writes.length, `writes: ${writes.join(',')}`).toBeLessThanOrEqual(4);
693
+ }, timeout * 2);
596
694
  it('a failed enqueue leaves the run pending, and the pending-run poll runs it', async () => {
597
695
  const { engine, recorded } = await instance();
598
696
  let executions = 0;