@typeonce/effect-machine-devtools 0.23.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/NOTICE +4 -0
  2. package/README.md +14 -8
  3. package/dist/DevServer.d.ts +2 -1
  4. package/dist/DevServer.d.ts.map +1 -1
  5. package/dist/DevServer.js.map +1 -1
  6. package/dist/DevToolsProtocol.d.ts +167 -17
  7. package/dist/DevToolsProtocol.d.ts.map +1 -1
  8. package/dist/DevToolsProtocol.js +1 -1
  9. package/dist/MachineDocument.d.ts +98 -2
  10. package/dist/MachineDocument.d.ts.map +1 -1
  11. package/dist/MachineDocument.js +35 -1
  12. package/dist/MachineDocument.js.map +1 -1
  13. package/dist/MachineRegistry.d.ts +56 -6
  14. package/dist/MachineRegistry.d.ts.map +1 -1
  15. package/dist/MachineWalkthrough.d.ts +171 -0
  16. package/dist/MachineWalkthrough.d.ts.map +1 -0
  17. package/dist/MachineWalkthrough.js +98 -0
  18. package/dist/MachineWalkthrough.js.map +1 -0
  19. package/dist/client/assets/index-BTOAhezX.js +37 -0
  20. package/dist/client/assets/index-Cg7xzSkz.css +1 -0
  21. package/dist/client/index.html +4 -4
  22. package/dist/index.d.ts +2 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -2
  25. package/dist/index.js.map +1 -1
  26. package/dist/internal/devServer.d.ts +2 -1
  27. package/dist/internal/devServer.d.ts.map +1 -1
  28. package/dist/internal/devServer.js +4 -3
  29. package/dist/internal/devServer.js.map +1 -1
  30. package/dist/internal/evaluationWorker.d.ts.map +1 -1
  31. package/dist/internal/evaluationWorker.js +28 -9
  32. package/dist/internal/evaluationWorker.js.map +1 -1
  33. package/dist/internal/machineDocument.d.ts.map +1 -1
  34. package/dist/internal/machineDocument.js +65 -2
  35. package/dist/internal/machineDocument.js.map +1 -1
  36. package/dist/internal/machineWalkthrough.d.ts +26 -0
  37. package/dist/internal/machineWalkthrough.d.ts.map +1 -0
  38. package/dist/internal/machineWalkthrough.js +256 -0
  39. package/dist/internal/machineWalkthrough.js.map +1 -0
  40. package/dist/internal/projectInspector.d.ts.map +1 -1
  41. package/dist/internal/projectInspector.js +15 -9
  42. package/dist/internal/projectInspector.js.map +1 -1
  43. package/index.html +2 -2
  44. package/package.json +4 -3
  45. package/src/DevServer.ts +6 -2
  46. package/src/DevToolsProtocol.ts +1 -1
  47. package/src/MachineDocument.ts +56 -1
  48. package/src/MachineWalkthrough.ts +199 -0
  49. package/src/index.ts +2 -2
  50. package/src/internal/browser/chart-layout.ts +433 -0
  51. package/src/internal/browser/chart-model.ts +234 -0
  52. package/src/internal/browser/chart-renderer.ts +661 -0
  53. package/src/internal/browser/example-machine.ts +15 -6
  54. package/src/internal/browser/input-form.ts +252 -0
  55. package/src/internal/browser/invoke-outcomes-example.ts +231 -0
  56. package/src/internal/browser/parallel-completion-example.ts +199 -0
  57. package/src/internal/browser/planner-example.ts +145 -0
  58. package/src/internal/browser/protocol-events-example.ts +200 -0
  59. package/src/internal/browser/styles.css +959 -185
  60. package/src/internal/browser/transition-semantics-example.ts +236 -0
  61. package/src/internal/browser/visualizer-app.ts +818 -389
  62. package/src/internal/browser/visualizer-model.ts +104 -0
  63. package/src/internal/browser/visualizer.ts +1 -1
  64. package/src/internal/devServer.ts +9 -4
  65. package/src/internal/evaluationWorker.ts +28 -10
  66. package/src/internal/machineDocument.ts +77 -2
  67. package/src/internal/machineWalkthrough.ts +355 -0
  68. package/src/internal/projectInspector.ts +29 -14
  69. package/dist/MachineSimulator.d.ts +0 -169
  70. package/dist/MachineSimulator.d.ts.map +0 -1
  71. package/dist/MachineSimulator.js +0 -98
  72. package/dist/MachineSimulator.js.map +0 -1
  73. package/dist/client/assets/index-BGOhE3Ng.css +0 -1
  74. package/dist/client/assets/index-DiqGhsGR.js +0 -14
  75. package/dist/internal/machineSimulator.d.ts +0 -5
  76. package/dist/internal/machineSimulator.d.ts.map +0 -1
  77. package/dist/internal/machineSimulator.js +0 -156
  78. package/dist/internal/machineSimulator.js.map +0 -1
  79. package/src/MachineSimulator.ts +0 -154
  80. package/src/internal/machineSimulator.ts +0 -199
