@proophboard/exploration-runtime 0.0.0-stage → 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 (66) hide show
  1. package/dist/index.d.ts +68 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +61 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/lib/connectionRules.d.ts +39 -0
  6. package/dist/lib/connectionRules.d.ts.map +1 -0
  7. package/dist/lib/connectionRules.js +475 -0
  8. package/dist/lib/connectionRules.js.map +1 -0
  9. package/dist/lib/toClassName.d.ts +42 -0
  10. package/dist/lib/toClassName.d.ts.map +1 -0
  11. package/dist/lib/toClassName.js +82 -0
  12. package/dist/lib/toClassName.js.map +1 -0
  13. package/dist/playFunction/ambientTypes.d.ts +30 -0
  14. package/dist/playFunction/ambientTypes.d.ts.map +1 -0
  15. package/dist/playFunction/ambientTypes.js +174 -0
  16. package/dist/playFunction/ambientTypes.js.map +1 -0
  17. package/dist/playFunction/cascadeBudget.d.ts +53 -0
  18. package/dist/playFunction/cascadeBudget.d.ts.map +1 -0
  19. package/dist/playFunction/cascadeBudget.js +74 -0
  20. package/dist/playFunction/cascadeBudget.js.map +1 -0
  21. package/dist/playFunction/clock.d.ts +58 -0
  22. package/dist/playFunction/clock.d.ts.map +1 -0
  23. package/dist/playFunction/clock.js +104 -0
  24. package/dist/playFunction/clock.js.map +1 -0
  25. package/dist/playFunction/modelTypes.d.ts +74 -0
  26. package/dist/playFunction/modelTypes.d.ts.map +1 -0
  27. package/dist/playFunction/modelTypes.js +345 -0
  28. package/dist/playFunction/modelTypes.js.map +1 -0
  29. package/dist/playFunction/playLog.d.ts +29 -0
  30. package/dist/playFunction/playLog.d.ts.map +1 -0
  31. package/dist/playFunction/playLog.js +64 -0
  32. package/dist/playFunction/playLog.js.map +1 -0
  33. package/dist/playFunction/playType.d.ts +52 -0
  34. package/dist/playFunction/playType.d.ts.map +1 -0
  35. package/dist/playFunction/playType.js +94 -0
  36. package/dist/playFunction/playType.js.map +1 -0
  37. package/dist/playFunction/runtimeFold.d.ts +51 -0
  38. package/dist/playFunction/runtimeFold.d.ts.map +1 -0
  39. package/dist/playFunction/runtimeFold.js +620 -0
  40. package/dist/playFunction/runtimeFold.js.map +1 -0
  41. package/dist/playFunction/runtimeSteps.d.ts +45 -0
  42. package/dist/playFunction/runtimeSteps.d.ts.map +1 -0
  43. package/dist/playFunction/runtimeSteps.js +112 -0
  44. package/dist/playFunction/runtimeSteps.js.map +1 -0
  45. package/dist/playFunction/sandbox.d.ts +52 -0
  46. package/dist/playFunction/sandbox.d.ts.map +1 -0
  47. package/dist/playFunction/sandbox.js +91 -0
  48. package/dist/playFunction/sandbox.js.map +1 -0
  49. package/dist/playFunction/scenarioRunner.d.ts +49 -0
  50. package/dist/playFunction/scenarioRunner.d.ts.map +1 -0
  51. package/dist/playFunction/scenarioRunner.js +331 -0
  52. package/dist/playFunction/scenarioRunner.js.map +1 -0
  53. package/dist/playFunction/transpile.d.ts +33 -0
  54. package/dist/playFunction/transpile.d.ts.map +1 -0
  55. package/dist/playFunction/transpile.js +71 -0
  56. package/dist/playFunction/transpile.js.map +1 -0
  57. package/dist/types/eventModel.d.ts +79 -0
  58. package/dist/types/eventModel.d.ts.map +1 -0
  59. package/dist/types/eventModel.js +12 -0
  60. package/dist/types/eventModel.js.map +1 -0
  61. package/dist/types/exploration.d.ts +143 -0
  62. package/dist/types/exploration.d.ts.map +1 -0
  63. package/dist/types/exploration.js +28 -0
  64. package/dist/types/exploration.js.map +1 -0
  65. package/package.json +48 -4
  66. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeFold.js","sourceRoot":"","sources":["../../src/playFunction/runtimeFold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * runtimeSteps — the pure, framework-free helpers the Exploration fold builds on
