@rotorsoft/act 0.2.0 → 0.4.0
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-builder.d.ts +32 -0
- package/dist/@types/act-builder.d.ts.map +1 -0
- package/dist/@types/act.d.ts +75 -0
- package/dist/@types/act.d.ts.map +1 -0
- package/dist/{adapters → @types/adapters}/InMemoryStore.d.ts +1 -1
- package/dist/@types/adapters/InMemoryStore.d.ts.map +1 -0
- package/dist/{config.d.ts → @types/config.d.ts} +4 -0
- package/dist/@types/config.d.ts.map +1 -0
- package/dist/@types/event-sourcing.d.ts +41 -0
- package/dist/@types/event-sourcing.d.ts.map +1 -0
- package/dist/@types/index.d.ts +13 -0
- package/dist/@types/index.d.ts.map +1 -0
- package/dist/{ports.d.ts → @types/ports.d.ts} +5 -1
- package/dist/@types/ports.d.ts.map +1 -0
- package/dist/@types/state-builder.d.ts +57 -0
- package/dist/@types/state-builder.d.ts.map +1 -0
- package/dist/{types → @types/types}/action.d.ts +26 -24
- package/dist/@types/types/action.d.ts.map +1 -0
- package/dist/{types → @types/types}/errors.d.ts +1 -1
- package/dist/@types/types/errors.d.ts.map +1 -0
- package/dist/{types → @types/types}/index.d.ts +6 -6
- package/dist/@types/types/index.d.ts.map +1 -0
- package/dist/{types → @types/types}/ports.d.ts +2 -2
- package/dist/@types/types/ports.d.ts.map +1 -0
- package/dist/{types → @types/types}/reaction.d.ts +1 -1
- package/dist/@types/types/reaction.d.ts.map +1 -0
- package/dist/{types → @types/types}/registry.d.ts +4 -4
- package/dist/@types/types/registry.d.ts.map +1 -0
- package/dist/{types → @types/types}/schemas.d.ts +4 -4
- package/dist/@types/types/schemas.d.ts.map +1 -0
- package/dist/{utils.d.ts → @types/utils.d.ts} +4 -1
- package/dist/@types/utils.d.ts.map +1 -0
- package/dist/index.cjs +928 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +854 -18
- package/dist/index.js.map +1 -1
- package/package.json +17 -5
- package/dist/act.d.ts +0 -24
- package/dist/act.d.ts.map +0 -1
- package/dist/act.js +0 -136
- package/dist/act.js.map +0 -1
- package/dist/adapters/InMemoryStore.d.ts.map +0 -1
- package/dist/adapters/InMemoryStore.js +0 -125
- package/dist/adapters/InMemoryStore.js.map +0 -1
- package/dist/builder.d.ts +0 -17
- package/dist/builder.d.ts.map +0 -1
- package/dist/builder.js +0 -70
- package/dist/builder.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -41
- package/dist/config.js.map +0 -1
- package/dist/event-sourcing.d.ts +0 -5
- package/dist/event-sourcing.d.ts.map +0 -1
- package/dist/event-sourcing.js +0 -101
- package/dist/event-sourcing.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/ports.d.ts.map +0 -1
- package/dist/ports.js +0 -56
- package/dist/ports.js.map +0 -1
- package/dist/types/action.d.ts.map +0 -1
- package/dist/types/action.js +0 -2
- package/dist/types/action.js.map +0 -1
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -44
- package/dist/types/errors.js.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -17
- package/dist/types/index.js.map +0 -1
- package/dist/types/ports.d.ts.map +0 -1
- package/dist/types/ports.js +0 -2
- package/dist/types/ports.js.map +0 -1
- package/dist/types/reaction.d.ts.map +0 -1
- package/dist/types/reaction.js +0 -2
- package/dist/types/reaction.js.map +0 -1
- package/dist/types/registry.d.ts.map +0 -1
- package/dist/types/registry.js +0 -2
- package/dist/types/registry.js.map +0 -1
- package/dist/types/schemas.d.ts.map +0 -1
- package/dist/types/schemas.js +0 -81
- package/dist/types/schemas.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -73
- package/dist/utils.js.map +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Committed, Schema, Schemas, Snapshot, State, Target } from "./types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Event sourcing utilities for snapshotting, loading, and committing actions/events.
|
|
4
|
+
* Used internally by Act and state machines.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Saves a snapshot of the state to the store.
|
|
8
|
+
*
|
|
9
|
+
* @template S The type of state
|
|
10
|
+
* @template E The type of events
|
|
11
|
+
* @param snapshot The snapshot to save
|
|
12
|
+
*/
|
|
13
|
+
export declare function snap<S extends Schema, E extends Schemas>(snapshot: Snapshot<S, E>): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Loads a snapshot of the state from the store.
|
|
16
|
+
*
|
|
17
|
+
* @template S The type of state
|
|
18
|
+
* @template E The type of events
|
|
19
|
+
* @param me The state machine
|
|
20
|
+
* @param stream The stream to load
|
|
21
|
+
* @param callback The callback to call with the snapshot
|
|
22
|
+
* @returns The snapshot of the loaded state
|
|
23
|
+
*/
|
|
24
|
+
export declare function load<S extends Schema, E extends Schemas, A extends Schemas>(me: State<S, E, A>, stream: string, callback?: (snapshot: Snapshot<S, E>) => void): Promise<Snapshot<S, E>>;
|
|
25
|
+
/**
|
|
26
|
+
* Executes an action and emits an event to be committed by the store.
|
|
27
|
+
*
|
|
28
|
+
* @template S The type of state
|
|
29
|
+
* @template E The type of events
|
|
30
|
+
* @template A The type of actionSchemas
|
|
31
|
+
* @template K The type of action to execute
|
|
32
|
+
* @param me The state machine
|
|
33
|
+
* @param action The action to execute
|
|
34
|
+
* @param target The target of the action
|
|
35
|
+
* @param payload The payload of the action
|
|
36
|
+
* @param reactingTo The event that the action is reacting to
|
|
37
|
+
* @param skipValidation Whether to skip validation
|
|
38
|
+
* @returns The snapshot of the committed Event
|
|
39
|
+
*/
|
|
40
|
+
export declare function action<S extends Schema, E extends Schemas, A extends Schemas, K extends keyof A>(me: State<S, E, A>, action: K, target: Target, payload: Readonly<A[K]>, reactingTo?: Committed<Schemas, keyof Schemas>, skipValidation?: boolean): Promise<Snapshot<S, E>>;
|
|
41
|
+
//# sourceMappingURL=event-sourcing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-sourcing.d.ts","sourceRoot":"","sources":["../../src/event-sourcing.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EAGT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACP,MAAM,kBAAkB,CAAC;AAG1B;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAsB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,EAC5D,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;;;;;GASG;AACH,wBAAsB,IAAI,CACxB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EAEjB,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,GAC5C,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAuBzB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,MAAM,CAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,MAAM,CAAC,EAEjB,EAAE,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAClB,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvB,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAC9C,cAAc,UAAQ,GACrB,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAoFzB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { config } from "./config.js";
|
|
2
|
+
/**
|
|
3
|
+
* @module act
|
|
4
|
+
* Main entry point for the Act framework. Re-exports all core APIs.
|
|
5
|
+
*/
|
|
6
|
+
export * from "./act-builder.js";
|
|
7
|
+
export * from "./act.js";
|
|
8
|
+
export * from "./ports.js";
|
|
9
|
+
export * from "./state-builder.js";
|
|
10
|
+
export * from "./types/index.js";
|
|
11
|
+
export * from "./utils.js";
|
|
12
|
+
export { config };
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;GAGG;AACH,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import type { Disposable, Disposer, Store } from "./types";
|
|
1
|
+
import type { Disposable, Disposer, Store } from "./types/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Port and adapter utilities for logging, store management, and resource disposal.
|
|
4
|
+
* Provides singleton store and logger instances.
|
|
5
|
+
*/
|
|
2
6
|
export declare const ExitCodes: readonly ["ERROR", "EXIT"];
|
|
3
7
|
export type ExitCode = (typeof ExitCodes)[number];
|
|
4
8
|
export declare const logger: import("pino").Logger<never, boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/ports.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpE;;;GAGG;AAEH,eAAO,MAAM,SAAS,4BAA6B,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,eAAO,MAAM,MAAM,uCAajB,CAAC;AAEH,KAAK,QAAQ,CAAC,IAAI,SAAS,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;AAElE,wBAAgB,IAAI,CAAC,IAAI,SAAS,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IACnD,UAAU,IAAI,KAAG,IAAI,CAQvC;AAGD,wBAAsB,cAAc,CAAC,IAAI,GAAE,QAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,QAAQ,CAAC,EAAE,QAAQ,GAClB,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAGpC;AAGD,eAAO,MAAM,UAAU,iBAAiB,CAAC;AACzC,eAAO,MAAM,KAAK,wCAEhB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ZodType } from "zod/v4";
|
|
2
|
+
import { ActionHandler, Invariant, PatchHandlers, Schema, Schemas, Snapshot, State, ZodTypes } from "./types/index.js";
|
|
3
|
+
export type StateBuilder<S extends Schema> = {
|
|
4
|
+
init: (init: () => Readonly<S>) => {
|
|
5
|
+
emits: <E extends Schemas>(events: ZodTypes<E>) => {
|
|
6
|
+
patch: (patch: PatchHandlers<S, E>) => ActionBuilder<S, E, {}>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type ActionBuilder<S extends Schema, E extends Schemas, A extends Schemas> = {
|
|
11
|
+
on: <K extends string, AX extends Schema>(action: K, schema: ZodType<AX>) => {
|
|
12
|
+
given: (rules: Invariant<S>[]) => {
|
|
13
|
+
emit: (handler: ActionHandler<S, E, {
|
|
14
|
+
[P in K]: AX;
|
|
15
|
+
}, K>) => ActionBuilder<S, E, A & {
|
|
16
|
+
[P in K]: AX;
|
|
17
|
+
}>;
|
|
18
|
+
};
|
|
19
|
+
emit: (handler: ActionHandler<S, E, {
|
|
20
|
+
[P in K]: AX;
|
|
21
|
+
}, K>) => ActionBuilder<S, E, A & {
|
|
22
|
+
[P in K]: AX;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
snap: (snap: (snapshot: Snapshot<S, E>) => boolean) => ActionBuilder<S, E, A>;
|
|
26
|
+
build: () => State<S, E, A>;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Fluent interface for defining a strongly-typed state machine using Zod schemas.
|
|
30
|
+
*
|
|
31
|
+
* This builder helps you model a system where:
|
|
32
|
+
* - You start by defining the state schema with `state(name, zodSchema)`
|
|
33
|
+
* - Then, provide the initial state using `.init(() => defaultState)`
|
|
34
|
+
* - Declare the event types your system can emit using `.emits({ ... })`
|
|
35
|
+
* - Define how emitted events update state with `.patch({ ... })`
|
|
36
|
+
* - Define actions using `.on("actionName", actionSchema)`
|
|
37
|
+
* - Optionally constrain the action with `.given([...invariants])`
|
|
38
|
+
* - Then finalize the action behavior with `.emit(handler)`
|
|
39
|
+
* - (Optional) Define a `.snap(snapshot => boolean)` function to reduce recomputations
|
|
40
|
+
* - Finalize the state machine definition using `.build()`
|
|
41
|
+
*
|
|
42
|
+
* Example usage:
|
|
43
|
+
* ```ts
|
|
44
|
+
* const machine = state("machine", myStateSchema)
|
|
45
|
+
* .init(() => ({ count: 0 }))
|
|
46
|
+
* .emits({ Incremented: z.object({ amount: z.number() }) })
|
|
47
|
+
* .patch({
|
|
48
|
+
* Incremented: (event, state) => ({ count: state.count + event.amount })
|
|
49
|
+
* })
|
|
50
|
+
* .on("increment", z.object({ by: z.number() }))
|
|
51
|
+
* .given([{ description: "must be positive", valid: (s, a) => a?.by > 0 }])
|
|
52
|
+
* .emit((action, state) => ({ type: "Incremented", amount: action.by }))
|
|
53
|
+
* .build();
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function state<S extends Schema>(name: string, state: ZodType<S>): StateBuilder<S>;
|
|
57
|
+
//# sourceMappingURL=state-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-builder.d.ts","sourceRoot":"","sources":["../../src/state-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EACL,aAAa,EAGb,SAAS,EACT,aAAa,EACb,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI;IAC3C,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,KAAK;QACjC,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EACvB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAChB;YACH,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SAChE,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,CACvB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,IACf;IACF,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EACtC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,KAChB;QACH,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK;YAChC,IAAI,EAAE,CACJ,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;iBAAG,CAAC,IAAI,CAAC,GAAG,EAAE;aAAE,EAAE,CAAC,CAAC,KAC9C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;iBAAG,CAAC,IAAI,CAAC,GAAG,EAAE;aAAE,CAAC,CAAC;SAChD,CAAC;QACF,IAAI,EAAE,CACJ,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE;aAAG,CAAC,IAAI,CAAC,GAAG,EAAE;SAAE,EAAE,CAAC,CAAC,KAC9C,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG;aAAG,CAAC,IAAI,CAAC,GAAG,EAAE;SAAE,CAAC,CAAC;KAChD,CAAC;IACF,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,KAAK,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAChB,YAAY,CAAC,CAAC,CAAC,CAsBjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z, ZodType } from "zod/v4";
|
|
2
|
-
import { ActorSchema, CausationEventSchema, CommittedMetaSchema, EventMetaSchema, QuerySchema, TargetSchema } from "./schemas";
|
|
2
|
+
import { ActorSchema, CausationEventSchema, CommittedMetaSchema, EventMetaSchema, QuerySchema, TargetSchema } from "./schemas.js";
|
|
3
3
|
export type Actor = z.infer<typeof ActorSchema>;
|
|
4
4
|
export type Target = z.infer<typeof TargetSchema>;
|
|
5
5
|
export type CausationEvent = z.infer<typeof CausationEventSchema>;
|
|
@@ -12,12 +12,15 @@ export type EmptySchema = Record<string, never>;
|
|
|
12
12
|
export type Patch<T> = {
|
|
13
13
|
[K in keyof T]?: T[K] extends Schema ? Patch<T[K]> : T[K];
|
|
14
14
|
};
|
|
15
|
+
export type ZodTypes<T extends Schemas> = {
|
|
16
|
+
[K in keyof T]: ZodType<T[K]>;
|
|
17
|
+
};
|
|
15
18
|
export type Message<E extends Schemas, K extends keyof E> = {
|
|
16
19
|
readonly name: K;
|
|
17
20
|
readonly data: Readonly<E[K]>;
|
|
18
21
|
};
|
|
19
22
|
export type Committed<E extends Schemas, K extends keyof E> = Message<E, K> & CommittedMeta;
|
|
20
|
-
export type Snapshot<
|
|
23
|
+
export type Snapshot<S extends Schema, E extends Schemas> = {
|
|
21
24
|
readonly state: S;
|
|
22
25
|
readonly event?: Committed<E, keyof E>;
|
|
23
26
|
readonly patches: number;
|
|
@@ -30,29 +33,28 @@ export type Invariant<S extends Schema> = {
|
|
|
30
33
|
export type Emitted<E extends Schemas> = {
|
|
31
34
|
[K in keyof E]: readonly [K, Readonly<E[K]>];
|
|
32
35
|
}[keyof E];
|
|
33
|
-
export type StateSchemas<
|
|
34
|
-
readonly events:
|
|
35
|
-
|
|
36
|
-
};
|
|
37
|
-
readonly actions: {
|
|
38
|
-
[K in keyof A]: ZodType<A[K]>;
|
|
39
|
-
};
|
|
36
|
+
export type StateSchemas<S extends Schema, E extends Schemas, A extends Schemas> = {
|
|
37
|
+
readonly events: ZodTypes<E>;
|
|
38
|
+
readonly actions: ZodTypes<A>;
|
|
40
39
|
readonly state: ZodType<S>;
|
|
41
40
|
};
|
|
42
|
-
export type
|
|
43
|
-
export type
|
|
41
|
+
export type PatchHandler<S extends Schema, E extends Schemas, K extends keyof E> = (event: Committed<E, K>, state: Readonly<S>) => Readonly<Patch<S>>;
|
|
42
|
+
export type PatchHandlers<S extends Schema, E extends Schemas> = {
|
|
43
|
+
[K in keyof E]: PatchHandler<S, E, K>;
|
|
44
|
+
};
|
|
45
|
+
export type ActionHandler<S extends Schema, E extends Schemas, A extends Schemas, K extends keyof A> = (action: Readonly<A[K]>, state: Readonly<S>, target: Target) => Emitted<E> | Emitted<E>[] | undefined;
|
|
46
|
+
export type ActionHandlers<S extends Schema, E extends Schemas, A extends Schemas> = {
|
|
47
|
+
[K in keyof A]: ActionHandler<S, E, A, K>;
|
|
48
|
+
};
|
|
49
|
+
export type GivenHandlers<S extends Schema, A extends Schemas> = {
|
|
50
|
+
[K in keyof A]?: Invariant<S>[];
|
|
51
|
+
};
|
|
52
|
+
export type State<S extends Schema, E extends Schemas, A extends Schemas> = StateSchemas<S, E, A> & {
|
|
53
|
+
name: string;
|
|
44
54
|
init: () => Readonly<S>;
|
|
45
|
-
patch:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
given?: {
|
|
52
|
-
[K in keyof A]?: Invariant<S>[];
|
|
53
|
-
};
|
|
54
|
-
snap?: (snapshot: Snapshot<E, S>) => boolean;
|
|
55
|
-
};
|
|
56
|
-
export type StateFactory<E extends Schemas = Schemas, A extends Schemas = Schemas, S extends Schema = Schema> = () => State<E, A, S>;
|
|
57
|
-
export type AsState<X> = X extends StateSchemas<infer E, infer A, infer S> ? State<E, A, S> : never;
|
|
55
|
+
patch: PatchHandlers<S, E>;
|
|
56
|
+
on: ActionHandlers<S, E, A>;
|
|
57
|
+
given?: GivenHandlers<S, A>;
|
|
58
|
+
snap?: (snapshot: Snapshot<S, E>) => boolean;
|
|
59
|
+
};
|
|
58
60
|
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/types/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,MAAM,EAAE,MAAM;aACd,OAAO,EAAE,GAAG;aACZ,OAAO,EAAE,GAAG;gBAFZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG;CAK/B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,OAAO;;;;;;;;;;;;MAAC;gBAEtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM;CAMtB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,WAAW,EAAE,MAAM;aACnB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;aACzC,eAAe,EAAE,MAAM;gBAFvB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE,EACzC,eAAe,EAAE,MAAM;CAS1C"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type * from "./action";
|
|
2
|
-
export * from "./errors";
|
|
3
|
-
export type * from "./ports";
|
|
4
|
-
export type * from "./reaction";
|
|
5
|
-
export type * from "./registry";
|
|
6
|
-
export * from "./schemas";
|
|
1
|
+
export type * from "./action.js";
|
|
2
|
+
export * from "./errors.js";
|
|
3
|
+
export type * from "./ports.js";
|
|
4
|
+
export type * from "./reaction.js";
|
|
5
|
+
export type * from "./registry.js";
|
|
6
|
+
export * from "./schemas.js";
|
|
7
7
|
export declare const Environments: readonly ["development", "test", "staging", "production"];
|
|
8
8
|
export type Environment = (typeof Environments)[number];
|
|
9
9
|
export declare const LogLevels: readonly ["fatal", "error", "warn", "info", "debug", "trace"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,aAAa,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,eAAe,CAAC;AACnC,cAAc,cAAc,CAAC;AAE7B,eAAO,MAAM,YAAY,2DAKf,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS,+DAOZ,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Committed, EventMeta, Message, Query, Schemas } from "./action";
|
|
2
|
-
import type { Fetch, Lease } from "./reaction";
|
|
1
|
+
import type { Committed, EventMeta, Message, Query, Schemas } from "./action.js";
|
|
2
|
+
import type { Fetch, Lease } from "./reaction.js";
|
|
3
3
|
export type Disposer = () => Promise<void>;
|
|
4
4
|
export type Disposable = {
|
|
5
5
|
dispose: Disposer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../../src/types/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,OAAO,EACP,KAAK,EACL,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,MAAM,MAAM,UAAU,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1B,MAAM,EAAE,CAAC,CAAC,SAAS,OAAO,EACxB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAC3B,IAAI,EAAE,SAAS,EACf,eAAe,CAAC,EAAE,MAAM,KACrB,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,IAAI,EAChD,KAAK,CAAC,EAAE,KAAK,EACb,SAAS,CAAC,EAAE,OAAO,KAChB,OAAO,CAAC,MAAM,CAAC,CAAC;IAGrB,KAAK,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,KAAK,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7C,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Committed, Schema, Schemas, Snapshot } from "./action";
|
|
1
|
+
import type { Committed, Schema, Schemas, Snapshot } from "./action.js";
|
|
2
2
|
export type ReactionHandler<E extends Schemas, K extends keyof E> = (event: Committed<E, K>, stream: string) => Promise<Snapshot<E, Schema> | void>;
|
|
3
3
|
export type ReactionResolver<E extends Schemas, K extends keyof E> = ((event: Committed<E, K>) => string | undefined) | string;
|
|
4
4
|
export type ReactionOptions = {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../src/types/reaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAExE,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAClE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,IAC7D,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAC,GAChD,MAAM,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI;IACrE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG;IAC7D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,IAAI;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z, ZodType } from "zod/v4";
|
|
2
|
-
import type { CommittedMeta, Schema, Schemas, State } from "./action";
|
|
3
|
-
import type { Reaction } from "./reaction";
|
|
2
|
+
import type { CommittedMeta, Schema, Schemas, State } from "./action.js";
|
|
3
|
+
import type { Reaction } from "./reaction.js";
|
|
4
4
|
export type EventRegister<E extends Schemas> = {
|
|
5
5
|
[K in keyof E]: {
|
|
6
6
|
schema: ZodType<E[K]>;
|
|
@@ -10,9 +10,9 @@ export type EventRegister<E extends Schemas> = {
|
|
|
10
10
|
export type SchemaRegister<A> = {
|
|
11
11
|
[K in keyof A]: Schema;
|
|
12
12
|
};
|
|
13
|
-
export type Registry<
|
|
13
|
+
export type Registry<S extends SchemaRegister<A>, E extends Schemas, A extends Schemas> = {
|
|
14
14
|
readonly actions: {
|
|
15
|
-
[K in keyof A]: State<E, A
|
|
15
|
+
[K in keyof A]: State<S[K], E, A>;
|
|
16
16
|
};
|
|
17
17
|
readonly events: EventRegister<E>;
|
|
18
18
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KACxC;CACF,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,CAAC;AAE3D,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,EAC3B,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,IACf;IACF,QAAQ,CAAC,OAAO,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KAAE,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5E;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CAC3B,GAAG,aAAa,GACjB,KAAK,CAAC"}
|
|
@@ -71,12 +71,12 @@ export type StateSchema = Readonly<{
|
|
|
71
71
|
export declare function buildSnapshotSchema<S extends StateSchema>(s: S): z.ZodObject<{
|
|
72
72
|
state: z.ZodReadonly<z.ZodObject<Readonly<{
|
|
73
73
|
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
74
|
-
}>, z.core.$
|
|
74
|
+
}>, z.core.$strip>>;
|
|
75
75
|
event: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
|
|
76
76
|
name: z.ZodLiteral<string>;
|
|
77
77
|
data: z.ZodRecord<z.ZodString, z.ZodNever> | z.ZodObject<Readonly<{
|
|
78
78
|
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
79
|
-
}>, z.core.$
|
|
79
|
+
}>, z.core.$strip>;
|
|
80
80
|
id: z.ZodNumber;
|
|
81
81
|
stream: z.ZodString;
|
|
82
82
|
version: z.ZodNumber;
|
|
@@ -105,7 +105,7 @@ export declare function buildSnapshotSchema<S extends StateSchema>(s: S): z.ZodO
|
|
|
105
105
|
name: z.ZodLiteral<string>;
|
|
106
106
|
data: z.ZodRecord<z.ZodString, z.ZodNever> | z.ZodObject<Readonly<{
|
|
107
107
|
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
108
|
-
}>, z.core.$
|
|
108
|
+
}>, z.core.$strip>;
|
|
109
109
|
id: z.ZodNumber;
|
|
110
110
|
stream: z.ZodString;
|
|
111
111
|
version: z.ZodNumber;
|
|
@@ -134,7 +134,7 @@ export declare function buildSnapshotSchema<S extends StateSchema>(s: S): z.ZodO
|
|
|
134
134
|
name: z.ZodLiteral<string>;
|
|
135
135
|
data: z.ZodRecord<z.ZodString, z.ZodNever> | z.ZodObject<Readonly<{
|
|
136
136
|
[k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
|
|
137
|
-
}>, z.core.$
|
|
137
|
+
}>, z.core.$strip>;
|
|
138
138
|
id: z.ZodNumber;
|
|
139
139
|
stream: z.ZodString;
|
|
140
140
|
version: z.ZodNumber;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/types/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEnD,eAAO,MAAM,QAAQ,sCAAkC,CAAC;AAExD,eAAO,MAAM,WAAW;;;kBAKX,CAAC;AAEd,eAAO,MAAM,YAAY;;;;;;;kBAMZ,CAAC;AAEd,eAAO,MAAM,oBAAoB;;;;iBAI/B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;kBAQf,CAAC;AAEd,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;kBAQnB,CAAC;AAEd,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,OAAO,QAAQ,CAAC,CAAC;IAClE,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;CAC/B,CAAC,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkB9D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;iBAUtB,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { type ZodType } from "zod/v4";
|
|
2
|
-
import type { Patch, Schema } from "./types";
|
|
2
|
+
import type { Patch, Schema } from "./types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Utility functions for patching state, validation, extending objects, and async helpers.
|
|
5
|
+
*/
|
|
3
6
|
/**
|
|
4
7
|
* Copies state with patches recursively.
|
|
5
8
|
* Keys with `undefined` or `null` values in patch are deleted.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAiB,MAAM,QAAQ,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA+BtD;;GAEG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,EACpC,UAAU,QAAQ,CAAC,CAAC,CAAC,EACrB,SAAS,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC1B,QAAQ,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,EACxB,QAAQ,MAAM,EACd,SAAS,QAAQ,CAAC,CAAC,CAAC,EACpB,SAAS,OAAO,CAAC,CAAC,CAAC,KAClB,QAAQ,CAAC,CAAC,CAaZ,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,GACjB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEjC,QAAQ,QAAQ,CAAC,CAAC,CAAC,EACnB,QAAQ,OAAO,CAAC,CAAC,CAAC,EAClB,SAAS,QAAQ,CAAC,CAAC,CAAC,KACnB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAGhB,CAAC;AAEF,wBAAsB,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,oBAEtC"}
|