@demlik/tea 0.7.0 → 0.9.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 (98) hide show
  1. package/dist/chart/index.d.ts +72 -789
  2. package/dist/chart/index.js +4 -232
  3. package/dist/chart/index.js.map +1 -1
  4. package/dist/chart/inspect/index.d.ts +85 -0
  5. package/dist/chart/inspect/index.js +5 -0
  6. package/dist/chart/inspect/index.js.map +1 -0
  7. package/dist/chart/inspect/react.d.ts +112 -0
  8. package/dist/chart/inspect/react.js +11 -0
  9. package/dist/chart/inspect/react.js.map +1 -0
  10. package/dist/chart/inspect/styles.css +286 -0
  11. package/dist/chart/lane/index.d.ts +361 -0
  12. package/dist/chart/lane/index.js +9 -0
  13. package/dist/chart/lane/index.js.map +1 -0
  14. package/dist/chart/lane/react.d.ts +83 -0
  15. package/dist/chart/lane/react.js +559 -0
  16. package/dist/chart/lane/react.js.map +1 -0
  17. package/dist/chart/lane/server.d.ts +79 -0
  18. package/dist/chart/lane/server.js +118 -0
  19. package/dist/chart/lane/server.js.map +1 -0
  20. package/dist/chart/lane/styles.css +498 -0
  21. package/dist/chart/lane/viewer/assets/abnfDiagram-N423BO3Z-C729LI31.js +1 -0
  22. package/dist/chart/lane/viewer/assets/architectureDiagram-T3A2C74G-C729LI31.js +1 -0
  23. package/dist/chart/lane/viewer/assets/blockDiagram-VBNYF7ZC-C729LI31.js +1 -0
  24. package/dist/chart/lane/viewer/assets/c4Diagram-5PPSVZJV-C729LI31.js +1 -0
  25. package/dist/chart/lane/viewer/assets/chunk-2GRJ4B5K-HdDf8SI3.js +1 -0
  26. package/dist/chart/lane/viewer/assets/chunk-5RXB4S5H-IPzIfiJ6.js +231 -0
  27. package/dist/chart/lane/viewer/assets/chunk-5VM5RSS4-BP4fRS_5.js +15 -0
  28. package/dist/chart/lane/viewer/assets/chunk-KBJHAD2P-DZOw7xU6.js +1 -0
  29. package/dist/chart/lane/viewer/assets/chunk-NSK5VX7P-CBCyTZMs.js +128 -0
  30. package/dist/chart/lane/viewer/assets/classDiagram-JCYQIIEL-C729LI31.js +1 -0
  31. package/dist/chart/lane/viewer/assets/classDiagram-v2-OCEON4UE-DnUXz1Pv.js +206 -0
  32. package/dist/chart/lane/viewer/assets/cose-bilkent-JH36ORCC-DOwCrGXH.js +1 -0
  33. package/dist/chart/lane/viewer/assets/cynefinDiagram-MW4NZA55-C729LI31.js +1 -0
  34. package/dist/chart/lane/viewer/assets/dagre-K_PewWfS.js +1 -0
  35. package/dist/chart/lane/viewer/assets/dagre-VZM6K2ZE-Og2UIoWg.js +4 -0
  36. package/dist/chart/lane/viewer/assets/diagram-7IWD3JNH-C729LI31.js +1 -0
  37. package/dist/chart/lane/viewer/assets/diagram-B4RE2ZJO-C729LI31.js +1 -0
  38. package/dist/chart/lane/viewer/assets/diagram-LBJQPF4R-C729LI31.js +1 -0
  39. package/dist/chart/lane/viewer/assets/diagram-Q27KOJAE-C729LI31.js +1 -0
  40. package/dist/chart/lane/viewer/assets/diagram-UB23O5K3-C729LI31.js +1 -0
  41. package/dist/chart/lane/viewer/assets/ebnfDiagram-BXEA7PRR-C729LI31.js +1 -0
  42. package/dist/chart/lane/viewer/assets/erDiagram-JOGREHBK-C729LI31.js +1 -0
  43. package/dist/chart/lane/viewer/assets/flowDiagram-UKHOOZJN-C729LI31.js +1 -0
  44. package/dist/chart/lane/viewer/assets/ganttDiagram-PKOTCBZU-C729LI31.js +1 -0
  45. package/dist/chart/lane/viewer/assets/gitGraphDiagram-DS77QQ5N-C729LI31.js +1 -0
  46. package/dist/chart/lane/viewer/assets/index-Obj05Jex.js +195 -0
  47. package/dist/chart/lane/viewer/assets/index-sP-6AD57.css +1 -0
  48. package/dist/chart/lane/viewer/assets/infoDiagram-6WML65LV-C729LI31.js +1 -0
  49. package/dist/chart/lane/viewer/assets/ishikawaDiagram-WSZJBQD7-C729LI31.js +1 -0
  50. package/dist/chart/lane/viewer/assets/journeyDiagram-NVQOT4AX-C729LI31.js +1 -0
  51. package/dist/chart/lane/viewer/assets/kanban-definition-27J2QSJJ-CxkCxJUN.js +89 -0
  52. package/dist/chart/lane/viewer/assets/katex-DOwCrGXH.js +1 -0
  53. package/dist/chart/lane/viewer/assets/mindmap-definition-FAOFIHXS-DvgvXZhp.js +96 -0
  54. package/dist/chart/lane/viewer/assets/path-fybaL0A-.js +1 -0
  55. package/dist/chart/lane/viewer/assets/pegDiagram-VL7TDLO6-C729LI31.js +1 -0
  56. package/dist/chart/lane/viewer/assets/pieDiagram-7S7Q4E2Y-C729LI31.js +1 -0
  57. package/dist/chart/lane/viewer/assets/quadrantDiagram-CIZ2JOQS-C729LI31.js +1 -0
  58. package/dist/chart/lane/viewer/assets/railroadDiagram-AXF67PYL-C729LI31.js +1 -0
  59. package/dist/chart/lane/viewer/assets/requirementDiagram-LRYGKXZP-C729LI31.js +1 -0
  60. package/dist/chart/lane/viewer/assets/sankeyDiagram-W5VNT64P-C729LI31.js +1 -0
  61. package/dist/chart/lane/viewer/assets/sequenceDiagram-SI44F4Z6-C729LI31.js +1 -0
  62. package/dist/chart/lane/viewer/assets/stateDiagram-OKZ733FA-CIZQWK5X.js +1 -0
  63. package/dist/chart/lane/viewer/assets/stateDiagram-v2-UEYNNEHI-Sm6p0NoR.js +1 -0
  64. package/dist/chart/lane/viewer/assets/swimlanes-SLNWSIFB-B4xK-rwg.js +1 -0
  65. package/dist/chart/lane/viewer/assets/swimlanesDiagram-ULZ7WXOC-C729LI31.js +1 -0
  66. package/dist/chart/lane/viewer/assets/timeline-definition-Z64GVDOM-CV3KwSb-.js +120 -0
  67. package/dist/chart/lane/viewer/assets/vennDiagram-T6HMQDX7-C729LI31.js +1 -0
  68. package/dist/chart/lane/viewer/assets/wardleyDiagram-T6FBY63Y-C729LI31.js +1 -0
  69. package/dist/chart/lane/viewer/assets/xychartDiagram-ELKLHX3M-C729LI31.js +1 -0
  70. package/dist/chart/lane/viewer/index.html +15 -0
  71. package/dist/chart/report/index.d.ts +116 -0
  72. package/dist/chart/report/index.js +32 -0
  73. package/dist/chart/report/index.js.map +1 -0
  74. package/dist/chunk-5KJKJOFC.js +758 -0
  75. package/dist/chunk-5KJKJOFC.js.map +1 -0
  76. package/dist/chunk-E6GEDSF4.js +307 -0
  77. package/dist/chunk-E6GEDSF4.js.map +1 -0
  78. package/dist/chunk-JER5O7PQ.js +416 -0
  79. package/dist/chunk-JER5O7PQ.js.map +1 -0
  80. package/dist/chunk-UOC2PL46.js +13 -0
  81. package/dist/chunk-UOC2PL46.js.map +1 -0
  82. package/dist/chunk-WRAA7GVZ.js +209 -0
  83. package/dist/chunk-WRAA7GVZ.js.map +1 -0
  84. package/dist/chunk-ZCL7SCBK.js +685 -0
  85. package/dist/chunk-ZCL7SCBK.js.map +1 -0
  86. package/dist/chunk-ZD6PNZBK.js +457 -0
  87. package/dist/chunk-ZD6PNZBK.js.map +1 -0
  88. package/dist/devtools/index.js +2 -207
  89. package/dist/devtools/index.js.map +1 -1
  90. package/dist/fold-Blbhru48.d.ts +435 -0
  91. package/dist/graph-CcjWZVrd.d.ts +923 -0
  92. package/dist/machine-viz/index.d.ts +18 -1
  93. package/dist/machine-viz/index.js +2 -8
  94. package/dist/machine-viz/index.js.map +1 -1
  95. package/dist/reducer-BqyoVyBG.d.ts +447 -0
  96. package/dist/run-BVeqJDBF.d.ts +713 -0
  97. package/dist/samples-DCt6nF8H.d.ts +59 -0
  98. package/package.json +35 -3
