@rotorsoft/act 0.14.0 → 0.16.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.
@@ -1,5 +1,5 @@
1
1
  import { z, ZodType } from "zod";
2
- import { ActorSchema, CausationEventSchema, CommittedMetaSchema, EventMetaSchema, QuerySchema, TargetSchema } from "./schemas.js";
2
+ import { ActorSchema, CausationEventSchema, CommittedMetaSchema, EventMetaSchema, QuerySchema } from "./schemas.js";
3
3
  /**
4
4
  * @packageDocumentation
5
5
  * @module act/types
@@ -36,6 +36,8 @@ export type Actor = z.infer<typeof ActorSchema>;
36
36
  * and who is performing it. The target combines the stream identifier
37
37
  * with actor context for complete audit trail.
38
38
  *
39
+ * @template TActor - Actor type extending base Actor (default: Actor)
40
+ *
39
41
  * @example Basic target
40
42
  * ```typescript
41
43
  * const target: Target = {
@@ -55,7 +57,11 @@ export type Actor = z.infer<typeof ActorSchema>;
55
57
  * }, userData);
56
58
  * ```
57
59
  */
58
- export type Target = z.infer<typeof TargetSchema>;
60
+ export type Target<TActor extends Actor = Actor> = {
61
+ readonly stream: string;
62
+ readonly actor: TActor;
63
+ readonly expectedVersion?: number;
64
+ };
59
65
  /**
60
66
  * Metadata describing the causation of an event.
61
67
  */