@@ -0,0 +1,256 @@
1
+ import * as Result from "effect/Result";
2
+ /** @internal */
3
+ export const SessionTypeId = "@typeonce/effect-machine-devtools/MachineWalkthrough/Session";
4
+ const makeModel = (document) => ({
5
+ states: new Map(document.states.map((state) => [state.path, state])),
6
+ order: new Map(document.states.map((state) => [state.path, state.order]))
7
+ });
8
+ const ordered = (model, paths) => [...new Set(paths)].sort((left, right) => (model.order.get(left) ?? 0) - (model.order.get(right) ?? 0));
9
+ const ancestors = (model, path) => {
10
+ const result = [];
11
+ let current = model.states.get(path);
12
+ while (current !== undefined) {
13
+ result.unshift(current.path);
14
+ current = current.parent === null ? undefined : model.states.get(current.parent);
15
+ }
16
+ return result;
17
+ };
18
+ const isDescendant = (model, path, ancestor) => path !== ancestor && ancestors(model, path).includes(ancestor);
19
+ const leastCommonAncestor = (model, left, right) => {
20
+ const leftAncestors = ancestors(model, left);
21
+ const rightAncestors = ancestors(model, right);
22
+ let result = null;
23
+ const length = Math.min(leftAncestors.length, rightAncestors.length);
24
+ for (let index = 0; index < length; index++) {
25
+ if (leftAncestors[index] !== rightAncestors[index])
26
+ break;
27
+ result = leftAncestors[index] ?? null;
28
+ }
29
+ return result;
30
+ };
31
+ const add = (active, entered, path) => {
32
+ if (!active.has(path))
33
+ entered.add(path);
34
+ active.add(path);
35
+ };
36
+ const enter = (model, path, active, entered, history) => {
37
+ const state = model.states.get(path);
38
+ if (state === undefined)
39
+ return;
40
+ if (state.type === "history") {
41
+ const record = history.get(path);
42
+ if (record === undefined) {
43
+ add(active, entered, path);
44
+ return;
45
+ }
46
+ if (record.mode === "deep") {
47
+ record.paths.forEach((recorded) => add(active, entered, recorded));
48
+ }
49
+ else {
50
+ record.paths.forEach((recorded) => enter(model, recorded, active, entered, history));
51
+ }
52
+ return;
53
+ }
54
+ add(active, entered, path);
55
+ if (state.type === "parallel") {
56
+ state.children.forEach((child) => enter(model, child, active, entered, history));
57
+ }
58
+ else if (state.type === "compound" && state.initial !== null) {
59
+ enter(model, state.initial, active, entered, history);
60
+ }
61
+ };
62
+ const completeParallelRegions = (model, active, entered, history) => {
63
+ for (const state of model.states.values()) {
64
+ if (state.type !== "parallel" || !active.has(state.path))
65
+ continue;
66
+ state.children.forEach((child) => {
67
+ if (!active.has(child))
68
+ enter(model, child, active, entered, history);
69
+ });
70
+ }
71
+ };
72
+ const snapshot = (model, activePaths, history) => ({
73
+ activePaths: ordered(model, activePaths),
74
+ history: new Map(history)
75
+ });
76
+ const publicSnapshot = (value) => ({
77
+ activePaths: value.activePaths
78
+ });
79
+ const makeSession = (document, cursor, frames) => ({
80
+ [SessionTypeId]: SessionTypeId,
81
+ document,
82
+ cursor,
83
+ frames
84
+ });
85
+ const session = (self) => self;
86
+ const initialSnapshot = (document, model) => {
87
+ if (document.snapshot !== null)
88
+ return snapshot(model, document.snapshot.activePaths, new Map());
89
+ const active = new Set();
90
+ const entered = new Set();
91
+ const targetAncestors = ancestors(model, document.initial.target);
92
+ targetAncestors.slice(0, -1).forEach((path) => add(active, entered, path));
93
+ enter(model, document.initial.target, active, entered, new Map());
94
+ return snapshot(model, active, new Map());
95
+ };
96
+ /** @internal */
97
+ export const start = (document) => {
98
+ const model = makeModel(document);
99
+ const after = initialSnapshot(document, model);
100
+ const frame = {
101
+ step: 0,
102
+ choice: null,
103
+ before: { activePaths: [] },
104
+ after: publicSnapshot(after),
105
+ exitPaths: [],
106
+ entryPaths: after.activePaths,
107
+ changed: after.activePaths.length > 0
108
+ };
109
+ return makeSession(document, 0, [{ public: frame, snapshot: after }]);
110
+ };
111
+ /** @internal */
112
+ export const current = (self) => {
113
+ const value = session(self);
114
+ return value.frames[value.cursor].public;
115
+ };
116
+ /** @internal */
117
+ export const timeline = (self) => session(self).frames.map((frame) => frame.public);
118
+ /** @internal */
119
+ export const cursor = (self) => session(self).cursor;
120
+ const decisions = (transition, branch) => {
121
+ const values = new Set();
122
+ if (branch.type === "branch")
123
+ values.add("conditional-branch");
124
+ if (transition.acceptance === "declinable")
125
+ values.add("declinable-transition");
126
+ if (transition.trigger.type === "invoke")
127
+ values.add("invoke-outcome");
128
+ else if (transition.trigger.type !== "event")
129
+ values.add("automatic-trigger");
130
+ return [...values];
131
+ };
132
+ const unavailableReason = (branch, history) => {
133
+ if (branch.selection.kind === "history" && (branch.target === null || !history.has(branch.target))) {
134
+ return "history-unavailable";
135
+ }
136
+ if (branch.target === null &&
137
+ branch.selection.kind !== "none" &&
138
+ branch.selection.kind !== "update")
139
+ return "runtime-target";
140
+ return null;
141
+ };
142
+ /** @internal */
143
+ export const choices = (self) => {
144
+ const value = session(self);
145
+ const frame = value.frames[value.cursor];
146
+ const active = new Set(frame.snapshot.activePaths);
147
+ const eventInputs = new Map(value.document.inputs.events.map(({ event, schema }) => [event, schema]));
148
+ return value.document.transitions.flatMap((transition) => {
149
+ if (!active.has(transition.source))
150
+ return [];
151
+ return transition.branches.map((branch, branchIndex) => ({
152
+ id: branch.id,
153
+ transitionId: transition.id,
154
+ branchId: branch.id,
155
+ branchIndex,
156
+ branchKey: branch.type === "branch" ? branch.key : null,
157
+ title: branch.type === "branch" ? branch.title : null,
158
+ source: transition.source,
159
+ trigger: transition.trigger,
160
+ target: branch.target,
161
+ selection: branch.selection,
162
+ updates: branch.updates,
163
+ decisions: decisions(transition, branch),
164
+ unavailableReason: unavailableReason(branch, frame.snapshot.history),
165
+ input: transition.trigger.type === "event" ? eventInputs.get(transition.trigger.event) ?? null : null
166
+ }));
167
+ });
168
+ };
169
+ const recordHistory = (document, model, before, exited, history) => {
170
+ for (const state of document.states) {
171
+ if (state.type !== "history" || state.parent === null || !exited.has(state.parent))
172
+ continue;
173
+ const paths = state.history === "deep"
174
+ ? [...before].filter((path) => {
175
+ const node = model.states.get(path);
176
+ return isDescendant(model, path, state.parent) && node?.type !== "history" && node?.type !== "choice";
177
+ })
178
+ : [...before].filter((path) => model.states.get(path)?.parent === state.parent);
179
+ if (paths.length > 0) {
180
+ history.set(state.path, {
181
+ mode: state.history === "deep" ? "deep" : "shallow",
182
+ paths: ordered(model, paths)
183
+ });
184
+ }
185
+ }
186
+ };
187
+ const advance = (value, choice) => {
188
+ const frame = value.frames[value.cursor];
189
+ const model = makeModel(value.document);
190
+ if (choice.target === null) {
191
+ return { snapshot: frame.snapshot, exited: [], entered: [] };
192
+ }
193
+ const transition = value.document.transitions.find(({ id }) => id === choice.transitionId);
194
+ const naturalBoundary = leastCommonAncestor(model, transition.source, choice.target);
195
+ const sourceParent = model.states.get(transition.source)?.parent ?? null;
196
+ const boundary = transition.reenter
197
+ ? sourceParent === null || naturalBoundary === null
198
+ ? null
199
+ : ancestors(model, naturalBoundary).length <= ancestors(model, sourceParent).length
200
+ ? naturalBoundary
201
+ : sourceParent
202
+ : naturalBoundary;
203
+ const before = new Set(frame.snapshot.activePaths);
204
+ const active = new Set(frame.snapshot.activePaths);
205
+ const exited = new Set(frame.snapshot.activePaths.filter((path) => boundary === null || isDescendant(model, path, boundary)));
206
+ const history = new Map(frame.snapshot.history);
207
+ recordHistory(value.document, model, before, exited, history);
208
+ exited.forEach((path) => active.delete(path));
209
+ const entered = new Set();
210
+ const targetAncestors = ancestors(model, choice.target);
211
+ targetAncestors.slice(0, -1).forEach((path) => {
212
+ if (boundary === null || path === boundary || isDescendant(model, path, boundary))
213
+ add(active, entered, path);
214
+ });
215
+ enter(model, choice.target, active, entered, history);
216
+ completeParallelRegions(model, active, entered, history);
217
+ return {
218
+ snapshot: snapshot(model, active, history),
219
+ exited: ordered(model, exited),
220
+ entered: ordered(model, entered)
221
+ };
222
+ };
223
+ /** @internal */
224
+ export const take = (api) => (self, choiceId) => {
225
+ const value = session(self);
226
+ const choice = choices(self).find(({ id }) => id === choiceId);
227
+ if (choice === undefined)
228
+ return Result.fail(new api.ChoiceNotFound({ choiceId }));
229
+ if (choice.unavailableReason !== null) {
230
+ return Result.fail(new api.ChoiceUnavailable({ choiceId, reason: choice.unavailableReason }));
231
+ }
232
+ const beforeFrame = value.frames[value.cursor];
233
+ const next = advance(value, choice);
234
+ const before = publicSnapshot(beforeFrame.snapshot);
235
+ const after = publicSnapshot(next.snapshot);
236
+ const frame = {
237
+ step: value.cursor + 1,
238
+ choice,
239
+ before,
240
+ after,
241
+ exitPaths: next.exited,
242
+ entryPaths: next.entered,
243
+ changed: next.exited.length > 0 || next.entered.length > 0
244
+ };
245
+ const frames = [...value.frames.slice(0, value.cursor + 1), { public: frame, snapshot: next.snapshot }];
246
+ return Result.succeed(makeSession(value.document, frames.length - 1, frames));
247
+ };
248
+ /** @internal */
249
+ export const seek = (api) => (self, step) => {
250
+ const value = session(self);
251
+ if (!Number.isInteger(step) || step < 0 || step >= value.frames.length) {
252
+ return Result.fail(new api.StepNotFound({ step }));
253
+ }
254
+ return Result.succeed(makeSession(value.document, step, value.frames));
255
+ };
256
+ //# sourceMappingURL=machineWalkthrough.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machineWalkthrough.js","sourceRoot":"","sources":["../../src/internal/machineWalkthrough.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"projectInspector.d.ts","sourceRoot":"","sources":["../../src/internal/projectInspector.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAOrC,OAAO,KAAK,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAwD/D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,gBAAgB,CAAC,SAAS,GAAG,SAyB1F,CAAA;AAaD,UAAU,SAAS;IACjB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC,gBAAgB,CAAA;IACnE,QAAQ,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,CAAA;IAC/D,QAAQ,CAAC,eAAe,EAAE,OAAO,gBAAgB,CAAC,eAAe,CAAA;CAClE;AAgHD,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,KAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CACF,CAAA"}
1
+ {"version":3,"file":"projectInspector.d.ts","sourceRoot":"","sources":["../../src/internal/projectInspector.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAOrC,OAAO,KAAK,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AA6D/D,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,KAAG,gBAAgB,CAAC,SAAS,GAAG,SAyB1F,CAAA;AAaD,UAAU,SAAS;IACjB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,gBAAgB,CAAC,gBAAgB,CAAA;IACnE,QAAQ,CAAC,cAAc,EAAE,OAAO,gBAAgB,CAAC,cAAc,CAAA;IAC/D,QAAQ,CAAC,eAAe,EAAE,OAAO,gBAAgB,CAAC,eAAe,CAAA;CAClE;AA0HD,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,KAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CACF,CAAA"}
@@ -115,23 +115,29 @@ const WorkerLayer = NodeWorker.layer(() => new NodeWorkerThread(workerBootstrap,
115
115
  runtimeModuleUrl: workerRuntime.href
116
116
  }
117
117
  }));
