@rotorsoft/act 0.3.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 (87) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/{act-builder.d.ts → @types/act-builder.d.ts} +17 -2
  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/{state-builder.d.ts → @types/state-builder.d.ts} +1 -1
  17. package/dist/@types/state-builder.d.ts.map +1 -0
  18. package/dist/{types → @types/types}/action.d.ts +1 -1
  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 +2 -2
  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 -19
  37. package/dist/index.js.map +1 -1
  38. package/package.json +17 -5
  39. package/dist/act-builder.d.ts.map +0 -1
  40. package/dist/act-builder.js +0 -69
  41. package/dist/act-builder.js.map +0 -1
  42. package/dist/act.d.ts +0 -24
  43. package/dist/act.d.ts.map +0 -1
  44. package/dist/act.js +0 -136
  45. package/dist/act.js.map +0 -1
  46. package/dist/adapters/InMemoryStore.d.ts.map +0 -1
  47. package/dist/adapters/InMemoryStore.js +0 -125
  48. package/dist/adapters/InMemoryStore.js.map +0 -1
  49. package/dist/config.d.ts.map +0 -1
  50. package/dist/config.js +0 -41
  51. package/dist/config.js.map +0 -1
  52. package/dist/event-sourcing.d.ts +0 -5
  53. package/dist/event-sourcing.d.ts.map +0 -1
  54. package/dist/event-sourcing.js +0 -101
  55. package/dist/event-sourcing.js.map +0 -1
  56. package/dist/index.d.ts +0 -10
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/ports.d.ts.map +0 -1
  59. package/dist/ports.js +0 -56
  60. package/dist/ports.js.map +0 -1
  61. package/dist/state-builder.d.ts.map +0 -1
  62. package/dist/state-builder.js +0 -83
  63. package/dist/state-builder.js.map +0 -1
  64. package/dist/types/action.d.ts.map +0 -1
  65. package/dist/types/action.js +0 -2
  66. package/dist/types/action.js.map +0 -1
  67. package/dist/types/errors.d.ts.map +0 -1
  68. package/dist/types/errors.js +0 -44
  69. package/dist/types/errors.js.map +0 -1
  70. package/dist/types/index.d.ts.map +0 -1
  71. package/dist/types/index.js +0 -17
  72. package/dist/types/index.js.map +0 -1
  73. package/dist/types/ports.d.ts.map +0 -1
  74. package/dist/types/ports.js +0 -2
  75. package/dist/types/ports.js.map +0 -1
  76. package/dist/types/reaction.d.ts.map +0 -1
  77. package/dist/types/reaction.js +0 -2
  78. package/dist/types/reaction.js.map +0 -1
  79. package/dist/types/registry.d.ts.map +0 -1
  80. package/dist/types/registry.js +0 -2
  81. package/dist/types/registry.js.map +0 -1
  82. package/dist/types/schemas.d.ts.map +0 -1
  83. package/dist/types/schemas.js +0 -81
  84. package/dist/types/schemas.js.map +0 -1
  85. package/dist/utils.d.ts.map +0 -1
  86. package/dist/utils.js +0 -73
  87. package/dist/utils.js.map +0 -1