@@ -115,8 +121,8 @@ export type ZodTypes<T extends Schemas> = {
115
121
  * Messages are the basic building blocks of the event log. Each message
116
122
  * has a name (event type) and data (event payload).
117
123
  *
118
- * @template E - Schemas map
119
- * @template K - Event/action name
124
+ * @template TEvents - Schemas map
125
+ * @template TKey - Event/action name
120
126
  *
121
127
  * @example
122
128
  * ```typescript
@@ -126,11 +132,11 @@ export type ZodTypes<T extends Schemas> = {
126
132
  * };
127
133
  * ```
128
134
  */
129
- export type Message<E extends Schemas, K extends keyof E> = {
135
+ export type Message<TEvents extends Schemas, TKey extends keyof TEvents> = {
130
136
  /** The event or action name */
131
- readonly name: K;
137
+ readonly name: TKey;
132
138
  /** The event or action payload */
133
- readonly data: Readonly<E[K]>;
139
+ readonly data: Readonly<TEvents[TKey]>;
134
140
  };
135
141
  /**
136
142
  * A committed event with complete metadata.
@@ -139,8 +145,8 @@ export type Message<E extends Schemas, K extends keyof E> = {
139
145
  * the event was created, including correlation and causation information for
140
146
  * tracing event-driven workflows.
141
147
  *
142
- * @template E - Schemas map
143
- * @template K - Event name
148
+ * @template TEvents - Schemas map
149
+ * @template TKey - Event name
144
150
  *
145
151
  * @example
146
152
  * ```typescript
@@ -164,7 +170,7 @@ export type Message<E extends Schemas, K extends keyof E> = {
164
170
  *
165
171
  * @see {@link CommittedMeta} for metadata structure
166
172
  */
167
- export type Committed<E extends Schemas, K extends keyof E> = Message<E, K> & CommittedMeta;
173
+ export type Committed<TEvents extends Schemas, TKey extends keyof TEvents> = Message<TEvents, TKey> & CommittedMeta;
168
174
  /**
169
175
  * Snapshot of state at a specific point in time.
170
176
  *
@@ -172,8 +178,8 @@ export type Committed<E extends Schemas, K extends keyof E> = Message<E, K> & Co
172
178
  * metadata about how many events have been applied (patches) and how many
173
179
  * snapshots have been taken for optimization.
174
180
  *
175
- * @template S - State schema
176
- * @template E - Event schemas
181
+ * @template TState - State schema
182
+ * @template TEvents - Event schemas
177
183
  *
178
184
  * @example
179
185
  * ```typescript
@@ -195,11 +201,11 @@ export type Committed<E extends Schemas, K extends keyof E> = Message<E, K> & Co
195
201
  * })
196
202
  * ```
197
203
  */
198
- export type Snapshot<S extends Schema, E extends Schemas> = {
204
+ export type Snapshot<TState extends Schema, TEvents extends Schemas> = {
199
205
  /** Current state data */
200
- readonly state: S;
206
+ readonly state: TState;
201
207
  /** Event that created this snapshot (undefined for initial state) */
202
- readonly event?: Committed<E, keyof E>;
208
+ readonly event?: Committed<TEvents, keyof TEvents>;
203
209
  /** Number of patches applied since last snapshot */
204
210
  readonly patches: number;
205
211
  /** Number of snapshots taken for this stream */
@@ -207,91 +213,93 @@ export type Snapshot<S extends Schema, E extends Schemas> = {
207
213
  };
208
214
  /**
209
215
  * An invariant is a condition that must always hold true for a state.
210
- * @template S - State schema.
216
+ * @template TState - State schema.
217
+ * @template TActor - Actor type extending base Actor.
211
218
  */
212
- export type Invariant<S extends Schema> = {
219
+ export type Invariant<TState extends Schema, TActor extends Actor = Actor> = {
213
220
  description: string;
214
- valid: (state: Readonly<S>, actor?: Actor) => boolean;
221
+ valid: (state: Readonly<TState>, actor?: TActor) => boolean;
215
222
  };
216
223
  /**
217
224
  * Represents an emitted event tuple from an action handler.
218
- * @template E - Event schemas.
225
+ * @template TEvents - Event schemas.
219
226
  */
220
- export type Emitted<E extends Schemas> = {
221
- [K in keyof E]: readonly [K, Readonly<E[K]>];
222
- }[keyof E];
227
+ export type Emitted<TEvents extends Schemas> = {
228
+ [TKey in keyof TEvents]: readonly [TKey, Readonly<TEvents[TKey]>];
229
+ }[keyof TEvents];
223
230
  /**
224
231
  * Bundles the Zod types for state, events, and actions.
225
- * @template S - State schema.
226
- * @template E - Event schemas.
227
- * @template A - Action schemas.
232
+ * @template TState - State schema.
233
+ * @template TEvents - Event schemas.
234
+ * @template TActions - Action schemas.
228
235
  */
229
- export type StateSchemas<S extends Schema, E extends Schemas, A extends Schemas> = {
230
- readonly events: ZodTypes<E>;
231
- readonly actions: ZodTypes<A>;
232
- readonly state: ZodType<S>;
236
+ export type StateSchemas<TState extends Schema, TEvents extends Schemas, TActions extends Schemas> = {
237
+ readonly events: ZodTypes<TEvents>;
238
+ readonly actions: ZodTypes<TActions>;
239
+ readonly state: ZodType<TState>;
233
240
  };
234
241
  /**
235
242
  * Handles patching state in response to a committed event.
236
- * @template S - State schema.
237
- * @template E - Event schemas.
238
- * @template K - Event name.
243
+ * @template TState - State schema.
244
+ * @template TEvents - Event schemas.
245
+ * @template TKey - Event name.
239
246
  */
240
- export type PatchHandler<S extends Schema, E extends Schemas, K extends keyof E> = (event: Committed<E, K>, state: Readonly<S>) => Readonly<Patch<S>>;
247
+ export type PatchHandler<TState extends Schema, TEvents extends Schemas, TKey extends keyof TEvents> = (event: Committed<TEvents, TKey>, state: Readonly<TState>) => Readonly<Patch<TState>>;
241
248
  /**
242
249
  * Maps event names to their patch handlers.
243
- * @template S - State schema.
244
- * @template E - Event schemas.
250
+ * @template TState - State schema.
251
+ * @template TEvents - Event schemas.
245
252
  */
246
- export type PatchHandlers<S extends Schema, E extends Schemas> = {
247
- [K in keyof E]: PatchHandler<S, E, K>;
253
+ export type PatchHandlers<TState extends Schema, TEvents extends Schemas> = {
254
+ [TKey in keyof TEvents]: PatchHandler<TState, TEvents, TKey>;
248
255
  };
249
256
  /**
250
257
  * Handles an action, producing one or more emitted events.
251
- * @template S - State schema.
252
- * @template E - Event schemas.
253
- * @template A - Action schemas.
254
- * @template K - Action name.
258
+ * @template TState - State schema.
259
+ * @template TEvents - Event schemas.
260
+ * @template TActions - Action schemas.
261
+ * @template TKey - Action name.
255
262
  */
256
- export type ActionHandler<S extends Schema, E extends Schemas, A extends Schemas, K extends keyof A> = (action: Readonly<A[K]>, snapshot: Readonly<Snapshot<S, E>>, target: Target) => Emitted<E> | Emitted<E>[] | undefined;
263
+ export type ActionHandler<TState extends Schema, TEvents extends Schemas, TActions extends Schemas, TKey extends keyof TActions> = (action: Readonly<TActions[TKey]>, snapshot: Readonly<Snapshot<TState, TEvents>>, target: Target) => Emitted<TEvents> | Emitted<TEvents>[] | undefined;
257
264
  /**
258
265
  * Maps action names to their handlers.
259
- * @template S - State schema.
260
- * @template E - Event schemas.
261
- * @template A - Action schemas.
266
+ * @template TState - State schema.
267
+ * @template TEvents - Event schemas.
268
+ * @template TActions - Action schemas.
262
269
  */
263
- export type ActionHandlers<S extends Schema, E extends Schemas, A extends Schemas> = {
264
- [K in keyof A]: ActionHandler<S, E, A, K>;
270
+ export type ActionHandlers<TState extends Schema, TEvents extends Schemas, TActions extends Schemas> = {
271
+ [TKey in keyof TActions]: ActionHandler<TState, TEvents, TActions, TKey>;
265
272
  };
266
273
  /**
267
274
  * Maps action names to invariants that must hold after the action.
268
- * @template S - State schema.
269
- * @template A - Action schemas.
275
+ * @template TState - State schema.
276
+ * @template TActions - Action schemas.
270
277
  */
271
- export type GivenHandlers<S extends Schema, A extends Schemas> = {
272
- [K in keyof A]?: Invariant<S>[];
278
+ export type GivenHandlers<TState extends Schema, TActions extends Schemas> = {
279
+ [TKey in keyof TActions]?: Invariant<TState>[];
273
280
  };
274
281
  /**
275
282
  * The full state definition, including schemas, handlers, and optional invariants and snapshot logic.
276
- * @template S - State schema.
277
- * @template E - Event schemas.
278
- * @template A - Action schemas.
283
+ * @template TState - State schema.
284
+ * @template TEvents - Event schemas.
285
+ * @template TActions - Action schemas.
286
+ * @template TName - State name literal.
279
287
  */
280
- export type State<S extends Schema, E extends Schemas, A extends Schemas, N extends string = string> = StateSchemas<S, E, A> & {
281
- name: N;
282
- init: () => Readonly<S>;
283
- patch: PatchHandlers<S, E>;
284
- on: ActionHandlers<S, E, A>;
285
- given?: GivenHandlers<S, A>;
286
- snap?: (snapshot: Snapshot<S, E>) => boolean;
288
+ export type State<TState extends Schema, TEvents extends Schemas, TActions extends Schemas, TName extends string = string> = StateSchemas<TState, TEvents, TActions> & {
289
+ name: TName;
290
+ init: () => Readonly<TState>;
291
+ patch: PatchHandlers<TState, TEvents>;
292
+ on: ActionHandlers<TState, TEvents, TActions>;
293
+ given?: GivenHandlers<TState, TActions>;
294
+ snap?: (snapshot: Snapshot<TState, TEvents>) => boolean;
287
295
  };
288
296
  /**
289
297
  * Extracts the raw action schemas from a State definition.
290
298
  *
291
- * Use this to recover the `A` type parameter from a built State object,
299
+ * Use this to recover the `TActions` type parameter from a built State object,
292
300
  * enabling construction of typed dispatchers without circular imports.
293
301
  *
294
- * @template T - A State object (or any object with `readonly actions: ZodTypes<A>`)
302
+ * @template T - A State object (or any object with `readonly actions: ZodTypes<TActions>`)
295
303
  *
296
304
  * @example
297
305
  * ```typescript
@@ -311,7 +319,8 @@ export type InferActions<T extends {
311
319
  * Construct with {@link InferActions} to avoid circular imports between
312
320
  * slice files and the bootstrap module.
313
321
  *
314
- * @template A - Action schemas (maps action names to payload types)
322
+ * @template TActions - Action schemas (maps action names to payload types)
323
+ * @template TActor - Actor type extending base Actor
315
324
  *
316
325
  * @example
317
326
  * ```typescript
@@ -327,7 +336,7 @@ export type InferActions<T extends {
327
336
  * }
328
337
  * ```
329
338
  */
330
- export interface Dispatcher<A extends Schemas> {
331
- do<K extends keyof A & string>(action: K, target: Target, payload: Readonly<A[K]>, reactingTo?: Committed<Schemas, string>, skipValidation?: boolean): Promise<Snapshot<any, any>[]>;
339
+ export interface Dispatcher<TActions extends Schemas, TActor extends Actor = Actor> {
340
+ do<TKey extends keyof TActions & string>(action: TKey, target: Target<TActor>, payload: Readonly<TActions[TKey]>, reactingTo?: Committed<Schemas, string>, skipValidation?: boolean): Promise<Snapshot<any, any>[]>;
332
341
  }
333
342
  //# sourceMappingURL=action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/types/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../../src/types/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACZ,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,MAAM,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,IAAI;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;KACpB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,IAAI;KACvC,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,OAAO,EAAE,IAAI,SAAS,MAAM,OAAO,IAAI;IACzE,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,SAAS,CACnB,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,MAAM,OAAO,IACxB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,QAAQ,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,IAAI;IACrE,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC;IACnD,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,IAAI;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,OAAO,IAAI;KAC5C,IAAI,IAAI,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAClE,CAAC,MAAM,OAAO,CAAC,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,IACtB;IACF,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,YAAY,CACtB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,MAAM,OAAO,IACxB,CACF,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,EAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KACpB,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,IAAI;KACzE,IAAI,IAAI,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;CAC7D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CACvB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,MAAM,QAAQ,IACzB,CACF,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAChC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC7C,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CACxB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,IACtB;KACD,IAAI,IAAI,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;CACzE,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,QAAQ,SAAS,OAAO,IAAI;KAC1E,IAAI,IAAI,MAAM,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,KAAK,CACf,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,KAAK,SAAS,MAAM,GAAG,MAAM,IAC3B,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG;IAC5C,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,EAAE,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;CACzD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,IACrD;KACD,CAAC,IAAI,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC/D,CAAC,GACD,KAAK;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,UAAU,CACzB,QAAQ,SAAS,OAAO,EACxB,MAAM,SAAS,KAAK,GAAG,KAAK;IAE5B,EAAE,CAAC,IAAI,SAAS,MAAM,QAAQ,GAAG,MAAM,EACrC,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACjC,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EACvC,cAAc,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;CAClC"}
@@ -1,4 +1,4 @@
1
- import type { Message, Schema, Schemas, Snapshot, Target } from "./action.js";
1
+ import type { Actor, Message, Schema, Schemas, Snapshot, Target } from "./action.js";
2
2
  /**
3
3
  * @packageDocumentation
4
4
  * @module act/types
@@ -78,10 +78,11 @@ export declare class ValidationError extends Error {
78
78
  * This error provides complete context about what action was attempted and
79
79
  * why it was rejected.
80
80
  *
81
- * @template S - State schema type
82
- * @template E - Event schemas type
83
- * @template A - Action schemas type
84
- * @template K - Action name
81
+ * @template TState - State schema type
82
+ * @template TEvents - Event schemas type
83
+ * @template TActions - Action schemas type
84
+ * @template TKey - Action name
85
+ * @template TActor - Actor type extending base Actor
85
86
  *
86
87
  * @example Catching invariant violations
87
88
  * ```typescript
@@ -138,26 +139,26 @@ export declare class ValidationError extends Error {
138
139
  *
139
140
  * @see {@link Invariant} for defining business rules
140
141
  */
141
- export declare class InvariantError<S extends Schema, E extends Schemas, A extends Schemas, K extends keyof A> extends Error {
142
+ export declare class InvariantError<TState extends Schema, TEvents extends Schemas, TActions extends Schemas, TKey extends keyof TActions, TActor extends Actor = Actor> extends Error {
142
143
  /** The action that was attempted */
143
- readonly action: K;
144
+ readonly action: TKey;
144
145
  /** The action payload that was provided */
145
- readonly payload: Readonly<A[K]>;
146
+ readonly payload: Readonly<TActions[TKey]>;
146
147
  /** The target stream and actor context */
147
- readonly target: Target;
148
+ readonly target: Target<TActor>;
148
149
  /** The current state snapshot when invariant was checked */
149
- readonly snapshot: Snapshot<S, E>;
150
+ readonly snapshot: Snapshot<TState, TEvents>;
150
151
  /** Human-readable description of why the invariant failed */
151
152
  readonly description: string;
152
153
  constructor(
153
154
  /** The action that was attempted */
154
- action: K,
155
+ action: TKey,
155
156
  /** The action payload that was provided */
156
- payload: Readonly<A[K]>,
157
+ payload: Readonly<TActions[TKey]>,
157
158
  /** The target stream and actor context */
158
- target: Target,
159
+ target: Target<TActor>,
159
160
  /** The current state snapshot when invariant was checked */
160
- snapshot: Snapshot<S, E>,
161
+ snapshot: Snapshot<TState, TEvents>,
161
162
  /** Human-readable description of why the invariant failed */
162
163
  description: string);
163
164
  }
@@ -1 +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,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9E;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,mEAAmE;aACnD,MAAM,EAAE,MAAM;IAC9B,iDAAiD;aACjC,OAAO,EAAE,GAAG;IAC5B,mCAAmC;aACnB,OAAO,EAAE,GAAG;;IAL5B,mEAAmE;IACnD,MAAM,EAAE,MAAM;IAC9B,iDAAiD;IACjC,OAAO,EAAE,GAAG;IAC5B,mCAAmC;IACnB,OAAO,EAAE,GAAG;CAK/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,cAAc,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,OAAO,EACjB,CAAC,SAAS,MAAM,CAAC,CACjB,SAAQ,KAAK;IAEX,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM;;IAT5B,oCAAoC;IAC3B,MAAM,EAAE,CAAC;IAClB,2CAA2C;IAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,0CAA0C;IACjC,MAAM,EAAE,MAAM;IACvB,4DAA4D;IACnD,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACjC,6DAA6D;IACpD,WAAW,EAAE,MAAM;CAK/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,sDAAsD;aACtC,MAAM,EAAE,MAAM;IAC9B,8CAA8C;aAC9B,WAAW,EAAE,MAAM;IACnC,2CAA2C;aAC3B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;IACzD,2CAA2C;aAC3B,eAAe,EAAE,MAAM;;IAPvC,sDAAsD;IACtC,MAAM,EAAE,MAAM;IAC9B,8CAA8C;IAC9B,WAAW,EAAE,MAAM;IACnC,2CAA2C;IAC3B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;IACzD,2CAA2C;IAC3B,eAAe,EAAE,MAAM;CAW1C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/types/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,EACR,MAAM,EACP,MAAM,aAAa,CAAC;AAErB;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM;;;;CAIT,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,mEAAmE;aACnD,MAAM,EAAE,MAAM;IAC9B,iDAAiD;aACjC,OAAO,EAAE,GAAG;IAC5B,mCAAmC;aACnB,OAAO,EAAE,GAAG;;IAL5B,mEAAmE;IACnD,MAAM,EAAE,MAAM;IAC9B,iDAAiD;IACjC,OAAO,EAAE,GAAG;IAC5B,mCAAmC;IACnB,OAAO,EAAE,GAAG;CAK/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,qBAAa,cAAc,CACzB,MAAM,SAAS,MAAM,EACrB,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,EACxB,IAAI,SAAS,MAAM,QAAQ,EAC3B,MAAM,SAAS,KAAK,GAAG,KAAK,CAC5B,SAAQ,KAAK;IAEX,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,IAAI;IACrB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,0CAA0C;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAC/B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5C,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM;;IAT5B,oCAAoC;IAC3B,MAAM,EAAE,IAAI;IACrB,2CAA2C;IAClC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,0CAA0C;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAC/B,4DAA4D;IACnD,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5C,6DAA6D;IACpD,WAAW,EAAE,MAAM;CAK/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IAEvC,sDAAsD;aACtC,MAAM,EAAE,MAAM;IAC9B,8CAA8C;aAC9B,WAAW,EAAE,MAAM;IACnC,2CAA2C;aAC3B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;IACzD,2CAA2C;aAC3B,eAAe,EAAE,MAAM;;IAPvC,sDAAsD;IACtC,MAAM,EAAE,MAAM;IAC9B,8CAA8C;IAC9B,WAAW,EAAE,MAAM;IACnC,2CAA2C;IAC3B,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,EAAE;IACzD,2CAA2C;IAC3B,eAAe,EAAE,MAAM;CAW1C"}
@@ -4,7 +4,7 @@
4
4
  * @category Types
5
5
  * Types for reactions, leases, and fetch results in the Act Framework.
6
6
  */
7
- import type { Committed, Dispatcher, Schema, Schemas, Snapshot } from "./action.js";
7
+ import type { Actor, Committed, Dispatcher, Query, Schema, Schemas, Snapshot } from "./action.js";
8
8
  /**
9
9
  * Reaction handler function that processes committed events.
10
10
  *
@@ -16,9 +16,10 @@ import type { Committed, Dispatcher, Schema, Schemas, Snapshot } from "./action.
16
16
  * Handlers are called during drain cycles and support automatic retries
17
17
  * with configurable error handling.
18
18
  *
19
- * @template E - Event schemas
20
- * @template K - Event name
21
- * @template A - Action schemas (defaults to Schemas for stored reactions)
19
+ * @template TEvents - Event schemas
20
+ * @template TKey - Event name
21
+ * @template TActions - Action schemas (defaults to Schemas for stored reactions)
22
+ * @template TActor - Actor type extending base Actor
22
23
  * @param event - The committed event that triggered this reaction
23
24
  * @param stream - The target stream name for this reaction
24
25
  * @returns Promise resolving to an action tuple or void
@@ -39,7 +40,7 @@ import type { Committed, Dispatcher, Schema, Schemas, Snapshot } from "./action.
39
40
  *
40
41
  * @see {@link Reaction} for complete reaction configuration
41
42
  */
42
- export type ReactionHandler<E extends Schemas, K extends keyof E, A extends Schemas = Schemas> = (event: Committed<E, K>, stream: string, app: Dispatcher<A>) => Promise<Snapshot<Schema, E> | void>;
43
+ export type ReactionHandler<TEvents extends Schemas, TKey extends keyof TEvents, TActions extends Schemas = Schemas, TActor extends Actor = Actor> = (event: Committed<TEvents, TKey>, stream: string, app: Dispatcher<TActions, TActor>) => Promise<Snapshot<Schema, TEvents> | void>;
43
44
  /**
44
45
  * Resolver for determining which stream a reaction should target.
45
46
  *
@@ -50,8 +51,8 @@ export type ReactionHandler<E extends Schemas, K extends keyof E, A extends Sche
50
51
  * Resolvers can also specify source streams for optimization, allowing the drain
51
52
  * process to efficiently fetch only relevant events.
52
53
  *
53
- * @template E - Event schemas
54
- * @template K - Event name
54
+ * @template TEvents - Event schemas
55
+ * @template TKey - Event name
55
56
  * @param event - The committed event (for dynamic resolvers)
56
57
  * @returns Target stream configuration or undefined to skip
57
58
  *
@@ -83,10 +84,10 @@ export type ReactionHandler<E extends Schemas, K extends keyof E, A extends Sche
83
84
  *
84
85
  * @see {@link Reaction} for complete reaction configuration
85
86
  */
86
- export type ReactionResolver<E extends Schemas, K extends keyof E> = {
87
+ export type ReactionResolver<TEvents extends Schemas, TKey extends keyof TEvents> = {
87
88
  target: string;
88
89
  source?: string;
89
- } | ((event: Committed<E, K>) => {
90
+ } | ((event: Committed<TEvents, TKey>) => {
90
91
  target: string;
91
92
  source?: string;
92
93
  } | undefined);
@@ -101,28 +102,30 @@ export type ReactionOptions = {
101
102
  };
102
103
  /**
103
104
  * Defines a reaction to an event.
104
- * @template E - Event schemas.
105
- * @template K - Event name.
105
+ * @template TEvents - Event schemas.
106
+ * @template TKey - Event name.
107
+ * @template TActions - Action schemas.
108
+ * @template TActor - Actor type extending base Actor.
106
109
  * @property handler - The reaction handler.
107
110
  * @property resolver - The reaction resolver.
108
111
  * @property options - The reaction options.
109
112
  */
110
- export type Reaction<E extends Schemas, K extends keyof E = keyof E, A extends Schemas = Schemas> = {
111
- readonly handler: ReactionHandler<E, K, A>;
112
- readonly resolver: ReactionResolver<E, K>;
113
+ export type Reaction<TEvents extends Schemas, TKey extends keyof TEvents = keyof TEvents, TActions extends Schemas = Schemas, TActor extends Actor = Actor> = {
114
+ readonly handler: ReactionHandler<TEvents, TKey, TActions, TActor>;
115
+ readonly resolver: ReactionResolver<TEvents, TKey>;
113
116
  readonly options: ReactionOptions;
114
117
  };
115
118
  /**
116
119
  * Payload for a reaction.
117
- * @template E - Event schemas.
120
+ * @template TEvents - Event schemas.
118
121
  * @property handler - The reaction handler.
119
122
  * @property resolver - The reaction resolver.
120
123
  * @property options - The reaction options.
121
124
  * @property event - The committed event triggering the reaction.
122
125
  * @property source - The source stream.
123
126
  */
124
- export type ReactionPayload<E extends Schemas> = Reaction<E> & {
125
- readonly event: Committed<E, keyof E>;
127
+ export type ReactionPayload<TEvents extends Schemas> = Reaction<TEvents> & {
128
+ readonly event: Committed<TEvents, keyof TEvents>;
126
129
  readonly source?: string;
127
130
  };
128
131
  /**
@@ -140,19 +143,19 @@ export type Poll = {
140
143
  };
141
144
  /**
142
145
  * Result of fetching events from the store for processing.
143
- * @template E - Event schemas.
146
+ * @template TEvents - Event schemas.
144
147
  * @property stream - The stream name
145
148
  * @property source - The source stream(s) (name or RegExp), or undefined when sourcing from all streams.
146
149
  * @property at - The last event sequence number processed by the stream.
147
150
  * @property lagging - Whether the stream is lagging behind.
148
151
  * @property events - The list of next committed events to be processed by the stream.
149
152
  */
150
- export type Fetch<E extends Schemas> = Array<{
153
+ export type Fetch<TEvents extends Schemas> = Array<{
151
154
  readonly stream: string;
152
155
  readonly source?: string;
153
156
  readonly at: number;
154
157
  readonly lagging: boolean;
155
- readonly events: Committed<E, keyof E>[];
158
+ readonly events: Committed<TEvents, keyof TEvents>[];
156
159
  }>;
157
160
  /**
158
161
  * Lease information for distributed stream processing.
@@ -217,12 +220,28 @@ export type DrainOptions = {
217
220
  * @property acked - The acked events.
218
221
  * @property blocked - The blocked events (with error).
219
222
  */
220
- export type Drain<E extends Schemas> = {
221
- readonly fetched: Fetch<E>;
223
+ export type Drain<TEvents extends Schemas> = {
224
+ readonly fetched: Fetch<TEvents>;
222
225
  readonly leased: Lease[];
223
226
  readonly acked: Lease[];
224
227
  readonly blocked: Array<Lease & {
225
228
  readonly error: string;
226
229
  }>;
227
230
  };
231
+ /**
232
+ * Options for the debounced settle cycle.
233
+ *
234
+ * Extends {@link DrainOptions} with parameters that control the debounce
235
+ * window, the correlation query, and the maximum number of correlate→drain
236
+ * passes.
237
+ *
238
+ * @property debounceMs - Debounce window in milliseconds (default: 10)
239
+ * @property correlate - Query filter for correlation scans (default: `{ after: -1, limit: 100 }`)
240
+ * @property maxPasses - Maximum correlate→drain loops (default: 5)
241
+ */
242
+ export type SettleOptions = DrainOptions & {
243
+ readonly debounceMs?: number;
244
+ readonly correlate?: Query;
245
+ readonly maxPasses?: number;
246
+ };
228
247
  //# sourceMappingURL=reaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../src/types/reaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../src/types/reaction.ts"],"names":[],"mappings":"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"}
@@ -10,37 +10,37 @@ import type { Reaction } from "./reaction.js";
10
10
  /**
11
11
  * Reactions register
12
12
  */
13
- export type ReactionsRegister<E extends Schemas, K extends keyof E> = {
14
- schema: ZodType<E[K]>;
15
- reactions: Map<string, Reaction<E, K>>;
13
+ export type ReactionsRegister<TEvents extends Schemas, TKey extends keyof TEvents> = {
14
+ schema: ZodType<TEvents[TKey]>;
15
+ reactions: Map<string, Reaction<TEvents, TKey>>;
16
16
  };
17
17
  /**
18
18
  * Maps event names to their schema and registered reactions.
19
- * @template E - Event schemas.
19
+ * @template TEvents - Event schemas.
20
20
  */
21
- export type EventRegister<E extends Schemas> = {
22
- [K in keyof E]: ReactionsRegister<E, K>;
21
+ export type EventRegister<TEvents extends Schemas> = {
22
+ [TKey in keyof TEvents]: ReactionsRegister<TEvents, TKey>;
23
23
  };
24
24
  /**
25
25
  * Maps action names to their schema definitions.
26
- * @template A - Action schemas.
26
+ * @template TSchemaReg - Schema register for actions.
27
27
  */
28
- export type SchemaRegister<A> = {
29
- [K in keyof A]: Schema;
28
+ export type SchemaRegister<TSchemaReg> = {
29
+ [TKey in keyof TSchemaReg]: Schema;
30
30
  };
31
31
  /**
32
32
  * Registry of all actions and events for a domain.
33
- * @template S - State schemas.
34
- * @template E - Event schemas.
35
- * @template A - Action schemas.
33
+ * @template TSchemaReg - State schemas.
34
+ * @template TEvents - Event schemas.
35
+ * @template TActions - Action schemas.
36
36
  * @property actions - Map of action names to state definitions.
37
37
  * @property events - Map of event names to event registration info.
38
38
  */
39
- export type Registry<S extends SchemaRegister<A>, E extends Schemas, A extends Schemas> = {
39
+ export type Registry<TSchemaReg extends SchemaRegister<TActions>, TEvents extends Schemas, TActions extends Schemas> = {
40
40
  readonly actions: {
41
- [K in keyof A]: State<S[K], E, A>;
41
+ [TKey in keyof TActions]: State<TSchemaReg[TKey], TEvents, TActions>;
42
42
  };
43
- readonly events: EventRegister<E>;
43
+ readonly events: EventRegister<TEvents>;
44
44
  };
45
45
  /**
46
46
  * Utility type to convert a registry entry to a committed event type.
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;IACpE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI;KAC5C,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;CACxC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM;CAAE,CAAC;AAE3D;;;;;;;GAOG;AACH,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;;;;GAIG;AACH,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;AAEV;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAClE;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,GAAG,aAAa,GACjB,KAAK,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/types/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,OAAO,EACvB,IAAI,SAAS,MAAM,OAAO,IACxB;IACF,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,OAAO,SAAS,OAAO,IAAI;KAClD,IAAI,IAAI,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC;CAC1D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,UAAU,IAAI;KACtC,IAAI,IAAI,MAAM,UAAU,GAAG,MAAM;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,CAClB,UAAU,SAAS,cAAc,CAAC,QAAQ,CAAC,EAC3C,OAAO,SAAS,OAAO,EACvB,QAAQ,SAAS,OAAO,IACtB;IACF,QAAQ,CAAC,OAAO,EAAE;SACf,IAAI,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC;KACrE,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,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;AAEV;;;;GAIG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAClE;IACE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9B,GAAG,aAAa,GACjB,KAAK,CAAC"}
@@ -15,7 +15,7 @@ export declare const ZodEmpty: z.ZodRecord<z.ZodString, z.ZodNever>;
15
15
  export declare const ActorSchema: z.ZodReadonly<z.ZodObject<{
16
16
  id: z.ZodString;
17
17
  name: z.ZodString;
18
- }, z.core.$strip>>;
18
+ }, z.core.$loose>>;
19
19
  /**
20
20
  * Zod schema for a target (stream and actor info).
21
21
  */
@@ -24,9 +24,9 @@ export declare const TargetSchema: z.ZodReadonly<z.ZodObject<{
24
24
  actor: z.ZodReadonly<z.ZodObject<{
25
25
  id: z.ZodString;
26
26
  name: z.ZodString;
27
- }, z.core.$strip>>;
27
+ }, z.core.$loose>>;
28
28
  expectedVersion: z.ZodOptional<z.ZodNumber>;
29
- }, z.core.$strip>>;
29
+ }, z.core.$loose>>;
30
30
  /**
31
31
  * Zod schema for causation event metadata.
32
32
  */
@@ -46,9 +46,9 @@ export declare const EventMetaSchema: z.ZodReadonly<z.ZodObject<{
46
46
  actor: z.ZodReadonly<z.ZodObject<{
47
47
  id: z.ZodString;
48
48
  name: z.ZodString;
49
- }, z.core.$strip>>;
49
+ }, z.core.$loose>>;
50
50
  expectedVersion: z.ZodOptional<z.ZodNumber>;
51
- }, z.core.$strip>>, z.ZodObject<{
51
+ }, z.core.$loose>>, z.ZodObject<{
52
52
  name: z.ZodString;
53
53
  }, z.core.$strip>>>;
54
54
  event: z.ZodOptional<z.ZodObject<{
@@ -74,9 +74,9 @@ export declare const CommittedMetaSchema: z.ZodReadonly<z.ZodObject<{
74
74
  actor: z.ZodReadonly<z.ZodObject<{
75
75
  id: z.ZodString;
76
76
  name: z.ZodString;
77
- }, z.core.$strip>>;
77
+ }, z.core.$loose>>;
78
78
  expectedVersion: z.ZodOptional<z.ZodNumber>;
79
- }, z.core.$strip>>, z.ZodObject<{
79
+ }, z.core.$loose>>, z.ZodObject<{
80
80
  name: z.ZodString;
81
81
  }, z.core.$strip>>>;
82
82
  event: z.ZodOptional<z.ZodObject<{