@rotorsoft/act 0.0.2 → 0.3.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 (43) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/act-builder.d.ts +17 -0
  3. package/dist/act-builder.d.ts.map +1 -0
  4. package/dist/act-builder.js +69 -0
  5. package/dist/act-builder.js.map +1 -0
  6. package/dist/act.d.ts +6 -6
  7. package/dist/act.d.ts.map +1 -1
  8. package/dist/act.js +3 -3
  9. package/dist/act.js.map +1 -1
  10. package/dist/config.d.ts +20 -69
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +2 -2
  13. package/dist/config.js.map +1 -1
  14. package/dist/event-sourcing.d.ts +3 -3
  15. package/dist/event-sourcing.d.ts.map +1 -1
  16. package/dist/event-sourcing.js +1 -1
  17. package/dist/event-sourcing.js.map +1 -1
  18. package/dist/index.d.ts +2 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/ports.d.ts.map +1 -1
  23. package/dist/state-builder.d.ts +57 -0
  24. package/dist/state-builder.d.ts.map +1 -0
  25. package/dist/state-builder.js +83 -0
  26. package/dist/state-builder.js.map +1 -0
  27. package/dist/types/action.d.ts +30 -27
  28. package/dist/types/action.d.ts.map +1 -1
  29. package/dist/types/registry.d.ts +8 -6
  30. package/dist/types/registry.d.ts.map +1 -1
  31. package/dist/types/schemas.d.ts +59 -914
  32. package/dist/types/schemas.d.ts.map +1 -1
  33. package/dist/types/schemas.js +8 -9
  34. package/dist/types/schemas.js.map +1 -1
  35. package/dist/utils.d.ts +1 -1
  36. package/dist/utils.d.ts.map +1 -1
  37. package/dist/utils.js +2 -2
  38. package/dist/utils.js.map +1 -1
  39. package/package.json +4 -4
  40. package/dist/builder.d.ts +0 -30
  41. package/dist/builder.d.ts.map +0 -1
  42. package/dist/builder.js +0 -97
  43. package/dist/builder.js.map +0 -1
@@ -1 +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,KAAK,CAAC;AAEhD,eAAO,MAAM,QAAQ,sCAAsB,CAAC;AAE5C,eAAO,MAAM,WAAW;;;;;;;;;GAKX,CAAC;AAEd,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;GAMZ,CAAC;AAEd,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAcf,CAAC;AAEd,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQnB,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkB9D;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUtB,CAAC"}
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,5 @@
1
- import { z } from "zod";
2
- export const ZodEmpty = z.record(z.never());
1
+ import { z } from "zod/v4";
2
+ export const ZodEmpty = z.record(z.string(), z.never());
3
3
  export const ActorSchema = z
4
4
  .object({
5
5
  id: z.string(),
@@ -13,18 +13,17 @@ export const TargetSchema = z
13
13
  expectedVersion: z.number().optional(),
14
14
  })
15
15
  .readonly();
16
+ export const CausationEventSchema = z.object({
17
+ id: z.number(),
18
+ name: z.string(),
19
+ stream: z.string(),
20
+ });
16
21
  export const EventMetaSchema = z
17
22
  .object({
18
23
  correlation: z.string(),
19
24
  causation: z.object({
20
25
  action: TargetSchema.and(z.object({ name: z.string() })).optional(),
21
- event: z
22
- .object({
23
- id: z.number(),
24
- name: z.string(),
25
- stream: z.string(),
26
- })
27
- .optional(),
26
+ event: CausationEventSchema.optional(),
28
27
  }),
29
28
  })
30
29
  .readonly();
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/types/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/types/schemas.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ZodType } from "zod";
1
+ import { type ZodType } from "zod/v4";
2
2
  import type { Patch, Schema } from "./types";
3
3
  /**
4
4
  * Copies state with patches recursively.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA+B7C;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,YAC1B,QAAQ,CAAC,CAAC,CAAC,WACZ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC1B,QAAQ,CAAC,CAAC,CAgBZ,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,UAChB,MAAM,WACL,QAAQ,CAAC,CAAC,CAAC,WACX,OAAO,CAAC,CAAC,CAAC,KAClB,QAAQ,CAAC,CAAC,CAUZ,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,UAEzB,QAAQ,CAAC,CAAC,CAAC,UACX,OAAO,CAAC,CAAC,CAAC,WACT,QAAQ,CAAC,CAAC,CAAC,KACnB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAGhB,CAAC;AAEF,wBAAsB,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,oBAEtC"}
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"}
package/dist/utils.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { prettifyError } from "zod/v4";
1
2
  import { config } from "./config";
2
3
  import { ValidationError } from "./types";
3
4
  /** These objects are copied instead of deep merged */
@@ -54,8 +55,7 @@ export const validate = (target, payload, schema) => {
54
55
  }
55
56
  catch (error) {
56
57
  if (error instanceof Error && error.name === "ZodError") {
57
- const { _errors, ...details } = error.format();
58
- throw new ValidationError(target, payload, details);
58
+ throw new ValidationError(target, payload, prettifyError(error));
59
59
  }
60
60
  throw new ValidationError(target, payload, error);
61
61
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rotorsoft/act",
3
3
  "type": "module",
4
- "version": "0.0.2",
4
+ "version": "0.3.0",
5
5
  "description": "act core library",
6
6
  "author": "rotorsoft",
7
7
  "license": "MIT",
@@ -20,10 +20,10 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "dotenv": "^16.4.7",
24
- "pino": "^9.6.0",
23
+ "dotenv": "^16.5.0",
24
+ "pino": "^9.7.0",
25
25
  "pino-pretty": "^13.0.0",
26
- "zod": "^3.24.2"
26
+ "zod": "^3.25.64"
27
27
  },