@@ -0,0 +1,59 @@
1
+ import { M as MsgOf, E as EventName } from './graph-CcjWZVrd.js';
2
+
3
+ type Narrow<U, K> = Extract<U, {
4
+ type: K;
5
+ }>;
6
+ /**
7
+ * Event `E`'s declared payload — its Msg member minus the `type` the chart
8
+ * already owns.
9
+ *
10
+ * Read off `MsgOf<C>` rather than off the `events` section directly, so it is
11
+ * the SAME derivation the compiled machine consumes: a sample that type-checks
12
+ * here is a msg the machine accepts, by construction. An event with no `data`
13
+ * has `DataOf = unknown`, so this is `{}` — no keys, nothing to supply.
14
+ */
15
+ type SamplePayload<C, E extends string> = Omit<Narrow<MsgOf<C>, E>, "type">;
16
+ /** Does event `E` declare a payload the author must fill in? */
17
+ type NeedsSample<C, E extends string> = [keyof SamplePayload<C, E>] extends [
18
+ never
19
+ ] ? false : true;
20
+ /**
21
+ * The sample bag: one entry per event that DECLARES a payload, each typed as
22
+ * exactly that payload.
23
+ *
24
+ * The `as` clause drops the payload-free events from the key union entirely —
25
+ * so `{ START: {} }` for a bare `START: { scope: "edges" }` is an excess
26
+ * property tsc rejects, rather than a meaningless entry it accepts. "Where an
27
+ * event has no declared payload, no sample is required" is therefore not a
28
+ * convention; it is unrepresentable to supply one.
29
+ *
30
+ * The `type` tag is absent for the same reason it is absent from an `assign`'s
31
+ * return: it is the chart's fact, stamped on by {@link sampleMsg}, so the
32
+ * author cannot write it wrong and cannot write it twice.
33
+ *
34
+ * ```ts
35
+ * const samples: Samples<LaneG> = {
36
+ * WIP: { at: 1 },
37
+ * FAIL: { at: 2, reason: "flaky" }, // `reason` is REQUIRED — the chart says so
38
+ * // BLOCKED: … // omit one and tsc names it
39
+ * };
40
+ * ```
41
+ */
42
+ type Samples<C> = {
43
+ readonly [E in EventName<C> as [NeedsSample<C, E>] extends [true] ? E : never]: SamplePayload<C, E>;
44
+ };
45
+ /** The samples bag as the runtime reads it: event name → payload object. */
46
+ type RtSamples = Readonly<Record<string, object | undefined>>;
47
+ /**
48
+ * Build the Msg for `event` from the sample bag: the payload, plus the `type`
49
+ * the chart owns.
50
+ *
51
+ * Returns `undefined` exactly when the event needs a payload and none was
52
+ * supplied — which is the honest "cannot" the guard preview degrades on,
53
+ * rather than a half-built msg that makes a guard throw for the wrong reason.
54
+ */
55
+ declare function sampleMsg(event: string, hasPayload: boolean, samples: RtSamples | undefined): {
56
+ readonly type: string;
57
+ } | undefined;
58
+
59
+ export { type RtSamples as R, type SamplePayload as S, type Samples as a, sampleMsg as s };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@demlik/tea",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "description": "TEA-faithful state machine substrate — one package, every host adapter. Core + subs + testing, plus React, Durable Object, Chrome extension, Node, in-memory, work-queue, devtools, and property-testing modules as subpaths.",
5
5
  "keywords": [
6
6
  "tea",
@@ -252,6 +252,32 @@
252
252
  "types": "./dist/chart/index.d.ts",
253
253
  "import": "./dist/chart/index.js"
254
254
  },