118
+ const runWorker = (request) => Effect.scoped(Effect.gen(function* () {
119
+ const platform = yield* Worker.WorkerPlatform;
120
+ const worker = yield* platform.spawn(0);
121
+ const response = yield* Deferred.make();
122
+ const runner = yield* Effect.forkScoped(worker.run((message) => Deferred.succeed(response, message)));
123
+ yield* worker.send(request);
124
+ return yield* Effect.raceFirst(Deferred.await(response), Fiber.join(runner));
125
+ })).pipe(Effect.provide(WorkerLayer));
118
126
  const evaluate = (api, candidates, options) => {
119
127
  if (candidates.length === 0)
120
128
  return Effect.succeed([]);
121
129
  const request = {
130
+ _tag: "InspectMachines",
122
131
  root: options.root,
123
132
  revision: options.revision ?? 0,
124
133
  candidates
125
134
  };
126
- return Effect.scoped(Effect.gen(function* () {
127
- const platform = yield* Worker.WorkerPlatform;
128
- const worker = yield* platform.spawn(0);
129
- const response = yield* Deferred.make();
130
- const runner = yield* Effect.forkScoped(worker.run((message) => Deferred.succeed(response, message)));
131
- yield* worker.send(request);
132
- const message = yield* Effect.raceFirst(Deferred.await(response), Fiber.join(runner));
133
- return yield* Effect.forEach(message.results, (result) => Schema.decodeUnknownEffect(DevToolsProtocol.MachineResult)(result));
134
- })).pipe(Effect.provide(WorkerLayer), Effect.mapError((cause) => new api.EvaluationError({
135
+ return runWorker(request).pipe(Effect.flatMap((message) => {
136
+ if (message._tag !== "InspectedMachines") {
137
+ return Effect.fail(new Error(`Unexpected worker response: ${message._tag}`));
138
+ }
139
+ return Effect.forEach(message.results, (result) => Schema.decodeUnknownEffect(DevToolsProtocol.MachineResult)(result));
140
+ }), Effect.mapError((cause) => new api.EvaluationError({
135
141
  message: "The isolated machine evaluator failed",
136
142
  cause
137
143
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"projectInspector.js","sourceRoot":"","sources":["../../src/internal/projectInspector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAA;AACtE,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAC1D,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAG1D,MAAM,cAAc,GAAG,6CAA6C,CAAA;AAEpE,MAAM,cAAc,GAAG;IACrB,oBAAoB;IACpB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,WAAW;CACH,CAAA;AAYV,MAAM,UAAU,GAAG,CAAC,IAAY,EAAiB,EAAE;IACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAA;IACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,GAAG,CAAA;IACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAA;IACnG,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAA;AACzB,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAW,EAAE,CACnD,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC;IACzB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAA;AAEnG,MAAM,kBAAkB,GAAG,CAAC,IAAa,EAAW,EAAE;IACpD,IAAI,KAAK,GAAG,KAAK,CAAA;IACjB,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAQ,EAAE;QACvC,IAAI,KAAK;YAAE,OAAM;QACjB,IACE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAC/F,CAAC,EAAE,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC;oBAC/C,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC;oBACzD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,EAC7D,CAAC;YACD,KAAK,GAAG,IAAI,CAAA;YACZ,OAAM;QACR,CAAC;QACD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,CAAA;IACX,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,MAAc,EAA0C,EAAE;IACrG,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IACpG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAAE,OAAO,SAAS,CAAA;IAErD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YACjF,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QACD,IAAI,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,KAAK,MAAM,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;gBACjE,IACE,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,WAAW,IAAI,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,EAC3G,CAAC;oBACD,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE;KACrC,CAAA;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,MAAc,EAAW,EAAE,CACnE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,IAAI;IACd,iBAAiB,EAAE,IAAI;IACvB,eAAe,EAAE;QACf,OAAO,EAAE,IAAI;QACb,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;QACxB,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;KAC/B;CACF,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;AAQpG,MAAM,aAAa,GAAG,CAAC,GAAc,EAAE,EAAE,CACvC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,UAAU,CAAA;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE7B,OAAO,CAAC,OAAwC,EAG9C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACvC,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CACnF,CAAA;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,EAAE;YAC9D,IAAI;YACJ,OAAO,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;SACzD,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CACtC,KAAK,CAAC,IAAI,EAAE,EACZ,CAAC,IAAI,EAAE,EAAE,CACP,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC9C,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACzC,OAAO,QAAQ,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1F,CAAC,CAAC,CACH,EACH,EAAE,WAAW,EAAE,WAAW,EAAE,CAC7B,CAAA;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAA2C,EAAE,CAAC,SAAS,KAAK,SAAS,CAAC,CAAA;IAC3G,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,IAAI,GAAG,CAAC,cAAc,CAAC;QACrB,OAAO,EAAE,uDAAuD,OAAO,CAAC,IAAI,EAAE;QAC9E,KAAK;KACN,CAAC,CACH,CACF,CAAA;AACL,CAAC,CAAC,CAAA;AAEJ,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAClF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,EACnF,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAA;AAED,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CACxC,IAAI,gBAAgB,CAAC,eAAe,EAAE;IACpC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE;QACV,gBAAgB,EAAE,aAAa,CAAC,IAAI;KACrC;CACF,CAAC,CACH,CAAA;AAED,MAAM,QAAQ,GAAG,CACf,GAAc,EACd,UAAqD,EACrD,OAAwC,EACwD,EAAE;IAClG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAEtD,MAAM,OAAO,GAAsB;QACjC,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC;QAC/B,UAAU;KACX,CAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAA;QAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAwC,CAAC,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAsB,CAAA;QAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACrC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAC7D,CAAA;QACD,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACrF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAC1B,OAAO,CAAC,OAAO,EACf,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAC/E,CAAA;IACH,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAC3B,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,IAAI,GAAG,CAAC,eAAe,CAAC;QACtB,OAAO,EAAE,uCAAuC;QAChD,KAAK;KACN,CAAC,CACH,CACF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,GAAc,EAAE,EAAE,CAC9B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IAC1C,MAAM,OAAO,GAAG,CAAC,OAAwC,EAAE,EAAE,CAC3D,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAA;IACvF,OAAO,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC7B,QAAQ;QACR,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC;QACrE,OAAO;KACR,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAc,EAAkD,EAAE,CACtF,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"projectInspector.js","sourceRoot":"","sources":["../../src/internal/projectInspector.ts"],"names":[],"mappings":"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"}
package/index.html CHANGED
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <meta name="description" content="Interactive text visualization for Effect Machine" />
7
- <title>Effect Machine · Text visualizer</title>
6
+ <meta name="description" content="Interactive statechart visualization for Effect Machine" />
7
+ <title>Effect Machine · Statechart</title>
8
8
  </head>
9
9
  <body>
10
10
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typeonce/effect-machine-devtools",
3
- "version": "0.23.0",
3
+ "version": "0.25.0",
4
4
  "description": "Local development tools for Effect Machine",
5
5
  "author": "Sandro Maglione",
6
6
  "repository": {
@@ -23,16 +23,17 @@
23
23
  ".": "./dist/index.js",
24
24
  "./DevToolsProtocol": "./dist/DevToolsProtocol.js",
25
25
  "./MachineDocument": "./dist/MachineDocument.js",
26
- "./MachineSimulator": "./dist/MachineSimulator.js",
26
+ "./MachineWalkthrough": "./dist/MachineWalkthrough.js",
27
27
  "./internal/*": null
28
28
  },
29
29
  "dependencies": {
30
30
  "@effect/platform-browser": "4.0.0-rc.111",
31
31
  "@effect/platform-node": "4.0.0-rc.111",
32
32
  "chokidar": "4.0.3",
33
+ "elkjs": "0.11.1",
33
34
  "typescript": "6.0.3",
34
35
  "vite": "8.1.5",
35
- "@typeonce/effect-machine": "^0.23.0"
36
+ "@typeonce/effect-machine": "^0.25.0"
36
37
  },
37
38
  "peerDependencies": {
38
39
  "effect": "4.0.0-rc.111"
package/src/DevServer.ts CHANGED
@@ -7,6 +7,7 @@ import * as Effect from "effect/Effect"
7
7
  import * as Schema from "effect/Schema"
8
8
  import * as internal from "./internal/devServer.js"
9
9
  import type * as MachineRegistry from "./MachineRegistry.js"
10
+ import type * as ProjectInspector from "./ProjectInspector.js"
10
11
 
11
12
  /**
12
13
  * @category models
@@ -41,5 +42,8 @@ export class DevServerError extends Schema.Error<DevServerError>(
41
42
  * @category constructors
42
43
  * @since 0.23.0
43
44
  */
44
- export const run = (options: Options): Effect.Effect<never, DevServerError, MachineRegistry.MachineRegistry> =>
45
- internal.run(DevServerError, options)
45
+ export const run = (options: Options): Effect.Effect<
46
+ never,
47
+ DevServerError,
48
+ MachineRegistry.MachineRegistry | ProjectInspector.ProjectInspector
49
+ > => internal.run(DevServerError, options)
@@ -12,7 +12,7 @@ import * as MachineDocument from "./MachineDocument.js"
12
12
  * @category models
13
13
  * @since 0.23.0
14
14
  */
15
- export const protocolVersion = 1 as const
15
+ export const protocolVersion = 2 as const
16
16
 
17
17
  /**
18
18
  * @category schemas
@@ -13,7 +13,7 @@ import * as internal from "./internal/machineDocument.js"
13
13
  * @category models
14
14
  * @since 0.23.0
15
15
  */
16
- export const schemaVersion = 1 as const
16
+ export const schemaVersion = 3 as const
17
17
 
18
18
  /**
19
19
  * Source module and export that produced a machine.
@@ -65,6 +65,24 @@ export const Initial = Schema.Struct({
65
65
  */
66
66
  export type Initial = Schema.Schema.Type<typeof Initial>
67
67
 
68
+ /**
69
+ * Canonical JSON Schema retained for machine contracts.
70
+ *
71
+ * @category schemas
72
+ * @since 0.24.0
73
+ */
74
+ export const InputSchema = Schema.Struct({
75
+ dialect: Schema.Literal("draft-2020-12"),
76
+ schema: Schema.Json,
77
+ definitions: Schema.Record(Schema.String, Schema.Json)
78
+ })
79
+
80
+ /**
81
+ * @category models
82
+ * @since 0.24.0
83
+ */
84
+ export type InputSchema = Schema.Schema.Type<typeof InputSchema>
85
+
68
86
  /**
69
87
  * @category schemas
70
88
  * @since 0.23.0
@@ -81,6 +99,8 @@ export const State = Schema.Struct({
81
99
  parent: Schema.NullOr(Schema.String),
82
100
  children: Schema.Array(Schema.String),
83
101
  initial: Schema.NullOr(Schema.String),
102
+ valueSchema: Schema.NullOr(InputSchema),
103
+ outputSchema: Schema.NullOr(InputSchema),
84
104
  transitionIds: Schema.Array(Schema.String),
85
105
  activityIds: Schema.Array(Schema.String)
86
106
  })
@@ -216,6 +236,40 @@ export const Snapshot = Schema.Struct({
216
236
  */
217
237
  export type Snapshot = Schema.Schema.Type<typeof Snapshot>
218
238
 
239
+ /**
240
+ * Public event input paired with the schema for its payload.
241
+ *
242
+ * @category schemas
243
+ * @since 0.24.0
244
+ */
245
+ export const EventInput = Schema.Struct({
246
+ event: Schema.String,
247
+ schema: InputSchema
248
+ })
249
+
250
+ /**
251
+ * @category models
252
+ * @since 0.24.0
253
+ */
254
+ export type EventInput = Schema.Schema.Type<typeof EventInput>
255
+
256
+ /**
257
+ * Machine and public event inputs available to devtools forms.
258
+ *
259
+ * @category schemas
260
+ * @since 0.24.0
261
+ */
262
+ export const Inputs = Schema.Struct({
263
+ machine: Schema.NullOr(InputSchema),
264
+ events: Schema.Array(EventInput)
265
+ })
266
+
267
+ /**
268
+ * @category models
269
+ * @since 0.24.0
270
+ */
271
+ export type Inputs = Schema.Schema.Type<typeof Inputs>
272
+
219
273
  /**
220
274
  * Complete, versioned, JSON-safe machine inspection document.
221
275
  *
@@ -232,6 +286,7 @@ export const MachineDocument = Schema.Struct({
232
286
  states: Schema.Array(State),
233
287
  transitions: Schema.Array(Transition),
234
288
  activities: Schema.Array(Activity),
289
+ inputs: Inputs,
235
290
  snapshot: Schema.NullOr(Snapshot)
236
291
  })
237
292