3
+ * (extracted from eventflow-designer `useExplorationRuntime.ts`, which is React-
4
+ * coupled). These touch no React/DOM/worker API:
5
+ *
6
+ * deriveRuntimeSteps — slice list → ordered runtime steps (step rule).
7
+ * seedState — ImplicitScenario → seeded RuntimeState.
8
+ * mergeProjection — two-level leaf-replace projection merge (R13).
9
+ * defaultDecide — default command→events (R11 pass-through).
10
+ *
11
+ * The in-app module should re-export these from here (or from a shared module) so
12
+ * the browser and this package run byte-identical logic. The parity test guards it.
13
+ */
14
+ import type { Chapter, Element, Slice } from '../types/eventModel.js';
15
+ import type { ImplicitScenario, RuntimeCommand, RuntimeEvent, RuntimeState } from '../types/exploration.js';
16
+ /**
17
+ * Two-level leaf-replace merge (R13). Merges `patch` into
18
+ * `target[context][element]` so writing one Information leaf never wipes its
19
+ * siblings in the same context.
20
+ */
21
+ export declare function mergeProjection(state: RuntimeState, context: string, element: string, patch: Record<string, unknown>): void;
22
+ /** Build the seeded starting state from the implicit scenario (R7, R8, R26). */
23
+ export declare function seedState(scenario: ImplicitScenario, clockISO: string): RuntimeState;
24
+ /** One runtime step: a slice plus its elements grouped by type. */
25
+ export interface RuntimeStep {
26
+ slice: Slice;
27
+ stepIndex: number;
28
+ commands: Element[];
29
+ events: Element[];
30
+ information: Element[];
31
+ uiElement: Element | undefined;
32
+ automationElement: Element | undefined;
33
+ }
34
+ /**
35
+ * Derive runtime steps: a slice is a step if it carries UI, Automation, or Event
36
+ * (mirrors usePresentationMode's step rule so geometry/step-count match).
37
+ */
38
+ export declare function deriveRuntimeSteps(chapter: Chapter | undefined): RuntimeStep[];
39
+ /**
40
+ * DEFAULT `decide(command, state) → Event[]` for a command: emit one runtime
41
+ * event per event element in the command's slice, each carrying the command's
42
+ * payload (R11 pass-through). index/timestamp are assigned by the fold.
43
+ */
44
+ export declare function defaultDecide(step: RuntimeStep, command: RuntimeCommand): Array<Omit<RuntimeEvent, 'index' | 'timestamp'>>;
45
+ //# sourceMappingURL=runtimeSteps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeSteps.d.ts","sourceRoot":"","sources":["../../src/playFunction/runtimeSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,YAAY,EACb,MAAM,yBAAyB,CAAC;AAYjC;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CASN;AAeD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA4BpF;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,EAAE,CA2B9E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,cAAc,GACtB,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,WAAW,CAAC,CAAC,CAMlD"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * runtimeSteps — the pure, framework-free helpers the Exploration fold builds on
3
+ * (extracted from eventflow-designer `useExplorationRuntime.ts`, which is React-
4
+ * coupled). These touch no React/DOM/worker API:
5
+ *
6
+ * deriveRuntimeSteps — slice list → ordered runtime steps (step rule).
7
+ * seedState — ImplicitScenario → seeded RuntimeState.
8
+ * mergeProjection — two-level leaf-replace projection merge (R13).
9
+ * defaultDecide — default command→events (R11 pass-through).
10
+ *
11
+ * The in-app module should re-export these from here (or from a shared module) so
12
+ * the browser and this package run byte-identical logic. The parity test guards it.
13
+ */
14
+ import { toClassName } from '../lib/toClassName.js';
15
+ /** Shallow structured clone of a plain JSON-ish value. */
16
+ function clone(value) {
17
+ return value == null ? value : JSON.parse(JSON.stringify(value));
18
+ }
19
+ function isPlainObject(v) {
20
+ return typeof v === 'object' && v !== null && !Array.isArray(v);
21
+ }
22
+ /**
23
+ * Two-level leaf-replace merge (R13). Merges `patch` into
24
+ * `target[context][element]` so writing one Information leaf never wipes its
25
+ * siblings in the same context.
26
+ */
27
+ export function mergeProjection(state, context, element, patch) {
28
+ const ctxKey = toClassName(context || 'App');
29
+ const elKey = toClassName(element);
30
+ const ctx = isPlainObject(state[ctxKey]) ? state[ctxKey] : {};
31
+ const existing = isPlainObject(ctx[elKey]) ? ctx[elKey] : {};
32
+ ctx[elKey] = { ...existing, ...patch };
33
+ state[ctxKey] = ctx;
34
+ }
35
+ /**
36
+ * Seeded events have no slice context to resolve a target Information, so the
37
+ * default seeding only records the event into $events (projection seeding comes
38
+ * from initialState). Kept as a named seam.
39
+ */
40
+ function applyDefaultMergeForSeeded(_state, _event, _scenario) {
41
+ /* no-op: seeded projections come from initialState; seeded events only $events */
42
+ }
43
+ /** Build the seeded starting state from the implicit scenario (R7, R8, R26). */
44
+ export function seedState(scenario, clockISO) {
45
+ const state = { $events: [] };
46
+ for (const [ctx, elements] of Object.entries(scenario.initialState ?? {})) {
47
+ if (!isPlainObject(elements))
48
+ continue;
49
+ const ctxKey = toClassName(ctx);
50
+ const bucket = isPlainObject(state[ctxKey])
51
+ ? state[ctxKey]
52
+ : {};
53
+ for (const [el, val] of Object.entries(elements)) {
54
+ bucket[toClassName(el)] = clone(val);
55
+ }
56
+ state[ctxKey] = bucket;
57
+ }
58
+ (scenario.seededEvents ?? []).forEach((e, i) => {
59
+ const seeded = {
60
+ name: e.name,
61
+ context: e.context,
62
+ payload: clone(e.payload) ?? {},
63
+ index: i,
64
+ timestamp: e.timestamp ?? clockISO,
65
+ };
66
+ state.$events.push(seeded);
67
+ applyDefaultMergeForSeeded(state, seeded, scenario);
68
+ });
69
+ return state;
70
+ }
71
+ /**
72
+ * Derive runtime steps: a slice is a step if it carries UI, Automation, or Event
73
+ * (mirrors usePresentationMode's step rule so geometry/step-count match).
74
+ */
75
+ export function deriveRuntimeSteps(chapter) {
76
+ if (!chapter)
77
+ return [];
78
+ const sorted = [...chapter.slices].sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
79
+ const steps = [];
80
+ let stepIndex = 0;
81
+ for (const slice of sorted) {
82
+ const sliceElements = chapter.elements
83
+ .filter((e) => e.sliceId === slice.id)
84
+ .sort((a, b) => (a.index ?? 0) - (b.index ?? 0));
85
+ const commands = sliceElements.filter((e) => e.type === 'command');
86
+ const events = sliceElements.filter((e) => e.type === 'event');
87
+ const information = sliceElements.filter((e) => e.type === 'information');
88
+ const uiElement = sliceElements.find((e) => e.type === 'ui');
89
+ const automationElement = sliceElements.find((e) => e.type === 'automation');
90
+ const hasUI = !!uiElement;
91
+ const hasAutomation = !!automationElement;
92
+ const hasEvent = events.length > 0;
93
+ if (!hasUI && !hasAutomation && !hasEvent)
94
+ continue;
95
+ steps.push({ slice, stepIndex, commands, events, information, uiElement, automationElement });
96
+ stepIndex++;
97
+ }
98
+ return steps;
99
+ }
100
+ /**
101
+ * DEFAULT `decide(command, state) → Event[]` for a command: emit one runtime
102
+ * event per event element in the command's slice, each carrying the command's
103
+ * payload (R11 pass-through). index/timestamp are assigned by the fold.
104
+ */
105
+ export function defaultDecide(step, command) {
106
+ return step.events.map((evtEl) => ({
107
+ name: evtEl.name,
108
+ context: evtEl.context || 'App',
109
+ payload: clone(command.payload) ?? {},
110
+ }));
111
+ }
112
+ //# sourceMappingURL=runtimeSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeSteps.js","sourceRoot":"","sources":["../../src/playFunction/runtimeSteps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * sandbox — build a callable handler from transpiled Play Function JS plus the
3
+ * injected runtime surface (Exploration R10, R18, R31/R32, draft §4.6).
4
+ *
5
+ * The authored source defines a named function (`interact`/`decide`/`apply`/
6
+ * `read`/`react`/`process`) — either as a declaration or `export default`. We
7
+ * compile it with `new Function` and invoke the right handler with its arguments,
8
+ * injecting the deterministic helpers (`uuid`/`now`/`today`/`advanceClock`) and
9
+ * `reject` as in-scope globals so the handler calls them without imports.
10
+ *
11
+ * ISOLATION NOTE: `new Function` here is the EXECUTION mechanism, but isolation is
12
+ * provided by WHERE this runs — inside the Web Worker (handlerWorker.ts), which
13
+ * has no DOM/window/app-state and whose infinite loops are killed by terminating
14
+ * the worker (R15/N1). On the main-thread sync fast-path this is only ever reached
15
+ * when NO element has a playFunction (so no author code runs); authored handlers
16
+ * always go through the worker. `state` is passed as a deep-frozen clone so a
17
+ * handler cannot mutate the fold's state in place (replay purity, R5/R12).
18
+ *
19
+ * `reject(msg)` throws a tagged RejectSignal so the fold can distinguish an
20
+ * intentional command rejection from a thrown bug.
21
+ */
22
+ import type { ClockSurface } from './clock.js';
23
+ export type HandlerKind = 'interact' | 'decide' | 'apply' | 'read' | 'react' | 'process';
24
+ /** Thrown by reject(msg); caught by the fold as an intentional command rejection. */
25
+ export declare class RejectSignal extends Error {
26
+ readonly reason: string;
27
+ /** Stable brand so detection survives cross-chunk/realm `instanceof` failures. */
28
+ readonly __playSignal: "reject";
29
+ constructor(reason: string);
30
+ }
31
+ /** Robust detector: tag-based (survives duplicated module instances in the worker). */
32
+ export declare function isRejectSignal(err: unknown): err is RejectSignal;
33
+ /** Deep-freeze a structured-clone-able value so handlers can't mutate state. */
34
+ export declare function deepFreeze<T>(value: T): T;
35
+ /**
36
+ * Compile the authored source into a callable that returns the named handler
37
+ * function. Supports both `function decide(...) {}` declarations and
38
+ * `export default function (...) {}` / `export default (...) => {}`.
39
+ *
40
+ * The `export default` form is rewritten to an assignment because `new Function`
41
+ * bodies are not modules. Returns the handler function, or throws if the expected
42
+ * handler name is not found.
43
+ */
44
+ export declare function compileHandler(source: string, kind: HandlerKind): (...args: unknown[]) => unknown;
45
+ /**
46
+ * Run a compiled handler factory with the given clock surface and arguments.
47
+ * `state` (expected as the last positional arg per the handler contract) is
48
+ * deep-frozen by the caller. Returns the handler's return value; a RejectSignal
49
+ * propagates to the fold.
50
+ */
51
+ export declare function runHandler(factory: (...args: unknown[]) => unknown, clock: ClockSurface, args: unknown[]): unknown;
52
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/playFunction/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,qFAAqF;AACrF,qBAAa,YAAa,SAAQ,KAAK;aAGT,MAAM,EAAE,MAAM;IAF1C,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAG,QAAQ,CAAU;gBACd,MAAM,EAAE,MAAM;CAI3C;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,YAAY,CAKhE;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAiCjG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EACxC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,OAAO,EAAE,GACd,OAAO,CAcT"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * sandbox — build a callable handler from transpiled Play Function JS plus the
3
+ * injected runtime surface (Exploration R10, R18, R31/R32, draft §4.6).
4
+ *
5
+ * The authored source defines a named function (`interact`/`decide`/`apply`/
6
+ * `read`/`react`/`process`) — either as a declaration or `export default`. We
7
+ * compile it with `new Function` and invoke the right handler with its arguments,
8
+ * injecting the deterministic helpers (`uuid`/`now`/`today`/`advanceClock`) and
9
+ * `reject` as in-scope globals so the handler calls them without imports.
10
+ *
11
+ * ISOLATION NOTE: `new Function` here is the EXECUTION mechanism, but isolation is
12
+ * provided by WHERE this runs — inside the Web Worker (handlerWorker.ts), which
13
+ * has no DOM/window/app-state and whose infinite loops are killed by terminating
14
+ * the worker (R15/N1). On the main-thread sync fast-path this is only ever reached
15
+ * when NO element has a playFunction (so no author code runs); authored handlers
16
+ * always go through the worker. `state` is passed as a deep-frozen clone so a
17
+ * handler cannot mutate the fold's state in place (replay purity, R5/R12).
18
+ *
19
+ * `reject(msg)` throws a tagged RejectSignal so the fold can distinguish an
20
+ * intentional command rejection from a thrown bug.
21
+ */
22
+ /** Thrown by reject(msg); caught by the fold as an intentional command rejection. */
23
+ export class RejectSignal extends Error {
24
+ constructor(reason) {
25
+ super(reason);
26
+ this.reason = reason;
27
+ /** Stable brand so detection survives cross-chunk/realm `instanceof` failures. */
28
+ this.__playSignal = 'reject';
29
+ this.name = 'RejectSignal';
30
+ }
31
+ }
32
+ /** Robust detector: tag-based (survives duplicated module instances in the worker). */
33
+ export function isRejectSignal(err) {
34
+ return (err instanceof RejectSignal ||
35
+ (!!err && typeof err === 'object' && err.__playSignal === 'reject'));
36
+ }
37
+ /** Deep-freeze a structured-clone-able value so handlers can't mutate state. */
38
+ export function deepFreeze(value) {
39
+ if (value && typeof value === 'object') {
40
+ for (const key of Object.keys(value)) {
41
+ deepFreeze(value[key]);
42
+ }
43
+ Object.freeze(value);
44
+ }
45
+ return value;
46
+ }
47
+ /**
48
+ * Compile the authored source into a callable that returns the named handler
49
+ * function. Supports both `function decide(...) {}` declarations and
50
+ * `export default function (...) {}` / `export default (...) => {}`.
51
+ *
52
+ * The `export default` form is rewritten to an assignment because `new Function`
53
+ * bodies are not modules. Returns the handler function, or throws if the expected
54
+ * handler name is not found.
55
+ */
56
+ export function compileHandler(source, kind) {
57
+ const normalised = source
58
+ // `export default function name(...)` → `__handler = function name(...)`
59
+ .replace(/export\s+default\s+/g, '__handler = ');
60
+ // Body that evaluates the source then resolves the handler by name or __handler.
61
+ const body = `
62
+ "use strict";
63
+ let __handler = undefined;
64
+ ${normalised}
65
+ if (typeof __handler === 'function') return __handler;
66
+ if (typeof ${kind} === 'function') return ${kind};
67
+ throw new Error('Play function must define "${kind}" (or export default a function).');
68
+ `;
69
+ // The injected surface names are declared as parameters so they are in scope
70
+ // for the handler body without touching globals.
71
+ const factory = new Function('uuid', 'now', 'today', 'advanceClock', 'reject', body);
72
+ // Deferred: the factory is re-bound with the live clock surface per invocation
73
+ // in runHandler (so time advances across the fold).
74
+ factory.__isHandlerFactory = true;
75
+ factory.__kind = kind;
76
+ return factory;
77
+ }
78
+ /**
79
+ * Run a compiled handler factory with the given clock surface and arguments.
80
+ * `state` (expected as the last positional arg per the handler contract) is
81
+ * deep-frozen by the caller. Returns the handler's return value; a RejectSignal
82
+ * propagates to the fold.
83
+ */
84
+ export function runHandler(factory, clock, args) {
85
+ const reject = (msg) => {
86
+ throw new RejectSignal(String(msg ?? ''));
87
+ };
88
+ const handler = factory(clock.uuid, clock.now, clock.today, clock.advanceClock, reject);
89
+ return handler(...args);
90
+ }
91
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/playFunction/sandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,qFAAqF;AACrF,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGrC,YAA4B,MAAc;QACxC,KAAK,CAAC,MAAM,CAAC,CAAC;QADY,WAAM,GAAN,MAAM,CAAQ;QAF1C,kFAAkF;QACzE,iBAAY,GAAG,QAAiB,CAAC;QAGxC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,CACL,GAAG,YAAY,YAAY;QAC3B,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,GAAiC,CAAC,YAAY,KAAK,QAAQ,CAAC,CACnG,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,UAAU,CAAI,KAAQ;IACpC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC;YAChE,UAAU,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,IAAiB;IAC9D,MAAM,UAAU,GAAG,MAAM;QACvB,yEAAyE;SACxE,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;IAEnD,iFAAiF;IACjF,MAAM,IAAI,GAAG;;;MAGT,UAAU;;iBAEC,IAAI,2BAA2B,IAAI;kDACF,IAAI;GACnD,CAAC;IAEF,6EAA6E;IAC7E,iDAAiD;IACjD,MAAM,OAAO,GAAG,IAAI,QAAQ,CAC1B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAChD,IAAI,CAO8B,CAAC;IAErC,+EAA+E;IAC/E,oDAAoD;IACnD,OAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAC1C,OAAe,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,OAAqD,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,OAAwC,EACxC,KAAmB,EACnB,IAAe;IAEf,MAAM,MAAM,GAAG,CAAC,GAAW,EAAS,EAAE;QACpC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;IACF,MAAM,OAAO,GAAI,OAMiB,CAChC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,CAC/D,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * scenarioRunner — the pure Exploration "scenarios as tests" oracle (M5).
3
+ *
4
+ * A scenario becomes a recorded test by carrying pinned `expectations`
5
+ * (requirements R29/R30/R34). This module replays the scenario ONCE at the final
6
+ * playhead via the pure `foldChapter`, then resolves each expectation by its
7
+ * stable `sliceId` (never a step index) and matches it against the fold result:
8
+ *
9
+ * - events → the events emitted by the pinned slice must match.
10
+ * - information → a specific Information instance's value (stored | read view)
11
+ * at the end of replay must match.
12
+ * - rejection → the pinned slice must produce a `rejected` runtime error
13
+ * (optionally matching a message) AND emit no events.
14
+ *
15
+ * The golden-master snapshot is deliberately NOT used — expectations are the sole
16
+ * correctness oracle (a chapter's flow may legitimately change; only the pins
17
+ * must hold). Verdict:
18
+ *
19
+ * pass — ≥1 expectation, all matched.
20
+ * broken — ≥1 expectation, at least one failed (mismatch OR structural: a
21
+ * dangling reference / handler threw / cascade exceeded at the pin).
22
+ * neutral — zero expectations (nothing asserted yet).
23
+ *
24
+ * This file is PURE and framework-free (no DOM/worker), so it is fully
25
+ * unit-testable — the same reason the fold lives in runtimeFold.ts. "Run all" is
26
+ * just `scenarios.map(runScenario)`.
27
+ */
28
+ import { Chapter } from '../types/eventModel.js';
29
+ import { Scenario, ScenarioRunResult } from '../types/exploration.js';
30
+ import { TranspiledHandlers } from './runtimeFold.js';
31
+ /**
32
+ * Run one scenario as a test. Pure: `(chapter, scenario, handlers) → result`.
33
+ *
34
+ * `handlers` are pre-transpiled JS keyed by element id (same contract as the
35
+ * fold). Pass `{}` for the defaults-only path.
36
+ *
37
+ * Fold strategy:
38
+ * - events / rejection expectations → fold to the END (events accumulate; a
39
+ * rejection is an error that happened during that slice's execution regardless
40
+ * of later steps).
41
+ * - information expectations → fold to the step that CONTAINS the pinned slice,
42
+ * because state is cumulative: a value that was correct at step 2 may differ
43
+ * at step 5 due to later mutations. We want the state AT the pinned moment.
44
+ * Multiple information pins that share the same step index reuse one fold.
45
+ */
46
+ export declare function runScenario(chapter: Chapter, scenario: Scenario, handlers?: TranspiledHandlers): ScenarioRunResult;
47
+ /** Run every scenario in a chapter (the chapter-level "Run all"). */
48
+ export declare function runAllScenarios(chapter: Chapter, scenarios: Scenario[], handlers?: TranspiledHandlers): ScenarioRunResult[];
49
+ //# sourceMappingURL=scenarioRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioRunner.d.ts","sourceRoot":"","sources":["../../src/playFunction/scenarioRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,EAAW,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,QAAQ,EAER,iBAAiB,EAQlB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAe,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AA4MnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,GAAE,kBAAuB,GAChC,iBAAiB,CA4FnB;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,GAAE,kBAAuB,GAChC,iBAAiB,EAAE,CAErB"}