255
+ "./chart/inspect": {
256
+ "types": "./dist/chart/inspect/index.d.ts",
257
+ "import": "./dist/chart/inspect/index.js"
258
+ },
259
+ "./chart/inspect/react": {
260
+ "types": "./dist/chart/inspect/react.d.ts",
261
+ "import": "./dist/chart/inspect/react.js"
262
+ },
263
+ "./chart/inspect/styles.css": "./dist/chart/inspect/styles.css",
264
+ "./chart/report": {
265
+ "types": "./dist/chart/report/index.d.ts",
266
+ "import": "./dist/chart/report/index.js"
267
+ },
268
+ "./chart/lane": {
269
+ "types": "./dist/chart/lane/index.d.ts",
270
+ "import": "./dist/chart/lane/index.js"
271
+ },
272
+ "./chart/lane/react": {
273
+ "types": "./dist/chart/lane/react.d.ts",
274
+ "import": "./dist/chart/lane/react.js"
275
+ },
276
+ "./chart/lane/server": {
277
+ "types": "./dist/chart/lane/server.d.ts",
278
+ "import": "./dist/chart/lane/server.js"
279
+ },
280
+ "./chart/lane/styles.css": "./dist/chart/lane/styles.css",
255
281
  "./package.json": "./package.json"
256
282
  },
