@rotorsoft/act 1.32.30 → 1.33.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.
- package/README.md +0 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/act.d.ts +96 -385
- package/dist/@types/act.d.ts.map +1 -1
- package/dist/@types/adapters/in-memory-store.d.ts.map +1 -1
- package/dist/@types/builders/act-builder.d.ts +2 -115
- package/dist/@types/builders/act-builder.d.ts.map +1 -1
- package/dist/@types/builders/builder-utils.d.ts +1 -1
- package/dist/@types/builders/builder-utils.d.ts.map +1 -1
- package/dist/@types/builders/event-builder.d.ts +5 -5
- package/dist/@types/builders/event-builder.d.ts.map +1 -1
- package/dist/@types/builders/merge.d.ts +1 -1
- package/dist/@types/builders/merge.d.ts.map +1 -1
- package/dist/@types/builders/projection-builder.d.ts +2 -144
- package/dist/@types/builders/projection-builder.d.ts.map +1 -1
- package/dist/@types/builders/slice-builder.d.ts +2 -71
- package/dist/@types/builders/slice-builder.d.ts.map +1 -1
- package/dist/@types/builders/state-builder.d.ts +2 -376
- package/dist/@types/builders/state-builder.d.ts.map +1 -1
- package/dist/@types/config.d.ts +6 -43
- package/dist/@types/config.d.ts.map +1 -1
- package/dist/@types/csv.d.ts +1 -15
- package/dist/@types/csv.d.ts.map +1 -1
- package/dist/@types/index.d.ts +0 -1
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/@types/internal/autoclose-policy.d.ts +1 -59
- package/dist/@types/internal/autoclose-policy.d.ts.map +1 -1
- package/dist/@types/internal/autoclose-reaction.d.ts +1 -2
- package/dist/@types/internal/autoclose-reaction.d.ts.map +1 -1
- package/dist/@types/internal/autoclose-window.d.ts +1 -1
- package/dist/@types/internal/autoclose-window.d.ts.map +1 -1
- package/dist/@types/internal/circuit-breaker.d.ts +1 -2
- package/dist/@types/internal/circuit-breaker.d.ts.map +1 -1
- package/dist/@types/{builders/build-classify.d.ts → internal/classify.d.ts} +2 -15
- package/dist/@types/internal/classify.d.ts.map +1 -0
- package/dist/@types/internal/close-cycle.d.ts.map +1 -1
- package/dist/@types/internal/config.d.ts +2 -42
- package/dist/@types/internal/config.d.ts.map +1 -1
- package/dist/@types/internal/correlate-cycle.d.ts +1 -1
- package/dist/@types/internal/correlate-cycle.d.ts.map +1 -1
- package/dist/@types/internal/{correlator.d.ts → correlation-id.d.ts} +1 -1
- package/dist/@types/internal/correlation-id.d.ts.map +1 -0
- package/dist/@types/internal/defer-config.d.ts.map +1 -1
- package/dist/@types/internal/drain-cycle.d.ts +1 -1
- package/dist/@types/internal/drain-cycle.d.ts.map +1 -1
- package/dist/@types/internal/{drain.d.ts → drain-ops.d.ts} +1 -1
- package/dist/@types/internal/drain-ops.d.ts.map +1 -0
- package/dist/@types/internal/event-sourcing.d.ts +1 -8
- package/dist/@types/internal/event-sourcing.d.ts.map +1 -1
- package/dist/@types/internal/{sensitive.d.ts → pii.d.ts} +4 -71
- package/dist/@types/internal/pii.d.ts.map +1 -0
- package/dist/@types/internal/projection-fold.d.ts +1 -2
- package/dist/@types/internal/projection-fold.d.ts.map +1 -1
- package/dist/@types/internal/{close-signal.d.ts → reaction-dispatch.d.ts} +47 -2
- package/dist/@types/internal/reaction-dispatch.d.ts.map +1 -0
- package/dist/@types/internal/report-once.d.ts +1 -1
- package/dist/@types/internal/settle.d.ts +21 -12
- package/dist/@types/internal/settle.d.ts.map +1 -1
- package/dist/@types/internal/tracing.d.ts +3 -3
- package/dist/@types/internal/tracing.d.ts.map +1 -1
- package/dist/@types/ports.d.ts +3 -43
- package/dist/@types/ports.d.ts.map +1 -1
- package/dist/@types/scoped.d.ts +1 -6
- package/dist/@types/scoped.d.ts.map +1 -1
- package/dist/@types/sensitive.d.ts +56 -0
- package/dist/@types/sensitive.d.ts.map +1 -0
- package/dist/@types/test/index.d.ts +1 -0
- package/dist/@types/test/index.d.ts.map +1 -1
- package/dist/@types/test/sandbox.d.ts +2 -26
- package/dist/@types/test/sandbox.d.ts.map +1 -1
- package/dist/@types/types/act.d.ts +214 -0
- package/dist/@types/types/act.d.ts.map +1 -0
- package/dist/@types/types/action.d.ts +69 -2
- package/dist/@types/types/action.d.ts.map +1 -1
- package/dist/@types/types/builders.d.ts +721 -0
- package/dist/@types/types/builders.d.ts.map +1 -0
- package/dist/@types/types/errors.d.ts +31 -1
- package/dist/@types/types/errors.d.ts.map +1 -1
- package/dist/@types/types/index.d.ts +38 -0
- package/dist/@types/types/index.d.ts.map +1 -1
- package/dist/@types/types/ports.d.ts +20 -18
- package/dist/@types/types/ports.d.ts.map +1 -1
- package/dist/@types/types/reaction.d.ts +11 -1
- package/dist/@types/types/reaction.d.ts.map +1 -1
- package/dist/@types/types/sandbox.d.ts +31 -0
- package/dist/@types/types/sandbox.d.ts.map +1 -0
- package/dist/@types/types/schemas.d.ts +12 -17
- package/dist/@types/types/schemas.d.ts.map +1 -1
- package/dist/chunk-NNWP65YM.cjs +264 -0
- package/dist/chunk-NNWP65YM.cjs.map +1 -0
- package/dist/{chunk-X3MMQIIP.js → chunk-NYH6FNTM.js} +174 -22
- package/dist/chunk-NYH6FNTM.js.map +1 -0
- package/dist/{chunk-HHKLVRR4.js → chunk-TJ4JRRUR.js} +38 -57
- package/dist/chunk-TJ4JRRUR.js.map +1 -0
- package/dist/chunk-YKL44PYX.cjs +1233 -0
- package/dist/chunk-YKL44PYX.cjs.map +1 -0
- package/dist/index.cjs +1954 -3440
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +911 -1063
- package/dist/index.js.map +1 -1
- package/dist/test/index.cjs +16 -1113
- package/dist/test/index.cjs.map +1 -1
- package/dist/test/index.js +2 -2
- package/dist/test/index.js.map +1 -1
- package/dist/types/index.cjs +58 -276
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.js +15 -1
- package/package.json +2 -2
- package/dist/@types/builders/build-classify.d.ts.map +0 -1
- package/dist/@types/builders/builder-base.d.ts +0 -70
- package/dist/@types/builders/builder-base.d.ts.map +0 -1
- package/dist/@types/builders/reaction-builder.d.ts +0 -55
- package/dist/@types/builders/reaction-builder.d.ts.map +0 -1
- package/dist/@types/internal/close-signal.d.ts.map +0 -1
- package/dist/@types/internal/correlator.d.ts.map +0 -1
- package/dist/@types/internal/defer-signal.d.ts +0 -32
- package/dist/@types/internal/defer-signal.d.ts.map +0 -1
- package/dist/@types/internal/drain.d.ts.map +0 -1
- package/dist/@types/internal/index.d.ts +0 -38
- package/dist/@types/internal/index.d.ts.map +0 -1
- package/dist/@types/internal/sensitive.d.ts.map +0 -1
- package/dist/chunk-HHKLVRR4.js.map +0 -1
- package/dist/chunk-X3MMQIIP.js.map +0 -1
package/dist/@types/act.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/act.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/adapters/in-memory-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/adapters/in-memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,118 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* @category Builders
|
|
4
|
-
*
|
|
5
|
-
* Fluent builder for composing event-sourced applications.
|
|
6
|
-
*/
|
|
7
|
-
import { Act, type ActOptions } from "../act.js";
|
|
8
|
-
import { type DEFAULT_LANE } from "../ports.js";
|
|
9
|
-
import type { Actor, LaneConfig, Schema, SchemaRegister, Schemas, State } from "../types/index.js";
|
|
10
|
-
import type { BuilderBase } from "./builder-base.js";
|
|
11
|
-
import type { Slice } from "./slice-builder.js";
|
|
12
|
-
/**
|
|
13
|
-
* Fluent builder interface for composing event-sourced applications.
|
|
14
|
-
*
|
|
15
|
-
* Provides a chainable API for:
|
|
16
|
-
* - Registering states via `.withState()`
|
|
17
|
-
* - Registering slices via `.withSlice()`
|
|
18
|
-
* - Registering projections via `.withProjection()`
|
|
19
|
-
* - Locking a custom actor type via `.withActor<TActor>()`
|
|
20
|
-
* - Declaring drain lanes via `.withLane({name, ...})`
|
|
21
|
-
* - Defining event reactions via `.on()` → `.do()` → `.to()`
|
|
22
|
-
* - Building the orchestrator via `.build()`
|
|
23
|
-
*
|
|
24
|
-
* @template TSchemaReg - Schema register for states (maps action names to state schemas)
|
|
25
|
-
* @template TEvents - Event schemas (maps event names to event data schemas)
|
|
26
|
-
* @template TActions - Action schemas (maps action names to action payload schemas)
|
|
27
|
-
* @template TStateMap - Map of state names to state schemas
|
|
28
|
-
* @template TActor - Actor type extending base Actor
|
|
29
|
-
* @template TLanes - Union of declared lane names. Narrowed by
|
|
30
|
-
* `.withLane({name})` calls so `.to({lane})` and `ActOptions.onlyLanes`
|
|
31
|
-
* reject typos at compile time. Starts at `"default"`.
|
|
32
|
-
*
|
|
33
|
-
* @see {@link act} for usage examples
|
|
34
|
-
* @see {@link Act} for the built orchestrator API
|
|
35
|
-
*/
|
|
36
|
-
export interface ActBuilder<TSchemaReg extends SchemaRegister<TActions>, TEvents extends Schemas, TActions extends Schemas, TStateMap extends Record<string, Schema> = {}, TActor extends Actor = Actor, TLanes extends string = typeof DEFAULT_LANE> extends BuilderBase<ActBuilder<TSchemaReg, TEvents, TActions, TStateMap, TActor, TLanes>, TEvents, TActions, TActor, TLanes> {
|
|
37
|
-
/**
|
|
38
|
-
* Registers a state definition with the builder.
|
|
39
|
-
*
|
|
40
|
-
* State names, action names, and event names must be unique across the
|
|
41
|
-
* application (partial states with the same name are merged automatically).
|
|
42
|
-
*
|
|
43
|
-
* @throws {Error} If duplicate action or event names are detected
|
|
44
|
-
*/
|
|
45
|
-
withState: <TNewState extends Schema, TNewEvents extends Schemas, TNewActions extends Schemas, TNewName extends string = string>(state: State<TNewState, TNewEvents, TNewActions, TNewName>) => ActBuilder<TSchemaReg & {
|
|
46
|
-
[K in keyof TNewActions]: TNewState;
|
|
47
|
-
}, TEvents & TNewEvents, TActions & TNewActions, TStateMap & {
|
|
48
|
-
[K in TNewName]: TNewState;
|
|
49
|
-
}, TActor, TLanes>;
|
|
50
|
-
/**
|
|
51
|
-
* Registers a slice with the builder.
|
|
52
|
-
*
|
|
53
|
-
* Merges all the slice's states and reactions into the application.
|
|
54
|
-
* State names, action names, and event names must be unique across the
|
|
55
|
-
* application (partial states with the same name are merged automatically).
|
|
56
|
-
*
|
|
57
|
-
* @throws {Error} If duplicate action or event names are detected
|
|
58
|
-
*/
|
|
59
|
-
withSlice: <TNewSchemaReg extends SchemaRegister<TNewActions>, TNewEvents extends Schemas, TNewActions extends Schemas, TNewMap extends Record<string, Schema>, TNewLanes extends string>(slice: Slice<TNewSchemaReg, TNewEvents, TNewActions, TNewMap, Actor, TNewLanes>) => ActBuilder<TSchemaReg & TNewSchemaReg, TEvents & TNewEvents, TActions & TNewActions, TStateMap & TNewMap, TActor, TLanes | TNewLanes>;
|
|
60
|
-
/**
|
|
61
|
-
* Locks a custom actor type for this application.
|
|
62
|
-
*
|
|
63
|
-
* This is a pure type-level method — it returns the same builder at
|
|
64
|
-
* runtime but narrows the `TActor` generic so that `app.do()` and
|
|
65
|
-
* reaction dispatchers require the richer actor shape.
|
|
66
|
-
*
|
|
67
|
-
* @template TNewActor - Custom actor type extending base Actor
|
|
68
|
-
* @returns The same builder with `TActor` locked to `TNewActor`
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* type MyActor = { id: string; name: string; role: string; tenantId: string };
|
|
73
|
-
*
|
|
74
|
-
* const app = act()
|
|
75
|
-
* .withActor<MyActor>()
|
|
76
|
-
* .withState(Counter)
|
|
77
|
-
* .build();
|
|
78
|
-
*
|
|
79
|
-
* // Now app.do() requires MyActor in the target
|
|
80
|
-
* await app.do("increment", {
|
|
81
|
-
* stream: "counter-1",
|
|
82
|
-
* actor: { id: "1", name: "Alice", role: "admin", tenantId: "t1" }
|
|
83
|
-
* }, { by: 5 });
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
withActor: <TNewActor extends Actor>() => ActBuilder<TSchemaReg, TEvents, TActions, TStateMap, TNewActor, TLanes>;
|
|
87
|
-
/**
|
|
88
|
-
* Declares a drain lane. Lane name narrows `TLanes` so
|
|
89
|
-
* `.to({lane})` and `ActOptions.onlyLanes` type-check against it.
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```typescript
|
|
93
|
-
* const app = act()
|
|
94
|
-
* .withState(Counter)
|
|
95
|
-
* .withLane({ name: "slow", leaseMillis: 60_000, streamLimit: 5 })
|
|
96
|
-
* .on("OrderConfirmed")
|
|
97
|
-
* .do(deliverWebhook)
|
|
98
|
-
* .to({ target: "webhooks-out", lane: "slow" })
|
|
99
|
-
* .build();
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
withLane: <const TConfig extends LaneConfig>(config: TConfig) => ActBuilder<TSchemaReg, TEvents, TActions, TStateMap, TActor, TLanes | TConfig["name"]>;
|
|
103
|
-
/**
|
|
104
|
-
* Builds and returns the Act orchestrator instance.
|
|
105
|
-
*
|
|
106
|
-
* @param options - Optional runtime overrides (see {@link ActOptions}).
|
|
107
|
-
* `options.onlyLanes` is narrowed to the declared `TLanes` union, so
|
|
108
|
-
* `onlyLanes: ["typo"]` is a compile error when the lane wasn't
|
|
109
|
-
* declared via `.withLane(...)`.
|
|
110
|
-
* @returns The Act orchestrator instance
|
|
111
|
-
*
|
|
112
|
-
* @see {@link Act} for available orchestrator methods
|
|
113
|
-
*/
|
|
114
|
-
build: (options?: ActOptions<TLanes>) => Act<TSchemaReg, TEvents, TActions, TStateMap, TActor>;
|
|
115
|
-
}
|
|
1
|
+
import type { ActBuilder } from "../types/builders.js";
|
|
2
|
+
import type { Actor, Schema, SchemaRegister, Schemas } from "../types/index.js";
|
|
116
3
|
/**
|
|
117
4
|
* Creates a new Act orchestrator builder for composing event-sourced applications.
|
|
118
5
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"act-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/act-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"act-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/act-builder.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAEV,KAAK,EAKL,MAAM,EACN,cAAc,EACd,OAAO,EAER,MAAM,mBAAmB,CAAC;AA8B3B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,GAAG,CAEjB,UAAU,SAAS,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,EAChD,OAAO,SAAS,OAAO,GAAG,EAAE,EAC5B,QAAQ,SAAS,OAAO,GAAG,EAAE,EAC7B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAC7C,MAAM,SAAS,KAAK,GAAG,KAAK,KACzB,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAyWhE"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @internal
|
|
13
13
|
*/
|
|
14
|
-
import { type DeferSchedule } from "../internal/
|
|
14
|
+
import { type DeferSchedule } from "../internal/defer-config.js";
|
|
15
15
|
import type { Committed, EventRegister, LaneConfig, ReactionHandler, ReactionOptions, ReactionResolver, Schemas } from "../types/index.js";
|
|
16
16
|
/**
|
|
17
17
|
* Validate and register a drain lane: the `"default"` name is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-utils.d.ts","sourceRoot":"","sources":["../../../src/builders/builder-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"builder-utils.d.ts","sourceRoot":"","sources":["../../../src/builders/builder-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,UAAU,EAEV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,OAAO,EACR,MAAM,mBAAmB,CAAC;AAI3B;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAM3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,MAAM,OAAO,EAC1B,QAAQ,EACR,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ;IA2C5D,EAAE,YACS,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,YAC7B,OAAO,CAAC,eAAe,CAAC;qBAVrB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,MAAM;;IAYvD,KAAK,aAAa,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,EAAE,YACS,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,YAC7B,OAAO,CAAC,eAAe,CAAC;;;;EAIzC"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Everything `act().build()` derives from the registered events.
|
|
6
6
|
*
|
|
7
|
-
* This is the build-time half of the event lifecycle.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* composed from. Nothing here runs per event at runtime; everything here runs
|
|
7
|
+
* This is the build-time half of the event lifecycle. The other two halves
|
|
8
|
+
* are the `sensitive(...)` marker (`sensitive.ts`) and the runtime
|
|
9
|
+
* transforms (`pii_gate`, `pii_strip`, `pii_split`, in `internal/pii.ts`)
|
|
10
|
+
* that a reader is composed from. Nothing here runs per event at runtime; everything here runs
|
|
11
11
|
* once, at build, and hands the orchestrator a prebuilt function.
|
|
12
12
|
*
|
|
13
13
|
* Three things are derived, all in ONE walk over the registered events:
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* @internal
|
|
32
32
|
*/
|
|
33
33
|
import { z } from "zod";
|
|
34
|
-
import { type EventGate } from "../internal/
|
|
34
|
+
import { type EventGate } from "../internal/pii.js";
|
|
35
35
|
import type { LaneConfig, Registry } from "../types/index.js";
|
|
36
36
|
/** What one pass over an event's schema resolves. @internal */
|
|
37
37
|
export type EventTags = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/event-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"event-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/event-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAS,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGrE,+DAA+D;AAC/D,MAAM,MAAM,SAAS,GAAG;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAChE;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CACpE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,GAAG,SAAS,CA2BvD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAqD5C;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACnD,kEAAkE;IAClE,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,oEAAoE;IACpE,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClD,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACrD,CAAC;AAOF;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACjC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAChC,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,EAChC,MAAM,EAAE,YAAY,GACnB,WAAW,CAkHb"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { Projection } from "../types/builders.js";
|
|
1
2
|
import type { State } from "../types/index.js";
|
|
2
|
-
import type { Projection } from "./projection-builder.js";
|
|
3
3
|
/**
|
|
4
4
|
* Registers a state into a states map and action/event registries,
|
|
5
5
|
* merging with existing same-name states (partial state support).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/builders/merge.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/builders/merge.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,mBAAmB,CAAC;AA0EvD;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,IAAI,CAON;AAuMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,EAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GAC1D,IAAI,CAcN;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC1B,IAAI,CA+BN;AAGD,eAAO,MAAM,MAAM,eAAgB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;IACnD,MAAM;IACN,MAAM;CACN,CAAC"}
|
|
@@ -1,146 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* @category Builders
|
|
4
|
-
*
|
|
5
|
-
* Fluent builder for composing projection handlers — read-model updaters
|
|
6
|
-
* that react to events and update external state (databases, caches, etc.).
|
|
7
|
-
*
|
|
8
|
-
* Projections differ from slices: they don't contain states, don't dispatch
|
|
9
|
-
* actions, and are pure side-effect handlers routed to a named stream.
|
|
10
|
-
*/
|
|
11
|
-
import type { ZodType } from "zod";
|
|
12
|
-
import { type FoldConfig } from "../internal/index.js";
|
|
13
|
-
import type { BatchHandler, CacheEntry, Committed, EventRegister, FoldOptions, ReactionResolver, Schema, Schemas, State } from "../types/index.js";
|
|
14
|
-
/**
|
|
15
|
-
* A self-contained projection grouping read-model update handlers.
|
|
16
|
-
* Projections are composed into an Act orchestrator via `act().withProjection(projection)`.
|
|
17
|
-
*
|
|
18
|
-
* @template TEvents - Event schemas handled by this projection
|
|
19
|
-
*/
|
|
20
|
-
export type Projection<TEvents extends Schemas> = {
|
|
21
|
-
readonly _tag: "Projection";
|
|
22
|
-
readonly events: EventRegister<TEvents>;
|
|
23
|
-
readonly target?: string;
|
|
24
|
-
readonly batchHandler?: BatchHandler<TEvents>;
|
|
25
|
-
/**
|
|
26
|
-
* State-fold spec from `.of()`. The builder only records intent — the
|
|
27
|
-
* orchestrator resolves the REGISTRY-MERGED full state at
|
|
28
|
-
* `act().build()` and synthesizes the batch handler there, so the
|
|
29
|
-
* fold always covers every reducer of the state, including partials
|
|
30
|
-
* merged by slices the projection never saw.
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
33
|
-
readonly fold?: {
|
|
34
|
-
readonly name: string;
|
|
35
|
-
readonly flush: (rows: ReadonlyArray<CacheEntry<any>>) => Promise<void>;
|
|
36
|
-
readonly config: FoldConfig;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* The `.of()` continuation: state projections flush the cache layer
|
|
41
|
-
* outward — the rows ARE the streams' {@link CacheEntry} values, one
|
|
42
|
-
* per dirty stream per flush round. Must be an idempotent upsert keyed
|
|
43
|
-
* on `stream` (guard with `event_id` for order safety when a rebuild
|
|
44
|
-
* races a live worker).
|
|
45
|
-
*/
|
|
46
|
-
type FoldFlush<TState extends Schema, TE extends Schemas> = {
|
|
47
|
-
flush: (handler: (rows: ReadonlyArray<CacheEntry<TState>>) => Promise<void>) => {
|
|
48
|
-
build: () => Projection<TE>;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* `.of()` accepts the partials of ONE state (same name, enforced at the
|
|
53
|
-
* type level via `TName`) purely for typing and event registration —
|
|
54
|
-
* the fold itself always runs on the registry-merged full state,
|
|
55
|
-
* resolved at `act().build()`. Passing every partial is required: the
|
|
56
|
-
* orchestrator validates completeness at build and throws on missing
|
|
57
|
-
* events.
|
|
58
|
-
*/
|
|
59
|
-
type OfSignatures = {
|
|
60
|
-
<TS1 extends Schema, TE1 extends Schemas, TA1 extends Schemas, TN extends string>(s1: State<TS1, TE1, TA1, TN>, options?: FoldOptions): FoldFlush<TS1, TE1>;
|
|
61
|
-
<TS1 extends Schema, TE1 extends Schemas, TA1 extends Schemas, TS2 extends Schema, TE2 extends Schemas, TA2 extends Schemas, TN extends string>(s1: State<TS1, TE1, TA1, TN>, s2: State<TS2, TE2, TA2, TN>, options?: FoldOptions): FoldFlush<TS1 & TS2, TE1 & TE2>;
|
|
62
|
-
<TS1 extends Schema, TE1 extends Schemas, TA1 extends Schemas, TS2 extends Schema, TE2 extends Schemas, TA2 extends Schemas, TS3 extends Schema, TE3 extends Schemas, TA3 extends Schemas, TN extends string>(s1: State<TS1, TE1, TA1, TN>, s2: State<TS2, TE2, TA2, TN>, s3: State<TS3, TE3, TA3, TN>, options?: FoldOptions): FoldFlush<TS1 & TS2 & TS3, TE1 & TE2 & TE3>;
|
|
63
|
-
<TS1 extends Schema, TE1 extends Schemas, TA1 extends Schemas, TS2 extends Schema, TE2 extends Schemas, TA2 extends Schemas, TS3 extends Schema, TE3 extends Schemas, TA3 extends Schemas, TS4 extends Schema, TE4 extends Schemas, TA4 extends Schemas, TN extends string>(s1: State<TS1, TE1, TA1, TN>, s2: State<TS2, TE2, TA2, TN>, s3: State<TS3, TE3, TA3, TN>, s4: State<TS4, TE4, TA4, TN>, options?: FoldOptions): FoldFlush<TS1 & TS2 & TS3 & TS4, TE1 & TE2 & TE3 & TE4>;
|
|
64
|
-
};
|
|
65
|
-
/** Helper: a single-key record mapping an event name to its Zod schema. */
|
|
66
|
-
type EventEntry<TKey extends string = string, TData extends Schema = Schema> = {
|
|
67
|
-
[P in TKey]: ZodType<TData>;
|
|
68
|
-
};
|
|
69
|
-
/** Infer the handler-result type after registering one event. */
|
|
70
|
-
type DoResult<TEvents extends Schemas, TKey extends string, TData extends Schema, TTarget extends string | undefined = undefined> = ProjectionBuilder<TEvents & {
|
|
71
|
-
[P in TKey]: TData;
|
|
72
|
-
}, TTarget, true> & {
|
|
73
|
-
to: (resolver: ReactionResolver<TEvents & {
|
|
74
|
-
[P in TKey]: TData;
|
|
75
|
-
}, TKey> | string) => ProjectionBuilder<TEvents & {
|
|
76
|
-
[P in TKey]: TData;
|
|
77
|
-
}, TTarget, true>;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* Fluent builder interface for composing projections.
|
|
81
|
-
*
|
|
82
|
-
* When a static target is provided via `projection("target")`, the builder
|
|
83
|
-
* exposes a `.batch()` method for registering a batch handler that processes
|
|
84
|
-
* all events in a single call.
|
|
85
|
-
*
|
|
86
|
-
* @template TEvents - Event schemas
|
|
87
|
-
* @template TTarget - Static target string or undefined
|
|
88
|
-
*/
|
|
89
|
-
export type ProjectionBuilder<TEvents extends Schemas, TTarget extends string | undefined = undefined, THasHandlers extends boolean = false> = {
|
|
90
|
-
/**
|
|
91
|
-
* Begins defining a projection handler for a specific event.
|
|
92
|
-
*
|
|
93
|
-
* Pass a `{ EventName: schema }` record — use shorthand `{ EventName }`
|
|
94
|
-
* when the variable name matches the event name. The key becomes the
|
|
95
|
-
* event name, the value the Zod schema.
|
|
96
|
-
*/
|
|
97
|
-
on: <TKey extends string, TData extends Schema>(entry: EventEntry<TKey, TData>) => {
|
|
98
|
-
do: (handler: (event: Committed<TEvents & {
|
|
99
|
-
[P in TKey]: TData;
|
|
100
|
-
}, TKey>, stream: string) => Promise<void>) => DoResult<TEvents, TKey, TData, TTarget>;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Builds and returns the Projection data structure.
|
|
104
|
-
*/
|
|
105
|
-
build: () => Projection<TEvents>;
|
|
106
|
-
/**
|
|
107
|
-
* The registered event schemas and their reaction maps.
|
|
108
|
-
*/
|
|
109
|
-
readonly events: EventRegister<TEvents>;
|
|
110
|
-
} & (TTarget extends string ? {
|
|
111
|
-
/**
|
|
112
|
-
* Registers a batch handler that processes all events in a single call.
|
|
113
|
-
*
|
|
114
|
-
* Only available on projections with a static target (`projection("target")`).
|
|
115
|
-
* The handler receives a discriminated union of all declared events,
|
|
116
|
-
* enabling bulk DB operations in a single transaction.
|
|
117
|
-
*
|
|
118
|
-
* When defined, the batch handler is always called — even for a single event.
|
|
119
|
-
* Individual `.do()` handlers serve as fallback for projections without `.batch()`.
|
|
120
|
-
*/
|
|
121
|
-
batch: (handler: BatchHandler<TEvents>) => {
|
|
122
|
-
build: () => Projection<TEvents>;
|
|
123
|
-
};
|
|
124
|
-
} & (THasHandlers extends false ? {
|
|
125
|
-
/**
|
|
126
|
-
* Declares a state projection: fold every event of the given
|
|
127
|
-
* state through its own reducers and flush one row per stream —
|
|
128
|
-
* the queryable list of the aggregates themselves.
|
|
129
|
-
*
|
|
130
|
-
* The state is the filter: the projection consumes exactly the
|
|
131
|
-
* state's event register, so in a multi-state app only that
|
|
132
|
-
* state's streams are folded — and every event of a folded
|
|
133
|
-
* stream reaches the reducer. Write amplification tracks the
|
|
134
|
-
* distinct stream count, not the event count; `app.reset`
|
|
135
|
-
* rebuilds in O(streams) upserts.
|
|
136
|
-
*
|
|
137
|
-
* The fluent chain enforces the shape: `.of()` is only offered
|
|
138
|
-
* before any `.on()` handler, and narrows to `.flush()` +
|
|
139
|
-
* `.build()` — a projection either folds a state or declares
|
|
140
|
-
* handlers, never both.
|
|
141
|
-
*/
|
|
142
|
-
of: OfSignatures;
|
|
143
|
-
} : {}) : {});
|
|
1
|
+
import type { ProjectionBuilder } from "../types/builders.js";
|
|
2
|
+
import type { Schemas } from "../types/index.js";
|
|
144
3
|
/**
|
|
145
4
|
* Creates a new projection builder with a static target stream.
|
|
146
5
|
*
|
|
@@ -156,5 +15,4 @@ export declare function projection<TEvents extends Schemas = {}>(target: string)
|
|
|
156
15
|
* Use per-handler `.to()` to route events to different streams.
|
|
157
16
|
*/
|
|
158
17
|
export declare function projection<TEvents extends Schemas = {}>(target?: undefined): ProjectionBuilder<TEvents, undefined>;
|
|
159
|
-
export {};
|
|
160
18
|
//# sourceMappingURL=projection-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/projection-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"projection-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/projection-builder.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EASV,OAAO,EAER,MAAM,mBAAmB,CAAC;AA8M3B;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,OAAO,GAAG,EAAE,EACrD,MAAM,EAAE,MAAM,GACb,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,SAAS,OAAO,GAAG,EAAE,EACrD,MAAM,CAAC,EAAE,SAAS,GACjB,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC"}
|
|
@@ -5,77 +5,8 @@
|
|
|
5
5
|
* Fluent builder for composing partial states with scoped reactions into
|
|
6
6
|
* self-contained functional slices (vertical slice architecture).
|
|
7
7
|
*/
|
|
8
|
-
import type {
|
|
9
|
-
import type { Actor,
|
|
10
|
-
import type { BuilderBase } from "./builder-base.js";
|
|
11
|
-
import type { Projection } from "./projection-builder.js";
|
|
12
|
-
/**
|
|
13
|
-
* A self-contained functional slice grouping partial states with their
|
|
14
|
-
* scoped reactions. Slices are composed into an Act orchestrator via
|
|
15
|
-
* `act().withSlice(slice)`.
|
|
16
|
-
*
|
|
17
|
-
* @template TSchemaReg - Schema register for states
|
|
18
|
-
* @template TEvents - Event schemas from this slice's states
|
|
19
|
-
* @template TActions - Action schemas from this slice's states
|
|
20
|
-
* @template TStateMap - Map of state names to state schemas
|
|
21
|
-
* @template TActor - Actor type extending base Actor
|
|
22
|
-
*/
|
|
23
|
-
export type Slice<TSchemaReg extends SchemaRegister<TActions>, TEvents extends Schemas, TActions extends Schemas, TStateMap extends Record<string, Schema> = {}, TActor extends Actor = Actor, TLanes extends string = typeof DEFAULT_LANE> = {
|
|
24
|
-
readonly _tag: "Slice";
|
|
25
|
-
readonly states: Map<string, State<any, any, any>>;
|
|
26
|
-
readonly events: EventRegister<TEvents>;
|
|
27
|
-
readonly projections: ReadonlyArray<Projection<any>>;
|
|
28
|
-
/**
|
|
29
|
-
* Drain lanes declared on this slice via `.withLane(...)`.
|
|
30
|
-
* `act().withSlice(slice)` merges these into the Act's lane set so
|
|
31
|
-
* `.to({lane})` is statically checked at the slice's call site against
|
|
32
|
-
* the lanes the slice itself declared.
|
|
33
|
-
*/
|
|
34
|
-
readonly lanes: ReadonlyArray<LaneConfig>;
|
|
35
|
-
/** @internal phantom field for type-level state schema tracking */
|
|
36
|
-
readonly _S?: TSchemaReg;
|
|
37
|
-
/** @internal phantom field for type-level state name tracking */
|
|
38
|
-
readonly _M?: TStateMap;
|
|
39
|
-
/** @internal phantom field for type-level actor tracking */
|
|
40
|
-
readonly _TActor?: TActor;
|
|
41
|
-
/** @internal phantom field for type-level lane union tracking */
|
|
42
|
-
readonly _TLanes?: TLanes;
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Fluent builder interface for composing functional slices.
|
|
46
|
-
*
|
|
47
|
-
* Provides a chainable API for registering states and projections,
|
|
48
|
-
* and defining reactions scoped to the slice's own events.
|
|
49
|
-
*
|
|
50
|
-
* @template TSchemaReg - Schema register for states
|
|
51
|
-
* @template TEvents - Event schemas
|
|
52
|
-
* @template TActions - Action schemas
|
|
53
|
-
* @template TStateMap - Map of state names to state schemas
|
|
54
|
-
* @template TActor - Actor type extending base Actor
|
|
55
|
-
*/
|
|
56
|
-
export interface SliceBuilder<TSchemaReg extends SchemaRegister<TActions>, TEvents extends Schemas, TActions extends Schemas, TStateMap extends Record<string, Schema> = {}, TActor extends Actor = Actor, TLanes extends string = typeof DEFAULT_LANE> extends BuilderBase<SliceBuilder<TSchemaReg, TEvents, TActions, TStateMap, TActor, TLanes>, TEvents, TActions, TActor, TLanes> {
|
|
57
|
-
/**
|
|
58
|
-
* Registers a state definition with the slice.
|
|
59
|
-
*
|
|
60
|
-
* Include every state whose actions your reaction handlers need to
|
|
61
|
-
* dispatch. Duplicate registrations (same state in multiple slices)
|
|
62
|
-
* are handled automatically at composition time.
|
|
63
|
-
*/
|
|
64
|
-
withState: <TNewState extends Schema, TNewEvents extends Schemas, TNewActions extends Schemas, TNewName extends string = string>(state: State<TNewState, TNewEvents, TNewActions, TNewName>) => SliceBuilder<TSchemaReg & {
|
|
65
|
-
[K in keyof TNewActions]: TNewState;
|
|
66
|
-
}, TEvents & TNewEvents, TActions & TNewActions, TStateMap & {
|
|
67
|
-
[K in TNewName]: TNewState;
|
|
68
|
-
}, TActor, TLanes>;
|
|
69
|
-
/**
|
|
70
|
-
* Declares a drain lane on this slice. Merged into the
|
|
71
|
-
* parent Act's lane set by `act().withSlice(slice)`.
|
|
72
|
-
*/
|
|
73
|
-
withLane: <const TConfig extends LaneConfig>(config: TConfig) => SliceBuilder<TSchemaReg, TEvents, TActions, TStateMap, TActor, TLanes | TConfig["name"]>;
|
|
74
|
-
/**
|
|
75
|
-
* Builds and returns the Slice data structure.
|
|
76
|
-
*/
|
|
77
|
-
build: () => Slice<TSchemaReg, TEvents, TActions, TStateMap, TActor, TLanes>;
|
|
78
|
-
}
|
|
8
|
+
import type { SliceBuilder } from "../types/builders.js";
|
|
9
|
+
import type { Actor, Schema, SchemaRegister, Schemas } from "../types/index.js";
|
|
79
10
|
/**
|
|
80
11
|
* Creates a new slice builder for composing partial states with scoped reactions.
|
|
81
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slice-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/slice-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"slice-builder.d.ts","sourceRoot":"","sources":["../../../src/builders/slice-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAqB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,KAAK,EACV,KAAK,EAGL,MAAM,EACN,cAAc,EACd,OAAO,EAER,MAAM,mBAAmB,CAAC;AAM3B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,KAAK,CAEnB,UAAU,SAAS,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,EAChD,OAAO,SAAS,OAAO,GAAG,EAAE,EAC5B,QAAQ,SAAS,OAAO,GAAG,EAAE,EAC7B,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,EAC7C,MAAM,SAAS,KAAK,GAAG,KAAK,KACzB,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CA+ClE"}
|