ihsm 0.0.23 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +105 -113
  2. package/lib/cjs/index.d.ts +5 -1394
  3. package/lib/cjs/index.js +53 -764
  4. package/lib/cjs/index.js.map +1 -1
  5. package/lib/cjs/internal/runtime.d.ts +293 -0
  6. package/lib/cjs/internal/runtime.js +1906 -0
  7. package/lib/cjs/internal/runtime.js.map +1 -0
  8. package/lib/cjs/internal/types.d.ts +348 -0
  9. package/lib/cjs/internal/types.js +9 -0
  10. package/lib/cjs/internal/types.js.map +1 -0
  11. package/lib/cjs/test-only.d.ts +5 -0
  12. package/lib/cjs/test-only.js +21 -0
  13. package/lib/cjs/test-only.js.map +1 -0
  14. package/lib/cjs/testing.d.ts +38 -91
  15. package/lib/cjs/testing.js +72 -38
  16. package/lib/cjs/testing.js.map +1 -1
  17. package/lib/cjs/transition-routines.d.ts +3 -0
  18. package/lib/cjs/transition-routines.js +11 -0
  19. package/lib/cjs/transition-routines.js.map +1 -0
  20. package/lib/cjs/types.d.ts +5 -0
  21. package/lib/cjs/{internal/defs.private.js → types.js} +1 -1
  22. package/lib/cjs/types.js.map +1 -0
  23. package/lib/esm/index.d.ts +5 -1394
  24. package/lib/esm/index.js +3 -742
  25. package/lib/esm/index.js.map +1 -1
  26. package/lib/esm/internal/runtime.d.ts +293 -0
  27. package/lib/esm/internal/runtime.js +1847 -0
  28. package/lib/esm/internal/runtime.js.map +1 -0
  29. package/lib/esm/internal/types.d.ts +348 -0
  30. package/lib/esm/internal/types.js +6 -0
  31. package/lib/esm/internal/types.js.map +1 -0
  32. package/lib/esm/test-only.d.ts +5 -0
  33. package/lib/esm/test-only.js +15 -0
  34. package/lib/esm/test-only.js.map +1 -0
  35. package/lib/esm/testing.d.ts +38 -91
  36. package/lib/esm/testing.js +72 -38
  37. package/lib/esm/testing.js.map +1 -1
  38. package/lib/esm/transition-routines.d.ts +3 -0
  39. package/lib/esm/transition-routines.js +3 -0
  40. package/lib/esm/transition-routines.js.map +1 -0
  41. package/lib/esm/types.d.ts +5 -0
  42. package/lib/esm/types.js +2 -0
  43. package/lib/esm/types.js.map +1 -0
  44. package/package.json +22 -2
  45. package/lib/cjs/internal/defs.private.d.ts +0 -41
  46. package/lib/cjs/internal/defs.private.js.map +0 -1
  47. package/lib/cjs/internal/dispatch.debug.d.ts +0 -4
  48. package/lib/cjs/internal/dispatch.debug.js +0 -332
  49. package/lib/cjs/internal/dispatch.debug.js.map +0 -1
  50. package/lib/cjs/internal/dispatch.production.d.ts +0 -6
  51. package/lib/cjs/internal/dispatch.production.js +0 -241
  52. package/lib/cjs/internal/dispatch.production.js.map +0 -1
  53. package/lib/cjs/internal/dispatch.trace.d.ts +0 -4
  54. package/lib/cjs/internal/dispatch.trace.js +0 -418
  55. package/lib/cjs/internal/dispatch.trace.js.map +0 -1
  56. package/lib/cjs/internal/hsm.d.ts +0 -60
  57. package/lib/cjs/internal/hsm.js +0 -215
  58. package/lib/cjs/internal/hsm.js.map +0 -1
  59. package/lib/cjs/internal/lookup.d.ts +0 -15
  60. package/lib/cjs/internal/lookup.js +0 -32
  61. package/lib/cjs/internal/lookup.js.map +0 -1
  62. package/lib/cjs/internal/utils.d.ts +0 -26
  63. package/lib/cjs/internal/utils.js +0 -63
  64. package/lib/cjs/internal/utils.js.map +0 -1
  65. package/lib/esm/internal/defs.private.d.ts +0 -41
  66. package/lib/esm/internal/defs.private.js +0 -2
  67. package/lib/esm/internal/defs.private.js.map +0 -1
  68. package/lib/esm/internal/dispatch.debug.d.ts +0 -4
  69. package/lib/esm/internal/dispatch.debug.js +0 -328
  70. package/lib/esm/internal/dispatch.debug.js.map +0 -1
  71. package/lib/esm/internal/dispatch.production.d.ts +0 -6
  72. package/lib/esm/internal/dispatch.production.js +0 -237
  73. package/lib/esm/internal/dispatch.production.js.map +0 -1
  74. package/lib/esm/internal/dispatch.trace.d.ts +0 -4
  75. package/lib/esm/internal/dispatch.trace.js +0 -414
  76. package/lib/esm/internal/dispatch.trace.js.map +0 -1
  77. package/lib/esm/internal/hsm.d.ts +0 -60
  78. package/lib/esm/internal/hsm.js +0 -211
  79. package/lib/esm/internal/hsm.js.map +0 -1
  80. package/lib/esm/internal/lookup.d.ts +0 -15
  81. package/lib/esm/internal/lookup.js +0 -29
  82. package/lib/esm/internal/lookup.js.map +0 -1
  83. package/lib/esm/internal/utils.d.ts +0 -26
  84. package/lib/esm/internal/utils.js +0 -52
  85. package/lib/esm/internal/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/internal/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,348 @@