28
28
  "scripts": {
29
29
  "clean": "rm -rf dist",
package/dist/builder.d.ts DELETED
@@ -1,30 +0,0 @@
1
- import { Act } from "./act";
2
- import type { EventRegister, ReactionHandler, ReactionOptions, ReactionResolver, Registry, Schema, SchemaRegister, Schemas, StateFactory } from "./types";
3
- export interface IActBuilder<E extends Schemas, A extends Schemas, S extends SchemaRegister<A>> {
4
- get events(): EventRegister<E>;
5
- with<EX extends Schemas, AX extends Schemas, SX extends Schema>(factory: StateFactory<EX, AX, SX>): IActBuilder<E & EX, A & AX, S & {
6
- [K in keyof AX]: SX;
7
- }>;
8
- on<K extends keyof E>(event: K): IDoBuilder<E, A, S, K>;
9
- build(drainLimit?: number): Act<E, A, S>;
10
- }
11
- interface IDoBuilder<E extends Schemas, A extends Schemas, S extends SchemaRegister<A>, K extends keyof E> extends IActBuilder<E, A, S> {
12
- do(handler: ReactionHandler<E, K>, options?: Partial<ReactionOptions>): IToBuilder<E, A, S, K>;
13
- }
14
- interface IToBuilder<E extends Schemas, A extends Schemas, S extends SchemaRegister<A>, K extends keyof E> extends IDoBuilder<E, A, S, K> {
15
- to(resolver: ReactionResolver<E, K>): IDoBuilder<E, A, S, K>;
16
- void(): IDoBuilder<E, A, S, K>;
17
- }
18
- export declare class ActBuilder<E extends Schemas = {}, A extends Schemas = {}, S extends SchemaRegister<A> = {}> implements IActBuilder<E, A, S> {
19
- protected _registry: Registry<E, A, S>;
20
- private factories;
21
- constructor(_registry?: Registry<E, A, S>);
22
- get events(): EventRegister<E>;
23
- with<EX extends Schemas, AX extends Schemas, SX extends Schema>(factory: StateFactory<EX, AX, SX>): IActBuilder<E & EX, A & AX, S & {
24
- [K in keyof AX]: SX;
25
- }>;
26
- on<K extends keyof E>(event: K): IDoBuilder<E, A, S, K>;
27
- build(drainLimit?: number): Act<E, A, S>;
28
- }
29
- export {};
30
- //# sourceMappingURL=builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}
package/dist/builder.js DELETED
@@ -1,97 +0,0 @@
1
- import { Act } from "./act";
2
- // default resolver resolves to same event stream
3
- const _this_ = ({ stream }) => stream;
4
- // nothing to resolve
5
- const _void_ = () => undefined;
6
- /* eslint-disable @typescript-eslint/no-empty-object-type */
7
- export class ActBuilder {
8
- _registry;
9
- factories = new Set();
10
- constructor(_registry = {
11
- actions: {},
12
- events: {},
13
- }) {
14
- this._registry = _registry;
15
- }
16
- get events() {
17
- return this._registry.events;
18
- }
19
- with(factory) {
20
- if (!this.factories.has(factory.name)) {
21
- this.factories.add(factory.name);
22
- const me = factory();
23
- Object.keys(me.actions).forEach((name) => {
24
- if (this._registry.actions[name])
25
- throw Error(`Duplicate action "${name}"`);
26
- // @ts-expect-error indexed access
27
- this._registry.actions[name] = me;
28
- });
29
- Object.keys(me.events).forEach((name) => {
30
- if (this._registry.events[name])
31
- throw Error(`Duplicate event "${name}"`);
32
- // @ts-expect-error indexed access
33
- this._registry.events[name] = {
34
- schema: me.events[name],
35
- reactions: new Map(),
36
- };
37
- });
38
- }
39
- return this;
40
- }
41
- on(event) {
42
- return new DoBuilder(this._registry, event);
43
- }
44
- build(drainLimit = 10) {
45
- return new Act(this._registry, drainLimit);
46
- }
47
- }
48
- class DoBuilder extends ActBuilder {
49
- event;
50
- constructor(registry, event) {
51
- super(registry);
52
- this.event = event;
53
- }
54
- get events() {
55
- throw new Error("Method not implemented.");
56
- }
57
- do(handler, options) {
58
- const reaction = {
59
- handler: handler,
60
- resolver: _this_,
61
- options: {
62
- blockOnError: options?.blockOnError ?? true,
63
- maxRetries: options?.maxRetries ?? 3,
64
- retryDelayMs: options?.retryDelayMs ?? 1000,
65
- },
66
- };
67
- this._registry.events[this.event].reactions.set(handler.name, reaction);
68
- return new ToBuilder(this._registry, this.event, reaction);
69
- }
70
- }
71
- class ToBuilder extends DoBuilder {
72
- reaction;
73
- constructor(registry, event, reaction) {
74
- super(registry, event);
75
- this.reaction = reaction;
76
- }
77
- get events() {
78
- throw new Error("Method not implemented.");
79
- }
80
- to(resolver) {
81
- this._registry.events[this.event].reactions.set(this.reaction.handler.name, {
82
- handler: this.reaction.handler,
83
- resolver: resolver,
84
- options: this.reaction.options,
85
- });
86
- return new DoBuilder(this._registry, this.event);
87
- }
88
- void() {
89
- this._registry.events[this.event].reactions.set(this.reaction.handler.name, {
90
- handler: this.reaction.handler,
91
- resolver: _void_,
92
- options: this.reaction.options,
93
- });
94
- return new DoBuilder(this._registry, this.event);
95
- }
96
- }
97
- //# sourceMappingURL=builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":"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"}