package/dist/config.js DELETED
@@ -1,41 +0,0 @@
1
- import * as dotenv from "dotenv";
2
- import * as fs from "node:fs";
3
- import { z } from "zod/v4";
4
- import { Environments, LogLevels } from "./types";
5
- import { extend } from "./utils";
6
- dotenv.config();
7
- export const PackageSchema = z.object({
8
- name: z.string().min(1),
9
- version: z.string().min(1),
10
- description: z.string().min(1),
11
- author: z
12
- .object({ name: z.string().min(1), email: z.string().optional() })
13
- .or(z.string().min(1)),
14
- license: z.string().min(1),
15
- dependencies: z.record(z.string(), z.string()),
16
- });
17
- const getPackage = () => {
18
- const pkg = fs.readFileSync("package.json");
19
- return JSON.parse(pkg.toString());
20
- };
21
- const BaseSchema = PackageSchema.extend({
22
- env: z.enum(Environments),
23
- logLevel: z.enum(LogLevels),
24
- logSingleLine: z.boolean(),
25
- sleepMs: z.number().int().min(0).max(5000),
26
- });
27
- const { NODE_ENV, LOG_LEVEL, LOG_SINGLE_LINE, SLEEP_MS } = process.env;
28
- const env = (NODE_ENV || "development");
29
- const logLevel = (LOG_LEVEL ||
30
- (NODE_ENV === "test"
31
- ? "error"
32
- : LOG_LEVEL === "production"
33
- ? "info"
34
- : "trace"));
35
- const logSingleLine = (LOG_SINGLE_LINE || "true") === "true";
36
- const sleepMs = parseInt(NODE_ENV === "test" ? "0" : (SLEEP_MS ?? "100"));
37
- const pkg = getPackage();
38
- export const config = () => {
39
- return extend({ ...pkg, env, logLevel, logSingleLine, sleepMs }, BaseSchema);
40
- };
41
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAe,YAAY,EAAY,SAAS,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC;SACN,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SACjE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/C,CAAC,CAAC;AAGH,MAAM,UAAU,GAAG,GAAY,EAAE;IAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAY,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;IACtC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC3B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;CAC3C,CAAC,CAAC;AAGH,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEvE,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAgB,CAAC;AACvD,MAAM,QAAQ,GAAG,CAAC,SAAS;IACzB,CAAC,QAAQ,KAAK,MAAM;QAClB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,KAAK,YAAY;YAC1B,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC,CAAa,CAAC;AAC9B,MAAM,aAAa,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,KAAK,MAAM,CAAC;AAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC;AAE1E,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAW,EAAE;IACjC,OAAO,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/E,CAAC,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Committed, Schema, Schemas, Snapshot, State, Target } from "./types";
2
- export declare function snap<S extends Schema, E extends Schemas>(snapshot: Snapshot<S, E>): Promise<void>;
3
- 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>>;
4
- 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>>;
5
- //# sourceMappingURL=event-sourcing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-sourcing.d.ts","sourceRoot":"","sources":["../src/event-sourcing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EAGT,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACP,MAAM,SAAS,CAAC;AAIjB,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,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,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,CA8EzB"}
@@ -1,101 +0,0 @@
1
- import { randomUUID } from "crypto";
2
- import { logger, SNAP_EVENT, store } from "./ports";
3
- import { InvariantError } from "./types/errors";
4
- import { patch, validate } from "./utils";
5
- export async function snap(snapshot) {
6
- try {
7
- const { id, stream, name, meta, version } = snapshot.event;
8
- const snapped = await store().commit(stream, [{ name: SNAP_EVENT, data: snapshot.state }], {
9
- correlation: meta.correlation,
10
- causation: { event: { id, name: name, stream } },
11
- }, version // IMPORTANT! - state events are committed right after the snapshot event
12
- );
13
- logger.trace(snapped, "🟠 snap");
14
- }
15
- catch (error) {
16
- logger.error(error);
17
- }
18
- }
19
- export async function load(me, stream, callback) {
20
- let state = me.init();
21
- let patches = 0;
22
- let snaps = 0;
23
- let event;
24
- await store().query((e) => {
25
- event = e;
26
- if (e.name === SNAP_EVENT) {
27
- state = e.data;
28
- snaps++;
29
- patches = 0;
30
- }
31
- else if (me.patch[e.name]) {
32
- state = patch(state, me.patch[e.name](event, state));
33
- patches++;
34
- }
35
- callback && callback({ event, state, patches, snaps });
36
- }, { stream }, true);
37
- logger.trace({ stream, patches, snaps, state }, "🟢 load");
38
- return { event, state, patches, snaps };
39
- }
40
- export async function action(me, action, target, payload, reactingTo, skipValidation = false) {
41
- const { stream, expectedVersion, actor } = target;
42
- if (!stream)
43
- throw new Error("Missing target stream");
44
- payload = skipValidation
45
- ? payload
46
- : validate(action, payload, me.actions[action]);
47
- logger.trace(payload, `🔵 ${action} "${stream}${expectedVersion ? `@${expectedVersion}` : ""}"`);
48
- let snapshot = await load(me, stream);
49
- if (me.given) {
50
- const invariants = me.given[action] || [];
51
- invariants.forEach(({ valid, description }) => {
52
- if (!valid(snapshot.state, actor))
53
- throw new InvariantError(action, payload, target, description);
54
- });
55
- }
56
- let { state, patches } = snapshot;
57
- const result = me.on[action](payload, state, target);
58
- if (!result)
59
- return snapshot;
60
- const tuples = Array.isArray(result[0])
61
- ? result // array of tuples
62
- : [result]; // single tuple
63
- if (!tuples.length)
64
- return snapshot;
65
- const emitted = tuples.map(([name, data]) => ({
66
- name,
67
- data: validate(name, data, me.events[name]),
68
- }));
69
- const meta = {
70
- correlation: reactingTo?.meta.correlation || randomUUID(),
71
- causation: {
72
- action: {
73
- name: action,
74
- ...target,
75
- // payload: TODO: flag to include action payload in metadata
76
- // not included by default to avoid large payloads
77
- },
78
- event: reactingTo
79
- ? {
80
- id: reactingTo.id,
81
- name: reactingTo.name,
82
- stream: reactingTo.stream,
83
- }
84
- : undefined,
85
- },
86
- };
87
- const committed = await store().commit(stream, emitted, meta,
88
- // TODO: review reactions not enforcing expected version
89
- reactingTo ? undefined : expectedVersion || snapshot.event?.version);
90
- snapshot = committed
91
- .map((event) => {
92
- state = patch(state, me.patch[event.name](event, state));
93
- patches++;
94
- logger.trace({ event, state }, "🔴 commit");
95
- return { event, state, patches, snaps: snapshot.snaps };
96
- })
97
- .at(-1);
98
- me.snap && me.snap(snapshot) && void snap(snapshot); // fire and forget snaps
99
- return snapshot;
100
- }
101
- //# sourceMappingURL=event-sourcing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-sourcing.js","sourceRoot":"","sources":["../src/event-sourcing.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { config } from "./config";
2
- /** @module act */
3
- export * from "./act";
4
- export * from "./act-builder";
5
- export * from "./ports";
6
- export * from "./state-builder";
7
- export * from "./types";
8
- export * from "./utils";
9
- export { config };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,kBAAkB;AAClB,cAAc,OAAO,CAAC;AACtB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +0,0 @@
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,SAAS,CAAC;AAE3D,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"}
package/dist/ports.js DELETED
@@ -1,56 +0,0 @@
1
- import pino from "pino";
2
- import { InMemoryStore } from "./adapters/InMemoryStore";
3
- import { config } from "./config";
4
- export const ExitCodes = ["ERROR", "EXIT"];
5
- export const logger = pino({
6
- transport: config().env !== "production"
7
- ? {
8
- target: "pino-pretty",
9
- options: {
10
- ignore: "pid,hostname",
11
- singleLine: config().logSingleLine,
12
- colorize: true,
13
- },
14
- }
15
- : undefined,
16
- level: config().logLevel,
17
- });
18
- const adapters = new Map();
19
- export function port(injector) {
20
- return function (adapter) {
21
- if (!adapters.has(injector.name)) {
22
- const injected = injector(adapter);
23
- adapters.set(injector.name, injected);
24
- logger.info(`🔌 injected ${injector.name}:${injected.constructor.name}`);
25
- }
26
- return adapters.get(injector.name);
27
- };
28
- }
29
- const disposers = [];
30
- export async function disposeAndExit(code = "EXIT") {
31
- // ignore when errors are caught in production
32
- if (code === "ERROR" && config().env === "production")
33
- return;
34
- await Promise.all(disposers.map((disposer) => disposer()));
35
- await Promise.all([...adapters.values()].reverse().map(async (adapter) => {
36
- await adapter.dispose();
37
- logger.info(`🔌 disposed ${adapter.constructor.name}`);
38
- }));
39
- adapters.clear();
40
- config().env !== "test" && process.exit(code === "ERROR" ? 1 : 0);
41
- }
42
- /**
43
- * Registers resource disposers that are triggered on process exit
44
- * @param disposer the disposer function
45
- * @returns a function that triggers all registered disposers and terminates the process
46
- */
47
- export function dispose(disposer) {
48
- disposer && disposers.push(disposer);
49
- return disposeAndExit;
50
- }
51
- // singleton ports
52
- export const SNAP_EVENT = "__snapshot__";
53
- export const store = port(function store(adapter) {
54
- return adapter || new InMemoryStore();
55
- });
56
- //# sourceMappingURL=ports.js.map
package/dist/ports.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,CAAU,CAAC;AAGpD,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EACP,MAAM,EAAE,CAAC,GAAG,KAAK,YAAY;QAC3B,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,MAAM,EAAE,CAAC,aAAa;gBAClC,QAAQ,EAAE,IAAI;aACf;SACF;QACH,CAAC,CAAC,SAAS;IACf,KAAK,EAAE,MAAM,EAAE,CAAC,QAAQ;CACzB,CAAC,CAAC;AAGH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;AAC/C,MAAM,UAAU,IAAI,CAA0B,QAAwB;IACpE,OAAO,UAAU,OAAc;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,eAAe,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAS,CAAC;IAC7C,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAe,EAAE,CAAC;AACjC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAiB,MAAM;IAC1D,8CAA8C;IAC9C,IAAI,IAAI,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,GAAG,KAAK,YAAY;QAAE,OAAO;IAE9D,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,CAAC,GAAG,CACf,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACrD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CACH,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,QAAmB;IAEnB,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAC;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,CAAC,OAAe;IACtD,OAAO,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
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,SAAS,CAAC;AAGjB,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,83 +0,0 @@
1
- /**
2
- * Fluent interface for defining a strongly-typed state machine using Zod schemas.
3
- *
4
- * This builder helps you model a system where:
5
- * - You start by defining the state schema with `state(name, zodSchema)`
6
- * - Then, provide the initial state using `.init(() => defaultState)`
7
- * - Declare the event types your system can emit using `.emits({ ... })`
8
- * - Define how emitted events update state with `.patch({ ... })`
9
- * - Define actions using `.on("actionName", actionSchema)`
10
- * - Optionally constrain the action with `.given([...invariants])`
11
- * - Then finalize the action behavior with `.emit(handler)`
12
- * - (Optional) Define a `.snap(snapshot => boolean)` function to reduce recomputations
13
- * - Finalize the state machine definition using `.build()`
14
- *
15
- * Example usage:
16
- * ```ts
17
- * const machine = state("machine", myStateSchema)
18
- * .init(() => ({ count: 0 }))
19
- * .emits({ Incremented: z.object({ amount: z.number() }) })
20
- * .patch({
21
- * Incremented: (event, state) => ({ count: state.count + event.amount })
22
- * })
23
- * .on("increment", z.object({ by: z.number() }))
24
- * .given([{ description: "must be positive", valid: (s, a) => a?.by > 0 }])
25
- * .emit((action, state) => ({ type: "Incremented", amount: action.by }))
26
- * .build();
27
- * ```
28
- */
29
- export function state(name, state) {
30
- return {
31
- init(init) {
32
- return {
33
- emits(events) {
34
- return {
35
- patch(patch) {
36
- return action_builder({
37
- events,
38
- actions: {},
39
- state,
40
- name,
41
- init,
42
- patch,
43
- on: {},
44
- });
45
- },
46
- };
47
- },
48
- };
49
- },
50
- };
51
- }
52
- function action_builder(state) {
53
- return {
54
- on(action, schema) {
55
- if (action in state.actions)
56
- throw new Error(`Duplicate action "${action}"`);
57
- const actions = { ...state.actions, [action]: schema };
58
- const on = { ...state.on };
59
- const _given = { ...state.given };
60
- function given(rules) {
61
- _given[action] = rules;
62
- return { emit };
63
- }
64
- function emit(handler) {
65
- on[action] = handler;
66
- return action_builder({
67
- ...state,
68
- actions,
69
- on,
70
- given: _given,
71
- });
72
- }
73
- return { given, emit };
74
- },
75
- snap(snap) {
76
- return action_builder({ ...state, snap });
77
- },
78
- build() {
79
- return state;
80
- },
81
- };
82
- }
83
- //# sourceMappingURL=state-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"state-builder.js","sourceRoot":"","sources":["../src/state-builder.ts"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,KAAK,CACnB,IAAY,EACZ,KAAiB;IAEjB,OAAO;QACL,IAAI,CAAC,IAAuB;YAC1B,OAAO;gBACL,KAAK,CAAmB,MAAmB;oBACzC,OAAO;wBACL,KAAK,CAAC,KAA0B;4BAC9B,OAAO,cAAc,CAAW;gCAC9B,MAAM;gCACN,OAAO,EAAE,EAAE;gCACX,KAAK;gCACL,IAAI;gCACJ,IAAI;gCACJ,KAAK;gCACL,EAAE,EAAE,EAAE;6BACP,CAAC,CAAC;wBACL,CAAC;qBACF,CAAC;gBACJ,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACrB,KAAqB;IAErB,OAAO;QACL,EAAE,CAAsC,MAAS,EAAE,MAAmB;YACpE,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO;gBACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,GAAG,CAAC,CAAC;YAGlD,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAoB,CAAC;YACzE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,EAAE,EAAgC,CAAC;YACzD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,EAA4B,CAAC;YAE5D,SAAS,KAAK,CAAC,KAAqB;gBAClC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACvB,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC;YAED,SAAS,IAAI,CAAC,OAAqC;gBACjD,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACrB,OAAO,cAAc,CAAa;oBAChC,GAAG,KAAK;oBACR,OAAO;oBACP,EAAE;oBACF,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAA2C;YAC9C,OAAO,cAAc,CAAU,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,KAAK;YACH,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=action.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
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,UAAU,CAAC;AAEjE;;;;;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,44 +0,0 @@
1
- /**
2
- * Application error types
3
- * - `ERR_VALIDATION` schema validation error
4
- * - `ERR_INVARIANT` invariant validation error
5
- * - `ERR_CONCURRENCY` optimistic concurrency validation error on commits
6
- */
7
- export const Errors = {
8
- ValidationError: "ERR_VALIDATION",
9
- InvariantError: "ERR_INVARIANT",
10
- ConcurrencyError: "ERR_CONCURRENCY",
11
- };
12
- export class ValidationError extends Error {
13
- target;
14
- payload;
15
- details;
16
- constructor(target, payload, details) {
17
- super(`Invalid ${target} payload`);
18
- this.target = target;
19
- this.payload = payload;
20
- this.details = details;
21
- this.name = Errors.ValidationError;
22
- }
23
- }
24
- export class InvariantError extends Error {
25
- details;
26
- constructor(name, payload, target, description) {
27
- super(`${name} failed invariant: ${description}`);
28
- this.name = Errors.InvariantError;
29
- this.details = { name, payload, target, description };
30
- }
31
- }
32
- export class ConcurrencyError extends Error {
33
- lastVersion;
34
- events;
35
- expectedVersion;
36
- constructor(lastVersion, events, expectedVersion) {
37
- super(`Concurrency error committing event "${events.at(0)?.name}". Expected version ${expectedVersion} but found version ${lastVersion}.`);
38
- this.lastVersion = lastVersion;
39
- this.events = events;
40
- this.expectedVersion = expectedVersion;
41
- this.name = Errors.ConcurrencyError;
42
- }
43
- }
44
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,eAAe,EAAE,gBAAgB;IACjC,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,iBAAiB;CAC3B,CAAC;AAEX,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,OAAY,EACZ,OAAY;QAE5B,KAAK,CAAC,WAAW,MAAM,UAAU,CAAC,CAAC;QAJnB,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAK;QACZ,YAAO,GAAP,OAAO,CAAK;QAG5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvB,OAAO,CAAC;IACxB,YACE,IAAY,EACZ,OAAe,EACf,MAAc,EACd,WAAmB;QAEnB,KAAK,CAAC,GAAG,IAAI,sBAAsB,WAAW,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACxD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAEvB;IACA;IACA;IAHlB,YACkB,WAAmB,EACnB,MAAyC,EACzC,eAAuB;QAEvC,KAAK,CACH,uCACE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAChB,uBAAuB,eAAe,sBAAsB,WAAW,GAAG,CAC3E,CAAC;QARc,gBAAW,GAAX,WAAW,CAAQ;QACnB,WAAM,GAAN,MAAM,CAAmC;QACzC,oBAAe,GAAf,eAAe,CAAQ;QAOvC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACtC,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,UAAU,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,YAAY,CAAC;AAChC,cAAc,WAAW,CAAC;AAE1B,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,17 +0,0 @@
1
- export * from "./errors";
2
- export * from "./schemas";
3
- export const Environments = [
4
- "development",
5
- "test",
6
- "staging",
7
- "production",
8
- ];
9
- export const LogLevels = [
10
- "fatal",
11
- "error",
12
- "warn",
13
- "info",
14
- "debug",
15
- "trace",
16
- ];
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AAIzB,cAAc,WAAW,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,aAAa;IACb,MAAM;IACN,SAAS;IACT,YAAY;CACJ,CAAC;AAGX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;CACC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/types/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE/C,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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ports.js","sourceRoot":"","sources":["../../src/types/ports.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
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,UAAU,CAAC;AAErE,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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=reaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reaction.js","sourceRoot":"","sources":["../../src/types/reaction.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
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,UAAU,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/types/registry.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
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,81 +0,0 @@
1
- import { z } from "zod/v4";
2
- export const ZodEmpty = z.record(z.string(), z.never());
3
- export const ActorSchema = z
4
- .object({
5
- id: z.string(),
6
- name: z.string(),
7
- })
8
- .readonly();
9
- export const TargetSchema = z
10
- .object({
11
- stream: z.string(),
12
- actor: ActorSchema,
13
- expectedVersion: z.number().optional(),
14
- })
15
- .readonly();
16
- export const CausationEventSchema = z.object({
17
- id: z.number(),
18
- name: z.string(),
19
- stream: z.string(),
20
- });
21
- export const EventMetaSchema = z
22
- .object({
23
- correlation: z.string(),
24
- causation: z.object({
25
- action: TargetSchema.and(z.object({ name: z.string() })).optional(),
26
- event: CausationEventSchema.optional(),
27
- }),
28
- })
29
- .readonly();
30
- export const CommittedMetaSchema = z
31
- .object({
32
- id: z.number(),
33
- stream: z.string(),
34
- version: z.number(),
35
- created: z.date(),
36
- meta: EventMetaSchema,
37
- })
38
- .readonly();
39
- export function buildSnapshotSchema(s) {
40
- const events = Object.entries(s.events).map(([name, zod]) => z.object({
41
- name: z.literal(name),
42
- data: zod,
43
- id: z.number(),
44
- stream: z.string(),
45
- version: z.number(),
46
- created: z.date(),
47
- meta: EventMetaSchema,
48
- }));
49
- return z.object({
50
- state: s.state.readonly(),
51
- event: z.union([events[0], events[1], ...events.slice(2)]).optional(),
52
- patches: z.number(),
53
- snaps: z.number(),
54
- });
55
- }
56
- /**
57
- * Options to query the all stream
58
- * - `stream?` filter by stream
59
- * - `names?` filter by event names
60
- * - `before?` filter events before this id
61
- * - `after?` filter events after this id
62
- * - `limit?` limit the number of events to return
63
- * - `created_before?` filter events created before this date/time
64
- * - `created_after?` filter events created after this date/time
65
- * - `backward?` order descending when true
66
- * - `correlation?` filter by correlation
67
- * - `actor?` filter by actor id (mainly used to reduce process managers)
68
- * - `loading?` flag when loading to optimize queries
69
- */
70
- export const QuerySchema = z.object({
71
- stream: z.string().optional(),
72
- names: z.string().array().optional(),
73
- before: z.number().optional(),
74
- after: z.number().optional(),
75
- limit: z.number().optional(),
76
- created_before: z.date().optional(),
77
- created_after: z.date().optional(),
78
- backward: z.boolean().optional(),
79
- correlation: z.string().optional(),
80
- });
81
- //# sourceMappingURL=schemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/types/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAA0B,MAAM,QAAQ,CAAC;AAEnD,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,WAAW;IAClB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,EAAE;KACvC,CAAC;CACH,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;IACjB,IAAI,EAAE,eAAe;CACtB,CAAC;KACD,QAAQ,EAAE,CAAC;AAQd,MAAM,UAAU,mBAAmB,CAAwB,CAAI;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,CAC1D,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,eAAe;KACtB,CAAC,CACH,CAAC;IACF,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACnC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}
@@ -1 +0,0 @@
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,SAAS,CAAC;AA+B7C;;;;;;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"}