ihsm 0.1.1 → 0.1.21
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.
- package/lib/cjs/index.d.ts +4 -1
- package/lib/cjs/index.js +13 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/internal/console-instrumentation.d.ts +34 -0
- package/lib/cjs/internal/console-instrumentation.js +71 -0
- package/lib/cjs/internal/console-instrumentation.js.map +1 -0
- package/lib/cjs/internal/identity.d.ts +16 -0
- package/lib/cjs/internal/identity.js +170 -0
- package/lib/cjs/internal/identity.js.map +1 -0
- package/lib/cjs/internal/instrumentation.d.ts +47 -0
- package/lib/cjs/internal/instrumentation.js +201 -0
- package/lib/cjs/internal/instrumentation.js.map +1 -0
- package/lib/cjs/internal/runtime.d.ts +89 -6
- package/lib/cjs/internal/runtime.js +676 -52
- package/lib/cjs/internal/runtime.js.map +1 -1
- package/lib/cjs/internal/types.d.ts +174 -7
- package/lib/cjs/internal/types.js.map +1 -1
- package/lib/cjs/testing.d.ts +86 -1
- package/lib/cjs/testing.js +54 -0
- package/lib/cjs/testing.js.map +1 -1
- package/lib/cjs/types.d.ts +1 -1
- package/lib/esm/index.d.ts +4 -1
- package/lib/esm/index.js +3 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/internal/console-instrumentation.d.ts +34 -0
- package/lib/esm/internal/console-instrumentation.js +68 -0
- package/lib/esm/internal/console-instrumentation.js.map +1 -0
- package/lib/esm/internal/identity.d.ts +16 -0
- package/lib/esm/internal/identity.js +159 -0
- package/lib/esm/internal/identity.js.map +1 -0
- package/lib/esm/internal/instrumentation.d.ts +47 -0
- package/lib/esm/internal/instrumentation.js +178 -0
- package/lib/esm/internal/instrumentation.js.map +1 -0
- package/lib/esm/internal/runtime.d.ts +89 -6
- package/lib/esm/internal/runtime.js +666 -51
- package/lib/esm/internal/runtime.js.map +1 -1
- package/lib/esm/internal/types.d.ts +174 -7
- package/lib/esm/internal/types.js.map +1 -1
- package/lib/esm/testing.d.ts +86 -1
- package/lib/esm/testing.js +53 -0
- package/lib/esm/testing.js.map +1 -1
- package/lib/esm/types.d.ts +1 -1
- package/package.json +1 -1
package/lib/cjs/testing.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
18
|
import { Port } from './internal/runtime';
|
|
19
|
-
import type { Any, MachinePortInput, TracedMessage, ActorOptions, ActorConfig, ActorContextOf, ActorConfigOf, DomainPortOf, ChildActor, TestHsm, TopStateArg, ValidatedTopStateArg } from './internal/types';
|
|
19
|
+
import type { Any, Disposable, EventObserver, MachinePortInput, TracedMessage, ActorOptions, ActorConfig, ActorContextOf, ActorConfigOf, DomainPortOf, ChildActor, TestHsm, TopStateArg, ValidatedTopStateArg } from './internal/types';
|
|
20
20
|
export * from './index';
|
|
21
21
|
/**
|
|
22
22
|
* Full-access test actor returned by {@link makeTestActor} for **deterministic testing**.
|
|
@@ -32,6 +32,91 @@ export type TestActor<C extends ActorConfig = ActorConfig> = ChildActor<C> & {
|
|
|
32
32
|
ctx: ActorContextOf<C>;
|
|
33
33
|
hsm: TestHsm<C>;
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* An actor-like handle that can be drained by {@link settleAll}.
|
|
37
|
+
*
|
|
38
|
+
* Any actor exposing `hsm.sync()` is compatible. When `hsm.subscribe()` is also available
|
|
39
|
+
* (e.g. {@link TestActor}), {@link settleAll} can detect quiescence and return `settled: true`.
|
|
40
|
+
*
|
|
41
|
+
* @category Testing
|
|
42
|
+
*/
|
|
43
|
+
export type SettlingActor = {
|
|
44
|
+
hsm: {
|
|
45
|
+
sync(): Promise<void>;
|
|
46
|
+
subscribe?: (observer: EventObserver) => Disposable;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Options for {@link settleAll}.
|
|
51
|
+
*
|
|
52
|
+
* @category Testing
|
|
53
|
+
*/
|
|
54
|
+
export interface SettleAllOptions {
|
|
55
|
+
/**
|
|
56
|
+
* Hard cap on drain rounds.
|
|
57
|
+
*
|
|
58
|
+
* Each round calls `sync()` on all actors once.
|
|
59
|
+
* @defaultValue `8`
|
|
60
|
+
*/
|
|
61
|
+
readonly maxRounds?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Number of consecutive no-event rounds required to declare quiescence.
|
|
64
|
+
*
|
|
65
|
+
* Applies only when all actors expose `hsm.subscribe()`.
|
|
66
|
+
* @defaultValue `1`
|
|
67
|
+
*/
|
|
68
|
+
readonly idleRounds?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Microtask turns awaited after each round.
|
|
71
|
+
*
|
|
72
|
+
* Helps flush promise chains that enqueue follow-up work.
|
|
73
|
+
* @defaultValue `1`
|
|
74
|
+
*/
|
|
75
|
+
readonly microtaskTurns?: number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Result returned by {@link settleAll}.
|
|
79
|
+
*
|
|
80
|
+
* @category Testing
|
|
81
|
+
*/
|
|
82
|
+
export interface SettleAllResult {
|
|
83
|
+
/** Number of rounds that were executed. */
|
|
84
|
+
readonly rounds: number;
|
|
85
|
+
/**
|
|
86
|
+
* True when observed quiescence was reached.
|
|
87
|
+
*
|
|
88
|
+
* False means either:
|
|
89
|
+
* - at least one actor lacked `hsm.subscribe()` (settlement is unobservable), or
|
|
90
|
+
* - `maxRounds` was hit before enough idle rounds were observed.
|
|
91
|
+
*/
|
|
92
|
+
readonly settled: boolean;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Drain a set of actors until quiescence is observed, or until `maxRounds` is reached.
|
|
96
|
+
*
|
|
97
|
+
* This is a **testing** helper: it coordinates repeated `sync()` calls across a small actor system
|
|
98
|
+
* and reports whether a stable idle round was observed.
|
|
99
|
+
*
|
|
100
|
+
* - If every actor exposes `hsm.subscribe()` (e.g. via {@link makeTestActor}), quiescence is
|
|
101
|
+
* detected by observing no emitted events for `idleRounds` consecutive rounds.
|
|
102
|
+
* - If any actor lacks `hsm.subscribe()`, settlement cannot be observed reliably; the helper still
|
|
103
|
+
* runs `maxRounds` drain rounds and returns `{ settled: false }`.
|
|
104
|
+
*
|
|
105
|
+
* `options` is the last argument when provided.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```ts
|
|
109
|
+
* const a = makeTestActor(A, ctxA, new TestPort());
|
|
110
|
+
* const b = makeTestActor(B, ctxB, new TestPort());
|
|
111
|
+
* a.notify.go();
|
|
112
|
+
* const { settled } = await settleAll(a, b);
|
|
113
|
+
* expect(settled).equals(true);
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @category Testing
|
|
117
|
+
*/
|
|
118
|
+
export declare function settleAll(...actors: SettlingActor[]): Promise<SettleAllResult>;
|
|
119
|
+
export declare function settleAll(...args: [...SettlingActor[], SettleAllOptions]): Promise<SettleAllResult>;
|
|
35
120
|
export declare class TestPort<T extends TopStateArg = TopStateArg> extends Port<T> {
|
|
36
121
|
private readonly _messages;
|
|
37
122
|
private readonly _preloads;
|
package/lib/cjs/testing.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.PreloadError = exports.TestPort = void 0;
|
|
18
|
+
exports.settleAll = settleAll;
|
|
18
19
|
exports.mock = mock;
|
|
19
20
|
exports.makeTestPort = makeTestPort;
|
|
20
21
|
exports.makeTestActor = makeTestActor;
|
|
@@ -37,6 +38,59 @@ exports.makeTestActor = makeTestActor;
|
|
|
37
38
|
*/
|
|
38
39
|
const runtime_1 = require("./internal/runtime");
|
|
39
40
|
__exportStar(require("./index"), exports);
|
|
41
|
+
function isSettlingActor(value) {
|
|
42
|
+
return typeof value === 'object' && value !== null && 'hsm' in value && typeof value.hsm?.sync === 'function';
|
|
43
|
+
}
|
|
44
|
+
async function settleAll(...args) {
|
|
45
|
+
if (args.length === 0) {
|
|
46
|
+
return { rounds: 0, settled: true };
|
|
47
|
+
}
|
|
48
|
+
const last = args[args.length - 1];
|
|
49
|
+
const hasOptions = !isSettlingActor(last);
|
|
50
|
+
const options = (hasOptions ? last : {});
|
|
51
|
+
const actorArgs = (hasOptions ? args.slice(0, -1) : args);
|
|
52
|
+
const actors = actorArgs.filter(isSettlingActor);
|
|
53
|
+
const maxRounds = Math.max(1, options.maxRounds ?? 8);
|
|
54
|
+
const idleRoundsTarget = Math.max(1, options.idleRounds ?? 1);
|
|
55
|
+
const microtaskTurns = Math.max(0, options.microtaskTurns ?? 1);
|
|
56
|
+
if (actors.length === 0)
|
|
57
|
+
return { rounds: 0, settled: true };
|
|
58
|
+
const observable = actors.every(actor => typeof actor.hsm.subscribe === 'function');
|
|
59
|
+
const subscriptions = [];
|
|
60
|
+
let rounds;
|
|
61
|
+
let idleRounds = 0;
|
|
62
|
+
let observedEvents = 0;
|
|
63
|
+
try {
|
|
64
|
+
if (observable) {
|
|
65
|
+
for (const actor of actors) {
|
|
66
|
+
const sub = actor.hsm.subscribe(() => {
|
|
67
|
+
observedEvents += 1;
|
|
68
|
+
});
|
|
69
|
+
subscriptions.push(sub);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
for (rounds = 1; rounds <= maxRounds; rounds += 1) {
|
|
73
|
+
const before = observedEvents;
|
|
74
|
+
await Promise.all(actors.map(actor => actor.hsm.sync()));
|
|
75
|
+
for (let turn = 0; turn < microtaskTurns; turn += 1) {
|
|
76
|
+
await Promise.resolve();
|
|
77
|
+
}
|
|
78
|
+
if (!observable)
|
|
79
|
+
continue;
|
|
80
|
+
const emitted = observedEvents > before;
|
|
81
|
+
idleRounds = emitted ? 0 : idleRounds + 1;
|
|
82
|
+
if (idleRounds >= idleRoundsTarget) {
|
|
83
|
+
return { rounds, settled: true };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return { rounds: maxRounds, settled: false };
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
for (const sub of subscriptions) {
|
|
90
|
+
sub.dispose();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
40
94
|
class TestPort extends runtime_1.Port {
|
|
41
95
|
_messages = [];
|
|
42
96
|
_preloads = new Map();
|
package/lib/cjs/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/types.d.ts
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Type-only public surface — erased at compile time; no runtime JS from this module.
|
|
3
3
|
*
|
|
4
4
|
* Import protocol and actor types from here:
|
|
5
|
-
* `import type { ActorConfig, ChildActor } from 'ihsm/types'` */ export type { ActorConfig, ActorContextOf, ActorInternalNotificationsOf, ActorInternalServicesOf, ActorMethodKeysOf, ActorNotificationsOf, ActorConfigOf, ActorPortOf, ActorServicesOf, ActorHsm, ActorOptions, ActorParentField, AssertAsyncService, CallFacet, ChildActor, ChildHsm, DisjointActorConfig, EmbodimentKind, ErrorHost, ExternalActor, ExternalHsm, FilterReservedKeys, InboundActor, InboundHsm, IPort, IsReservedName, MachinePortInput, HandlerHsm, MachineContext, MachineInternal, MachinePort, MachinePublic, NotificationArgs, NotificationClient, NotificationHandler, NotificationQueue, NotifyFacet, OwnerActorHsm, ParentActor, PlannedTransition, ProtocolBucket, ProtocolIndex, ProtocolSlot, ReservedName, SelfNotifications, ServiceArgs, ServiceClient, ServiceHandler, ServiceReply, ServiceCallOptions, StateClassOf, TestActorHsm, TestHsm, TopStateArg, TransitionHost, TransitionResolver, TransitionRoutineExecuteOptions, TransitionRoutinePlan, TransitionRoutineStyle, TransitionTracer, TransitionTraceHost, ValidatedActorConfig, ValidatedTopStateArg, } from './internal/types';
|
|
5
|
+
* `import type { ActorConfig, ChildActor } from 'ihsm/types'` */ export type { ActorConfig, ActorContextOf, ActorInternalNotificationsOf, ActorInternalServicesOf, ActorMethodKeysOf, ActorNotificationsOf, ActorConfigOf, ActorPortOf, ActorServicesOf, ActorHsm, ActorOptions, ActorParentField, AssertAsyncService, CallFacet, ChildActor, ChildHsm, DisjointActorConfig, EmbodimentKind, ErrorHost, ExternalActor, ExternalHsm, FilterReservedKeys, InboundActor, InboundHsm, IPort, IsReservedName, MachinePortInput, HandlerHsm, MachineContext, MachineInternal, MachinePort, MachinePublic, NotificationArgs, NotificationClient, NotificationHandler, NotificationQueue, NotifyFacet, OwnerActorHsm, ParentActor, PlannedTransition, ProtocolBucket, ProtocolIndex, ProtocolSlot, ReservedName, SelfNotifications, ServiceArgs, ServiceClient, ServiceHandler, ServiceReply, ServiceCallOptions, StateClassOf, TestActorHsm, TestHsm, TopStateArg, TransitionHost, TransitionResolver, TransitionRoutineExecuteOptions, TransitionRoutinePlan, TransitionRoutineStyle, TransitionTracer, TransitionTraceHost, ValidatedActorConfig, ValidatedTopStateArg, ActorIdentity, CauseRef, DispatchPhase, Instrumentation, LogRecord, MacrostepBegin, MacrostepEnd, MicrostepBegin, MicrostepEnd, TriggerKind, TraceFrame, ActorLogger, LogAttributes, DispatchError, EnqueueInfo, SpawnInfo, PortCallBegin, PortCallEnd, OutboundCallBegin, OutboundCallEnd, } from './internal/types';
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Curated public runtime surface; protocol types live in {@link ./types}.
|
|
5
5
|
*/
|
|
6
|
-
export { TraceLevel, asError, quoteUnknown, quoteError, getInitialState, hasInitialState, getTransitionKey, defineStateName, getStateName, Port, RequestingPort, TopState, HsmError, RuntimeError, TransitionError, EventHandlerError, UnhandledEventError, InitialStateError, FatalError, InitializationError, FatalErrorState, InitialState, registerStateNames, ProtocolCollisionError, ReservedNames, buildProtocolIndex, CallTimeoutError, SelfCallDeadlockError, TransitionTableError, planTransitionClasses, executeTransitionRoutine, createTransitionTracer, transitionTraceLines, RuntimeTransitionResolver, isRequestingPort, isServiceCallOptions, splitServiceArgs, serviceCallWithTimeout, defaultTraceWriter, defaultInitialize, defaultDispatchErrorCallback, makeActor, asParentActor, makeChildActor, kHandlerMachine, kParentLink, } from './internal/runtime.js';
|
|
6
|
+
export { TraceLevel, asError, quoteUnknown, quoteError, getInitialState, hasInitialState, getTransitionKey, defineStateName, getStateName, Port, RequestingPort, TopState, HsmError, RuntimeError, TransitionError, EventHandlerError, UnhandledEventError, InitialStateError, FatalError, InitializationError, FatalErrorState, InitialState, registerStateNames, ProtocolCollisionError, ReservedNames, buildProtocolIndex, CallTimeoutError, SelfCallDeadlockError, TransitionTableError, planTransitionClasses, executeTransitionRoutine, createTransitionTracer, transitionTraceLines, RuntimeTransitionResolver, isRequestingPort, isServiceCallOptions, splitServiceArgs, serviceCallWithTimeout, currentTraceAnchor, defaultTraceWriter, defaultInitialize, defaultDispatchErrorCallback, makeActor, asParentActor, makeChildActor, kHandlerMachine, kParentLink, configureRunSeed, getRunSeed, getRunNamespace, mintActorIdentity, } from './internal/runtime.js';
|
|
7
|
+
export { createConsoleInstrumentation } from './internal/console-instrumentation.js';
|
|
8
|
+
export { registerCollector, clearCollectors, getCollectorCount } from './internal/instrumentation.js';
|
|
7
9
|
export type * from './types.js';
|
|
10
|
+
export type { ConsoleInstrumentationOptions } from './internal/console-instrumentation.js';
|
|
8
11
|
export type { Any, DispatchErrorCallback, Disposable, EventObserver, MachinePortInput, IPort, Properties, RandomService, TimerService, DomainPortOf, PortServices, ResultWithSubscription, StateClass, StateEvents, TraceWriter, TracedMessage } from './internal/types.js';
|
package/lib/esm/index.js
CHANGED
|
@@ -3,5 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Curated public runtime surface; protocol types live in {@link ./types}.
|
|
5
5
|
*/
|
|
6
|
-
export { TraceLevel, asError, quoteUnknown, quoteError, getInitialState, hasInitialState, getTransitionKey, defineStateName, getStateName, Port, RequestingPort, TopState, HsmError, RuntimeError, TransitionError, EventHandlerError, UnhandledEventError, InitialStateError, FatalError, InitializationError, FatalErrorState, InitialState, registerStateNames, ProtocolCollisionError, ReservedNames, buildProtocolIndex, CallTimeoutError, SelfCallDeadlockError, TransitionTableError, planTransitionClasses, executeTransitionRoutine, createTransitionTracer, transitionTraceLines, RuntimeTransitionResolver, isRequestingPort, isServiceCallOptions, splitServiceArgs, serviceCallWithTimeout, defaultTraceWriter, defaultInitialize, defaultDispatchErrorCallback, makeActor, asParentActor, makeChildActor, kHandlerMachine, kParentLink, } from './internal/runtime.js';
|
|
6
|
+
export { TraceLevel, asError, quoteUnknown, quoteError, getInitialState, hasInitialState, getTransitionKey, defineStateName, getStateName, Port, RequestingPort, TopState, HsmError, RuntimeError, TransitionError, EventHandlerError, UnhandledEventError, InitialStateError, FatalError, InitializationError, FatalErrorState, InitialState, registerStateNames, ProtocolCollisionError, ReservedNames, buildProtocolIndex, CallTimeoutError, SelfCallDeadlockError, TransitionTableError, planTransitionClasses, executeTransitionRoutine, createTransitionTracer, transitionTraceLines, RuntimeTransitionResolver, isRequestingPort, isServiceCallOptions, splitServiceArgs, serviceCallWithTimeout, currentTraceAnchor, defaultTraceWriter, defaultInitialize, defaultDispatchErrorCallback, makeActor, asParentActor, makeChildActor, kHandlerMachine, kParentLink, configureRunSeed, getRunSeed, getRunNamespace, mintActorIdentity, } from './internal/runtime.js';
|
|
7
|
+
export { createConsoleInstrumentation } from './internal/console-instrumentation.js';
|
|
8
|
+
export { registerCollector, clearCollectors, getCollectorCount } from './internal/instrumentation.js';
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACN,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACN,UAAU,EACV,OAAO,EACP,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,4BAA4B,EAC5B,SAAS,EACT,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basic console signal output — a zero-dependency {@link Instrumentation} for development.
|
|
3
|
+
*
|
|
4
|
+
* `ihsm` itself has no OpenTelemetry dependency: observability is driven entirely by the optional
|
|
5
|
+
* {@link Instrumentation} callback surface passed to `makeActor(..., { instrumentation })`. This
|
|
6
|
+
* built-in implementation prints those signals to the console so users who do not want OTEL still
|
|
7
|
+
* get out-of-the-box visibility. The richer OpenTelemetry bridge lives in the separate
|
|
8
|
+
* `@ihsm/otel` package and consumes the very same callbacks.
|
|
9
|
+
*/
|
|
10
|
+
import type { Instrumentation } from './types.js';
|
|
11
|
+
export interface ConsoleInstrumentationOptions {
|
|
12
|
+
/** Sink for each formatted line. Defaults to `console.log`. */
|
|
13
|
+
readonly write?: (line: string) => void;
|
|
14
|
+
/** Prefix prepended to every line. Defaults to `'ihsm'`. */
|
|
15
|
+
readonly prefix?: string;
|
|
16
|
+
/** Emit microstep begin/end and enqueue signals (verbose). Defaults to `true`. */
|
|
17
|
+
readonly microsteps?: boolean;
|
|
18
|
+
/** Emit `hsm.log.*` records. Defaults to `true`. */
|
|
19
|
+
readonly logs?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Build a dependency-free {@link Instrumentation} that prints actor signals to the console.
|
|
23
|
+
*
|
|
24
|
+
* Register it globally so tracing stays a cross-cutting concern — actor construction takes no
|
|
25
|
+
* tracing argument and every actor spawned afterwards is traced.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { createConsoleInstrumentation, registerCollector, makeActor, Port } from 'ihsm';
|
|
30
|
+
* registerCollector(createConsoleInstrumentation());
|
|
31
|
+
* const actor = makeActor(Top, ctx, new Port(), { initialize: true });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function createConsoleInstrumentation(options?: ConsoleInstrumentationOptions): Instrumentation;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Basic console signal output — a zero-dependency {@link Instrumentation} for development.
|
|
3
|
+
*
|
|
4
|
+
* `ihsm` itself has no OpenTelemetry dependency: observability is driven entirely by the optional
|
|
5
|
+
* {@link Instrumentation} callback surface passed to `makeActor(..., { instrumentation })`. This
|
|
6
|
+
* built-in implementation prints those signals to the console so users who do not want OTEL still
|
|
7
|
+
* get out-of-the-box visibility. The richer OpenTelemetry bridge lives in the separate
|
|
8
|
+
* `@ihsm/otel` package and consumes the very same callbacks.
|
|
9
|
+
*/
|
|
10
|
+
function shortUuid(uuid) {
|
|
11
|
+
return uuid.length >= 8 ? uuid.slice(0, 8) : uuid;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Build a dependency-free {@link Instrumentation} that prints actor signals to the console.
|
|
15
|
+
*
|
|
16
|
+
* Register it globally so tracing stays a cross-cutting concern — actor construction takes no
|
|
17
|
+
* tracing argument and every actor spawned afterwards is traced.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { createConsoleInstrumentation, registerCollector, makeActor, Port } from 'ihsm';
|
|
22
|
+
* registerCollector(createConsoleInstrumentation());
|
|
23
|
+
* const actor = makeActor(Top, ctx, new Port(), { initialize: true });
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function createConsoleInstrumentation(options = {}) {
|
|
27
|
+
const write = options.write ?? ((line) => console.log(line));
|
|
28
|
+
const prefix = options.prefix ?? 'ihsm';
|
|
29
|
+
const microsteps = options.microsteps ?? true;
|
|
30
|
+
const logs = options.logs ?? true;
|
|
31
|
+
const emit = (msg, actor = '') => write(actor.length > 0 ? `[${prefix}] ${actor} ${msg}` : `[${prefix}] ${msg}`);
|
|
32
|
+
const instrumentation = {
|
|
33
|
+
onActorCreated(id) {
|
|
34
|
+
emit(`+ actor ${id.path} (${id.kind})`, shortUuid(id.uuid));
|
|
35
|
+
},
|
|
36
|
+
onActorDisposed(id) {
|
|
37
|
+
emit(`- actor ${id.path}`, shortUuid(id.uuid));
|
|
38
|
+
},
|
|
39
|
+
onMacrostepBegin(info) {
|
|
40
|
+
emit(`\u25b6 macrostep ${info.id} ${info.triggerKind}:${info.trigger} @${info.startState}`, shortUuid(info.actor.uuid));
|
|
41
|
+
},
|
|
42
|
+
onMacrostepEnd(info) {
|
|
43
|
+
emit(`\u25a0 macrostep ${info.id} \u2192 ${info.endState} (${info.steps} step(s), ${info.outcome})`);
|
|
44
|
+
},
|
|
45
|
+
onError(info) {
|
|
46
|
+
emit(`\u2716 ${info.phase} ${info.errorClass}: ${info.error.message}${info.recovered ? ' (recovered)' : ''}`);
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
if (microsteps) {
|
|
50
|
+
instrumentation.onMicrostepBegin = (info) => {
|
|
51
|
+
emit(` \u00b7 #${info.seq} ${info.event} [${info.bucket}/${info.queue}] @${info.fromState}`);
|
|
52
|
+
};
|
|
53
|
+
instrumentation.onMicrostepEnd = (info) => {
|
|
54
|
+
emit(` \u00b7 #${info.seq} \u2192 ${info.toState}${info.transitioned ? ' (transition)' : ''} ${info.outcome}`);
|
|
55
|
+
};
|
|
56
|
+
instrumentation.onEnqueue = (info) => {
|
|
57
|
+
emit(` \u21b3 enqueue ${info.event} [${info.queue}]${info.delayMs !== undefined ? ` +${info.delayMs}ms` : ''}`);
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (logs) {
|
|
61
|
+
instrumentation.onLog = (record) => {
|
|
62
|
+
const attrs = record.attributes !== undefined && Object.keys(record.attributes).length > 0 ? ` ${JSON.stringify(record.attributes)}` : '';
|
|
63
|
+
emit(` [${record.severity}] ${record.body}${attrs}`);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return instrumentation;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=console-instrumentation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-instrumentation.js","sourceRoot":"","sources":["../../../src/internal/console-instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,SAAS,SAAS,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAyC,EAAE;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAY,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,KAAK,GAAG,EAAE,EAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IAE/H,MAAM,eAAe,GAAoB;QACxC,cAAc,CAAC,EAAiB;YAC/B,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,eAAe,CAAC,EAAiB;YAChC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,gBAAgB,CAAC,IAAoB;YACpC,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACzH,CAAC;QACD,cAAc,CAAC,IAAkB;YAChC,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE,WAAW,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,CAAC,IAAmB;YAC1B,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/G,CAAC;KACD,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,eAAe,CAAC,gBAAgB,GAAG,CAAC,IAAoB,EAAQ,EAAE;YACjE,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/F,CAAC,CAAC;QACF,eAAe,CAAC,cAAc,GAAG,CAAC,IAAkB,EAAQ,EAAE;YAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjH,CAAC,CAAC;QACF,eAAe,CAAC,SAAS,GAAG,CAAC,IAAiB,EAAQ,EAAE;YACvD,IAAI,CAAC,oBAAoB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClH,CAAC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACV,eAAe,CAAC,KAAK,GAAG,CAAC,MAAiB,EAAQ,EAAE;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1I,IAAI,CAAC,MAAM,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Deterministic actor identity (CORE-A) — UUIDv5 over `(runNamespace, path)` with zero npm deps. */
|
|
2
|
+
import type { ActorIdentity, EmbodimentKind } from './types.js';
|
|
3
|
+
/** Fixed ihsm namespace for run-scoped UUID derivation. */
|
|
4
|
+
export declare const IHSM_IDENTITY_NAMESPACE = "a3f2c8e1-4b9d-4e7a-9c1f-2d6e8b0a4f3c";
|
|
5
|
+
/** Set the run seed for deterministic actor UUIDs (DST harness). */
|
|
6
|
+
export declare function configureRunSeed(seed: string): void;
|
|
7
|
+
/** Current run seed. */
|
|
8
|
+
export declare function getRunSeed(): string;
|
|
9
|
+
/** Lazily computed `uuidv5(IHSM_IDENTITY_NAMESPACE, runSeed)`. */
|
|
10
|
+
export declare function getRunNamespace(): string;
|
|
11
|
+
export declare function actorNameFromTopState(topStateName: string): string;
|
|
12
|
+
export declare function mintActorIdentity(kind: EmbodimentKind, path: string, parentUuid?: string): ActorIdentity;
|
|
13
|
+
export declare function rootActorPath(topStateName: string): string;
|
|
14
|
+
export declare function childActorPath(parentPath: string, childTopName: string, spawnIndex: number): string;
|
|
15
|
+
/** Minimal SHA-1 for browser-side identity minting (sync). @internal exported for test hooks. */
|
|
16
|
+
export declare function sha1Pure(data: Uint8Array): Uint8Array;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/** Deterministic actor identity (CORE-A) — UUIDv5 over `(runNamespace, path)` with zero npm deps. */
|
|
2
|
+
/** Fixed ihsm namespace for run-scoped UUID derivation. */
|
|
3
|
+
export const IHSM_IDENTITY_NAMESPACE = 'a3f2c8e1-4b9d-4e7a-9c1f-2d6e8b0a4f3c';
|
|
4
|
+
let runSeed = defaultRunSeed();
|
|
5
|
+
let runNamespace;
|
|
6
|
+
function defaultRunSeed() {
|
|
7
|
+
if (typeof process !== 'undefined' && typeof process.env?.IHSM_RUN_SEED === 'string' && process.env.IHSM_RUN_SEED.length > 0) {
|
|
8
|
+
return process.env.IHSM_RUN_SEED;
|
|
9
|
+
}
|
|
10
|
+
return globalThis.crypto.randomUUID();
|
|
11
|
+
}
|
|
12
|
+
/** Set the run seed for deterministic actor UUIDs (DST harness). */
|
|
13
|
+
export function configureRunSeed(seed) {
|
|
14
|
+
runSeed = seed;
|
|
15
|
+
runNamespace = undefined;
|
|
16
|
+
}
|
|
17
|
+
/** Current run seed. */
|
|
18
|
+
export function getRunSeed() {
|
|
19
|
+
return runSeed;
|
|
20
|
+
}
|
|
21
|
+
/** Lazily computed `uuidv5(IHSM_IDENTITY_NAMESPACE, runSeed)`. */
|
|
22
|
+
export function getRunNamespace() {
|
|
23
|
+
if (runNamespace === undefined) {
|
|
24
|
+
runNamespace = uuidV5(runSeed, IHSM_IDENTITY_NAMESPACE);
|
|
25
|
+
}
|
|
26
|
+
return runNamespace;
|
|
27
|
+
}
|
|
28
|
+
export function actorNameFromTopState(topStateName) {
|
|
29
|
+
return topStateName.endsWith('Top') ? topStateName.slice(0, -3) : topStateName;
|
|
30
|
+
}
|
|
31
|
+
export function mintActorIdentity(kind, path, parentUuid) {
|
|
32
|
+
const identity = {
|
|
33
|
+
uuid: uuidV5(path, getRunNamespace()),
|
|
34
|
+
name: path
|
|
35
|
+
.split('/')
|
|
36
|
+
.pop()
|
|
37
|
+
?.replace(/\[\d+\]$/, '') ?? path,
|
|
38
|
+
path,
|
|
39
|
+
kind,
|
|
40
|
+
};
|
|
41
|
+
if (parentUuid !== undefined) {
|
|
42
|
+
return { ...identity, parentUuid };
|
|
43
|
+
}
|
|
44
|
+
return identity;
|
|
45
|
+
}
|
|
46
|
+
export function rootActorPath(topStateName) {
|
|
47
|
+
return actorNameFromTopState(topStateName);
|
|
48
|
+
}
|
|
49
|
+
export function childActorPath(parentPath, childTopName, spawnIndex) {
|
|
50
|
+
const childName = actorNameFromTopState(childTopName);
|
|
51
|
+
return `${parentPath}/${childName}[${spawnIndex}]`;
|
|
52
|
+
}
|
|
53
|
+
function uuidV5(name, namespaceUuid) {
|
|
54
|
+
const namespaceBytes = parseUuidToBytes(namespaceUuid);
|
|
55
|
+
const nameBytes = new TextEncoder().encode(name);
|
|
56
|
+
const payload = new Uint8Array(namespaceBytes.length + nameBytes.length);
|
|
57
|
+
payload.set(namespaceBytes, 0);
|
|
58
|
+
payload.set(nameBytes, namespaceBytes.length);
|
|
59
|
+
const hash = sha1Sync(payload);
|
|
60
|
+
hash[6] = (hash[6] & 0x0f) | 0x50;
|
|
61
|
+
hash[8] = (hash[8] & 0x3f) | 0x80;
|
|
62
|
+
return formatUuid(hash.subarray(0, 16));
|
|
63
|
+
}
|
|
64
|
+
function parseUuidToBytes(uuid) {
|
|
65
|
+
const hex = uuid.replace(/-/g, '');
|
|
66
|
+
const out = new Uint8Array(16);
|
|
67
|
+
for (let i = 0; i < 16; ++i) {
|
|
68
|
+
out[i] = Number.parseInt(hex.slice(i * 2, i * 2 + 2), 16);
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
function formatUuid(bytes) {
|
|
73
|
+
const hex = [...bytes].map(b => b.toString(16).padStart(2, '0')).join('');
|
|
74
|
+
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
75
|
+
}
|
|
76
|
+
function sha1Sync(data) {
|
|
77
|
+
if (typeof process !== 'undefined' && process.versions?.node !== undefined) {
|
|
78
|
+
try {
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
80
|
+
const crypto = require('node:crypto');
|
|
81
|
+
return new Uint8Array(crypto.createHash('sha1').update(data).digest());
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* fall through */
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return sha1Pure(data);
|
|
88
|
+
}
|
|
89
|
+
/** Minimal SHA-1 for browser-side identity minting (sync). @internal exported for test hooks. */
|
|
90
|
+
export function sha1Pure(data) {
|
|
91
|
+
const w = new Array(80).fill(0);
|
|
92
|
+
let h0 = 0x67452301;
|
|
93
|
+
let h1 = 0xefcdab89;
|
|
94
|
+
let h2 = 0x98badcfe;
|
|
95
|
+
let h3 = 0x10325476;
|
|
96
|
+
let h4 = 0xc3d2e1f0;
|
|
97
|
+
const ml = data.length * 8;
|
|
98
|
+
const withLen = new Uint8Array(((data.length + 9 + 63) >> 6) << 6);
|
|
99
|
+
withLen.set(data);
|
|
100
|
+
withLen[data.length] = 0x80;
|
|
101
|
+
const view = new DataView(withLen.buffer);
|
|
102
|
+
view.setUint32(withLen.length - 4, ml >>> 0, false);
|
|
103
|
+
for (let offset = 0; offset < withLen.length; offset += 64) {
|
|
104
|
+
for (let i = 0; i < 16; ++i) {
|
|
105
|
+
w[i] = view.getUint32(offset + i * 4, false);
|
|
106
|
+
}
|
|
107
|
+
for (let i = 16; i < 80; ++i) {
|
|
108
|
+
w[i] = rotl(w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1);
|
|
109
|
+
}
|
|
110
|
+
let a = h0;
|
|
111
|
+
let b = h1;
|
|
112
|
+
let c = h2;
|
|
113
|
+
let d = h3;
|
|
114
|
+
let e = h4;
|
|
115
|
+
for (let i = 0; i < 80; ++i) {
|
|
116
|
+
let f;
|
|
117
|
+
let k;
|
|
118
|
+
if (i < 20) {
|
|
119
|
+
f = (b & c) | (~b & d);
|
|
120
|
+
k = 0x5a827999;
|
|
121
|
+
}
|
|
122
|
+
else if (i < 40) {
|
|
123
|
+
f = b ^ c ^ d;
|
|
124
|
+
k = 0x6ed9eba1;
|
|
125
|
+
}
|
|
126
|
+
else if (i < 60) {
|
|
127
|
+
f = (b & c) | (b & d) | (c & d);
|
|
128
|
+
k = 0x8f1bbcdc;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
f = b ^ c ^ d;
|
|
132
|
+
k = 0xca62c1d6;
|
|
133
|
+
}
|
|
134
|
+
const temp = (rotl(a, 5) + f + e + k + w[i]) >>> 0;
|
|
135
|
+
e = d;
|
|
136
|
+
d = c;
|
|
137
|
+
c = rotl(b, 30);
|
|
138
|
+
b = a;
|
|
139
|
+
a = temp;
|
|
140
|
+
}
|
|
141
|
+
h0 = (h0 + a) >>> 0;
|
|
142
|
+
h1 = (h1 + b) >>> 0;
|
|
143
|
+
h2 = (h2 + c) >>> 0;
|
|
144
|
+
h3 = (h3 + d) >>> 0;
|
|
145
|
+
h4 = (h4 + e) >>> 0;
|
|
146
|
+
}
|
|
147
|
+
const out = new Uint8Array(20);
|
|
148
|
+
const outView = new DataView(out.buffer);
|
|
149
|
+
outView.setUint32(0, h0, false);
|
|
150
|
+
outView.setUint32(4, h1, false);
|
|
151
|
+
outView.setUint32(8, h2, false);
|
|
152
|
+
outView.setUint32(12, h3, false);
|
|
153
|
+
outView.setUint32(16, h4, false);
|
|
154
|
+
return out;
|
|
155
|
+
}
|
|
156
|
+
function rotl(x, n) {
|
|
157
|
+
return ((x << n) | (x >>> (32 - n))) >>> 0;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/internal/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Instrumentation helpers — non-throwing observer guard and task metadata (CORE-B). */
|
|
2
|
+
import type { CauseRef, DispatchError, EnqueueInfo, Instrumentation, LogRecord, MacrostepBegin, MacrostepEnd, MicrostepBegin, MicrostepEnd, NotificationQueue, OutboundCallBegin, OutboundCallEnd, PortCallBegin, PortCallEnd, SpawnInfo } from './types.js';
|
|
3
|
+
import type { Task } from './types.js';
|
|
4
|
+
export declare const kTaskMeta: unique symbol;
|
|
5
|
+
export interface TaskMeta {
|
|
6
|
+
readonly event?: string;
|
|
7
|
+
readonly queue?: NotificationQueue;
|
|
8
|
+
readonly internal?: boolean;
|
|
9
|
+
readonly triggerKind?: MacrostepBegin['triggerKind'];
|
|
10
|
+
cause?: CauseRef;
|
|
11
|
+
/** For deferred/timer enqueues — the scheduled delay, surfaced on the timer span link. */
|
|
12
|
+
readonly delayMs?: number;
|
|
13
|
+
/** Microstep correlation, stamped at task begin so begin/end pair correctly across nested priority drains. */
|
|
14
|
+
seq?: number;
|
|
15
|
+
/** Leaf state captured at task begin — pairs with `seq` for a correct `transitioned` at task end. */
|
|
16
|
+
fromState?: string;
|
|
17
|
+
}
|
|
18
|
+
export type InstrumentedTask = Task & {
|
|
19
|
+
[kTaskMeta]?: TaskMeta;
|
|
20
|
+
};
|
|
21
|
+
export declare function setTaskMeta(task: Task, meta: TaskMeta): void;
|
|
22
|
+
export declare function getTaskMeta(task: Task): TaskMeta | undefined;
|
|
23
|
+
export declare function invokeInstrumentation(fn: () => void): void;
|
|
24
|
+
export declare function notifyActorCreated(instrumentation: Instrumentation | undefined, id: MacrostepBegin['actor']): void;
|
|
25
|
+
export declare function notifyMacrostepBegin(instrumentation: Instrumentation | undefined, info: MacrostepBegin): void;
|
|
26
|
+
export declare function notifyMacrostepEnd(instrumentation: Instrumentation | undefined, info: MacrostepEnd): void;
|
|
27
|
+
export declare function notifyActorSpawned(instrumentation: Instrumentation | undefined, info: SpawnInfo): void;
|
|
28
|
+
export declare function notifyMicrostepBegin(instrumentation: Instrumentation | undefined, info: MicrostepBegin): void;
|
|
29
|
+
export declare function notifyMicrostepEnd(instrumentation: Instrumentation | undefined, info: MicrostepEnd): void;
|
|
30
|
+
export declare function notifyEnqueue(instrumentation: Instrumentation | undefined, info: EnqueueInfo): void;
|
|
31
|
+
export declare function notifyPortCallBegin(instrumentation: Instrumentation | undefined, info: PortCallBegin): void;
|
|
32
|
+
export declare function notifyPortCallEnd(instrumentation: Instrumentation | undefined, info: PortCallEnd): void;
|
|
33
|
+
export declare function notifyOutboundCallBegin(instrumentation: Instrumentation | undefined, info: OutboundCallBegin): void;
|
|
34
|
+
export declare function notifyOutboundCallEnd(instrumentation: Instrumentation | undefined, info: OutboundCallEnd): void;
|
|
35
|
+
export declare function notifyError(instrumentation: Instrumentation | undefined, info: DispatchError): void;
|
|
36
|
+
export declare function notifyLog(instrumentation: Instrumentation | undefined, record: LogRecord): void;
|
|
37
|
+
/**
|
|
38
|
+
* Register a tracing collector globally. Every actor spawned while it is registered reports to it.
|
|
39
|
+
* Returns an idempotent unregister function. Multiple collectors fan out in registration order.
|
|
40
|
+
*/
|
|
41
|
+
export declare function registerCollector(collector: Instrumentation): () => void;
|
|
42
|
+
/** Remove every registered collector (primarily for test isolation). */
|
|
43
|
+
export declare function clearCollectors(): void;
|
|
44
|
+
/** The composed instrumentation an actor adopts at spawn — `undefined` when no collector is registered. */
|
|
45
|
+
export declare function getActiveInstrumentation(): Instrumentation | undefined;
|
|
46
|
+
/** Number of currently-registered collectors (diagnostics/tests). */
|
|
47
|
+
export declare function getCollectorCount(): number;
|