@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.
Files changed (85) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/@types/act-builder.d.ts +32 -0
  3. package/dist/@types/act-builder.d.ts.map +1 -0
  4. package/dist/@types/act.d.ts +75 -0
  5. package/dist/@types/act.d.ts.map +1 -0
  6. package/dist/{adapters → @types/adapters}/InMemoryStore.d.ts +1 -1
  7. package/dist/@types/adapters/InMemoryStore.d.ts.map +1 -0
  8. package/dist/{config.d.ts → @types/config.d.ts} +4 -0
  9. package/dist/@types/config.d.ts.map +1 -0
  10. package/dist/@types/event-sourcing.d.ts +41 -0
  11. package/dist/@types/event-sourcing.d.ts.map +1 -0
  12. package/dist/@types/index.d.ts +13 -0
  13. package/dist/@types/index.d.ts.map +1 -0
  14. package/dist/{ports.d.ts → @types/ports.d.ts} +5 -1
  15. package/dist/@types/ports.d.ts.map +1 -0
  16. package/dist/@types/state-builder.d.ts +57 -0
  17. package/dist/@types/state-builder.d.ts.map +1 -0
  18. package/dist/{types → @types/types}/action.d.ts +26 -24
  19. package/dist/@types/types/action.d.ts.map +1 -0
  20. package/dist/{types → @types/types}/errors.d.ts +1 -1
  21. package/dist/@types/types/errors.d.ts.map +1 -0
  22. package/dist/{types → @types/types}/index.d.ts +6 -6
  23. package/dist/@types/types/index.d.ts.map +1 -0
  24. package/dist/{types → @types/types}/ports.d.ts +2 -2
  25. package/dist/@types/types/ports.d.ts.map +1 -0
  26. package/dist/{types → @types/types}/reaction.d.ts +1 -1
  27. package/dist/@types/types/reaction.d.ts.map +1 -0
  28. package/dist/{types → @types/types}/registry.d.ts +4 -4
  29. package/dist/@types/types/registry.d.ts.map +1 -0
  30. package/dist/{types → @types/types}/schemas.d.ts +4 -4
  31. package/dist/@types/types/schemas.d.ts.map +1 -0
  32. package/dist/{utils.d.ts → @types/utils.d.ts} +4 -1
  33. package/dist/@types/utils.d.ts.map +1 -0
  34. package/dist/index.cjs +928 -0
  35. package/dist/index.cjs.map +1 -0
  36. package/dist/index.js +854 -18
  37. package/dist/index.js.map +1 -1
  38. package/package.json +17 -5
  39. package/dist/act.d.ts +0 -24
  40. package/dist/act.d.ts.map +0 -1
  41. package/dist/act.js +0 -136
  42. package/dist/act.js.map +0 -1
  43. package/dist/adapters/InMemoryStore.d.ts.map +0 -1
  44. package/dist/adapters/InMemoryStore.js +0 -125
  45. package/dist/adapters/InMemoryStore.js.map +0 -1
  46. package/dist/builder.d.ts +0 -17
  47. package/dist/builder.d.ts.map +0 -1
  48. package/dist/builder.js +0 -70
  49. package/dist/builder.js.map +0 -1
  50. package/dist/config.d.ts.map +0 -1
  51. package/dist/config.js +0 -41
  52. package/dist/config.js.map +0 -1
  53. package/dist/event-sourcing.d.ts +0 -5
  54. package/dist/event-sourcing.d.ts.map +0 -1
  55. package/dist/event-sourcing.js +0 -101
  56. package/dist/event-sourcing.js.map +0 -1
  57. package/dist/index.d.ts +0 -9
  58. package/dist/index.d.ts.map +0 -1
  59. package/dist/ports.d.ts.map +0 -1
  60. package/dist/ports.js +0 -56
  61. package/dist/ports.js.map +0 -1
  62. package/dist/types/action.d.ts.map +0 -1
  63. package/dist/types/action.js +0 -2
  64. package/dist/types/action.js.map +0 -1
  65. package/dist/types/errors.d.ts.map +0 -1
  66. package/dist/types/errors.js +0 -44
  67. package/dist/types/errors.js.map +0 -1
  68. package/dist/types/index.d.ts.map +0 -1
  69. package/dist/types/index.js +0 -17
  70. package/dist/types/index.js.map +0 -1
  71. package/dist/types/ports.d.ts.map +0 -1
  72. package/dist/types/ports.js +0 -2
  73. package/dist/types/ports.js.map +0 -1
  74. package/dist/types/reaction.d.ts.map +0 -1
  75. package/dist/types/reaction.js +0 -2
  76. package/dist/types/reaction.js.map +0 -1
  77. package/dist/types/registry.d.ts.map +0 -1
  78. package/dist/types/registry.js +0 -2
  79. package/dist/types/registry.js.map +0 -1
  80. package/dist/types/schemas.d.ts.map +0 -1
  81. package/dist/types/schemas.js +0 -81
  82. package/dist/types/schemas.js.map +0 -1
  83. package/dist/utils.d.ts.map +0 -1
  84. package/dist/utils.js +0 -73
  85. 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<E extends Schemas, S extends Schema> = {
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<E extends Schemas, A extends Schemas, S extends Schema> = {
34
- readonly events: {
35
- [K in keyof E]: ZodType<E[K]>;
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 ActionHandler<E extends Schemas, A extends Schemas, S extends Schema, K extends keyof A> = (action: Readonly<A[K]>, state: Readonly<S>, target: Target) => Emitted<E> | Emitted<E>[] | undefined;
43
- export type State<E extends Schemas, A extends Schemas, S extends Schema> = StateSchemas<E, A, S> & {
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
- [K in keyof E]: (event: Committed<E, K>, state: Readonly<S>) => Readonly<Patch<S>>;
47
- };
48
- on: {
49
- [K in keyof A]: ActionHandler<E, A, S, K>;
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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"}
@@ -1,4 +1,4 @@
1
- import type { Message, Schema, Schemas, Target } from "./action";
1
+ import type { Message, Schema, Schemas, Target } from "./action.js";
2
2
  /**
3
3
  * Application error types
4
4
  * - `ERR_VALIDATION` schema validation error
@@ -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<E extends Schemas, A extends Schemas, S extends SchemaRegister<A>> = {
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, S[K]>;
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.$ZodObjectConfig>>;
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.$ZodObjectConfig>;
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.$ZodObjectConfig>;
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.$ZodObjectConfig>;
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"}