257
283
  "dependencies": {
@@ -291,13 +317,16 @@
291
317
  "@types/react": "19.0.8",
292
318
  "@types/react-dom": "19.0.3",
293
319
  "@types/ws": "8.5.14",
320
+ "@vitejs/plugin-react": "^6.0.5",
294
321
  "fast-check": "^3.23.0",
295
322
  "happy-dom": "^20.9.0",
323
+ "mermaid": "^11.16.1",
296
324
  "react": "19.0.0",
297
325
  "react-dom": "19.0.0",
298
326
  "tsup": "^8.3.5",
299
327
  "typedoc": "0.28.20",
300
328
  "typescript": "5.7.3",
329
+ "vite": "^8.2.1",
301
330
  "vitest": "~3.0.7",
302
331
  "ws": "8.18.1"
303
332
  },
@@ -311,10 +340,11 @@
311
340
  "node": "23.7.0"
312
341
  },
313
342
  "scripts": {
314
- "build": "NODE_OPTIONS=--max-old-space-size=8192 tsup",
343
+ "build": "NODE_OPTIONS=--max-old-space-size=8192 tsup && node build-viewer.mjs",
315
344
  "lint": "biome check src package.json",
316
345
  "test": "vitest run",
317
346
  "demo:saga": "vitest run src/workflow/demo.test.ts",
347
+ "lane:view": "vite --config demo/lane-view/vite.config.ts",
318
348
  "typecheck": "tsc --noEmit",
319
349
  "typecheck:test": "tsc --noEmit -p tsconfig.test.json",
320
350
  "typecheck:examples": "tsc -p examples/tsconfig.json",
@@ -322,6 +352,8 @@
322
352
  "docs:reference:check": "pnpm run docs:reference && git diff --exit-code -- docs/reference",
323
353
  "verify-exports": "node scripts/verify-exports.mjs",
324
354
  "check:chart-probes": "node scripts/check-chart-probes.mjs",
325
- "release": "changeset"
355
+ "check:merge-markers": "node scripts/check-merge-markers.mjs",
356
+ "release": "changeset",
357
+ "build:viewer": "node build-viewer.mjs"
326
358
  }
327
359
  }