@rotorsoft/act 1.33.15 → 1.33.17
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/dist/.tsbuildinfo +1 -1
- package/dist/@types/act.d.ts +6 -0
- package/dist/@types/act.d.ts.map +1 -1
- package/dist/@types/adapters/in-memory-store.d.ts +1 -2
- package/dist/@types/adapters/in-memory-store.d.ts.map +1 -1
- package/dist/@types/internal/close-cycle.d.ts +9 -19
- package/dist/@types/internal/close-cycle.d.ts.map +1 -1
- package/dist/@types/internal/correlate-cycle.d.ts +11 -4
- package/dist/@types/internal/correlate-cycle.d.ts.map +1 -1
- package/dist/@types/internal/correlation-id.d.ts +2 -9
- package/dist/@types/internal/correlation-id.d.ts.map +1 -1
- package/dist/@types/internal/date-reviver.d.ts +5 -15
- package/dist/@types/internal/date-reviver.d.ts.map +1 -1
- package/dist/@types/internal/defer-config.d.ts +3 -3
- package/dist/@types/internal/drain-cycle.d.ts +4 -1
- package/dist/@types/internal/drain-cycle.d.ts.map +1 -1
- package/dist/@types/internal/pii.d.ts +11 -36
- package/dist/@types/internal/pii.d.ts.map +1 -1
- package/dist/@types/internal/report-once.d.ts +14 -35
- package/dist/@types/internal/report-once.d.ts.map +1 -1
- package/dist/@types/internal/settle.d.ts +2 -8
- package/dist/@types/internal/settle.d.ts.map +1 -1
- package/dist/@types/internal/tracing.d.ts +2 -3
- package/dist/@types/internal/tracing.d.ts.map +1 -1
- package/dist/{chunk-E5H3NRCT.js → chunk-5KTVG7IM.js} +28 -37
- package/dist/chunk-5KTVG7IM.js.map +1 -0
- package/dist/{chunk-EN2KFJ7W.cjs → chunk-J6QMZEQF.cjs} +34 -43
- package/dist/chunk-J6QMZEQF.cjs.map +1 -0
- package/dist/index.cjs +158 -128
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +42 -12
- package/dist/index.js.map +1 -1
- package/dist/test/index.cjs +3 -3
- package/dist/test/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-E5H3NRCT.js.map +0 -1
- package/dist/chunk-EN2KFJ7W.cjs.map +0 -1
package/dist/@types/act.d.ts
CHANGED
|
@@ -424,6 +424,12 @@ export declare class Act<TSchemaReg extends SchemaRegister<TActions>, TEvents ex
|
|
|
424
424
|
* adapter's {@link Store.restore} driver supplies the transaction
|
|
425
425
|
* lifecycle and per-event insert.
|
|
426
426
|
*
|
|
427
|
+
* Safe in a live process: restoring into this Act's own store waits
|
|
428
|
+
* for its correlate passes in flight, replaces the log, then restarts
|
|
429
|
+
* correlation and settles. A correlate pass that starts meanwhile
|
|
430
|
+
* reads nothing. Other processes on the same store keep their
|
|
431
|
+
* correlation state and must be restarted.
|
|
432
|
+
*
|
|
427
433
|
* Throws if the adapter has no restore capability. Throws on the
|
|
428
434
|
* first invalid event (negative version, malformed `created`) with
|
|
429
435
|
* the running index in the message; atomic transaction rollback in
|
package/dist/@types/act.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,8 +55,7 @@ export declare class InMemoryStore implements Store {
|
|
|
55
55
|
dispose(): Promise<void>;
|
|
56
56
|
seed(): Promise<void>;
|
|
57
57
|
drop(): Promise<void>;
|
|
58
|
-
private
|
|
59
|
-
private _stream_matches;
|
|
58
|
+
private _in_query;
|
|
60
59
|
/** Index of the stream's latest snapshot, or -1; an explicit `after` wins. */
|
|
61
60
|
private _snap_floor;
|
|
62
61
|
query<E extends Schemas>(callback: (event: Committed<E, keyof E>) => void, query?: Query): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/adapters/in-memory-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,EACP,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/adapters/in-memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,23 +34,9 @@ export type CloseCycleDeps = {
|
|
|
34
34
|
* it, tests set a small value to exercise the multi-page path.
|
|
35
35
|
*/
|
|
36
36
|
readonly probe_page_size?: number;
|
|
37
|
-
/**
|
|
38
|
-
* Advance correlation to at least `until` (an event id) and return how
|
|
39
|
-
* far it actually got.
|
|
40
|
-
*
|
|
41
|
-
* The safety probe can only judge events correlate has resolved (an
|
|
42
|
-
* uncorrelated event has raised no mark and may not even have created its
|
|
43
|
-
* subscription yet). An autoclose fires from its own, often uncorrelated,
|
|
44
|
-
* trigger, so the cycle correlates the tail first; anything still above
|
|
45
|
-
* the cursor is held back as pending.
|
|
46
|
-
*/
|
|
37
|
+
/** See {@link catch_up_correlation}. */
|
|
47
38
|
readonly catch_up_correlation: (until: number) => Promise<number>;
|
|
48
|
-
/**
|
|
49
|
-
* Per-stream critical section, so two closers of one stream (a manual
|
|
50
|
-
* close has no drain lease to exclude an autoclose) never archive the same
|
|
51
|
-
* prefix, and a second full closer never mistakes the first one's
|
|
52
|
-
* tombstone for an interrupted close. Identity when run in isolation.
|
|
53
|
-
*/
|
|
39
|
+
/** See {@link CloseLock}; identity when run in isolation. */
|
|
54
40
|
readonly with_stream_lock?: <T>(stream: string, work: () => Promise<T>) => Promise<T>;
|
|
55
41
|
/**
|
|
56
42
|
* Drop retired streams from correlate's in-process "already subscribed"
|
|
@@ -64,7 +50,9 @@ export type CloseCycleDeps = {
|
|
|
64
50
|
/**
|
|
65
51
|
* Advance correlation until the read cursor reaches `until`, and report
|
|
66
52
|
* where it landed. The safety probe cannot judge a subscription's pending
|
|
67
|
-
* work over events correlate has not resolved yet
|
|
53
|
+
* work over events correlate has not resolved yet, and an autoclose often
|
|
54
|
+
* fires from an uncorrelated trigger; anything still above the cursor is
|
|
55
|
+
* held back as pending.
|
|
68
56
|
*
|
|
69
57
|
* Stops as soon as a pass makes no progress (the log has no more to give),
|
|
70
58
|
* and after {@link CLOSE_CATCH_UP_PASSES} windows.
|
|
@@ -75,8 +63,10 @@ export declare function catch_up_correlation(cursor: {
|
|
|
75
63
|
}, correlate: (limit: number) => Promise<unknown>, until: number): Promise<number>;
|
|
76
64
|
/**
|
|
77
65
|
* Per-stream serialization for close critical sections: two closers of the
|
|
78
|
-
* same stream never prune or archive concurrently
|
|
79
|
-
*
|
|
66
|
+
* same stream never prune or archive concurrently (a manual close has no
|
|
67
|
+
* drain lease to exclude an autoclose), and a second full closer never
|
|
68
|
+
* mistakes the first one's tombstone for an interrupted close. Different
|
|
69
|
+
* streams proceed in parallel. One instance per Act.
|
|
80
70
|
*/
|
|
81
71
|
export declare class CloseLock {
|
|
82
72
|
private readonly _tails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/close-cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,MAAM,EAEN,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC
|
|
1
|
+
{"version":3,"file":"close-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/close-cycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,MAAM,EAEN,KAAK,EACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wCAAwC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KACnB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC1D,CAAC;AAUF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,IAAI,IAAI,CAAA;CAAE,EACpD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,oEAAoE;IACpE,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAYzD;CACF;AA8BD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,WAAW,EAAE,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,WAAW,CAAC,CA+BtB"}
|
|
@@ -58,10 +58,13 @@ export declare class CorrelateCycle<TSchemaReg extends SchemaRegister<TActions>,
|
|
|
58
58
|
private _raised;
|
|
59
59
|
private _lowered;
|
|
60
60
|
/**
|
|
61
|
-
* Bumped by a release (shutdown)
|
|
62
|
-
*
|
|
61
|
+
* Bumped by a release (shutdown), so a scan or lease reply that was out
|
|
62
|
+
* across one writes nothing.
|
|
63
63
|
*/
|
|
64
64
|
private _epoch;
|
|
65
|
+
/** Passes in flight: a restore waits for them, and refuses new ones. */
|
|
66
|
+
private readonly _passes;
|
|
67
|
+
private _restoring;
|
|
65
68
|
private _init_promise;
|
|
66
69
|
private readonly _dynamic_subscriptions;
|
|
67
70
|
private readonly _static_subscriptions;
|
|
@@ -79,8 +82,11 @@ export declare class CorrelateCycle<TSchemaReg extends SchemaRegister<TActions>,
|
|
|
79
82
|
arm(): void;
|
|
80
83
|
private _init;
|
|
81
84
|
private _run_init;
|
|
82
|
-
/**
|
|
83
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Replace the log with no pass in flight, then cold-start: a pass that
|
|
87
|
+
* read the old log writes before the restore, never into the new one.
|
|
88
|
+
*/
|
|
89
|
+
restart(restore: () => Promise<void>): Promise<void>;
|
|
84
90
|
/** Forget dynamic targets whose rows a full close deleted, so they re-subscribe. */
|
|
85
91
|
forget_subscribed(streams: Iterable<string>): void;
|
|
86
92
|
/** Would the target's own `fetch` (filtered by `source`) return this event? */
|
|
@@ -92,6 +98,7 @@ export declare class CorrelateCycle<TSchemaReg extends SchemaRegister<TActions>,
|
|
|
92
98
|
* explicit `app.correlate()` scans now, since `close` loops on it.
|
|
93
99
|
*/
|
|
94
100
|
lease?: boolean): Promise<CorrelatePass>;
|
|
101
|
+
private _scan;
|
|
95
102
|
/**
|
|
96
103
|
* Read the row of each target this scan had no record of (new or evicted),
|
|
97
104
|
* so a resolution that doesn't beat its priority keeps the row's lane.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlate-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/correlate-cycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"correlate-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/correlate-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* The default produces a readable, time-monotonic-within-window, lowercase
|
|
5
|
-
* id like `coun-incr-lwxk9p3a` — short enough to scan in logs, structured
|
|
6
|
-
* enough to identify the originating state/action, and well-distributed
|
|
7
|
-
* enough that competing-consumer workers don't collide.
|
|
8
|
-
*
|
|
9
|
-
* Apps override via {@link ActOptions.correlator} to plug in any scheme
|
|
10
|
-
* (tenant-prefixed, trace-id-propagated, DB-sequence-backed, etc.).
|
|
2
|
+
* The default correlation-id generator. Apps plug in their own scheme
|
|
3
|
+
* through {@link ActOptions.correlator}.
|
|
11
4
|
*/
|
|
12
5
|
import type { Actor, Correlator } from "../types/index.js";
|
|
13
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlation-id.d.ts","sourceRoot":"","sources":["../../../src/internal/correlation-id.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"correlation-id.d.ts","sourceRoot":"","sources":["../../../src/internal/correlation-id.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAU3D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB,EAAE,UAMhC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,GACX,MAAM,CAOR"}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Turning stored text back into `Date`s, driven by the declared schema.
|
|
3
3
|
*
|
|
4
|
-
* JSON has no date type, so a `Date` is stored as its ISO form
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* there are none to revive.
|
|
10
|
-
*
|
|
11
|
-
* Sits beside the other schema utilities rather than inside the event builder,
|
|
12
|
-
* which composes it: `event_tags` asks for one reviver for an event's `data`
|
|
13
|
-
* and another for the sensitive fields held in its `pii` sidecar. One function
|
|
14
|
-
* is the whole interface — how a Zod schema is taken apart stays in here.
|
|
15
|
-
*
|
|
16
|
-
* The shape-based {@link dateReviver} in `utils.ts` is the predecessor this
|
|
17
|
-
* replaced — it revived anything ISO-8601-looking, including fields declared
|
|
18
|
-
* `z.string()`.
|
|
4
|
+
* JSON has no date type, so a `Date` is stored as its ISO form. Which fields
|
|
5
|
+
* to revive is a property of the Zod schema, so this module takes a schema
|
|
6
|
+
* and returns one that revives its dates (or `undefined` when there are
|
|
7
|
+
* none); it knows nothing about events. A field declared `z.string()` stays
|
|
8
|
+
* a string even when it looks like an ISO date.
|
|
19
9
|
*/
|
|
20
10
|
import { z } from "zod";
|
|
21
11
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-reviver.d.ts","sourceRoot":"","sources":["../../../src/internal/date-reviver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"date-reviver.d.ts","sourceRoot":"","sources":["../../../src/internal/date-reviver.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA6CxB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,SAAS,CAwD1E"}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* same due-time, which is what makes a defer correct across restarts and
|
|
13
13
|
* competing workers.
|
|
14
14
|
*
|
|
15
|
-
* Validation follows the config-schema standard
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* Validation follows the config-schema standard
|
|
16
|
+
* (`.claude/rules/config-validation.md`): an internal `*OptionsSchema`
|
|
17
|
+
* const, a public inferred type, and a resolver.
|
|
18
18
|
*/
|
|
19
19
|
import type { Committed, DeferWhen, Schemas } from "../types/index.js";
|
|
20
20
|
/**
|
|
@@ -90,7 +90,10 @@ export declare class DrainController<TEvents extends Schemas, TActions extends S
|
|
|
90
90
|
/** This lane's configured lease, or `undefined`; the shutdown grace basis. */
|
|
91
91
|
get lease_millis(): number | undefined;
|
|
92
92
|
get lane(): string | undefined;
|
|
93
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Drains every `cycleMs` while armed; the unref'd timer never holds the
|
|
95
|
+
* process. Called once, when the controller is built.
|
|
96
|
+
*/
|
|
94
97
|
start(cycleMs: number): void;
|
|
95
98
|
stop(): void;
|
|
96
99
|
drain(options?: DrainOptions): Promise<Drain<TEvents>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drain-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/drain-cycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"drain-cycle.d.ts","sourceRoot":"","sources":["../../../src/internal/drain-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,13 +6,9 @@
|
|
|
6
6
|
import type { Actor, Committed, Schemas } from "../types/index.js";
|
|
7
7
|
/**
|
|
8
8
|
* Split an emitted event's `data` into `data` (non-sensitive) + `pii`
|
|
9
|
-
* (sensitive) using the field list precomputed at build time.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Single forward pass over `Object.keys(validated)` — same shape as the
|
|
13
|
-
* spread-and-delete-free implementation in slice 3, just hoisted out of the
|
|
14
|
-
* orchestrator hot path so it's only invoked when the State actually has a
|
|
15
|
-
* sensitive event.
|
|
9
|
+
* (sensitive) using the field list precomputed at build time. Called by the
|
|
10
|
+
* state's `message` hook (`event-builder.ts`) on the way to `Store.commit`,
|
|
11
|
+
* and only for events that declare sensitive fields.
|
|
16
12
|
*/
|
|
17
13
|
export declare function pii_split<TName, TData extends Record<string, unknown>>(emitted: {
|
|
18
14
|
name: TName;
|
|
@@ -23,39 +19,18 @@ export declare function pii_split<TName, TData extends Record<string, unknown>>(
|
|
|
23
19
|
pii: Record<string, unknown>;
|
|
24
20
|
};
|
|
25
21
|
/**
|
|
26
|
-
* A prebuilt per-event read gate:
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* actor-aware `load` / `do`-return view (which pass the reader). Non-sensitive
|
|
31
|
-
* events use the shared {@link IDENTITY_GATE}; sensitive events use a redactor
|
|
32
|
-
* built by {@link make_gate} that closes over the field list and the state's
|
|
33
|
-
* disclosure predicate, so the read path never recomputes the sensitive-field
|
|
34
|
-
* lookup nor allocates per event.
|
|
35
|
-
*
|
|
36
|
-
* The `actor` is optional so the actor-less surfaces can call `gate(event)`.
|
|
22
|
+
* A prebuilt per-event read gate: the event as the reading actor may see
|
|
23
|
+
* it. The builder prebuilds one per event for every read surface; the
|
|
24
|
+
* actor-less `query` / `query_array` pass no actor (default-deny), `load`
|
|
25
|
+
* and `do`'s reply pass the reader.
|
|
37
26
|
*/
|
|
38
27
|
export type EventGate = <TEvents extends Schemas, TKey extends keyof TEvents>(event: Committed<TEvents, TKey>, actor?: Actor) => Committed<TEvents, TKey>;
|
|
39
|
-
/**
|
|
40
|
-
* Shared zero-cost gate for every event with no `sensitive(...)` fields — a
|
|
41
|
-
* single frozen reference the builder hands back for non-sensitive events, so
|
|
42
|
-
* the common path is one `Map` miss and an identity call, no allocation. This
|
|
43
|
-
* is the "by default, return the event" half of the prebuilt per-event gate.
|
|
44
|
-
*/
|
|
28
|
+
/** The gate for every event with no sensitive fields: no allocation. */
|
|
45
29
|
export declare const IDENTITY_GATE: EventGate;
|
|
46
30
|
/**
|
|
47
|
-
* Prebuild a
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* - `predicate = null` (the actor-less `query` surfaces, or a state that never
|
|
52
|
-
* declared `.discloses`) → default-deny: declared fields come back
|
|
53
|
-
* {@link REDACTED} (or {@link SHREDDED} once the pii column is forgotten).
|
|
54
|
-
* - `predicate` set + an authorized actor → plaintext merged into `data`.
|
|
55
|
-
*
|
|
56
|
-
* Either way the isolated `pii` sidecar is dropped. The builder stores one gate
|
|
57
|
-
* per sensitive event (per state for the load path; predicate-less for the
|
|
58
|
-
* query path); non-sensitive events fall back to {@link IDENTITY_GATE}.
|
|
31
|
+
* Prebuild a sensitive event's read gate: its field list and disclosure
|
|
32
|
+
* predicate are captured once, and {@link pii_gate} applies them per read
|
|
33
|
+
* (`predicate = null` is the default-deny of the actor-less surfaces).
|
|
59
34
|
*/
|
|
60
35
|
export declare function make_gate(fields: readonly string[], predicate: ((event: any, actor: Actor) => boolean) | null): EventGate;
|
|
61
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pii.d.ts","sourceRoot":"","sources":["../../../src/internal/pii.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGnE
|
|
1
|
+
{"version":3,"file":"pii.d.ts","sourceRoot":"","sources":["../../../src/internal/pii.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGnE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,OAAO,EAAE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAE,EACrC,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAU5D;AAkDD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,OAAO,EAAE,IAAI,SAAS,MAAM,OAAO,EAC1E,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAC/B,KAAK,CAAC,EAAE,KAAK,KACV,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAE9B,wEAAwE;AACxE,eAAO,MAAM,aAAa,EAAE,SAA4B,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,GAAG,IAAI,GACxD,SAAS,CAEX;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CACvB,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,MAAM,OAAO,GAAG,MAAM,EAEnC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAC/B,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAe1B"}
|
|
@@ -1,43 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* One-shot reporting for a misdeclaration
|
|
3
|
-
*
|
|
2
|
+
* One-shot reporting for a misdeclaration a build-time guard can't see: a
|
|
3
|
+
* `.to(fn)` target, lane or priority is only known once an event arrives,
|
|
4
|
+
* so correlate and drain apply those rules and report what breaks them.
|
|
5
|
+
* A resolver fires for every matching event, so reporting once per
|
|
6
|
+
* declaration is what keeps the log readable.
|
|
4
7
|
*
|
|
5
|
-
* The
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The key is the whole design: build it only from what the declaration
|
|
9
|
+
* names (handler, event, lane, a static target), never from a value a
|
|
10
|
+
* resolver computed. A resolved target is the trap: the per-aggregate shape
|
|
11
|
+
* `.to(e => ({ target: e.stream }))` would turn one typo into one line per
|
|
12
|
+
* aggregate. Runtime values still belong in the message, as the example.
|
|
10
13
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* line per event on a busy stream. Reporting once per offending declaration is
|
|
14
|
-
* what makes the message readable.
|
|
15
|
-
*
|
|
16
|
-
* Which makes the key the whole design. It may only be built from things the
|
|
17
|
-
* *declaration* names — handler names, event names, lane names, a statically
|
|
18
|
-
* declared target — and never from a value a resolver computed at runtime.
|
|
19
|
-
* A resolved target is the trap: the documented per-aggregate shape is
|
|
20
|
-
* `.to(e => ({target: e.stream}))`, so a target-keyed report dedups nothing
|
|
21
|
-
* across aggregates and one typo scales into one line per aggregate — the
|
|
22
|
-
* unbounded volume this module exists to prevent. Runtime values
|
|
23
|
-
* still belong in the *message*, as the concrete example that turns "a
|
|
24
|
-
* reaction misdeclared its lane" into something an operator can go look at.
|
|
25
|
-
*
|
|
26
|
-
* Never throws. A throw inside correlate pins the checkpoint for the whole app;
|
|
27
|
-
* inside drain it reaches the circuit breaker as a store failure and
|
|
28
|
-
* stalls every stream.
|
|
14
|
+
* Never throws: a throw in correlate pins the checkpoint for the whole app,
|
|
15
|
+
* and in drain it reaches the breaker as a store failure.
|
|
29
16
|
*/
|
|
30
17
|
/**
|
|
31
|
-
* Report `message` the first time `key` is seen
|
|
32
|
-
*
|
|
33
|
-
* `seen` belongs to the calling pipeline and is passed in, so a resolver
|
|
34
|
-
* firing for every matching event still reports once without this module
|
|
35
|
-
* remembering anything between calls — `internal/` holds no module state.
|
|
36
|
-
*
|
|
37
|
-
* @param seen - The caller's set of already-reported keys. Mutated.
|
|
38
|
-
* @param key - Identifies the offending declaration, not the occurrence —
|
|
39
|
-
* declared identifiers only, never a runtime-resolved target.
|
|
40
|
-
* @param message - Wrapped in an `Error` so the logger renders a stack.
|
|
18
|
+
* Report `message` the first time `key` is seen. `seen` belongs to the
|
|
19
|
+
* caller, since `internal/` holds no module state.
|
|
41
20
|
*/
|
|
42
21
|
export declare function report_once(seen: Set<string>, key: string, message: string): void;
|
|
43
22
|
//# sourceMappingURL=report-once.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-once.d.ts","sourceRoot":"","sources":["../../../src/internal/report-once.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"report-once.d.ts","sourceRoot":"","sources":["../../../src/internal/report-once.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,IAAI,CAIN"}
|
|
@@ -16,17 +16,11 @@ import type { CorrelatePass } from "./correlate-cycle.js";
|
|
|
16
16
|
* independently testable.
|
|
17
17
|
*/
|
|
18
18
|
export type SettleDeps<TEvents extends Schemas> = {
|
|
19
|
-
/** Scans from
|
|
19
|
+
/** Scans from correlation's own checkpoint. */
|
|
20
20
|
readonly correlate: (query: Query) => Promise<CorrelatePass>;
|
|
21
21
|
readonly drain: (options: DrainOptions) => Promise<Drain<TEvents>>;
|
|
22
22
|
readonly on_settled: (drain: Drain<TEvents>) => void;
|
|
23
|
-
/**
|
|
24
|
-
* Shared orchestrator circuit breaker. The settle loop's
|
|
25
|
-
* `correlate` (subscribe + query) is a store consumer too: a successful
|
|
26
|
-
* pass records `passed()`, a failed one `failed(now, err)` — feeding the
|
|
27
|
-
* same breaker that paces the drain loop, which also surfaces the failure
|
|
28
|
-
* to the `error` lifecycle event.
|
|
29
|
-
*/
|
|
23
|
+
/** The shared breaker: settle records correlate's store outcome on it. */
|
|
30
24
|
readonly breaker: CircuitBreaker;
|
|
31
25
|
};
|
|
32
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/internal/settle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,KAAK,EACL,OAAO,EACP,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,OAAO,IAAI;IAChD
|
|
1
|
+
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../../../src/internal/settle.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,YAAY,EACZ,KAAK,EACL,OAAO,EACP,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,OAAO,IAAI;IAChD,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7D,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACrD,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,OAAO;IAC7C,OAAO,CAAC,MAAM,CAAwD;IACtE;;;OAGG;IACH,OAAO,CAAC,SAAS,CAA4B;IAC7C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAS;IACzB,wDAAwD;IACxD,OAAO,CAAC,KAAK,CAAwC;IACrD,gDAAgD;IAChD,OAAO,CAAC,IAAI,CAAK;IACjB,gDAAgD;IAChD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,+FAA+F;IAC/F,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAE9C,YAAY,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAGjE;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAsEtC;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAExC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,UAAQ,GAAG,IAAI,CAUxB;CACF"}
|
|
@@ -4,9 +4,8 @@
|
|
|
4
4
|
* Trace decorators wrap a bare implementation with `logger.trace(...)` calls
|
|
5
5
|
* at well-defined moments — entry points for {@link "event-sourcing"} (`load`,
|
|
6
6
|
* `snap`, `action`) and exit points for the {@link "drain"} pipeline (`claim`,
|
|
7
|
-
* `fetch`, `ack`, `block`, `subscribe`). `action`
|
|
8
|
-
*
|
|
9
|
-
* mid-function trace points.
|
|
7
|
+
* `fetch`, `ack`, `block`, `subscribe`). `action` logs both on entry and
|
|
8
|
+
* after its commit.
|
|
10
9
|
*
|
|
11
10
|
* Output styles:
|
|
12
11
|
* - **Pretty mode** (`config().env !== "production"`) — event-sourcing logs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/internal/tracing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../../src/internal/tracing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAEV,UAAU,EACV,MAAM,EACN,OAAO,EACP,OAAO,EACR,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AA+HjD;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,EACd,UAAU,GAAE,UAA+B,EAC3C,QAAQ,GAAE,OAAuB,GAChC,KAAK,CA4FP;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,OAAO,EACjD,MAAM,EAAE,MAAM,GACb,QAAQ,CAAC,OAAO,CAAC,CAoCnB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,OAAO,SAAS,OAAO,EACjD,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,EACF,OAAO,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC;KAC9B,CAAC,CAAC;CACJ,CAAC,EACF,OAAO,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC,EACF,KAAK,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,OAAO,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1E,IAAI,CAwDN"}
|
|
@@ -512,6 +512,11 @@ var InMemoryStream = class {
|
|
|
512
512
|
return true;
|
|
513
513
|
}
|
|
514
514
|
};
|
|
515
|
+
var name_test = (pattern, exact) => {
|
|
516
|
+
if (exact) return (name) => name === pattern;
|
|
517
|
+
const re = new RegExp(pattern);
|
|
518
|
+
return (name) => re.test(name);
|
|
519
|
+
};
|
|
515
520
|
var InMemoryStore = class {
|
|
516
521
|
_events = [];
|
|
517
522
|
// Never reused. Deletions punch holes, so ids are not array indexes.
|
|
@@ -570,19 +575,19 @@ var InMemoryStore = class {
|
|
|
570
575
|
this._reset_indexes();
|
|
571
576
|
this._streams = /* @__PURE__ */ new Map();
|
|
572
577
|
}
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
578
|
+
_in_query(query) {
|
|
579
|
+
const stream_ok = query.stream ? name_test(query.stream, query.stream_exact) : void 0;
|
|
580
|
+
return (e) => {
|
|
581
|
+
if (stream_ok && !stream_ok(e.stream)) return false;
|
|
582
|
+
if (query.names && !query.names.includes(e.name)) return false;
|
|
583
|
+
if (query.correlation && e.meta?.correlation !== query.correlation)
|
|
584
|
+
return false;
|
|
585
|
+
if (e.name === SNAP_EVENT && !query.with_snaps) return false;
|
|
586
|
+
if (query.created_after && e.created <= query.created_after) return false;
|
|
587
|
+
if (query.created_before && e.created >= query.created_before)
|
|
588
|
+
return false;
|
|
589
|
+
return true;
|
|
590
|
+
};
|
|
586
591
|
}
|
|
587
592
|
/** Index of the stream's latest snapshot, or -1; an explicit `after` wins. */
|
|
588
593
|
_snap_floor(query) {
|
|
@@ -600,10 +605,11 @@ var InMemoryStore = class {
|
|
|
600
605
|
const lo = floor >= 0 ? floor : this._first_index_after(query?.after ?? -1);
|
|
601
606
|
const hi = query?.before !== void 0 ? this._first_index_after(query.before - 1) : this._events.length;
|
|
602
607
|
const with_pii = query?.with_pii !== false;
|
|
608
|
+
const in_query = this._in_query(query ?? {});
|
|
603
609
|
let count = 0;
|
|
604
610
|
for (let k = 0; k < hi - lo; k++) {
|
|
605
611
|
const e = this._events[query?.backward ? hi - 1 - k : lo + k];
|
|
606
|
-
if (!
|
|
612
|
+
if (!in_query(e)) continue;
|
|
607
613
|
await Promise.resolve(
|
|
608
614
|
callback(this._with_pii(e, with_pii))
|
|
609
615
|
);
|
|
@@ -753,18 +759,12 @@ var InMemoryStore = class {
|
|
|
753
759
|
return [...this._streams.values()].filter(this._filter_predicate(input));
|
|
754
760
|
}
|
|
755
761
|
_filter_predicate(filter) {
|
|
756
|
-
const
|
|
757
|
-
const
|
|
762
|
+
const stream_ok = filter.stream !== void 0 ? name_test(filter.stream, filter.stream_exact) : void 0;
|
|
763
|
+
const source_ok = filter.source !== void 0 ? name_test(filter.source, filter.source_exact) : void 0;
|
|
758
764
|
return (s) => {
|
|
759
|
-
if (
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
}
|
|
763
|
-
if (filter.source !== void 0) {
|
|
764
|
-
if (s.source === void 0) return false;
|
|
765
|
-
if (filter.source_exact ? s.source !== filter.source : !source_re.test(s.source))
|
|
766
|
-
return false;
|
|
767
|
-
}
|
|
765
|
+
if (stream_ok && !stream_ok(s.stream)) return false;
|
|
766
|
+
if (source_ok && (s.source === void 0 || !source_ok(s.source)))
|
|
767
|
+
return false;
|
|
768
768
|
if (filter.blocked !== void 0 && s.blocked !== filter.blocked)
|
|
769
769
|
return false;
|
|
770
770
|
if (filter.lane !== void 0 && s.lane !== filter.lane) return false;
|
|
@@ -848,21 +848,12 @@ var InMemoryStore = class {
|
|
|
848
848
|
const after = options?.after;
|
|
849
849
|
const limit = options?.limit;
|
|
850
850
|
const array_targets = Array.isArray(input) ? new Set(input) : null;
|
|
851
|
-
const
|
|
852
|
-
const stream_re = filter?.stream !== void 0 && !filter.stream_exact ? new RegExp(filter.stream) : void 0;
|
|
851
|
+
const stream_ok = !Array.isArray(input) && input.stream !== void 0 ? name_test(input.stream, input.stream_exact) : void 0;
|
|
853
852
|
const scope_cache = /* @__PURE__ */ new Map();
|
|
854
853
|
const in_scope = (stream) => {
|
|
855
854
|
const cached = scope_cache.get(stream);
|
|
856
855
|
if (cached !== void 0) return cached;
|
|
857
|
-
|
|
858
|
-
if (array_targets) {
|
|
859
|
-
ok = array_targets.has(stream);
|
|
860
|
-
} else if (filter?.stream !== void 0) {
|
|
861
|
-
ok = filter.stream_exact ? stream === filter.stream : (
|
|
862
|
-
// stream_re set when stream is regex
|
|
863
|
-
stream_re.test(stream)
|
|
864
|
-
);
|
|
865
|
-
}
|
|
856
|
+
const ok = array_targets ? array_targets.has(stream) : stream_ok?.(stream) ?? true;
|
|
866
857
|
scope_cache.set(stream, ok);
|
|
867
858
|
return ok;
|
|
868
859
|
};
|
|
@@ -1215,4 +1206,4 @@ export {
|
|
|
1215
1206
|
disposeAndExit,
|
|
1216
1207
|
dispose
|
|
1217
1208
|
};
|
|
1218
|
-
//# sourceMappingURL=chunk-
|
|
1209
|
+
//# sourceMappingURL=chunk-5KTVG7IM.js.map
|