1
+ /**
2
+ * @internal Pure types for the ihsm runtime — no runtime values in this module.
3
+ */
4
+ import type { Machine, Port, RuntimeError, TopState as RuntimeTopState, TraceLevel, UnhandledEventError } from './runtime';
5
+ export type Any = Record<string, any>;
6
+ /** Optional trailing argument on generated service client methods. */
7
+ export type ServiceCallOptions = {
8
+ readonly timeoutMs?: number;
9
+ };
10
+ export interface ActorConfig {
11
+ context?: object;
12
+ services?: object;
13
+ notifications?: object;
14
+ internalServices?: object;
15
+ internalNotifications?: object;
16
+ port?: object;
17
+ }
18
+ export type ActorContextOf<C extends ActorConfig> = C extends {
19
+ context: infer Context;
20
+ } ? Context : Any;
21
+ export type ActorServicesOf<C extends ActorConfig> = C extends {
22
+ services: infer S extends object;
23
+ } ? S : {};
24
+ export type ActorNotificationsOf<C extends ActorConfig> = C extends {
25
+ notifications: infer N extends object;
26
+ } ? N : {};
27
+ export type ActorInternalServicesOf<C extends ActorConfig> = C extends {
28
+ internalServices: infer S extends object;
29
+ } ? S : {};
30
+ export type ActorInternalNotificationsOf<C extends ActorConfig> = C extends {
31
+ internalNotifications: infer N extends object;
32
+ } ? N : {};
33
+ export type DomainPortOf<C extends ActorConfig> = C extends {
34
+ port: infer P extends object;
35
+ } ? P : {};
36
+ export type ActorPortOf<C extends ActorConfig> = C extends {
37
+ port: infer P extends object;
38
+ } ? P & PortServices<C> : IPort<C>;
39
+ export type ActorMethodKeysOf<C extends ActorConfig> = keyof ActorServicesOf<C> | keyof ActorNotificationsOf<C> | keyof ActorInternalServicesOf<C> | keyof ActorInternalNotificationsOf<C>;
40
+ export type ProtocolBucket = 'services' | 'notifications' | 'internalServices' | 'internalNotifications';
41
+ export type StateClassOf<C extends ActorConfig = ActorConfig> = new (...args: any[]) => RuntimeTopState<C>;
42
+ export type TopStateArg<C extends ActorConfig = ActorConfig> = StateClassOf<C>;
43
+ export type ActorConfigOf<T> = T extends new (...args: any[]) => RuntimeTopState<infer C extends ActorConfig> ? C : T extends TopStateArg<infer C> ? C : T extends abstract new (...args: never[]) => RuntimeTopState<infer C extends ActorConfig> ? C : T extends new (...args: any[]) => infer Inst ? Inst extends {
44
+ readonly hsm: HandlerHsm<infer C>;
45
+ } ? C : Inst extends {
46
+ readonly ctx: infer Context;
47
+ } ? [Context] extends [ActorContextOf<infer C>] ? C : ActorConfig : ActorConfig : T extends {
48
+ readonly ctx: infer Context;
49
+ } ? [Context] extends [ActorContextOf<infer C>] ? C : ActorConfig : ActorConfig;
50
+ /** Top state constructor whose {@link ActorConfigOf} passes {@link DisjointActorConfig}. */
51
+ export type ValidatedTopStateArg<T extends TopStateArg<ActorConfig>> = DisjointActorConfig<ActorConfigOf<T>> extends true ? T : never;
52
+ export type MachineContext<T> = ActorContextOf<ActorConfigOf<T>>;
53
+ export type MachinePublic<T> = ActorServicesOf<ActorConfigOf<T>> & ActorNotificationsOf<ActorConfigOf<T>>;
54
+ export type MachineInternal<T> = ActorInternalServicesOf<ActorConfigOf<T>> & ActorInternalNotificationsOf<ActorConfigOf<T>>;
55
+ export type MachinePort<T> = ActorPortOf<ActorConfigOf<T>>;
56
+ export type ReservedName = 'ctx' | 'hsm' | 'notify' | 'notifyNow' | 'onEntry' | 'onExit' | 'onError' | 'onUnhandled';
57
+ export type IsReservedName<K extends PropertyKey> = K extends ReservedName ? true : false;
58
+ export type FilterReservedKeys<O extends object> = {
59
+ [K in keyof O as IsReservedName<K> extends true ? never : K]: O[K];
60
+ };
61
+ export type ServiceHandler<Reply> = Reply | Promise<Reply>;
62
+ export type NotificationHandler = void | Promise<void>;
63
+ export type AssertAsyncService<M> = M extends (...args: never[]) => infer R ? (R extends Promise<unknown> ? M : ['ihsm: service members must return Promise<Reply>', M]) : M;
64
+ export type ServiceArgs<S extends object, K extends keyof S> = S[K] extends (...args: infer A) => Promise<unknown> ? A : never;
65
+ export type ServiceReply<S extends object, K extends keyof S> = S[K] extends (...args: never[]) => Promise<infer R> ? Awaited<R> : never;
66
+ export type NotificationArgs<N extends object, K extends keyof N> = N[K] extends (...args: infer A) => void | Promise<void> ? A : never;
67
+ type BucketKeys<B> = {} extends B ? never : keyof B;
68
+ type ProtocolFieldKeys<C extends ActorConfig> = BucketKeys<ActorServicesOf<C>> | BucketKeys<ActorNotificationsOf<C>> | BucketKeys<ActorInternalServicesOf<C>> | BucketKeys<ActorInternalNotificationsOf<C>>;
69
+ export type OverlappingProtocolKeys<C extends ActorConfig> = Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorNotificationsOf<C>>, PropertyKey> extends never ? Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorInternalServicesOf<C>>, PropertyKey> extends never ? Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey> extends never ? Extract<BucketKeys<ActorNotificationsOf<C>> & BucketKeys<ActorInternalServicesOf<C>>, PropertyKey> extends never ? Extract<BucketKeys<ActorNotificationsOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey> extends never ? Extract<BucketKeys<ActorInternalServicesOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey> extends never ? Extract<ProtocolFieldKeys<C>, ReservedName> extends never ? true : ['ihsm: protocol keys must not use reserved names', Extract<ProtocolFieldKeys<C>, ReservedName>] : ['ihsm: internalServices and internalNotifications share keys', Extract<BucketKeys<ActorInternalServicesOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey>] : ['ihsm: notifications and internalNotifications share keys', Extract<BucketKeys<ActorNotificationsOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey>] : ['ihsm: notifications and internalServices share keys', Extract<BucketKeys<ActorNotificationsOf<C>> & BucketKeys<ActorInternalServicesOf<C>>, PropertyKey>] : ['ihsm: services and internalNotifications share keys', Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorInternalNotificationsOf<C>>, PropertyKey>] : ['ihsm: services and internalServices share keys', Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorInternalServicesOf<C>>, PropertyKey>] : ['ihsm: services and notifications share keys', Extract<BucketKeys<ActorServicesOf<C>> & BucketKeys<ActorNotificationsOf<C>>, PropertyKey>];
70
+ export type DisjointActorConfig<C extends ActorConfig> = OverlappingProtocolKeys<C>;
71
+ export type ValidatedActorConfig<C extends ActorConfig> = DisjointActorConfig<C> extends true ? C : never;
72
+ export interface DispatchErrorCallback<C extends ActorConfig = ActorConfig> {
73
+ (hsm: Properties<C>, err: Error): void;
74
+ }
75
+ export interface TraceWriter {
76
+ write<C extends ActorConfig>(hsm: Properties<C>, msg: any): void;
77
+ }
78
+ export interface Properties<C extends ActorConfig = ActorConfig> {
79
+ currentState: StateClass<C>;
80
+ readonly currentStateName: string;
81
+ readonly topState: StateClass<C>;
82
+ readonly topStateName: string;
83
+ readonly ctxTypeName: string;
84
+ readonly traceHeader: string;
85
+ readonly eventName: string;
86
+ readonly eventPayload: unknown[];
87
+ traceLevel: TraceLevel;
88
+ traceWriter: TraceWriter;
89
+ dispatchErrorCallback: DispatchErrorCallback<C>;
90
+ }
91
+ export type StateClass<C extends ActorConfig = ActorConfig> = StateClassOf<C>;
92
+ export interface Disposable {
93
+ dispose(): void;
94
+ }
95
+ export interface ResultWithSubscription<Result> {
96
+ readonly value: Result;
97
+ readonly subscription: Disposable;
98
+ }
99
+ export interface TracedMessage {
100
+ readonly event: string;
101
+ readonly payload: readonly unknown[];
102
+ }
103
+ export type EventObserver = (message: TracedMessage) => void;
104
+ /** Parent-machine link on {@link ParentActor} and optional `parent` on actor shells. */
105
+ export declare const kParentLink: unique symbol;
106
+ /** Active {@link Machine} on handler instances — set in {@link Machine} constructor. */
107
+ export declare const kHandlerMachine: unique symbol;
108
+ export type ParentActor<T extends TopStateArg = TopStateArg> = {
109
+ readonly top: T;
110
+ readonly [kParentLink]?: Machine<ActorConfigOf<T>>;
111
+ };
112
+ /** Optional parent link on actors created via {@link makeChildActor}. */
113
+ export type ActorParentField<ParentT extends TopStateArg = TopStateArg> = {
114
+ readonly parent?: ParentActor<ParentT>;
115
+ };
116
+ export interface RandomService {
117
+ /** Pseudorandom number in `[0, 1)`. */
118
+ random(): number;
119
+ /** Cryptographic-quality random in `[0, 1)` when the platform provides it. */
120
+ cryptoRandom(): number;
121
+ /** Generate a UUID v4 string. */
122
+ randomUUID(): string;
123
+ /** Fill `array` with cryptographically strong random bytes. */
124
+ getRandomValues<T extends ArrayBufferView>(array: T): T;
125
+ }
126
+ export interface TimerService {
127
+ /** Schedule a one-shot callback after `millis` milliseconds. */
128
+ setTimeout(callback: () => void, millis?: number): number;
129
+ /** Cancel a timer previously returned by {@link TimerService.setTimeout}. */
130
+ clearTimeout(id: number | undefined): void;
131
+ /** Schedule a repeating callback every `millis` milliseconds. */
132
+ setInterval(callback: () => void, millis?: number): number;
133
+ /** Cancel an interval previously returned by {@link TimerService.setInterval}. */
134
+ clearInterval(id: number | undefined): void;
135
+ }
136
+ export type ServiceClient<S extends object> = {
137
+ [K in keyof S]: S[K] extends (...args: infer A) => Promise<infer R> ? (...args: [...A, ServiceCallOptions?]) => Promise<R> : never;
138
+ };
139
+ export type NotificationClient<N extends object> = {
140
+ [K in keyof N]: N[K] extends (...args: infer A) => void | Promise<void> ? (...args: A) => void : never;
141
+ };
142
+ /**
143
+ * Faceted call surface — `actor.call.<service>(...)` returns `Promise<Reply>`.
144
+ * Delivery mode is chosen by the facet at the call site, not inferred.
145
+ */
146
+ export type CallFacet<S extends object> = ServiceClient<S>;
147
+ /** Faceted notification surface — `actor.notify.<event>(...)` / `actor.notifyNow.<event>(...)`. */
148
+ export type NotifyFacet<N extends object> = NotificationClient<N>;
149
+ export type ActorHsm<_C extends ActorConfig = ActorConfig> = {
150
+ sync(): Promise<void>;
151
+ currentStateName: string;
152
+ topStateName: string;
153
+ traceLevel: TraceLevel;
154
+ traceWriter: TraceWriter;
155
+ traceHeader: string;
156
+ };
157
+ export type TestActorHsm<C extends ActorConfig = ActorConfig> = ActorHsm<C> & {
158
+ currentState: StateClassOf<C>;
159
+ topState: StateClassOf<C>;
160
+ };
161
+ export type OwnerActorHsm<C extends ActorConfig = ActorConfig> = TestActorHsm<C> & {
162
+ restore(state: StateClassOf<C>, ctx: ActorContextOf<C>): void;
163
+ dispatchErrorCallback: DispatchErrorCallback<C>;
164
+ };
165
+ export type ExternalActor<C extends ActorConfig = ActorConfig> = ActorParentField & {
166
+ readonly notify: NotifyFacet<ActorNotificationsOf<C>>;
167
+ readonly notifyNow: NotifyFacet<ActorNotificationsOf<C>>;
168
+ readonly call: CallFacet<ActorServicesOf<C>>;
169
+ readonly hsm: ActorHsm<C>;
170
+ };
171
+ export type ExternalHsm<C extends ActorConfig = ActorConfig> = ExternalActor<C>['hsm'];
172
+ export type InboundActor<C extends ActorConfig = ActorConfig> = ActorParentField & {
173
+ readonly notify: NotifyFacet<ActorNotificationsOf<C> & ActorInternalNotificationsOf<C>>;
174
+ readonly notifyNow: NotifyFacet<ActorNotificationsOf<C> & ActorInternalNotificationsOf<C>>;
175
+ readonly call: CallFacet<ActorServicesOf<C>>;
176
+ readonly hsm: TestActorHsm<C>;
177
+ };
178
+ export type InboundHsm<C extends ActorConfig = ActorConfig> = InboundActor<C>['hsm'];
179
+ export type ChildActor<C extends ActorConfig = ActorConfig> = Omit<InboundActor<C>, 'call' | 'hsm'> & {
180
+ readonly call: CallFacet<ActorServicesOf<C> & ActorInternalServicesOf<C>>;
181
+ readonly hsm: OwnerActorHsm<C>;
182
+ };
183
+ export type ChildHsm<C extends ActorConfig = ActorConfig> = ChildActor<C>['hsm'];
184
+ export type SelfNotifications<C extends ActorConfig = ActorConfig> = NotificationClient<ActorNotificationsOf<C>> & NotificationClient<ActorInternalNotificationsOf<C>>;
185
+ /** Timer, random, and deferred self-notifications — always on {@link ActorPortOf}. */
186
+ export type PortServices<C extends ActorConfig = ActorConfig> = TimerService & RandomService & {
187
+ defer(ms: number): SelfNotifications<C>;
188
+ };
189
+ /** Runtime port — timers, randomness, deferred notifications, and {@link IPort.actor}. */
190
+ export interface IPort<C extends ActorConfig = ActorConfig> extends TimerService, RandomService {
191
+ actor: InboundActor<C> | ChildActor<C>;
192
+ defer(ms: number): SelfNotifications<C>;
193
+ }
194
+ /** Port instance passed to a factory before {@link IPort.actor} is bound. */
195
+ export type UntypedPortInput = Port<TopStateArg>;
196
+ export type MachinePortInput<C extends ActorConfig = ActorConfig> = IPort<C> | UntypedPortInput;
197
+ export type HandlerHsm<C extends ActorConfig = ActorConfig> = {
198
+ ctx: ActorContextOf<C>;
199
+ transition(next: StateClassOf<C>): void;
200
+ port: ActorPortOf<C>;
201
+ unhandled(): never;
202
+ eventName: string;
203
+ eventPayload: unknown[];
204
+ currentState: StateClassOf<C>;
205
+ currentStateName: string;
206
+ topState: StateClassOf<C>;
207
+ topStateName: string;
208
+ traceHeader: string;
209
+ traceLevel: TraceLevel;
210
+ traceWriter: TraceWriter;
211
+ dispatchErrorCallback: DispatchErrorCallback<C>;
212
+ };
213
+ /** Structural root state instance — merged with the runtime {@link TopState} class. */
214
+ export interface TopState<C extends ActorConfig = ActorConfig> {
215
+ readonly ctx: ActorContextOf<C>;
216
+ readonly hsm: HandlerHsm<C>;
217
+ /** Self-directed default-queue notifications — `this.notify.x()`. */
218
+ readonly notify: SelfNotifications<C>;
219
+ /** Self-directed priority-queue notifications — `this.notifyNow.x()`. */
220
+ readonly notifyNow: SelfNotifications<C>;
221
+ }
222
+ export type TestHsm<C extends ActorConfig = ActorConfig> = ChildHsm<C> & {
223
+ port: ActorPortOf<C>;
224
+ subscribe(observer: (message: {
225
+ event: string;
226
+ payload: unknown[];
227
+ }) => void): {
228
+ dispose(): void;
229
+ };
230
+ };
231
+ export type EmbodimentKind = 'root' | 'inbound' | 'child' | 'test';
232
+ export interface StateEvents<C extends ActorConfig = ActorConfig> {
233
+ onExit(): Promise<void> | void;
234
+ onEntry(): Promise<void> | void;
235
+ onError(error: RuntimeError<C>): Promise<void> | void;
236
+ onUnhandled(error: UnhandledEventError<C>): Promise<void> | void;
237
+ }
238
+ /** Machine snapshot passed to error constructors at failure time. */
239
+ export type ErrorHost<C extends ActorConfig = ActorConfig> = {
240
+ readonly ctx: ActorContextOf<C>;
241
+ readonly topStateName: string;
242
+ readonly currentStateName: string;
243
+ readonly eventName: string;
244
+ readonly eventPayload: unknown[];
245
+ };
246
+ /** @internal Per-actor runtime instance bag (context, handler facade, port). */
247
+ export interface Instance<C extends ActorConfig> {
248
+ ctx: ActorContextOf<C>;
249
+ hsm: HsmWithTracing<C>;
250
+ portRef?: unknown;
251
+ }
252
+ /** @internal Compiled transition between two states. */
253
+ export interface Transition<C extends ActorConfig> {
254
+ execute(hsm: HsmWithTracing<C>, srcState: StateClassOf<C>, dstState: StateClassOf<C>): Promise<void>;
255
+ }
256
+ export type DoneCallback = () => void;
257
+ /** @internal Run-to-completion work unit queued on the machine. */
258
+ export type Task = (done: DoneCallback) => void;
259
+ /** Machine host passed to {@link executeTransitionRoutine}. */
260
+ export interface TransitionHost<C extends ActorConfig = ActorConfig> {
261
+ readonly ctx: ActorContextOf<C>;
262
+ readonly currentStateName: string;
263
+ readonly topState: StateClassOf<C>;
264
+ readonly topStateName: string;
265
+ readonly ctxTypeName: string;
266
+ readonly traceHeader: string;
267
+ readonly eventName: string;
268
+ readonly eventPayload: unknown[];
269
+ currentState: StateClassOf<C>;
270
+ }
271
+ /** @internal Runtime host passed to transition execution and dispatch tasks. */
272
+ export interface HsmWithTracing<C extends ActorConfig = ActorConfig> extends TransitionHost<C> {
273
+ traceLevel: TraceLevel;
274
+ traceWriter: TraceWriter;
275
+ dispatchErrorCallback: DispatchErrorCallback<C>;
276
+ sync(): Promise<void>;
277
+ restore(state: StateClassOf<C>, ctx: ActorContextOf<C>): void;
278
+ transition(nextState: StateClassOf<C>): void;
279
+ unhandled(): never;
280
+ _instance: Instance<C>;
281
+ _transitionState?: StateClassOf<C>;
282
+ _currentEventName?: string;
283
+ _currentEventPayload?: unknown[];
284
+ _tracePush(domain: string, msg: string): void;
285
+ _tracePopDone(msg: string): void;
286
+ _tracePopError(msg: string): void;
287
+ _traceWrite(msg: any): void;
288
+ pushTask(t: Task): void;
289
+ unshiftHiPriorityTask(t: Task): void;
290
+ pushHiPriorityTask(t: Task): void;
291
+ }
292
+ export interface ProtocolSlot {
293
+ readonly bucket: ProtocolBucket;
294
+ readonly name: string;
295
+ }
296
+ export interface ProtocolIndex {
297
+ readonly slots: ReadonlyMap<string, ProtocolSlot>;
298
+ get(name: string): ProtocolSlot | undefined;
299
+ entries(kind: EmbodimentKind): Iterable<[string, ProtocolSlot]>;
300
+ }
301
+ /** @internal Machine surface used by generated actor handles and dispatch. */
302
+ export interface DispatchableMachine {
303
+ dispatchService(name: string, args: unknown[]): Promise<unknown>;
304
+ dispatchNotification(name: string, args: unknown[], queue: NotificationQueue): void;
305
+ unshiftHiPriorityTask(t: (done: () => void) => void): void;
306
+ readonly ctx: unknown;
307
+ actorHsmFor(kind: EmbodimentKind): unknown;
308
+ }
309
+ export type NotificationQueue = 'default' | 'priority' | 'timer';
310
+ export interface TransitionResolver<C extends ActorConfig = ActorConfig> {
311
+ resolve(src: StateClassOf<C>, dest: StateClassOf<C>): Transition<C>;
312
+ }
313
+ export interface PlannedTransition<C extends ActorConfig = ActorConfig> {
314
+ readonly exit: readonly StateClassOf<C>[];
315
+ readonly entry: readonly StateClassOf<C>[];
316
+ readonly finalState?: StateClassOf<C>;
317
+ }
318
+ export interface TransitionRoutinePlan<C extends ActorConfig = ActorConfig> extends PlannedTransition<C> {
319
+ readonly from: StateClassOf<C>;
320
+ readonly to: StateClassOf<C>;
321
+ }
322
+ export interface TransitionTracer {
323
+ traceTransitionStart(fromStateName: string, toStateName: string): void;
324
+ traceHookDone(stateName: string, hook: 'onExit' | 'onEntry'): void;
325
+ traceHookSkipped(stateName: string, hook: 'onExit' | 'onEntry'): void;
326
+ traceHookError(stateName: string, hook: 'onExit' | 'onEntry', cause: unknown): void;
327
+ traceTransitionDone(finalStateName: string): void;
328
+ }
329
+ export type TransitionRoutineStyle = 'production' | 'debug' | 'verbose';
330
+ export interface TransitionRoutineExecuteOptions<C extends ActorConfig = ActorConfig> {
331
+ readonly style?: TransitionRoutineStyle;
332
+ readonly tracer?: TransitionTracer;
333
+ readonly setCurrentState?: (state: StateClassOf<C>) => void;
334
+ }
335
+ export type TransitionTraceHost = {
336
+ _tracePush(domain: string, msg: string): void;
337
+ _traceWrite(msg: string): void;
338
+ _tracePopDone(msg: string): void;
339
+ _tracePopError(msg: string): void;
340
+ };
341
+ export interface ActorOptions<C extends ActorConfig = ActorConfig> {
342
+ initialize?: boolean;
343
+ traceLevel?: TraceLevel;
344
+ traceWriter?: TraceWriter;
345
+ dispatchErrorCallback?: DispatchErrorCallback<C>;
346
+ transitions?: TransitionResolver<C>;
347
+ }
348
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.kHandlerMachine = exports.kParentLink = void 0;
4
+ /** Parent-machine link on {@link ParentActor} and optional `parent` on actor shells. */
5
+ exports.kParentLink = Symbol('ihsm.parentLink');
6
+ /** Active {@link Machine} on handler instances — set in {@link Machine} constructor. */
7
+ exports.kHandlerMachine = Symbol('ihsm.handlerMachine');
8
+ //#endregion
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/internal/types.ts"],"names":[],"mappings":";;;AA8IA,wFAAwF;AAC3E,QAAA,WAAW,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAErD,wFAAwF;AAC3E,QAAA,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAsS7D,YAAY"}
@@ -0,0 +1,5 @@
1
+ import type { ProtocolIndex } from './internal/types';
2
+ export declare function cacheProtocolIndex(topState: object, index: ProtocolIndex): ProtocolIndex;
3
+ export declare function protocolIndexFor(topState: object): ProtocolIndex | undefined;
4
+ export declare function disableDispatchStorage(): void;
5
+ export declare function resetDispatchStorage(): void;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cacheProtocolIndex = cacheProtocolIndex;
4
+ exports.protocolIndexFor = protocolIndexFor;
5
+ exports.disableDispatchStorage = disableDispatchStorage;
6
+ exports.resetDispatchStorage = resetDispatchStorage;
7
+ /** @internal Test hooks — not part of the public API. */
8
+ const runtime_1 = require("./internal/runtime");
9
+ function cacheProtocolIndex(topState, index) {
10
+ return (0, runtime_1.cacheProtocolIndex)(topState, index);
11
+ }
12
+ function protocolIndexFor(topState) {
13
+ return (0, runtime_1.protocolIndexFor)(topState);
14
+ }
15
+ function disableDispatchStorage() {
16
+ runtime_1.dispatchContext.markUnavailable();
17
+ }
18
+ function resetDispatchStorage() {
19
+ runtime_1.dispatchContext.resetInit();
20
+ }
21
+ //# sourceMappingURL=test-only.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-only.js","sourceRoot":"","sources":["../../src/test-only.ts"],"names":[],"mappings":";;AAIA,gDAEC;AAED,4CAEC;AAED,wDAEC;AAED,oDAEC;AAlBD,yDAAyD;AACzD,gDAA8I;AAG9I,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,KAAoB;IACxE,OAAO,IAAA,4BAAuB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAgB;IAChD,OAAO,IAAA,0BAAoB,EAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,sBAAsB;IACrC,yBAAe,CAAC,eAAe,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,oBAAoB;IACnC,yBAAe,CAAC,SAAS,EAAE,CAAC;AAC7B,CAAC"}