@rotorsoft/act 1.32.18 → 1.32.20
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.
- package/README.md +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/act.d.ts +18 -21
- package/dist/@types/act.d.ts.map +1 -1
- package/dist/@types/builders/reaction-builder.d.ts.map +1 -1
- package/dist/@types/internal/config.d.ts +6 -0
- package/dist/@types/internal/config.d.ts.map +1 -1
- package/dist/@types/internal/correlate-cycle.d.ts +7 -1
- package/dist/@types/internal/correlate-cycle.d.ts.map +1 -1
- package/dist/@types/internal/defer-timer.d.ts +6 -12
- package/dist/@types/internal/defer-timer.d.ts.map +1 -1
- package/dist/@types/internal/drain-cycle.d.ts +5 -2
- package/dist/@types/internal/drain-cycle.d.ts.map +1 -1
- package/dist/@types/internal/index.d.ts +1 -1
- package/dist/@types/internal/index.d.ts.map +1 -1
- package/dist/@types/types/reaction.d.ts +3 -3
- package/dist/index.cjs +41 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +41 -41
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/@types/act.d.ts
CHANGED
|
@@ -904,11 +904,11 @@ export declare class Act<TSchemaReg extends SchemaRegister<TActions>, TEvents ex
|
|
|
904
904
|
*/
|
|
905
905
|
unblock(input: string[] | StreamFilter): Promise<number>;
|
|
906
906
|
/**
|
|
907
|
-
* Atomically wipe the store and rebuild it from an
|
|
908
|
-
*
|
|
909
|
-
* `
|
|
910
|
-
*
|
|
911
|
-
*
|
|
907
|
+
* Atomically wipe the store and rebuild it from an event source. The
|
|
908
|
+
* framework owns iteration, validation, `drop_snapshots` filtering,
|
|
909
|
+
* `on_progress`, and the per-call `old → new` causation remap; the
|
|
910
|
+
* adapter's {@link Store.restore} driver supplies the transaction
|
|
911
|
+
* lifecycle and per-event insert.
|
|
912
912
|
*
|
|
913
913
|
* Throws if the adapter has no restore capability. Throws on the
|
|
914
914
|
* first invalid event (negative version, malformed `created`) with
|
|
@@ -916,33 +916,30 @@ export declare class Act<TSchemaReg extends SchemaRegister<TActions>, TEvents ex
|
|
|
916
916
|
* the adapter means a failing restore leaves the store byte-for-byte
|
|
917
917
|
* unchanged.
|
|
918
918
|
*
|
|
919
|
-
* @param source -
|
|
920
|
-
* rather than buffered so
|
|
921
|
-
* Each event's original `id`
|
|
922
|
-
* never written through —
|
|
919
|
+
* @param source - Any {@link EventSource}: a `CsvFile` backup or
|
|
920
|
+
* another store. Read in batches rather than buffered, so
|
|
921
|
+
* multi-million-event backups don't OOM. Each event's original `id`
|
|
922
|
+
* is used as a causation lookup key but never written through —
|
|
923
|
+
* adapters renumber densely.
|
|
923
924
|
* @param opts - {@link ScanOptions}. `drop_snapshots` skips
|
|
924
925
|
* `__snapshot__` events (counted in the result); `on_progress`
|
|
925
926
|
* fires once per event.
|
|
927
|
+
* @param sink - Where the events land. Defaults to this Act's store.
|
|
926
928
|
* @returns {@link ScanResult} with `kept`, `duration_ms`, and
|
|
927
929
|
* `dropped` per-category counters.
|
|
928
930
|
*
|
|
929
|
-
* @example
|
|
931
|
+
* @example Restore a CSV backup into the connected store
|
|
930
932
|
* ```typescript
|
|
931
|
-
*
|
|
932
|
-
* for (const line of blob.split("\n").slice(1)) {
|
|
933
|
-
* const [id, name, data, stream, version, created, meta] = parse(line);
|
|
934
|
-
* yield {
|
|
935
|
-
* id: +id, name, data: JSON.parse(data), stream,
|
|
936
|
-
* version: +version, created: new Date(created),
|
|
937
|
-
* meta: JSON.parse(meta),
|
|
938
|
-
* };
|
|
939
|
-
* }
|
|
940
|
-
* }
|
|
941
|
-
* const result = await app.restore(parseCsv(csvBlob), {});
|
|
933
|
+
* const result = await app.restore(new CsvFile({ path: "./backup.csv" }));
|
|
942
934
|
* console.log(`Restored ${result.kept} events in ${result.duration_ms}ms`);
|
|
943
935
|
* await cache().clear(); // operator's responsibility
|
|
944
936
|
* ```
|
|
945
937
|
*
|
|
938
|
+
* @example Copy one store into another
|
|
939
|
+
* ```typescript
|
|
940
|
+
* await app.restore(pg, {}, sqlite);
|
|
941
|
+
* ```
|
|
942
|
+
*
|
|
946
943
|
* @see {@link Store.restore} for the underlying driver-pattern primitive.
|
|
947
944
|
*/
|
|
948
945
|
restore(source: EventSource, opts?: ScanOptions, sink?: EventSink): Promise<ScanResult>;
|
package/dist/@types/act.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAiBjB,KAAK,OAAO,EAWb,MAAM,qBAAqB,CAAC;AAQ7B,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAA6B,KAAK,MAAM,EAAS,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EACV,KAAK,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,KAAK,EACL,YAAY,EACZ,SAAS,EACT,WAAW,EACX,IAAI,EACJ,UAAU,EACV,KAAK,EACL,UAAU,EAEV,KAAK,EACL,QAAQ,EACR,WAAW,EACX,UAAU,EACV,MAAM,EACN,cAAc,EACd,OAAO,EACP,aAAa,EACb,eAAe,EACf,QAAQ,EACR,KAAK,EAEL,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,MAAM,EACP,MAAM,kBAAkB,CAAC;AAO1B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,EACtB,8BAA8B,EAC9B,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,CAC5B,WAAW,SAAS,cAAc,CAAC,QAAQ,CAAC,EAC5C,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,IACtB;IACF,SAAS,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D;;;;;;;;OAQG;IACH,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,YAAY,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IACvD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IAChD;;;;;;;;;OASG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC,CAAC;AAkBF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,GAAG,CACd,UAAU,SAAS,cAAc,CAAC,QAAQ,CAAC,EAC3C,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAChE,MAAM,SAAS,KAAK,GAAG,KAAK,CAC5B,YAAW,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;IAEtD,OAAO,CAAC,QAAQ,CAAsB;IACtC,iDAAiD;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IACvD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGjC;IACF,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;IAC3E,+CAA+C;IAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,+CAA+C;IAC/C,OAAO,CAAC,KAAK,CAA6C;IAC1D,yEAAyE;IACzE,OAAO,CAAC,cAAc,CAA6C;IACnE;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IACF,2EAA2E;IAC3E,SAAgB,QAAQ,EAAE,QAAQ,CAChC,UAAU,EACV,OAAO,EACP,QAAQ,EACR,MAAM,SAAS,GAAG,MAAM,CACzB,CAAC;IACF,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EACpE,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GACzD,OAAO,CAUT;IAED;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAMnB;;;OAGG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAClE,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CACR,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KACvD,IAAI,GACR,IAAI,CAGN;IAED;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EACnE,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CACR,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KACvD,IAAI,GACR,IAAI,CAGN;IAED,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4C;IAC5E;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoC;IACpE,kEAAkE;IAClE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;IACxC,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAElE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC;gFAC4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IAEnD,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAExD,gFAAgF;IAChF,IAAI,KAAK,IAAI,aAAa,CAAC,UAAU,CAAC,CAErC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YACE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,EAC3E,MAAM,GAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAa,EACrD,cAAc,GAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAa,EAC1D,OAAO,GAAE,UAAe,EACxB,KAAK,GAAE,aAAa,CAAC,UAAU,CAAM,EACrC,QAAQ,GAAE,OAAoB,EA+D/B;IAED;;;;OAIG;IACH,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAgB9B,wEAAwE;IACxE,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reaction-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/reaction-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"reaction-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/reaction-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,KAAK,KAAK,EAIV,KAAK,MAAM,EAIX,KAAK,OAAO,EACb,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,MAAM,SAAS,KAAK,GAAG,KAAK,IAC1B;IACF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;CACnE,CAAC;AAoDF;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAsFhE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,SAAS,OAAO,EACxD,MAAM,EAAE,MAAM,GACb,WAAW,CAAC,OAAO,CAAC,CAsCtB"}
|
|
@@ -42,6 +42,12 @@
|
|
|
42
42
|
import { z } from "zod";
|
|
43
43
|
import type { ActOptions } from "../act.js";
|
|
44
44
|
import type { ActionOptions, BackoffOptions, DrainOptions, FoldOptions, LaneConfig, ReactionOptions, SettleOptions, ShutdownOptions } from "../types/index.js";
|
|
45
|
+
/**
|
|
46
|
+
* Retry pacing for a reaction that declares no backoff. Ten seconds matches
|
|
47
|
+
* the default lease, which used to pace these retries. The lease now only
|
|
48
|
+
* keeps two workers off one stream; retry timing belongs to the reaction.
|
|
49
|
+
*/
|
|
50
|
+
export declare const DEFAULT_BACKOFF: BackoffOptions;
|
|
45
51
|
/** Validate a backoff bag, or pass `undefined` through. Throws `ZodError`. */
|
|
46
52
|
export declare function resolveBackoffConfig(options: BackoffOptions | undefined): BackoffOptions | undefined;
|
|
47
53
|
/** Retries a reaction gets before it blocks, unless `.do()` says otherwise. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/internal/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,12 @@ export type CorrelateCycleDeps<TSchemaReg extends SchemaRegister<TActions>, TEve
|
|
|
47
47
|
* claimant, so correlate reroutes it here.
|
|
48
48
|
*/
|
|
49
49
|
declared_lanes: ReadonlySet<string>;
|
|
50
|
+
/**
|
|
51
|
+
* The lanes this worker drains, set only when `onlyLanes` leaves some
|
|
52
|
+
* declared lane out. Workers on different shards are not interchangeable,
|
|
53
|
+
* so each shard gets its own correlation lease.
|
|
54
|
+
*/
|
|
55
|
+
shard?: ReadonlyArray<string>;
|
|
50
56
|
on_init?: () => void;
|
|
51
57
|
on_init_async?: () => Promise<void>;
|
|
52
58
|
cold_start_back_scan?: number;
|
|
@@ -131,7 +137,7 @@ export declare class CorrelateCycle<TSchemaReg extends SchemaRegister<TActions>,
|
|
|
131
137
|
* module: `internal/` holds no module-level state.
|
|
132
138
|
*/
|
|
133
139
|
private readonly _reported;
|
|
134
|
-
constructor({ registry, static_targets, cd, max_subscribed_streams, declared_lanes, on_init, on_init_async, cold_start_back_scan, lease_millis, }: CorrelateCycleDeps<TSchemaReg, TEvents, TActions>);
|
|
140
|
+
constructor({ registry, static_targets, cd, max_subscribed_streams, declared_lanes, shard, on_init, on_init_async, cold_start_back_scan, lease_millis, }: CorrelateCycleDeps<TSchemaReg, TEvents, TActions>);
|
|
135
141
|
/** Last correlated event id. */
|
|
136
142
|
get checkpoint(): number;
|
|
137
143
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlate-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/correlate-cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAEV,KAAK,EACL,QAAQ,EACR,cAAc,EACd,OAAO,EAER,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"correlate-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/correlate-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,15 +8,10 @@
|
|
|
8
8
|
* at the earliest pending due-time, garbage-collecting the entries that have
|
|
9
9
|
* come due.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* `defer` outcome that holds a stream pending without advancing the
|
|
16
|
-
* watermark or bumping `retry`.
|
|
17
|
-
* - the autoclose controller — to schedule its next eligibility check at the
|
|
18
|
-
* precise time an `after`-style cooldown elapses, instead of a blind
|
|
19
|
-
* fixed-interval sweep.
|
|
11
|
+
* The {@link "drain-cycle".DrainController} rides it for per-reaction
|
|
12
|
+
* backoff (a retry's `next_attempt_at`) and for the `defer` outcome, which
|
|
13
|
+
* holds a stream pending without advancing the watermark or bumping `retry`.
|
|
14
|
+
* The wake runs a drain, and the drain re-schedules the timer when it ends.
|
|
20
15
|
*
|
|
21
16
|
* Lives in process memory, per worker — the same per-worker pacing trade-off
|
|
22
17
|
* documented for backoff. Durability comes from the data the due-time is
|
|
@@ -35,9 +30,8 @@ export declare class DeferTimer {
|
|
|
35
30
|
private readonly _on_wake;
|
|
36
31
|
/**
|
|
37
32
|
* @param on_wake - invoked once each time the earliest due-time elapses,
|
|
38
|
-
* after the come-due entries have been removed.
|
|
39
|
-
*
|
|
40
|
-
* tick).
|
|
33
|
+
* after the come-due entries have been removed. The consumer re-schedules
|
|
34
|
+
* for whatever is still parked.
|
|
41
35
|
*/
|
|
42
36
|
constructor(on_wake: () => void);
|
|
43
37
|
/** Number of currently parked streams. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defer-timer.d.ts","sourceRoot":"","sources":["../../../src/internal/defer-timer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"defer-timer.d.ts","sourceRoot":"","sources":["../../../src/internal/defer-timer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAkBH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA6B;IAClD,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IAEtC;;;;OAIG;IACH,YAAY,OAAO,EAAE,MAAM,IAAI,EAE9B;IAED,0CAA0C;IAC1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,WAAW,WAAY,MAAM,KAAG,OAAO,CAGrC;IAEF;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAEpC;IAED,6EAA6E;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;;;OAOG;IACH,QAAQ,IAAI,IAAI,CA4Bf;IAED,+EAA+E;IAC/E,IAAI,IAAI,IAAI,CAKX;CACF"}
|
|
@@ -130,8 +130,11 @@ export declare class DrainController<TEvents extends Schemas, TActions extends S
|
|
|
130
130
|
private _ratio;
|
|
131
131
|
/**
|
|
132
132
|
* Local wake for streams this worker parked (backoff or defer). The
|
|
133
|
-
* schedule itself is persisted in the store; this
|
|
134
|
-
*
|
|
133
|
+
* schedule itself is persisted in the store; this runs the drain at the
|
|
134
|
+
* earliest pending visit. A parked stream already carries its mark, so
|
|
135
|
+
* the drain alone finds it, and on an idle app nothing else would.
|
|
136
|
+
* `stop()` cancels the timer and a stopped drain never re-schedules it,
|
|
137
|
+
* so a wake never runs after a stop.
|
|
135
138
|
*/
|
|
136
139
|
private readonly _defer;
|
|
137
140
|
/** Worker timer. Set when `start()` is active, undefined otherwise. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drain-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/drain-cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,KAAK,EACL,YAAY,EAEZ,KAAK,EACL,MAAM,EAEN,eAAe,EACf,QAAQ,EACR,cAAc,EACd,OAAO,EACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"drain-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/drain-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export { compute_backoff_delay } from "./backoff.js";
|
|
|
23
23
|
export { CircuitBreaker, type CircuitState } from "./circuit-breaker.js";
|
|
24
24
|
export { CLOSE_CATCH_UP_LIMIT, CloseLock, catch_up_correlation, run_close_cycle, } from "./close-cycle.js";
|
|
25
25
|
export { CloseSignal } from "./close-signal.js";
|
|
26
|
-
export { type AutocloseConfig, type CircuitBreakerOptions, DEFAULT_AUTOCLOSE_CYCLE_MINUTES, DEFAULT_BLOCK_ON_ERROR, DEFAULT_CLOSE_BATCH_SIZE, DEFAULT_CLOSE_YIELD_MS, DEFAULT_MAX_RETRIES, DEFAULT_MAX_SUBSCRIBED_STREAMS, DEFAULT_SETTLE_DEBOUNCE_MS, DEFAULT_SHUTDOWN_GRACE_MS, type FoldConfig, MAX_SHUTDOWN_GRACE_MS, resolveActConfig, resolveActionConfig, resolveAutocloseConfig, resolveCircuitBreakerConfig, resolveDrainConfig, resolveFoldConfig, resolveLaneConfig, resolveReactionConfig, resolveSettleConfig, resolveShutdownConfig, } from "./config.js";
|
|
26
|
+
export { type AutocloseConfig, type CircuitBreakerOptions, DEFAULT_AUTOCLOSE_CYCLE_MINUTES, DEFAULT_BACKOFF, DEFAULT_BLOCK_ON_ERROR, DEFAULT_CLOSE_BATCH_SIZE, DEFAULT_CLOSE_YIELD_MS, DEFAULT_MAX_RETRIES, DEFAULT_MAX_SUBSCRIBED_STREAMS, DEFAULT_SETTLE_DEBOUNCE_MS, DEFAULT_SHUTDOWN_GRACE_MS, type FoldConfig, MAX_SHUTDOWN_GRACE_MS, resolveActConfig, resolveActionConfig, resolveAutocloseConfig, resolveCircuitBreakerConfig, resolveDrainConfig, resolveFoldConfig, resolveLaneConfig, resolveReactionConfig, resolveSettleConfig, resolveShutdownConfig, } from "./config.js";
|
|
27
27
|
export type { StaticTarget } from "./correlate-cycle.js";
|
|
28
28
|
export { CorrelateCycle } from "./correlate-cycle.js";
|
|
29
29
|
export { close_correlation, default_correlator } from "./correlator.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,KAAK,eAAe,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,UAAU,EACf,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,SAAS,EACd,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,KAAK,eAAe,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,+BAA+B,EAC/B,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,UAAU,EACf,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,sBAAsB,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,SAAS,EACd,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -147,9 +147,9 @@ export type LaneConfig<TName extends string = string> = {
|
|
|
147
147
|
* @property blockOnError - Whether to block on error.
|
|
148
148
|
* @property maxRetries - Retries after the first attempt: a failing stream
|
|
149
149
|
* is attempted `maxRetries + 1` times before it blocks.
|
|
150
|
-
* @property backoff - Optional retry pacing. When omitted, a retry
|
|
151
|
-
*
|
|
152
|
-
*
|
|
150
|
+
* @property backoff - Optional retry pacing. When omitted, a retry waits a
|
|
151
|
+
* fixed 10 seconds. Either way, no worker re-attempts the stream before
|
|
152
|
+
* the delay; the lease never sets retry timing.
|
|
153
153
|
*/
|
|
154
154
|
export type ReactionOptions = {
|
|
155
155
|
readonly blockOnError: boolean;
|
package/dist/index.cjs
CHANGED
|
@@ -2494,6 +2494,10 @@ var BackoffOptionsSchema = import_zod6.z.object({
|
|
|
2494
2494
|
maxMs: import_zod6.z.number().gt(0).optional(),
|
|
2495
2495
|
jitter: import_zod6.z.boolean().optional()
|
|
2496
2496
|
});
|
|
2497
|
+
var DEFAULT_BACKOFF = {
|
|
2498
|
+
strategy: "fixed",
|
|
2499
|
+
baseMs: 1e4
|
|
2500
|
+
};
|
|
2497
2501
|
var DEFAULT_MAX_RETRIES = 3;
|
|
2498
2502
|
var DEFAULT_BLOCK_ON_ERROR = true;
|
|
2499
2503
|
var ReactionOptionsSchema = import_zod6.z.object({
|
|
@@ -3296,13 +3300,14 @@ var CorrelateCycle = class {
|
|
|
3296
3300
|
cd,
|
|
3297
3301
|
max_subscribed_streams,
|
|
3298
3302
|
declared_lanes,
|
|
3303
|
+
shard,
|
|
3299
3304
|
on_init,
|
|
3300
3305
|
on_init_async,
|
|
3301
3306
|
cold_start_back_scan = DEFAULT_COLD_START_BACK_SCAN,
|
|
3302
3307
|
lease_millis = DEFAULT_CORRELATION_LEASE_MS
|
|
3303
3308
|
}) {
|
|
3304
3309
|
this._lease_millis = lease_millis;
|
|
3305
|
-
this._key = registry_key(registry.events);
|
|
3310
|
+
this._key = shard ? `${registry_key(registry.events)}:${[...shard].sort().join(",")}` : registry_key(registry.events);
|
|
3306
3311
|
this._dynamic_subscriptions = new LruMap(max_subscribed_streams);
|
|
3307
3312
|
this._registry = registry;
|
|
3308
3313
|
this._declared_lanes = declared_lanes;
|
|
@@ -3698,9 +3703,8 @@ var DeferTimer = class {
|
|
|
3698
3703
|
_on_wake;
|
|
3699
3704
|
/**
|
|
3700
3705
|
* @param on_wake - invoked once each time the earliest due-time elapses,
|
|
3701
|
-
* after the come-due entries have been removed.
|
|
3702
|
-
*
|
|
3703
|
-
* tick).
|
|
3706
|
+
* after the come-due entries have been removed. The consumer re-schedules
|
|
3707
|
+
* for whatever is still parked.
|
|
3704
3708
|
*/
|
|
3705
3709
|
constructor(on_wake) {
|
|
3706
3710
|
this._on_wake = on_wake;
|
|
@@ -3753,14 +3757,9 @@ var DeferTimer = class {
|
|
|
3753
3757
|
this._timer = setTimeout(() => {
|
|
3754
3758
|
this._timer = void 0;
|
|
3755
3759
|
const now = Date.now();
|
|
3756
|
-
let came_due = false;
|
|
3757
3760
|
for (const [stream, at] of this._due)
|
|
3758
|
-
if (at <= now)
|
|
3759
|
-
this._due.delete(stream);
|
|
3760
|
-
came_due = true;
|
|
3761
|
-
}
|
|
3761
|
+
if (at <= now) this._due.delete(stream);
|
|
3762
3762
|
this._on_wake();
|
|
3763
|
-
if (!came_due && this._due.size > 0) this.schedule();
|
|
3764
3763
|
}, delay);
|
|
3765
3764
|
this._timer.unref();
|
|
3766
3765
|
}
|
|
@@ -4477,7 +4476,7 @@ async function run_drain_cycle(deps, cycle) {
|
|
|
4477
4476
|
handled: 0,
|
|
4478
4477
|
acked_at: lease.at,
|
|
4479
4478
|
error,
|
|
4480
|
-
...block2 ? { block: true } : {}
|
|
4479
|
+
...block2 ? { block: true } : { next_attempt_at: Date.now() + DEFAULT_BACKOFF.baseMs }
|
|
4481
4480
|
};
|
|
4482
4481
|
return Promise.resolve(failed);
|
|
4483
4482
|
}
|
|
@@ -4525,11 +4524,15 @@ var DrainController = class {
|
|
|
4525
4524
|
_ratio = 0.5;
|
|
4526
4525
|
/**
|
|
4527
4526
|
* Local wake for streams this worker parked (backoff or defer). The
|
|
4528
|
-
* schedule itself is persisted in the store; this
|
|
4529
|
-
*
|
|
4527
|
+
* schedule itself is persisted in the store; this runs the drain at the
|
|
4528
|
+
* earliest pending visit. A parked stream already carries its mark, so
|
|
4529
|
+
* the drain alone finds it, and on an idle app nothing else would.
|
|
4530
|
+
* `stop()` cancels the timer and a stopped drain never re-schedules it,
|
|
4531
|
+
* so a wake never runs after a stop.
|
|
4530
4532
|
*/
|
|
4531
4533
|
_defer = new DeferTimer(() => {
|
|
4532
4534
|
this._armed = true;
|
|
4535
|
+
void this._deps.run_scoped(() => this.drain());
|
|
4533
4536
|
});
|
|
4534
4537
|
/** Worker timer. Set when `start()` is active, undefined otherwise. */
|
|
4535
4538
|
_worker;
|
|
@@ -4617,13 +4620,13 @@ var DrainController = class {
|
|
|
4617
4620
|
async drain(options = {}) {
|
|
4618
4621
|
if (!this._armed) return EMPTY_DRAIN;
|
|
4619
4622
|
if (this._locked) return EMPTY_DRAIN;
|
|
4620
|
-
if (this._deps.breaker.state(Date.now()) === "open")
|
|
4621
|
-
return EMPTY_DRAIN;
|
|
4622
4623
|
const d = this._deps.defaults ?? {};
|
|
4623
4624
|
const streamLimit = d.streamLimit ?? options.streamLimit ?? DEFAULT_STREAM_LIMIT;
|
|
4624
4625
|
const eventLimit = d.eventLimit ?? options.eventLimit ?? DEFAULT_EVENT_LIMIT;
|
|
4625
4626
|
const leaseMillis = d.leaseMillis ?? options.leaseMillis ?? DEFAULT_LEASE_MILLIS;
|
|
4626
4627
|
try {
|
|
4628
|
+
if (this._deps.breaker.state(Date.now()) === "open")
|
|
4629
|
+
return EMPTY_DRAIN;
|
|
4627
4630
|
this._locked = true;
|
|
4628
4631
|
this._inflight = new Promise((done) => {
|
|
4629
4632
|
this._inflight_done = done;
|
|
@@ -4641,7 +4644,6 @@ var DrainController = class {
|
|
|
4641
4644
|
if (!cycle) {
|
|
4642
4645
|
this._deps.breaker.passed();
|
|
4643
4646
|
this._armed = false;
|
|
4644
|
-
if (this._defer.size > 0) this._defer.schedule();
|
|
4645
4647
|
return EMPTY_DRAIN;
|
|
4646
4648
|
}
|
|
4647
4649
|
const { leased, fetched, handled, acked, blocked, closeable } = cycle;
|
|
@@ -4650,11 +4652,9 @@ var DrainController = class {
|
|
|
4650
4652
|
for (const lease of acked) this._defer.delete(lease.stream);
|
|
4651
4653
|
for (const lease of blocked) this._defer.delete(lease.stream);
|
|
4652
4654
|
for (const h of handled) {
|
|
4653
|
-
const
|
|
4654
|
-
const next = h.defer ?? retry_at;
|
|
4655
|
+
const next = h.defer ?? h.next_attempt_at;
|
|
4655
4656
|
if (next !== void 0) this._defer.set(h.lease.stream, next);
|
|
4656
4657
|
}
|
|
4657
|
-
if (this._defer.size > 0) this._defer.schedule();
|
|
4658
4658
|
if (acked.length) this._deps.on_acked(acked);
|
|
4659
4659
|
if (closeable.length) await this._deps.on_close(closeable);
|
|
4660
4660
|
this._deps.breaker.passed();
|
|
@@ -4665,6 +4665,7 @@ var DrainController = class {
|
|
|
4665
4665
|
this._deps.breaker.failed(Date.now(), error);
|
|
4666
4666
|
return EMPTY_DRAIN;
|
|
4667
4667
|
} finally {
|
|
4668
|
+
if (!this._stopped) this._defer.schedule();
|
|
4668
4669
|
this._locked = false;
|
|
4669
4670
|
this._inflight = void 0;
|
|
4670
4671
|
this._inflight_done?.();
|
|
@@ -4870,7 +4871,7 @@ function finalize(lease, handled, at, error, options, logger, failed_at) {
|
|
|
4870
4871
|
logger.error(
|
|
4871
4872
|
non_retryable ? `Blocking ${lease.stream} on non-retryable error.` : `Blocking ${lease.stream} after ${lease.retry} retries.`
|
|
4872
4873
|
);
|
|
4873
|
-
const next_attempt_at =
|
|
4874
|
+
const next_attempt_at = block2 ? void 0 : Date.now() + compute_backoff_delay(lease.retry, options.backoff ?? DEFAULT_BACKOFF);
|
|
4874
4875
|
return {
|
|
4875
4876
|
lease,
|
|
4876
4877
|
handled,
|
|
@@ -5306,6 +5307,8 @@ var Act = class {
|
|
|
5306
5307
|
// Declared lanes (not active ones): a lane another process claims is
|
|
5307
5308
|
// still a valid destination.
|
|
5308
5309
|
declared_lanes: new Set(this._declared_lanes),
|
|
5310
|
+
// Built after the controllers, so their keys are the active lanes.
|
|
5311
|
+
shard: this._drain_controllers.size < this._declared_lanes.length ? [...this._drain_controllers.keys()] : void 0,
|
|
5309
5312
|
on_init: () => {
|
|
5310
5313
|
if (this._drain && this._reactive_events.size > 0) this._arm_all();
|
|
5311
5314
|
},
|
|
@@ -6002,11 +6005,11 @@ var Act = class {
|
|
|
6002
6005
|
});
|
|
6003
6006
|
}
|
|
6004
6007
|
/**
|
|
6005
|
-
* Atomically wipe the store and rebuild it from an
|
|
6006
|
-
*
|
|
6007
|
-
* `
|
|
6008
|
-
*
|
|
6009
|
-
*
|
|
6008
|
+
* Atomically wipe the store and rebuild it from an event source. The
|
|
6009
|
+
* framework owns iteration, validation, `drop_snapshots` filtering,
|
|
6010
|
+
* `on_progress`, and the per-call `old → new` causation remap; the
|
|
6011
|
+
* adapter's {@link Store.restore} driver supplies the transaction
|
|
6012
|
+
* lifecycle and per-event insert.
|
|
6010
6013
|
*
|
|
6011
6014
|
* Throws if the adapter has no restore capability. Throws on the
|
|
6012
6015
|
* first invalid event (negative version, malformed `created`) with
|
|
@@ -6014,33 +6017,30 @@ var Act = class {
|
|
|
6014
6017
|
* the adapter means a failing restore leaves the store byte-for-byte
|
|
6015
6018
|
* unchanged.
|
|
6016
6019
|
*
|
|
6017
|
-
* @param source -
|
|
6018
|
-
* rather than buffered so
|
|
6019
|
-
* Each event's original `id`
|
|
6020
|
-
* never written through —
|
|
6020
|
+
* @param source - Any {@link EventSource}: a `CsvFile` backup or
|
|
6021
|
+
* another store. Read in batches rather than buffered, so
|
|
6022
|
+
* multi-million-event backups don't OOM. Each event's original `id`
|
|
6023
|
+
* is used as a causation lookup key but never written through —
|
|
6024
|
+
* adapters renumber densely.
|
|
6021
6025
|
* @param opts - {@link ScanOptions}. `drop_snapshots` skips
|
|
6022
6026
|
* `__snapshot__` events (counted in the result); `on_progress`
|
|
6023
6027
|
* fires once per event.
|
|
6028
|
+
* @param sink - Where the events land. Defaults to this Act's store.
|
|
6024
6029
|
* @returns {@link ScanResult} with `kept`, `duration_ms`, and
|
|
6025
6030
|
* `dropped` per-category counters.
|
|
6026
6031
|
*
|
|
6027
|
-
* @example
|
|
6032
|
+
* @example Restore a CSV backup into the connected store
|
|
6028
6033
|
* ```typescript
|
|
6029
|
-
*
|
|
6030
|
-
* for (const line of blob.split("\n").slice(1)) {
|
|
6031
|
-
* const [id, name, data, stream, version, created, meta] = parse(line);
|
|
6032
|
-
* yield {
|
|
6033
|
-
* id: +id, name, data: JSON.parse(data), stream,
|
|
6034
|
-
* version: +version, created: new Date(created),
|
|
6035
|
-
* meta: JSON.parse(meta),
|
|
6036
|
-
* };
|
|
6037
|
-
* }
|
|
6038
|
-
* }
|
|
6039
|
-
* const result = await app.restore(parseCsv(csvBlob), {});
|
|
6034
|
+
* const result = await app.restore(new CsvFile({ path: "./backup.csv" }));
|
|
6040
6035
|
* console.log(`Restored ${result.kept} events in ${result.duration_ms}ms`);
|
|
6041
6036
|
* await cache().clear(); // operator's responsibility
|
|
6042
6037
|
* ```
|
|
6043
6038
|
*
|
|
6039
|
+
* @example Copy one store into another
|
|
6040
|
+
* ```typescript
|
|
6041
|
+
* await app.restore(pg, {}, sqlite);
|
|
6042
|
+
* ```
|
|
6043
|
+
*
|
|
6044
6044
|
* @see {@link Store.restore} for the underlying driver-pattern primitive.
|
|
6045
6045
|
*/
|
|
6046
6046
|
async restore(source, opts = {}, sink) {
|