@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":"run-dispatch-contract.js","sourceRoot":"","sources":["../../../src/testing-kit/run-dispatch-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-dispatch-contract.js","sourceRoot":"","sources":["../../../src/testing-kit/run-dispatch-contract.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,12 @@ export interface StateStoreContext {
23
23
  * a real engine) still asserts it, so this doesn't hide drift in the supported configurations.
24
24
  */
25
25
  supportsTagFilter?: boolean;
26
+ /**
27
+ * How many statements the store has sent its database so far, for the cases that bound what an
28
+ * engine operation costs (e.g. a SQL store counting its client's `query` events). Omit it for a
29
+ * store with no statements to count; those cases are then skipped.
30
+ */
31
+ statements?: () => number;
26
32
  }
27
33
  /** Builds a fresh, empty store for one test. Called once per `it` (in `beforeEach`). */
28
34
  export type StateStoreFactory = () => Promise<StateStoreContext>;
@@ -1 +1 @@
1
- {"version":3,"file":"state-store-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,uBAAuB,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAwrDtF"}
1
+ {"version":3,"file":"state-store-conformance.d.ts","sourceRoot":"","sources":["../../../src/testing-kit/state-store-conformance.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,UAAU,EAIhB,MAAM,aAAa,CAAC;AAGrB;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED,wFAAwF;AACxF,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,uBAAuB,QAAQ;IACxC,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAkCD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAw6DtF"}
@@ -59,6 +59,7 @@ export function runStateStoreContract(name, makeStore) {
59
59
  let cleanup;
60
60
  let supportsAsyncTransaction = true;
61
61
  let supportsTagFilter = true;
62
+ let statements;
62
63
  let skipReason;
63
64
  let loggedSkip = false;
64
65
  beforeEach(async () => {
@@ -68,6 +69,7 @@ export function runStateStoreContract(name, makeStore) {
68
69
  cleanup = ctx.cleanup;
69
70
  supportsAsyncTransaction = ctx.supportsAsyncTransaction ?? true;
70
71
  supportsTagFilter = ctx.supportsTagFilter ?? true;
72
+ statements = ctx.statements;
71
73
  skipReason = undefined;
72
74
  }
73
75
  catch (err) {
@@ -105,6 +107,118 @@ export function runStateStoreContract(name, makeStore) {
105
107
  t('returns null for a missing run', async () => {
106
108
  expect(await store.getRun('nope')).toBeNull();
107
109
  });
110
+ t('lists buffered signals by token prefix in insertion order, a page at a time (when implemented)', async () => {
111
+ if (!store.listBufferedSignals)
112
+ return;
113
+ const list = (prefix, after, limit) => store.listBufferedSignals?.(prefix, after, limit) ?? Promise.resolve([]);
114
+ await store.bufferSignal('child:a', { ok: true, value: { n: 1 } });
115
+ await store.bufferSignal('order:1', { paid: true });
116
+ await store.bufferSignal('child:b', { ok: false, error: 'x' });
117
+ await store.bufferSignal('child:a', { ok: true, value: { n: 2 } });
118
+ // `_` and `%` in a prefix are literal, not LIKE wildcards.
119
+ await store.bufferSignal('wake_x:1', null);
120
+ await store.bufferSignal('wakeyx:1', null);
121
+ const all = await list('child:', undefined, 10);
122
+ expect(all.map((r) => [r.token, r.payload])).toEqual([
123
+ ['child:a', { ok: true, value: { n: 1 } }],
124
+ ['child:b', { ok: false, error: 'x' }],
125
+ ['child:a', { ok: true, value: { n: 2 } }],
126
+ ]);
127
+ expect(all.map((r) => typeof r.id)).toEqual(['string', 'string', 'string']);
128
+ const first = await list('child:', undefined, 2);
129
+ expect(first.map((r) => r.id)).toEqual(all.slice(0, 2).map((r) => r.id));
130
+ const rest = await list('child:', first.at(-1)?.id, 2);
131
+ expect(rest.map((r) => r.id)).toEqual([all[2]?.id]);
132
+ expect(await list('child:', all[2]?.id, 2)).toEqual([]);
133
+ expect((await list('wake_x:', undefined, 10)).map((r) => r.token)).toEqual(['wake_x:1']);
134
+ });
135
+ t('deletes buffered signals by id and leaves the rest in FIFO order (when implemented)', async () => {
136
+ if (!store.listBufferedSignals || !store.deleteBufferedSignals)
137
+ return;
138
+ await store.bufferSignal('child:a', { n: 1 });
139
+ await store.bufferSignal('child:a', { n: 2 });
140
+ await store.bufferSignal('child:a', { n: 3 });
141
+ await store.bufferSignal('child:b', { n: 4 });
142
+ const rows = await store.listBufferedSignals('child:', undefined, 10);
143
+ await store.deleteBufferedSignals([
144
+ rows[1]?.id,
145
+ rows[3]?.id,
146
+ '999999999',
147
+ ]);
148
+ await store.deleteBufferedSignals([]);
149
+ expect(await store.takeBufferedSignal('child:a')).toEqual({ payload: { n: 1 } });
150
+ expect(await store.takeBufferedSignal('child:a')).toEqual({ payload: { n: 3 } });
151
+ expect(await store.takeBufferedSignal('child:a')).toBeNull();
152
+ expect(await store.takeBufferedSignal('child:b')).toBeNull();
153
+ });
154
+ t('a sweep of buffered child completions sends a few statements per page, not one per row', async () => {
155
+ if (!statements || !store.listBufferedSignals || !store.deleteBufferedSignals)
156
+ return;
157
+ if (!store.saveCheckpoints)
158
+ return;
159
+ // A wide fan's parent, still open, that has settled every child whose completion is still
160
+ // buffered: the rows must go, decided without one checkpoint read per row.
161
+ const parent = 'wide';
162
+ await store.createRun(run({ id: parent, status: 'suspended' }));
163
+ const fan = 4_000;
164
+ for (let from = 0; from < fan; from += 500) {
165
+ await store.saveCheckpoints(Array.from({ length: 500 }, (_, k) => {
166
+ const i = from + k;
167
+ return checkpoint({
168
+ runId: parent,
169
+ seq: i,
170
+ stepId: `${parent}:${i}`,
171
+ name: `signal:child:${parent}.all.0.${i}`,
172
+ kind: 'signal',
173
+ output: { ok: true, value: { i } },
174
+ parallelGroup: `all:0:n${fan}`,
175
+ });
176
+ }));
177
+ }
178
+ const rows = 500;
179
+ for (let k = 0; k < rows; k += 1) {
180
+ const i = 2_000 + k;
181
+ await store.bufferSignal(`child:${parent}.all.0.${i}`, { ok: true, value: { i } });
182
+ }
183
+ const engine = new WorkflowEngine({ store });
184
+ const before = statements();
185
+ const deleted = await engine.sweepBufferedSignals(Date.now(), Number.POSITIVE_INFINITY);
186
+ const sent = statements() - before;
187
+ expect(deleted).toBe(rows);
188
+ expect(await store.listBufferedSignals('child:', undefined, 10)).toEqual([]);
189
+ // The page, the parent's run row, its checkpoints by seq, the delete, the next (empty) page:
190
+ // a few statements each, against one per buffered row.
191
+ expect(sent).toBeLessThanOrEqual(10);
192
+ }, 60_000);
193
+ t('a parent joining children that already finished settles them from their rows', async () => {
194
+ const engine = new WorkflowEngine({ store, reconcileMs: 0 });
195
+ engine.register('j-child', '1', async (_ctx, input) => ({ n: input.n }));
196
+ engine.register('j-parent', '1', async (ctx) => {
197
+ const lone = await ctx.child('j-child', { n: 9 }, 'j-own-id');
198
+ const fan = await ctx.allSettled('j-child', [{ n: 0 }, { n: 1 }]);
199
+ return { lone, fan };
200
+ });
201
+ // Both finish before the parent exists: their notifications find no waiter.
202
+ await engine.start('j-child', { n: 9 }, 'j-own-id');
203
+ await engine.start('j-child', { n: 1 }, 'jp.all.1.1');
204
+ expect((await engine.waitForRun('j-own-id', { timeoutMs: 20_000 })).status).toBe('completed');
205
+ expect((await engine.waitForRun('jp.all.1.1', { timeoutMs: 20_000 })).status).toBe('completed');
206
+ await engine.start('j-parent', {}, 'jp');
207
+ const deadline = Date.now() + 20_000;
208
+ while ((await store.getRun('jp'))?.status !== 'completed') {
209
+ if (Date.now() > deadline)
210
+ throw new Error('parent never completed');
211
+ await new Promise((resolve) => setTimeout(resolve, 20));
212
+ }
213
+ expect((await store.getRun('jp'))?.output).toEqual({
214
+ lone: { n: 9 },
215
+ fan: [
216
+ { status: 'fulfilled', value: { n: 0 } },
217
+ { status: 'fulfilled', value: { n: 1 } },
218
+ ],
219
+ });
220
+ await engine.drain(5_000);
221
+ }, 60_000);
108
222
  t('round-trips a refused wake request (wakeRequestedAt), and clears it', async () => {
109
223
  await store.createRun(run({ status: 'suspended' }));
110
224
  await store.updateRun('r1', { wakeRequestedAt: 1234 });
@@ -547,6 +661,81 @@ export function runStateStoreContract(name, makeStore) {
547
661
  ])).toEqual([true, true]);
548
662
  expect((await store.getCheckpoint('r1', 3))?.output).toEqual({ n: 3 });
549
663
  });
664
+ t('saveCheckpoints writes many rows and getCheckpoints reads them back (when implemented)', async () => {
665
+ if (!store.saveCheckpoints || !store.getCheckpoints)
666
+ return;
667
+ await store.createRun(run());
668
+ await store.createRun(run({ id: 'r2' }));
669
+ await store.saveCheckpoints([]);
670
+ expect(await store.getCheckpoints('r1', [])).toEqual([]);
671
+ // Wider than any one statement a store batches, so the batches' seams are crossed.
672
+ const wide = Array.from({ length: 600 }, (_, seq) => checkpoint({ seq, stepId: `r1:${seq}`, status: 'pending', output: undefined }));
673
+ await store.saveCheckpoint(checkpoint({ runId: 'r2', seq: 5, stepId: 'r2:5' }));
674
+ await store.saveCheckpoints(wide);
675
+ // Overwrites the row at the same (runId, seq).
676
+ await store.saveCheckpoints([
677
+ checkpoint({ seq: 7, stepId: 'r1:7', output: { n: 7 } }),
678
+ checkpoint({ seq: 599, stepId: 'r1:599', status: 'failed', error: { message: 'x' } }),
679
+ ]);
680
+ expect(await store.listCheckpoints('r1')).toHaveLength(600);
681
+ const read = await store.getCheckpoints('r1', [599, 7, 0, 7, 1000, 550]);
682
+ expect(read.map((c) => [c.seq, c.status])).toEqual([
683
+ [0, 'pending'],
684
+ [7, 'completed'],
685
+ [550, 'pending'],
686
+ [599, 'failed'],
687
+ ]);
688
+ expect(read[1]?.output).toEqual({ n: 7 });
689
+ expect(read[3]?.error).toEqual({ message: 'x' });
690
+ const all = await store.getCheckpoints('r1', Array.from({ length: 600 }, (_, i) => i));
691
+ expect(all.map((c) => c.seq)).toEqual(Array.from({ length: 600 }, (_, i) => i));
692
+ // Another run's row at a seq it shares is not this run's.
693
+ expect((await store.getCheckpoints('r2', [5, 7])).map((c) => c.stepId)).toEqual(['r2:5']);
694
+ }, 30_000);
695
+ t('saveCheckpointsIfPending settles a batch wider than one statement', async () => {
696
+ if (!store.saveCheckpointsIfPending)
697
+ return;
698
+ await store.createRun(run());
699
+ for (let seq = 0; seq < 600; seq += 1) {
700
+ await store.saveCheckpoint(checkpoint({ seq, stepId: `r1:${seq}`, status: 'pending', output: undefined }));
701
+ }
702
+ await store.saveCheckpoint(checkpoint({ seq: 300, stepId: 'r1:300', output: { early: true } }));
703
+ const wrote = await store.saveCheckpointsIfPending(Array.from({ length: 600 }, (_, seq) => checkpoint({ seq, stepId: `r1:${seq}`, output: { n: seq } })));
704
+ expect(wrote.filter((w) => !w)).toHaveLength(1);
705
+ expect(wrote[300]).toBe(false);
706
+ const rows = await store.listCheckpoints('r1');
707
+ expect(rows.every((c) => c.status === 'completed')).toBe(true);
708
+ expect(rows[300]?.output).toEqual({ early: true });
709
+ expect(rows[599]?.output).toEqual({ n: 599 });
710
+ }, 30_000);
711
+ t('keeps millisecond precision on every run and checkpoint timestamp', async () => {
712
+ const ms = (iso) => new Date(iso);
713
+ await store.createRun(run({
714
+ createdAt: ms('2026-06-11T10:00:00.123Z'),
715
+ updatedAt: ms('2026-06-11T10:00:00.456Z'),
716
+ wakeAt: Date.parse('2026-06-11T10:05:00.789Z'),
717
+ lockedUntil: Date.parse('2026-06-11T10:01:00.007Z'),
718
+ }));
719
+ await store.updateRun('r1', { wakeRequestedAt: Date.parse('2026-06-11T10:00:30.999Z') });
720
+ const loaded = await store.getRun('r1');
721
+ expect(loaded?.createdAt.getTime()).toBe(Date.parse('2026-06-11T10:00:00.123Z'));
722
+ expect(loaded?.wakeAt).toBe(Date.parse('2026-06-11T10:05:00.789Z'));
723
+ expect(loaded?.lockedUntil).toBe(Date.parse('2026-06-11T10:01:00.007Z'));
724
+ expect(loaded?.wakeRequestedAt).toBe(Date.parse('2026-06-11T10:00:30.999Z'));
725
+ // A store may stamp updatedAt itself, but whatever it holds keeps its milliseconds.
726
+ expect(loaded?.updatedAt).toBeInstanceOf(Date);
727
+ await store.saveCheckpoint(checkpoint({
728
+ enqueuedAt: ms('2026-06-11T10:00:01.001Z'),
729
+ startedAt: ms('2026-06-11T10:00:01.502Z'),
730
+ finishedAt: ms('2026-06-11T10:00:02.003Z'),
731
+ wakeAt: Date.parse('2026-06-11T10:09:00.044Z'),
732
+ }));
733
+ const cp = await store.getCheckpoint('r1', 0);
734
+ expect(cp?.enqueuedAt.getTime()).toBe(Date.parse('2026-06-11T10:00:01.001Z'));
735
+ expect(cp?.startedAt.getTime()).toBe(Date.parse('2026-06-11T10:00:01.502Z'));
736
+ expect(cp?.finishedAt.getTime()).toBe(Date.parse('2026-06-11T10:00:02.003Z'));
737
+ expect(cp?.wakeAt).toBe(Date.parse('2026-06-11T10:09:00.044Z'));
738
+ });
550
739
  t('listBufferedSignalTokens lists distinct prefixed tokens with a buffered signal (when implemented)', async () => {
551
740
  if (!store.listBufferedSignalTokens)
552
741
  return;