@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":"connectionRules.js","sourceRoot":"","sources":["../../src/lib/connectionRules.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * toClassName — the single shared element/context key algorithm (Exploration R9).
3
+ *
4
+ * Canonical algorithm (matches eventflow-designer `names().className`):
5
+ * startCase(camelCase(str)).replace(/ /g, '')
6
+ *
7
+ * toClassName("3rd party") === "3RdParty"
8
+ * toClassName("Lead Submitted") === "LeadSubmitted"
9
+ *
10
+ * Projection state keys depend on this, so it MUST stay byte-identical to the
11
+ * board's implementation. The parity test guards against drift.
12
+ */
13
+ import type { Chapter } from '../types/eventModel.js';
14
+ /** Canonical class-name key for a context or element name. */
15
+ export declare function toClassName(name: string): string;
16
+ /** Returns true when `name` maps to a usable JS identifier key. */
17
+ export declare function isValidClassName(name: string): boolean;
18
+ /** A className key shared by two or more distinct display names (a collision). */
19
+ export interface KeyCollision {
20
+ key: string;
21
+ names: string[];
22
+ context?: string;
23
+ }
24
+ /** A display name whose className is not a valid JS identifier. */
25
+ export interface InvalidKey {
26
+ name: string;
27
+ key: string;
28
+ context?: string;
29
+ kind: 'context' | 'element';
30
+ }
31
+ export interface KeyDiagnosticsReport {
32
+ contextCollisions: KeyCollision[];
33
+ elementCollisions: KeyCollision[];
34
+ invalidKeys: InvalidKey[];
35
+ ok: boolean;
36
+ }
37
+ /**
38
+ * Scan a chapter's Information elements (the projection carriers) and their
39
+ * contexts for className collisions and invalid-identifier keys.
40
+ */
41
+ export declare function detectKeyCollisions(chapter: Chapter | undefined): KeyDiagnosticsReport;
42
+ //# sourceMappingURL=toClassName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toClassName.d.ts","sourceRoot":"","sources":["../../src/lib/toClassName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtD;AAED,kFAAkF;AAClF,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,oBAAoB,CA2DtF"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * toClassName — the single shared element/context key algorithm (Exploration R9).
3
+ *
4
+ * Canonical algorithm (matches eventflow-designer `names().className`):
5
+ * startCase(camelCase(str)).replace(/ /g, '')
6
+ *
7
+ * toClassName("3rd party") === "3RdParty"
8
+ * toClassName("Lead Submitted") === "LeadSubmitted"
9
+ *
10
+ * Projection state keys depend on this, so it MUST stay byte-identical to the
11
+ * board's implementation. The parity test guards against drift.
12
+ */
13
+ import lodash from 'lodash';
14
+ const { camelCase, startCase } = lodash;
15
+ /** Canonical class-name key for a context or element name. */
16
+ export function toClassName(name) {
17
+ return startCase(camelCase(name)).replace(/ /g, '');
18
+ }
19
+ /** Returns true when `name` maps to a usable JS identifier key. */
20
+ export function isValidClassName(name) {
21
+ const key = toClassName(name);
22
+ return key.length > 0 && /^[A-Za-z_$][A-Za-z0-9_$]*$/.test(key);
23
+ }
24
+ /**
25
+ * Scan a chapter's Information elements (the projection carriers) and their
26
+ * contexts for className collisions and invalid-identifier keys.
27
+ */
28
+ export function detectKeyCollisions(chapter) {
29
+ const empty = {
30
+ contextCollisions: [],
31
+ elementCollisions: [],
32
+ invalidKeys: [],
33
+ ok: true,
34
+ };
35
+ if (!chapter)
36
+ return empty;
37
+ const infoElements = chapter.elements.filter((e) => e.type === 'information');
38
+ const contextKeyToNames = new Map();
39
+ const contextNames = new Set();
40
+ const elementKeyToNames = new Map();
41
+ const invalidKeys = [];
42
+ for (const el of infoElements) {
43
+ const ctxName = el.context || 'App';
44
+ contextNames.add(ctxName);
45
+ const ctxKey = toClassName(ctxName);
46
+ if (!contextKeyToNames.has(ctxKey))
47
+ contextKeyToNames.set(ctxKey, new Set());
48
+ contextKeyToNames.get(ctxKey).add(ctxName);
49
+ const elKey = toClassName(el.name);
50
+ if (!elementKeyToNames.has(ctxName))
51
+ elementKeyToNames.set(ctxName, new Map());
52
+ const perCtx = elementKeyToNames.get(ctxName);
53
+ if (!perCtx.has(elKey))
54
+ perCtx.set(elKey, new Set());
55
+ perCtx.get(elKey).add(el.name);
56
+ if (!isValidClassName(el.name)) {
57
+ invalidKeys.push({ name: el.name, key: elKey, context: ctxName, kind: 'element' });
58
+ }
59
+ }
60
+ for (const ctxName of contextNames) {
61
+ if (!isValidClassName(ctxName)) {
62
+ invalidKeys.push({ name: ctxName, key: toClassName(ctxName), kind: 'context' });
63
+ }
64
+ }
65
+ const contextCollisions = [];
66
+ for (const [key, nameSet] of contextKeyToNames) {
67
+ if (nameSet.size > 1)
68
+ contextCollisions.push({ key, names: [...nameSet] });
69
+ }
70
+ const elementCollisions = [];
71
+ for (const [ctxName, perCtx] of elementKeyToNames) {
72
+ for (const [key, nameSet] of perCtx) {
73
+ if (nameSet.size > 1)
74
+ elementCollisions.push({ key, names: [...nameSet], context: ctxName });
75
+ }
76
+ }
77
+ const ok = contextCollisions.length === 0 &&
78
+ elementCollisions.length === 0 &&
79
+ invalidKeys.length === 0;
80
+ return { contextCollisions, elementCollisions, invalidKeys, ok };
81
+ }
82
+ //# sourceMappingURL=toClassName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toClassName.js","sourceRoot":"","sources":["../../src/lib/toClassName.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * ambientTypes — the runtime-surface `.d.ts` injected into the Play Function
3
+ * Monaco editor (Exploration R18).
4
+ *
5
+ * The editor is TypeScript, stored verbatim and transpiled to JS at runtime
6
+ * (type-erasure). These ambient declarations give the modeler autocomplete and
7
+ * type-checking for the values the runtime provides (`state`, `state.$events`,
8
+ * `uuid`, `now`, `today`, `reject`) and for the handler signatures (`decide`,
9
+ * `apply`, `read`, `react`, `process`), WITHOUT the modeler importing anything.
10
+ * (`interact` is declared per-element in `modelTypes.buildPerElementDts` so its
11
+ * `storage` can be pinned to the edited UI element's declared input shape.)
12
+ *
13
+ * They mirror the real runtime contracts in `src/types/exploration.ts`
14
+ * (RuntimeState / RuntimeEvent / RuntimeCommand) and the handler table in
15
+ * design §5. If those change, update this string so the editor stays honest.
16
+ *
17
+ * This is a plain string (not a real module) because Monaco's
18
+ * `typescriptDefaults.addExtraLib` takes `.d.ts` source text. Keeping it as a
19
+ * single exported constant means the editor and any docs reference ONE source.
20
+ */
21
+ /** Virtual file name the extraLib is registered under (kept stable for dedupe). */
22
+ export declare const AMBIENT_TYPES_PATH = "ts:exploration-runtime.d.ts";
23
+ /**
24
+ * The ambient `.d.ts` source. Declared `global` so the symbols are visible to the
25
+ * handler body without an import. Handler function signatures are provided as
26
+ * named global function declarations; a modeler's "Suggest function" prefill
27
+ * writes a matching definition.
28
+ */
29
+ export declare const RUNTIME_AMBIENT_DTS = "\ndeclare global {\n // ---- State tree (R7) ---------------------------------------------------\n /**\n * One entry in the ordered event log. `index` starts at 0.\n *\n * This is a DISCRIMINATED UNION over the chapter's event names: selecting on\n * `.name` narrows `.payload` to the declared `playType` for that event\n * (EventPayloads[name]) when one exists, else the permissive\n * `Record<string, unknown>`. With no modeled events, `EventName` is `string`\n * so the single member stays fully permissive.\n */\n type RuntimeEvent = EventName extends infer __N\n ? __N extends string\n ? {\n /** Event name. One of this chapter's names; unknown names are flagged. */\n name: __N;\n /** Context. One of this chapter's contexts; unknown contexts are flagged. */\n context: ContextName;\n /** Narrowed to the declared payload for `name`, else Record<string, unknown>. */\n payload: __N extends keyof EventPayloads ? EventPayloads[__N] : Record<string, unknown>;\n index: number;\n /** ISO timestamp, driven by the scenario clock (not wall clock). */\n timestamp: string;\n }\n : never\n : never;\n\n /**\n * The single runtime state object passed to every handler.\n * state.$events \u2014 ordered event log (index from 0)\n * state.$input \u2014 captured UI input (navigation without a command)\n * state.<Context>.<Element> \u2014 projections, any shape, keys via toClassName()\n * `$`-prefixed keys are reserved for the runtime.\n */\n interface RuntimeState {\n readonly $events: ReadonlyArray<RuntimeEvent>;\n /**\n * Captured UI input exposed to every handler \u2014 most useful in Information\n * `read(state)` to \"query\" a projection by a captured value WITHOUT dispatching\n * a command (e.g. navigation: pick a row on one screen, show its detail on the\n * next). The top level mirrors the LAST captured step (so `state.$input.todoId`\n * reads the latest value); `$byStep` holds every captured step keyed by index.\n * Only input from steps at or before the playhead is visible.\n */\n readonly $input: {\n readonly $byStep: Readonly<Record<number, Readonly<Record<string, unknown>>>>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly [field: string]: any;\n };\n // Projections are keyed state.<Context>.<Element> and can be ANY shape, so the\n // index signature resolves to `any` \u2014 this lets handlers deep-access\n // `state.TodoManagement.Todo` without the editor flagging each hop as an\n // \"unknown\" property. (`unknown` would require a cast at every access.)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [context: string]: any;\n }\n\n /**\n * A command handed to `decide` and produced by `interact` / `react` / `process`.\n *\n * Discriminated union over command names: selecting on `.name` narrows\n * `.payload` to CommandPayloads[name] when declared, else Record<string, unknown>.\n */\n type RuntimeCommand = CommandName extends infer __N\n ? __N extends string\n ? {\n /** Command name. One of this chapter's names; unknown names are flagged. */\n name: __N;\n /** Context. One of this chapter's contexts; unknown contexts are flagged. */\n context: ContextName;\n /** Narrowed to the declared payload for `name`, else Record<string, unknown>. */\n payload: __N extends keyof CommandPayloads ? CommandPayloads[__N] : Record<string, unknown>;\n }\n : never\n : never;\n\n /**\n * An event handed to `apply`, and the `decide`/`react` return element shape.\n *\n * Discriminated union over event names: selecting on `.name` narrows `.payload`\n * to EventPayloads[name] when declared, else Record<string, unknown>. (Same shape\n * as RuntimeEvent minus the runtime-assigned `index`/`timestamp`.)\n */\n type RuntimeEventInput = EventName extends infer __N\n ? __N extends string\n ? {\n /** Event name. One of this chapter's names; unknown names are flagged. */\n name: __N;\n /** Context. One of this chapter's contexts; unknown contexts are flagged. */\n context: ContextName;\n /** Narrowed to the declared payload for `name`, else Record<string, unknown>. */\n payload: __N extends keyof EventPayloads ? EventPayloads[__N] : Record<string, unknown>;\n }\n : never\n : never;\n\n // ---- Determinism helpers (R31, R32) -----------------------------------\n /** Deterministic UUID (clock + per-scenario counter). Never Math.random(). */\n function uuid(): string;\n /** Current scenario time as an ISO string (system clock, not wall clock). */\n function now(): string;\n /** Current scenario date as 'YYYY-MM-DD' (system clock). */\n function today(): string;\n /**\n * Advance the scenario clock by a duration (e.g. '1h', '30m', '2d').\n * Opt-in; the clock otherwise auto-ticks per produced event.\n */\n function advanceClock(duration: string): void;\n\n // ---- Command-only control flow (R10) ----------------------------------\n /**\n * Reject the command: stops the step with no events and no state change,\n * surfaced on the Stage. Only valid inside a Command `decide`.\n */\n function reject(message: string): never;\n\n // ---- Handler signatures (design \u00A75) -----------------------------------\n // Authored on the matching element type. Return values below; defaults run\n // when the handler is absent/empty (R11).\n //\n // NOTE: `interact`, `decide` and `apply` are declared PER-ELEMENT (see\n // modelTypes.buildPerElementDts), NOT here, so their first parameter can be\n // pinned to the specific element being edited \u2014 e.g. `decide`'s `command` is\n // typed to this command element's declared payload directly, so the author gets\n // a typed `command.payload` WITHOUT a `.name` guard (and regardless of whether\n // other, untyped commands exist). Declaring them globally here too would be a\n // duplicate-identifier conflict.\n\n /**\n * Information handler: state \u2192 a read-only derived view for display (e.g. a\n * filtered list). Never mutates state, emits commands, or performs I/O; does\n * not replace the stored value. Return type is open (object, list, scalar, \u2026).\n */\n function read(state: RuntimeState): unknown;\n\n /** Automation (event-reaction slice): event + state \u2192 commands. */\n function react(event: RuntimeEvent, state: RuntimeState): RuntimeCommand[];\n\n /** Automation (job slice): state \u2192 commands. */\n function process(state: RuntimeState): RuntimeCommand[];\n}\n\nexport {};\n";
30
+ //# sourceMappingURL=ambientTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambientTypes.d.ts","sourceRoot":"","sources":["../../src/playFunction/ambientTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,8qNAgJ/B,CAAC"}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * ambientTypes — the runtime-surface `.d.ts` injected into the Play Function
3
+ * Monaco editor (Exploration R18).
4
+ *
5
+ * The editor is TypeScript, stored verbatim and transpiled to JS at runtime
6
+ * (type-erasure). These ambient declarations give the modeler autocomplete and
7
+ * type-checking for the values the runtime provides (`state`, `state.$events`,
8
+ * `uuid`, `now`, `today`, `reject`) and for the handler signatures (`decide`,
9
+ * `apply`, `read`, `react`, `process`), WITHOUT the modeler importing anything.
10
+ * (`interact` is declared per-element in `modelTypes.buildPerElementDts` so its
11
+ * `storage` can be pinned to the edited UI element's declared input shape.)
12
+ *
13
+ * They mirror the real runtime contracts in `src/types/exploration.ts`
14
+ * (RuntimeState / RuntimeEvent / RuntimeCommand) and the handler table in
15
+ * design §5. If those change, update this string so the editor stays honest.
16
+ *
17
+ * This is a plain string (not a real module) because Monaco's
18
+ * `typescriptDefaults.addExtraLib` takes `.d.ts` source text. Keeping it as a
19
+ * single exported constant means the editor and any docs reference ONE source.
20
+ */
21
+ /** Virtual file name the extraLib is registered under (kept stable for dedupe). */
22
+ export const AMBIENT_TYPES_PATH = 'ts:exploration-runtime.d.ts';
23
+ /**
24
+ * The ambient `.d.ts` source. Declared `global` so the symbols are visible to the
25
+ * handler body without an import. Handler function signatures are provided as
26
+ * named global function declarations; a modeler's "Suggest function" prefill
27
+ * writes a matching definition.
28
+ */
29
+ export const RUNTIME_AMBIENT_DTS = `
30
+ declare global {
31
+ // ---- State tree (R7) ---------------------------------------------------
32
+ /**
33
+ * One entry in the ordered event log. \`index\` starts at 0.
34
+ *
35
+ * This is a DISCRIMINATED UNION over the chapter's event names: selecting on
36
+ * \`.name\` narrows \`.payload\` to the declared \`playType\` for that event
37
+ * (EventPayloads[name]) when one exists, else the permissive
38
+ * \`Record<string, unknown>\`. With no modeled events, \`EventName\` is \`string\`
39
+ * so the single member stays fully permissive.
40
+ */
41
+ type RuntimeEvent = EventName extends infer __N
42
+ ? __N extends string
43
+ ? {
44
+ /** Event name. One of this chapter's names; unknown names are flagged. */
45
+ name: __N;
46
+ /** Context. One of this chapter's contexts; unknown contexts are flagged. */
47
+ context: ContextName;
48
+ /** Narrowed to the declared payload for \`name\`, else Record<string, unknown>. */
49
+ payload: __N extends keyof EventPayloads ? EventPayloads[__N] : Record<string, unknown>;
50
+ index: number;
51
+ /** ISO timestamp, driven by the scenario clock (not wall clock). */
52
+ timestamp: string;
53
+ }
54
+ : never
55
+ : never;
56
+
57
+ /**
58
+ * The single runtime state object passed to every handler.
59
+ * state.$events — ordered event log (index from 0)
60
+ * state.$input — captured UI input (navigation without a command)
61
+ * state.<Context>.<Element> — projections, any shape, keys via toClassName()
62
+ * \`$\`-prefixed keys are reserved for the runtime.
63
+ */
64
+ interface RuntimeState {
65
+ readonly $events: ReadonlyArray<RuntimeEvent>;
66
+ /**
67
+ * Captured UI input exposed to every handler — most useful in Information
68
+ * \`read(state)\` to "query" a projection by a captured value WITHOUT dispatching
69
+ * a command (e.g. navigation: pick a row on one screen, show its detail on the
70
+ * next). The top level mirrors the LAST captured step (so \`state.$input.todoId\`
71
+ * reads the latest value); \`$byStep\` holds every captured step keyed by index.
72
+ * Only input from steps at or before the playhead is visible.
73
+ */
74
+ readonly $input: {
75
+ readonly $byStep: Readonly<Record<number, Readonly<Record<string, unknown>>>>;
76
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
+ readonly [field: string]: any;
78
+ };
79
+ // Projections are keyed state.<Context>.<Element> and can be ANY shape, so the
80
+ // index signature resolves to \`any\` — this lets handlers deep-access
81
+ // \`state.TodoManagement.Todo\` without the editor flagging each hop as an
82
+ // "unknown" property. (\`unknown\` would require a cast at every access.)
83
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
+ [context: string]: any;
85
+ }
86
+
87
+ /**
88
+ * A command handed to \`decide\` and produced by \`interact\` / \`react\` / \`process\`.
89
+ *
90
+ * Discriminated union over command names: selecting on \`.name\` narrows
91
+ * \`.payload\` to CommandPayloads[name] when declared, else Record<string, unknown>.
92
+ */
93
+ type RuntimeCommand = CommandName extends infer __N
94
+ ? __N extends string
95
+ ? {
96
+ /** Command name. One of this chapter's names; unknown names are flagged. */
97
+ name: __N;
98
+ /** Context. One of this chapter's contexts; unknown contexts are flagged. */
99
+ context: ContextName;
100
+ /** Narrowed to the declared payload for \`name\`, else Record<string, unknown>. */
101
+ payload: __N extends keyof CommandPayloads ? CommandPayloads[__N] : Record<string, unknown>;
102
+ }
103
+ : never
104
+ : never;
105
+
106
+ /**
107
+ * An event handed to \`apply\`, and the \`decide\`/\`react\` return element shape.
108
+ *
109
+ * Discriminated union over event names: selecting on \`.name\` narrows \`.payload\`
110
+ * to EventPayloads[name] when declared, else Record<string, unknown>. (Same shape
111
+ * as RuntimeEvent minus the runtime-assigned \`index\`/\`timestamp\`.)
112
+ */
113
+ type RuntimeEventInput = EventName extends infer __N
114
+ ? __N extends string
115
+ ? {
116
+ /** Event name. One of this chapter's names; unknown names are flagged. */
117
+ name: __N;
118
+ /** Context. One of this chapter's contexts; unknown contexts are flagged. */
119
+ context: ContextName;
120
+ /** Narrowed to the declared payload for \`name\`, else Record<string, unknown>. */
121
+ payload: __N extends keyof EventPayloads ? EventPayloads[__N] : Record<string, unknown>;
122
+ }
123
+ : never
124
+ : never;
125
+
126
+ // ---- Determinism helpers (R31, R32) -----------------------------------
127
+ /** Deterministic UUID (clock + per-scenario counter). Never Math.random(). */
128
+ function uuid(): string;
129
+ /** Current scenario time as an ISO string (system clock, not wall clock). */
130
+ function now(): string;
131
+ /** Current scenario date as 'YYYY-MM-DD' (system clock). */
132
+ function today(): string;
133
+ /**
134
+ * Advance the scenario clock by a duration (e.g. '1h', '30m', '2d').
135
+ * Opt-in; the clock otherwise auto-ticks per produced event.
136
+ */
137
+ function advanceClock(duration: string): void;
138
+
139
+ // ---- Command-only control flow (R10) ----------------------------------
140
+ /**
141
+ * Reject the command: stops the step with no events and no state change,
142
+ * surfaced on the Stage. Only valid inside a Command \`decide\`.
143
+ */
144
+ function reject(message: string): never;
145
+
146
+ // ---- Handler signatures (design §5) -----------------------------------
147
+ // Authored on the matching element type. Return values below; defaults run
148
+ // when the handler is absent/empty (R11).
149
+ //
150
+ // NOTE: \`interact\`, \`decide\` and \`apply\` are declared PER-ELEMENT (see
151
+ // modelTypes.buildPerElementDts), NOT here, so their first parameter can be
152
+ // pinned to the specific element being edited — e.g. \`decide\`'s \`command\` is
153
+ // typed to this command element's declared payload directly, so the author gets
154
+ // a typed \`command.payload\` WITHOUT a \`.name\` guard (and regardless of whether
155
+ // other, untyped commands exist). Declaring them globally here too would be a
156
+ // duplicate-identifier conflict.
157
+
158
+ /**
159
+ * Information handler: state → a read-only derived view for display (e.g. a
160
+ * filtered list). Never mutates state, emits commands, or performs I/O; does
161
+ * not replace the stored value. Return type is open (object, list, scalar, …).
162
+ */
163
+ function read(state: RuntimeState): unknown;
164
+
165
+ /** Automation (event-reaction slice): event + state → commands. */
166
+ function react(event: RuntimeEvent, state: RuntimeState): RuntimeCommand[];
167
+
168
+ /** Automation (job slice): state → commands. */
169
+ function process(state: RuntimeState): RuntimeCommand[];
170
+ }
171
+
172
+ export {};
173
+ `;
174
+ //# sourceMappingURL=ambientTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambientTypes.js","sourceRoot":"","sources":["../../src/playFunction/ambientTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJlC,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * cascadeBudget — the per-step cascade guard for Exploration automations
3
+ * (Exploration R15, draft §4.6).
4
+ *
5
+ * automation → command → event → automation … can cycle. The fold runs to a
6
+ * fixed point PER PLAYHEAD STEP, bounded by two limits (one catches runaway
7
+ * recursion, the other runaway fan-out):
8
+ *
9
+ * - DEPTH — command→event→automation hops in a chain. Default 50.
10
+ * - TOTAL EVENTS PER STEP — guards fan-out (e.g. a job dispatching over a huge
11
+ * list). Default 1000.
12
+ *
13
+ * Both are TUNABLE starting guesses, to be calibrated against real models — not
14
+ * derived numbers. Exceeding either stops the step and surfaces a gentle,
15
+ * non-debugger message linking to the handler editor (built in the Stage).
16
+ */
17
+ export declare const DEFAULT_CASCADE_DEPTH = 50;
18
+ export declare const DEFAULT_CASCADE_TOTAL_EVENTS = 1000;
19
+ export interface CascadeLimits {
20
+ depth: number;
21
+ totalEvents: number;
22
+ }
23
+ export declare const DEFAULT_CASCADE_LIMITS: CascadeLimits;
24
+ /** Which limit was exceeded (for the gentle Stage message). */
25
+ export type CascadeExceededKind = 'depth' | 'total-events';
26
+ export declare class CascadeBudgetExceeded extends Error {
27
+ readonly kind: CascadeExceededKind;
28
+ readonly limit: number;
29
+ /** Stable brand so detection survives cross-chunk/realm `instanceof` failures. */
30
+ readonly __playSignal: "cascade";
31
+ constructor(kind: CascadeExceededKind, limit: number);
32
+ }
33
+ /** Robust detector: tag-based (survives duplicated module instances in the worker). */
34
+ export declare function isCascadeBudgetExceeded(err: unknown): err is CascadeBudgetExceeded;
35
+ /**
36
+ * Mutable budget tracker for a single playhead step. The fold calls
37
+ * `enterDepth()` on each automation→command hop and `countEvent()` per produced
38
+ * event; either throws `CascadeBudgetExceeded` when its limit is crossed.
39
+ */
40
+ export declare class CascadeBudget {
41
+ private readonly limits;
42
+ private depth;
43
+ private totalEvents;
44
+ constructor(limits?: CascadeLimits);
45
+ /** Enter one reaction hop; throws if the depth limit is exceeded. */
46
+ enterDepth(): void;
47
+ /** Leave a reaction hop (chain unwinds). */
48
+ exitDepth(): void;
49
+ /** Count one produced event; throws if the per-step total is exceeded. */
50
+ countEvent(): void;
51
+ get eventsSoFar(): number;
52
+ }
53
+ //# sourceMappingURL=cascadeBudget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascadeBudget.d.ts","sourceRoot":"","sources":["../../src/playFunction/cascadeBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAGpC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,cAAc,CAAC;AAE3D,qBAAa,qBAAsB,SAAQ,KAAK;aAI5B,IAAI,EAAE,mBAAmB;aACzB,KAAK,EAAE,MAAM;IAJ/B,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAG,SAAS,CAAU;gBAEzB,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM;CAShC;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,qBAAqB,CAKlF;AAED;;;;GAIG;AACH,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,WAAW,CAAK;gBAEK,MAAM,GAAE,aAAsC;IAE3E,qEAAqE;IACrE,UAAU,IAAI,IAAI;IAOlB,4CAA4C;IAC5C,SAAS,IAAI,IAAI;IAIjB,0EAA0E;IAC1E,UAAU,IAAI,IAAI;IAOlB,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * cascadeBudget — the per-step cascade guard for Exploration automations
3
+ * (Exploration R15, draft §4.6).
4
+ *
5
+ * automation → command → event → automation … can cycle. The fold runs to a
6
+ * fixed point PER PLAYHEAD STEP, bounded by two limits (one catches runaway
7
+ * recursion, the other runaway fan-out):
8
+ *
9
+ * - DEPTH — command→event→automation hops in a chain. Default 50.
10
+ * - TOTAL EVENTS PER STEP — guards fan-out (e.g. a job dispatching over a huge
11
+ * list). Default 1000.
12
+ *
13
+ * Both are TUNABLE starting guesses, to be calibrated against real models — not
14
+ * derived numbers. Exceeding either stops the step and surfaces a gentle,
15
+ * non-debugger message linking to the handler editor (built in the Stage).
16
+ */
17
+ export const DEFAULT_CASCADE_DEPTH = 50;
18
+ export const DEFAULT_CASCADE_TOTAL_EVENTS = 1000;
19
+ export const DEFAULT_CASCADE_LIMITS = {
20
+ depth: DEFAULT_CASCADE_DEPTH,
21
+ totalEvents: DEFAULT_CASCADE_TOTAL_EVENTS,
22
+ };
23
+ export class CascadeBudgetExceeded extends Error {
24
+ constructor(kind, limit) {
25
+ super(kind === 'depth'
26
+ ? `This step chained more than ${limit} reactions — likely an automation loop.`
27
+ : `This step produced more than ${limit} events — likely an automation loop.`);
28
+ this.kind = kind;
29
+ this.limit = limit;
30
+ /** Stable brand so detection survives cross-chunk/realm `instanceof` failures. */
31
+ this.__playSignal = 'cascade';
32
+ this.name = 'CascadeBudgetExceeded';
33
+ }
34
+ }
35
+ /** Robust detector: tag-based (survives duplicated module instances in the worker). */
36
+ export function isCascadeBudgetExceeded(err) {
37
+ return (err instanceof CascadeBudgetExceeded ||
38
+ (!!err && typeof err === 'object' && err.__playSignal === 'cascade'));
39
+ }
40
+ /**
41
+ * Mutable budget tracker for a single playhead step. The fold calls
42
+ * `enterDepth()` on each automation→command hop and `countEvent()` per produced
43
+ * event; either throws `CascadeBudgetExceeded` when its limit is crossed.
44
+ */
45
+ export class CascadeBudget {
46
+ constructor(limits = DEFAULT_CASCADE_LIMITS) {
47
+ this.limits = limits;
48
+ this.depth = 0;
49
+ this.totalEvents = 0;
50
+ }
51
+ /** Enter one reaction hop; throws if the depth limit is exceeded. */
52
+ enterDepth() {
53
+ this.depth += 1;
54
+ if (this.depth > this.limits.depth) {
55
+ throw new CascadeBudgetExceeded('depth', this.limits.depth);
56
+ }
57
+ }
58
+ /** Leave a reaction hop (chain unwinds). */
59
+ exitDepth() {
60
+ if (this.depth > 0)
61
+ this.depth -= 1;
62
+ }
63
+ /** Count one produced event; throws if the per-step total is exceeded. */
64
+ countEvent() {
65
+ this.totalEvents += 1;
66
+ if (this.totalEvents > this.limits.totalEvents) {
67
+ throw new CascadeBudgetExceeded('total-events', this.limits.totalEvents);
68
+ }
69
+ }
70
+ get eventsSoFar() {
71
+ return this.totalEvents;
72
+ }
73
+ }
74
+ //# sourceMappingURL=cascadeBudget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascadeBudget.js","sourceRoot":"","sources":["../../src/playFunction/cascadeBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAOjD,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,4BAA4B;CAC1C,CAAC;AAKF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAG9C,YACkB,IAAyB,EACzB,KAAa;QAE7B,KAAK,CACH,IAAI,KAAK,OAAO;YACd,CAAC,CAAC,+BAA+B,KAAK,yCAAyC;YAC/E,CAAC,CAAC,gCAAgC,KAAK,sCAAsC,CAChF,CAAC;QAPc,SAAI,GAAJ,IAAI,CAAqB;QACzB,UAAK,GAAL,KAAK,CAAQ;QAJ/B,kFAAkF;QACzE,iBAAY,GAAG,SAAkB,CAAC;QAUzC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,OAAO,CACL,GAAG,YAAY,qBAAqB;QACpC,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAK,GAAiC,CAAC,YAAY,KAAK,SAAS,CAAC,CACpG,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAIxB,YAA6B,SAAwB,sBAAsB;QAA9C,WAAM,GAAN,MAAM,CAAwC;QAHnE,UAAK,GAAG,CAAC,CAAC;QACV,gBAAW,GAAG,CAAC,CAAC;IAEsD,CAAC;IAE/E,qEAAqE;IACrE,UAAU;QACR,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,SAAS;QACP,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,0EAA0E;IAC1E,UAAU;QACR,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;QACtB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,IAAI,qBAAqB,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * clock — the deterministic system clock + helpers for Exploration handlers
3
+ * (Exploration R31, R32, draft §4.5.1).
4
+ *
5
+ * Reproducibility is anchored by ONE human-meaningful system clock: a fixed base
6
+ * datetime (from scenario initial state, defaulting to run-start `now()`). All
7
+ * non-deterministic helpers read from it, never the wall clock, so the same
8
+ * scenario + model yields identical events, IDs, and timestamps on every replay.
9
+ *
10
+ * now() → the clock's CURRENT value (base + ticks/advances so far)
11
+ * today() → 'YYYY-MM-DD' derived from the same clock
12
+ * uuid() → deterministic sequence seeded from the clock + call index
13
+ * advanceClock(dur) → move the clock explicitly (opt-in, "3 days later")
14
+ *
15
+ * The clock AUTO-TICKS a small fixed amount per produced event by default (A), so
16
+ * each event's timestamp is distinct and increases with index with zero modeler
17
+ * effort; `advanceClock` (B) is the opt-in for scenarios that are *about* elapsed
18
+ * time.
19
+ *
20
+ * This module is pure/stateful-by-instance (no globals): the fold creates one
21
+ * `DeterministicClock` per replay and injects its helper surface into handlers.
22
+ */
23
+ /** Milliseconds the clock auto-advances per produced event (default tick). */
24
+ export declare const AUTO_TICK_MS = 1000;
25
+ /** Parse a duration like '1h', '30m', '2d', '45s', '500ms' into milliseconds. */
26
+ export declare function parseDuration(duration: string | number): number;
27
+ /** The helper surface injected into handlers (R31/R32). */
28
+ export interface ClockSurface {
29
+ now(): string;
30
+ today(): string;
31
+ uuid(): string;
32
+ advanceClock(duration: string | number): void;
33
+ }
34
+ export declare class DeterministicClock {
35
+ private currentMs;
36
+ private uuidCounter;
37
+ /**
38
+ * @param baseISO fixed base datetime (ISO). Defaults to wall-clock now() only
39
+ * at construction — callers should pass the scenario clock for reproducibility.
40
+ */
41
+ constructor(baseISO?: string);
42
+ /** Current clock value as ISO string. */
43
+ now(): string;
44
+ /** Current clock date as 'YYYY-MM-DD'. */
45
+ today(): string;
46
+ /**
47
+ * Deterministic UUID (v4-shaped) seeded from the clock value + call index, so
48
+ * the Nth uuid() in a replay is always identical. NOT random.
49
+ */
50
+ uuid(): string;
51
+ /** Auto-tick: advance by the default per-event amount. Called by the fold. */
52
+ tick(): void;
53
+ /** Opt-in explicit advance (R32). Exposed to handlers as advanceClock(). */
54
+ advanceClock(duration: string | number): void;
55
+ /** The handler-facing helper surface (bound to this instance). */
56
+ surface(): ClockSurface;
57
+ }
58
+ //# sourceMappingURL=clock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock.d.ts","sourceRoot":"","sources":["../../src/playFunction/clock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAiB/D;AAED,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,GAAG,IAAI,MAAM,CAAC;IACd,KAAK,IAAI,MAAM,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IAExB;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM;IAK5B,yCAAyC;IACzC,GAAG,IAAI,MAAM;IAIb,0CAA0C;IAC1C,KAAK,IAAI,MAAM;IAIf;;;OAGG;IACH,IAAI,IAAI,MAAM;IAyBd,8EAA8E;IAC9E,IAAI,IAAI,IAAI;IAIZ,4EAA4E;IAC5E,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI7C,kEAAkE;IAClE,OAAO,IAAI,YAAY;CAQxB"}