footprint-explainable-ui 0.20.0 → 0.22.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 (149) hide show
  1. package/README.md +1 -0
  2. package/dist/flowchart.cjs +1366 -343
  3. package/dist/flowchart.cjs.map +1 -1
  4. package/dist/flowchart.d.cts +513 -6
  5. package/dist/flowchart.d.ts +513 -6
  6. package/dist/flowchart.js +1257 -262
  7. package/dist/flowchart.js.map +1 -1
  8. package/dist/index.cjs +941 -436
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +6 -0
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.js +852 -352
  13. package/dist/index.js.map +1 -1
  14. package/package.json +10 -3
  15. package/dist/adapters/fromRuntimeSnapshot.d.ts +0 -81
  16. package/dist/adapters/fromRuntimeSnapshot.d.ts.map +0 -1
  17. package/dist/adapters/fromRuntimeSnapshot.js +0 -226
  18. package/dist/adapters/fromRuntimeSnapshot.js.map +0 -1
  19. package/dist/components/ExplainableShell/ExplainableShell.d.ts +0 -169
  20. package/dist/components/ExplainableShell/ExplainableShell.d.ts.map +0 -1
  21. package/dist/components/ExplainableShell/ExplainableShell.js +0 -702
  22. package/dist/components/ExplainableShell/ExplainableShell.js.map +0 -1
  23. package/dist/components/ExplainableShell/index.d.ts +0 -3
  24. package/dist/components/ExplainableShell/index.d.ts.map +0 -1
  25. package/dist/components/ExplainableShell/index.js +0 -2
  26. package/dist/components/ExplainableShell/index.js.map +0 -1
  27. package/dist/components/FlowchartView/SubflowBreadcrumb.d.ts +0 -11
  28. package/dist/components/FlowchartView/SubflowBreadcrumb.d.ts.map +0 -1
  29. package/dist/components/FlowchartView/SubflowBreadcrumb.js +0 -49
  30. package/dist/components/FlowchartView/SubflowBreadcrumb.js.map +0 -1
  31. package/dist/components/FlowchartView/SubflowTree.d.ts +0 -29
  32. package/dist/components/FlowchartView/SubflowTree.d.ts.map +0 -1
  33. package/dist/components/FlowchartView/SubflowTree.js +0 -153
  34. package/dist/components/FlowchartView/SubflowTree.js.map +0 -1
  35. package/dist/components/FlowchartView/index.d.ts +0 -39
  36. package/dist/components/FlowchartView/index.d.ts.map +0 -1
  37. package/dist/components/FlowchartView/index.js +0 -26
  38. package/dist/components/FlowchartView/index.js.map +0 -1
  39. package/dist/components/FlowchartView/useSubflowNavigation.d.ts +0 -60
  40. package/dist/components/FlowchartView/useSubflowNavigation.d.ts.map +0 -1
  41. package/dist/components/FlowchartView/useSubflowNavigation.js +0 -99
  42. package/dist/components/FlowchartView/useSubflowNavigation.js.map +0 -1
  43. package/dist/components/GanttTimeline/GanttTimeline.d.ts +0 -18
  44. package/dist/components/GanttTimeline/GanttTimeline.d.ts.map +0 -1
  45. package/dist/components/GanttTimeline/GanttTimeline.js +0 -123
  46. package/dist/components/GanttTimeline/GanttTimeline.js.map +0 -1
  47. package/dist/components/GanttTimeline/index.d.ts +0 -3
  48. package/dist/components/GanttTimeline/index.d.ts.map +0 -1
  49. package/dist/components/GanttTimeline/index.js +0 -2
  50. package/dist/components/GanttTimeline/index.js.map +0 -1
  51. package/dist/components/MemoryInspector/MemoryInspector.d.ts +0 -19
  52. package/dist/components/MemoryInspector/MemoryInspector.d.ts.map +0 -1
  53. package/dist/components/MemoryInspector/MemoryInspector.js +0 -118
  54. package/dist/components/MemoryInspector/MemoryInspector.js.map +0 -1
  55. package/dist/components/MemoryInspector/index.d.ts +0 -3
  56. package/dist/components/MemoryInspector/index.d.ts.map +0 -1
  57. package/dist/components/MemoryInspector/index.js +0 -2
  58. package/dist/components/MemoryInspector/index.js.map +0 -1
  59. package/dist/components/NarrativeLog/NarrativeLog.d.ts +0 -15
  60. package/dist/components/NarrativeLog/NarrativeLog.d.ts.map +0 -1
  61. package/dist/components/NarrativeLog/NarrativeLog.js +0 -65
  62. package/dist/components/NarrativeLog/NarrativeLog.js.map +0 -1
  63. package/dist/components/NarrativeLog/index.d.ts +0 -3
  64. package/dist/components/NarrativeLog/index.d.ts.map +0 -1
  65. package/dist/components/NarrativeLog/index.js +0 -2
  66. package/dist/components/NarrativeLog/index.js.map +0 -1
  67. package/dist/components/NarrativeTrace/NarrativeTrace.d.ts +0 -13
  68. package/dist/components/NarrativeTrace/NarrativeTrace.d.ts.map +0 -1
  69. package/dist/components/NarrativeTrace/NarrativeTrace.js +0 -134
  70. package/dist/components/NarrativeTrace/NarrativeTrace.js.map +0 -1
  71. package/dist/components/NarrativeTrace/index.d.ts +0 -3
  72. package/dist/components/NarrativeTrace/index.d.ts.map +0 -1
  73. package/dist/components/NarrativeTrace/index.js +0 -2
  74. package/dist/components/NarrativeTrace/index.js.map +0 -1
  75. package/dist/components/ResultPanel/ResultPanel.d.ts +0 -11
  76. package/dist/components/ResultPanel/ResultPanel.d.ts.map +0 -1
  77. package/dist/components/ResultPanel/ResultPanel.js +0 -54
  78. package/dist/components/ResultPanel/ResultPanel.js.map +0 -1
  79. package/dist/components/ResultPanel/index.d.ts +0 -3
  80. package/dist/components/ResultPanel/index.d.ts.map +0 -1
  81. package/dist/components/ResultPanel/index.js +0 -2
  82. package/dist/components/ResultPanel/index.js.map +0 -1
  83. package/dist/components/ScopeDiff/ScopeDiff.d.ts +0 -17
  84. package/dist/components/ScopeDiff/ScopeDiff.d.ts.map +0 -1
  85. package/dist/components/ScopeDiff/ScopeDiff.js +0 -87
  86. package/dist/components/ScopeDiff/ScopeDiff.js.map +0 -1
  87. package/dist/components/ScopeDiff/index.d.ts +0 -3
  88. package/dist/components/ScopeDiff/index.d.ts.map +0 -1
  89. package/dist/components/ScopeDiff/index.js +0 -2
  90. package/dist/components/ScopeDiff/index.js.map +0 -1
  91. package/dist/components/SnapshotPanel/SnapshotPanel.d.ts +0 -17
  92. package/dist/components/SnapshotPanel/SnapshotPanel.d.ts.map +0 -1
  93. package/dist/components/SnapshotPanel/SnapshotPanel.js +0 -85
  94. package/dist/components/SnapshotPanel/SnapshotPanel.js.map +0 -1
  95. package/dist/components/SnapshotPanel/index.d.ts +0 -3
  96. package/dist/components/SnapshotPanel/index.d.ts.map +0 -1
  97. package/dist/components/SnapshotPanel/index.js +0 -2
  98. package/dist/components/SnapshotPanel/index.js.map +0 -1
  99. package/dist/components/StageNode/StageNode.d.ts +0 -52
  100. package/dist/components/StageNode/StageNode.d.ts.map +0 -1
  101. package/dist/components/StageNode/StageNode.js +0 -314
  102. package/dist/components/StageNode/StageNode.js.map +0 -1
  103. package/dist/components/StageNode/index.d.ts +0 -3
  104. package/dist/components/StageNode/index.d.ts.map +0 -1
  105. package/dist/components/StageNode/index.js +0 -2
  106. package/dist/components/StageNode/index.js.map +0 -1
  107. package/dist/components/TimeTravelControls/TimeTravelControls.d.ts +0 -13
  108. package/dist/components/TimeTravelControls/TimeTravelControls.d.ts.map +0 -1
  109. package/dist/components/TimeTravelControls/TimeTravelControls.js +0 -120
  110. package/dist/components/TimeTravelControls/TimeTravelControls.js.map +0 -1
  111. package/dist/components/TimeTravelControls/index.d.ts +0 -3
  112. package/dist/components/TimeTravelControls/index.d.ts.map +0 -1
  113. package/dist/components/TimeTravelControls/index.js +0 -2
  114. package/dist/components/TimeTravelControls/index.js.map +0 -1
  115. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts +0 -33
  116. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts.map +0 -1
  117. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js +0 -119
  118. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js.map +0 -1
  119. package/dist/components/TimeTravelDebugger/index.d.ts +0 -3
  120. package/dist/components/TimeTravelDebugger/index.d.ts.map +0 -1
  121. package/dist/components/TimeTravelDebugger/index.js +0 -2
  122. package/dist/components/TimeTravelDebugger/index.js.map +0 -1
  123. package/dist/flowchart.d.ts.map +0 -1
  124. package/dist/index.d.ts.map +0 -1
  125. package/dist/theme/ThemeProvider.d.ts +0 -27
  126. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  127. package/dist/theme/ThemeProvider.js +0 -30
  128. package/dist/theme/ThemeProvider.js.map +0 -1
  129. package/dist/theme/index.d.ts +0 -9
  130. package/dist/theme/index.d.ts.map +0 -1
  131. package/dist/theme/index.js +0 -6
  132. package/dist/theme/index.js.map +0 -1
  133. package/dist/theme/presets.d.ts +0 -18
  134. package/dist/theme/presets.d.ts.map +0 -1
  135. package/dist/theme/presets.js +0 -92
  136. package/dist/theme/presets.js.map +0 -1
  137. package/dist/theme/styles.d.ts +0 -32
  138. package/dist/theme/styles.d.ts.map +0 -1
  139. package/dist/theme/styles.js +0 -37
  140. package/dist/theme/styles.js.map +0 -1
  141. package/dist/theme/tokens.d.ts +0 -49
  142. package/dist/theme/tokens.d.ts.map +0 -1
  143. package/dist/theme/tokens.js +0 -79
  144. package/dist/theme/tokens.js.map +0 -1
  145. package/dist/tsconfig.tsbuildinfo +0 -1
  146. package/dist/types.d.ts +0 -60
  147. package/dist/types.d.ts.map +0 -1
  148. package/dist/types.js +0 -2
  149. package/dist/types.js.map +0 -1
@@ -1,314 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { memo, useEffect, useRef } from "react";
3
- import { Handle, Position } from "@xyflow/react";
4
- import { theme } from "../../theme";
5
- const KEYFRAMES_ID = "fp-stage-node-keyframes";
6
- const KEYFRAMES_CSS = `
7
- @media (prefers-reduced-motion: no-preference) {
8
- @keyframes fp-pulse {
9
- 0%, 100% { opacity: 0.4; transform: scale(1); }
10
- 50% { opacity: 0.15; transform: scale(1.06); }
11
- }
12
- @keyframes fp-blink {
13
- 0%, 100% { opacity: 1; }
14
- 50% { opacity: 0.3; }
15
- }
16
- }
17
- @media (prefers-reduced-motion: reduce) {
18
- @keyframes fp-pulse { 0%, 100% { opacity: 0.3; } }
19
- @keyframes fp-blink { 0%, 100% { opacity: 1; } }
20
- }
21
- `;
22
- // ── Stage icon SVGs ───────────────────────────────────────────────────────
23
- // Inline SVGs for crisp rendering at any size. Consumers pass a string key
24
- // via SpecNode.icon; StageNode renders the matching mini-icon.
25
- const ICON_SIZE = 16;
26
- function StageIcon({ type, color }) {
27
- const s = ICON_SIZE;
28
- const props = { width: s, height: s, viewBox: `0 0 ${s} ${s}`, fill: "none", style: { flexShrink: 0 } };
29
- switch (type) {
30
- // LLM / AI call — brain/sparkle
31
- case "llm":
32
- case "ai":
33
- return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "8", r: "6", stroke: color, strokeWidth: "1.5" }), _jsx("path", { d: "M5.5 8C5.5 6.5 6.5 5 8 5S10.5 6.5 10.5 8", stroke: color, strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("circle", { cx: "8", cy: "9.5", r: "1", fill: color }), _jsx("line", { x1: "8", y1: "2", x2: "8", y2: "3.5", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "12.5", y1: "4", x2: "11.2", y2: "5", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "3.5", y1: "4", x2: "4.8", y2: "5", stroke: color, strokeWidth: "1", strokeLinecap: "round" })] }));
34
- // Tool / function call — gear
35
- case "tool":
36
- case "function":
37
- return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "8", r: "3", stroke: color, strokeWidth: "1.5" }), [0, 45, 90, 135, 180, 225, 270, 315].map((angle) => {
38
- const rad = (angle * Math.PI) / 180;
39
- const x1 = 8 + Math.cos(rad) * 4.5;
40
- const y1 = 8 + Math.sin(rad) * 4.5;
41
- const x2 = 8 + Math.cos(rad) * 6;
42
- const y2 = 8 + Math.sin(rad) * 6;
43
- return _jsx("line", { x1: x1, y1: y1, x2: x2, y2: y2, stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }, angle);
44
- })] }));
45
- // RAG / retrieval — magnifying glass + doc
46
- case "rag":
47
- case "search":
48
- case "retrieval":
49
- return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "7", cy: "7", r: "4", stroke: color, strokeWidth: "1.5" }), _jsx("line", { x1: "10", y1: "10", x2: "13.5", y2: "13.5", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5.5", y1: "6", x2: "8.5", y2: "6", stroke: color, strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "5.5", y1: "8", x2: "7.5", y2: "8", stroke: color, strokeWidth: "1", strokeLinecap: "round" })] }));
50
- // Parse / process — diamond with arrows
51
- case "parse":
52
- case "process":
53
- case "transform":
54
- return (_jsx("svg", { ...props, children: _jsx("rect", { x: "4", y: "4", width: "8", height: "8", rx: "1.5", stroke: color, strokeWidth: "1.5", transform: "rotate(45 8 8)" }) }));
55
- // Start / seed — play triangle
56
- case "start":
57
- case "seed":
58
- case "init":
59
- return (_jsx("svg", { ...props, children: _jsx("path", { d: "M5 3.5L12.5 8L5 12.5V3.5Z", fill: color, opacity: "0.8" }) }));
60
- // End / finalize — stop square
61
- case "end":
62
- case "finalize":
63
- case "output":
64
- return (_jsx("svg", { ...props, children: _jsx("rect", { x: "4", y: "4", width: "8", height: "8", rx: "1.5", fill: color, opacity: "0.8" }) }));
65
- // Agent — person silhouette
66
- case "agent":
67
- case "orchestrator":
68
- return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "8", cy: "5", r: "2.5", stroke: color, strokeWidth: "1.5" }), _jsx("path", { d: "M3.5 14C3.5 11 5.5 9 8 9S12.5 11 12.5 14", stroke: color, strokeWidth: "1.5", strokeLinecap: "round" })] }));
69
- // Swarm — multi-agent
70
- case "swarm":
71
- case "multi-agent":
72
- return (_jsxs("svg", { ...props, children: [_jsx("circle", { cx: "5", cy: "5", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("circle", { cx: "11", cy: "5", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("circle", { cx: "8", cy: "11", r: "2", stroke: color, strokeWidth: "1.2" }), _jsx("line", { x1: "5", y1: "7", x2: "8", y2: "9", stroke: color, strokeWidth: "1", opacity: "0.5" }), _jsx("line", { x1: "11", y1: "7", x2: "8", y2: "9", stroke: color, strokeWidth: "1", opacity: "0.5" })] }));
73
- // Guard / guardrail — shield
74
- case "guard":
75
- case "guardrail":
76
- case "validate":
77
- return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M8 2L3 5V9C3 11.5 5 13.5 8 14.5C11 13.5 13 11.5 13 9V5L8 2Z", stroke: color, strokeWidth: "1.5", strokeLinejoin: "round" }), _jsx("path", { d: "M6 8L7.5 9.5L10 6.5", stroke: color, strokeWidth: "1.2", strokeLinecap: "round", strokeLinejoin: "round" })] }));
78
- // Stream — wave
79
- case "stream":
80
- case "streaming":
81
- return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M2 8C4 5 6 11 8 8S12 5 14 8", stroke: color, strokeWidth: "1.5", strokeLinecap: "round", fill: "none" }), _jsx("path", { d: "M2 11C4 8 6 14 8 11S12 8 14 11", stroke: color, strokeWidth: "1", strokeLinecap: "round", fill: "none", opacity: "0.5" })] }));
82
- // Memory / state — database cylinder
83
- case "memory":
84
- case "state":
85
- case "db":
86
- return (_jsxs("svg", { ...props, children: [_jsx("ellipse", { cx: "8", cy: "4.5", rx: "5", ry: "2", stroke: color, strokeWidth: "1.3" }), _jsx("line", { x1: "3", y1: "4.5", x2: "3", y2: "11.5", stroke: color, strokeWidth: "1.3" }), _jsx("line", { x1: "13", y1: "4.5", x2: "13", y2: "11.5", stroke: color, strokeWidth: "1.3" }), _jsx("ellipse", { cx: "8", cy: "11.5", rx: "5", ry: "2", stroke: color, strokeWidth: "1.3" })] }));
87
- // Loop — circular arrow
88
- case "loop":
89
- case "retry":
90
- return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M12 8A4 4 0 1 1 8 4", stroke: color, strokeWidth: "1.5", strokeLinecap: "round", fill: "none" }), _jsx("path", { d: "M8 1.5L10.5 4L8 6.5", stroke: color, strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] }));
91
- // Lazy / service — cloud (deferred resolution, loaded on demand)
92
- case "lazy":
93
- case "service":
94
- case "cloud":
95
- return (_jsx("svg", { ...props, children: _jsx("path", { d: "M4.5 12C2.8 12 1.5 10.7 1.5 9C1.5 7.5 2.5 6.3 3.8 6C4 4 5.8 2.5 8 2.5C9.8 2.5 11.3 3.5 11.9 5C13.9 5.2 15.5 6.8 15.5 8.8C15.5 10.8 13.9 12.5 11.8 12.5H4.5", stroke: color, strokeWidth: "1.3", strokeLinecap: "round", fill: "none" }) }));
96
- // Decision — diamond (already handled by isDecider shape)
97
- case "decision":
98
- case "router":
99
- return (_jsxs("svg", { ...props, children: [_jsx("path", { d: "M8 2L14 8L8 14L2 8Z", stroke: color, strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: color })] }));
100
- default:
101
- return null;
102
- }
103
- }
104
- /**
105
- * Custom ReactFlow node for pipeline stages.
106
- * All colors and fonts come from `--fp-*` CSS variables (via theme).
107
- * Shows execution state via color, icon, step badge, and pulse animation.
108
- */
109
- export const StageNode = memo(function StageNode({ data, }) {
110
- const { label, active, done, error, linked, icon, stepNumbers, dimmed, isSubflow, isLazy, isDecider, isFork, description, stageId, showStageId } = data;
111
- // Lazy nodes show cloud icon by default (unless another icon is specified)
112
- const effectiveIcon = icon || (isLazy ? "lazy" : undefined);
113
- // Lazy + unresolved = dashed border
114
- const isLazyUnresolved = isLazy && !done && !active;
115
- // Inject keyframes once into document head
116
- const injectedRef = useRef(false);
117
- useEffect(() => {
118
- if (injectedRef.current)
119
- return;
120
- if (typeof document !== "undefined" && !document.getElementById(KEYFRAMES_ID)) {
121
- const styleEl = document.createElement("style");
122
- styleEl.id = KEYFRAMES_ID;
123
- styleEl.textContent = KEYFRAMES_CSS;
124
- document.head.appendChild(styleEl);
125
- }
126
- injectedRef.current = true;
127
- }, []);
128
- const isOnPath = active || done;
129
- const bg = active
130
- ? theme.primary
131
- : done
132
- ? theme.success
133
- : error
134
- ? theme.error
135
- : theme.bgSecondary;
136
- const borderColor = active
137
- ? theme.primary
138
- : done
139
- ? theme.success
140
- : error
141
- ? theme.error
142
- : theme.border;
143
- const shadow = active
144
- ? `0 0 16px color-mix(in srgb, ${theme.primary} 40%, transparent)`
145
- : done
146
- ? `0 0 8px color-mix(in srgb, ${theme.success} 20%, transparent)`
147
- : error
148
- ? `0 0 12px color-mix(in srgb, ${theme.error} 30%, transparent)`
149
- : `0 2px 8px rgba(0,0,0,0.15)`;
150
- // Colored states use white for contrast; default uses consumer's text color.
151
- const textColor = active || done || error ? "#fff" : theme.textPrimary;
152
- return (_jsxs(_Fragment, { children: [_jsx(Handle, { type: "target", position: Position.Top, style: { opacity: 0 } }), _jsxs("div", { style: {
153
- position: "relative",
154
- display: "flex",
155
- alignItems: "center",
156
- gap: 6,
157
- }, children: [stepNumbers && stepNumbers.length > 0 && isOnPath && (_jsx("div", { style: {
158
- position: "absolute",
159
- top: -10,
160
- left: -10,
161
- display: "flex",
162
- gap: 3,
163
- zIndex: 10,
164
- }, children: stepNumbers.map((num, i) => {
165
- const isLatest = i === stepNumbers.length - 1;
166
- const badgeBg = isLatest && active ? theme.primary : theme.success;
167
- const glow = isLatest && active
168
- ? `color-mix(in srgb, ${theme.primary} 50%, transparent)`
169
- : `color-mix(in srgb, ${theme.success} 40%, transparent)`;
170
- return (_jsx("div", { style: {
171
- width: 22,
172
- height: 22,
173
- borderRadius: "50%",
174
- background: badgeBg,
175
- color: "#fff",
176
- fontSize: 11,
177
- fontWeight: 700,
178
- display: "flex",
179
- alignItems: "center",
180
- justifyContent: "center",
181
- boxShadow: `0 0 8px ${glow}`,
182
- }, children: num }, num));
183
- }) })), linked && (_jsx("div", { style: {
184
- position: "absolute",
185
- inset: -6,
186
- borderRadius: isDecider ? 0 : `calc(${theme.radius} + 4px)`,
187
- clipPath: isDecider ? "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" : undefined,
188
- border: `2px solid ${theme.primary}`,
189
- opacity: 0.4,
190
- animation: "fp-pulse 2s ease-in-out infinite",
191
- } })), active && (_jsx("div", { style: {
192
- position: "absolute",
193
- inset: -6,
194
- borderRadius: isDecider ? 0 : `calc(${theme.radius} + 4px)`,
195
- clipPath: isDecider ? "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)" : undefined,
196
- border: `2px solid ${theme.primary}`,
197
- opacity: 0.3,
198
- animation: "fp-pulse 1.5s ease-out infinite",
199
- } })), isDecider ? (_jsxs("div", { style: { position: "relative", width: 120, height: 72 }, children: [_jsx("div", { style: {
200
- position: "absolute",
201
- inset: 0,
202
- background: bg,
203
- clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
204
- border: "none",
205
- boxShadow: shadow,
206
- transition: "all 0.3s ease",
207
- } }), _jsx("div", { style: {
208
- position: "absolute",
209
- inset: -2,
210
- clipPath: "polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)",
211
- background: borderColor,
212
- zIndex: -1,
213
- ...(isLazyUnresolved ? {
214
- background: "transparent",
215
- // Dashed border via SVG for clip-path (CSS border doesn't work with clip-path)
216
- } : {}),
217
- } }), _jsxs("div", { style: {
218
- position: "absolute",
219
- inset: 0,
220
- display: "flex",
221
- flexDirection: "column",
222
- alignItems: "center",
223
- justifyContent: "center",
224
- gap: 1,
225
- fontFamily: theme.fontSans,
226
- zIndex: 1,
227
- }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4 }, children: [effectiveIcon && _jsx(StageIcon, { type: effectiveIcon, color: textColor }), !effectiveIcon && (_jsx("span", { style: { fontSize: 9, color: textColor }, children: "\u25C7" })), _jsx("span", { style: {
228
- fontSize: 11,
229
- fontWeight: 600,
230
- color: textColor,
231
- whiteSpace: "nowrap",
232
- }, children: label })] }), description && (_jsx("span", { style: {
233
- fontSize: 8,
234
- fontWeight: 400,
235
- color: textColor,
236
- opacity: 0.7,
237
- whiteSpace: "nowrap",
238
- overflow: "hidden",
239
- textOverflow: "ellipsis",
240
- maxWidth: 100,
241
- }, children: description })), showStageId && stageId && (_jsx("span", { style: {
242
- fontSize: 8,
243
- fontFamily: "ui-monospace, monospace",
244
- color: textColor,
245
- opacity: 0.55,
246
- whiteSpace: "nowrap",
247
- overflow: "hidden",
248
- textOverflow: "ellipsis",
249
- maxWidth: 100,
250
- }, title: `stageId: ${stageId}`, children: stageId }))] })] })) : (
251
- /* Standard rectangular node */
252
- _jsxs("div", { style: {
253
- background: bg,
254
- border: `2px ${isLazyUnresolved ? "dashed" : "solid"} ${borderColor}`,
255
- borderRadius: theme.radius,
256
- padding: description ? "8px 16px" : "10px 20px",
257
- display: "flex",
258
- flexDirection: "column",
259
- alignItems: "center",
260
- gap: description ? 2 : 0,
261
- boxShadow: shadow,
262
- transition: "all 0.3s ease",
263
- fontFamily: theme.fontSans,
264
- minWidth: 100,
265
- justifyContent: "center",
266
- }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [effectiveIcon && _jsx(StageIcon, { type: effectiveIcon, color: textColor }), done && !effectiveIcon && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2713" })), active && !effectiveIcon && (_jsx("span", { style: {
267
- width: 8,
268
- height: 8,
269
- borderRadius: "50%",
270
- background: "#fff",
271
- animation: "fp-blink 1s ease-in-out infinite",
272
- flexShrink: 0,
273
- } })), error && !effectiveIcon && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2717" })), _jsx("span", { style: {
274
- fontSize: 13,
275
- fontWeight: 500,
276
- color: textColor,
277
- whiteSpace: "nowrap",
278
- }, children: label }), isSubflow && (_jsx("span", { style: {
279
- display: "inline-flex",
280
- alignItems: "center",
281
- justifyContent: "center",
282
- width: 16,
283
- height: 16,
284
- borderRadius: 3,
285
- border: `1.5px solid ${textColor}`,
286
- position: "relative",
287
- opacity: 0.7,
288
- flexShrink: 0,
289
- }, children: _jsx("span", { style: {
290
- width: 8,
291
- height: 8,
292
- borderRadius: 2,
293
- border: `1px solid ${textColor}`,
294
- } }) }))] }), description && (_jsx("span", { style: {
295
- fontSize: 10,
296
- fontWeight: 400,
297
- color: textColor,
298
- opacity: 0.7,
299
- whiteSpace: "nowrap",
300
- overflow: "hidden",
301
- textOverflow: "ellipsis",
302
- maxWidth: 160,
303
- }, children: description })), showStageId && stageId && (_jsx("span", { style: {
304
- fontSize: 9,
305
- fontFamily: "ui-monospace, monospace",
306
- color: textColor,
307
- opacity: 0.55,
308
- whiteSpace: "nowrap",
309
- overflow: "hidden",
310
- textOverflow: "ellipsis",
311
- maxWidth: 160,
312
- }, title: `stageId: ${stageId}`, children: stageId }))] }))] }), _jsx(Handle, { type: "source", position: Position.Bottom, style: { opacity: 0 } }), _jsx(Handle, { id: "loop-source", type: "source", position: Position.Bottom, style: { background: "transparent", border: "none", width: 6, height: 6, left: "75%" } }), _jsx(Handle, { id: "loop-target", type: "target", position: Position.Right, style: { background: "transparent", border: "none", width: 6, height: 6 } })] }));
313
- });
314
- //# sourceMappingURL=StageNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageNode.js","sourceRoot":"","sources":["../../../src/components/StageNode/StageNode.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { StageNode } from "./StageNode";
2
- export type { StageNodeData } from "./StageNode";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/StageNode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { StageNode } from "./StageNode";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/StageNode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { StageSnapshot, BaseComponentProps } from "../../types";
2
- export interface TimeTravelControlsProps extends BaseComponentProps {
3
- /** Stage snapshots */
4
- snapshots: StageSnapshot[];
5
- /** Currently selected stage index */
6
- selectedIndex: number;
7
- /** Callback when selected index changes */
8
- onIndexChange: (index: number) => void;
9
- /** Enable auto-play with Gantt-proportional timing */
10
- autoPlayable?: boolean;
11
- }
12
- export declare function TimeTravelControls({ snapshots, selectedIndex, onIndexChange, autoPlayable, size, unstyled, className, style, }: TimeTravelControlsProps): import("react/jsx-runtime").JSX.Element;
13
- //# sourceMappingURL=TimeTravelControls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeTravelControls.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrE,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,aAAa,EACb,YAAmB,EACnB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,2CA0NzB"}
@@ -1,120 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useRef, useCallback } from "react";
3
- import { theme, fontSize } from "../../theme";
4
- export function TimeTravelControls({ snapshots, selectedIndex, onIndexChange, autoPlayable = true, size = "default", unstyled = false, className, style, }) {
5
- const [playing, setPlaying] = useState(false);
6
- const playRef = useRef(null);
7
- const total = snapshots.length;
8
- const canPrev = selectedIndex > 0;
9
- const canNext = selectedIndex < total - 1;
10
- // Auto-advance with proportional timing
11
- useEffect(() => {
12
- if (!playing || !autoPlayable)
13
- return;
14
- if (selectedIndex >= total - 1) {
15
- setPlaying(false);
16
- return;
17
- }
18
- const stageDur = snapshots[selectedIndex]?.durationMs ?? 1;
19
- const totalDur = snapshots.reduce((s, snap) => s + snap.durationMs, 0) || 1;
20
- const fraction = stageDur / totalDur;
21
- const baseMs = 3000;
22
- const delay = Math.max(200, Math.min(fraction * baseMs, 2000));
23
- playRef.current = setTimeout(() => {
24
- onIndexChange(selectedIndex + 1);
25
- }, delay);
26
- return () => {
27
- if (playRef.current)
28
- clearTimeout(playRef.current);
29
- };
30
- }, [playing, selectedIndex, snapshots, total, onIndexChange, autoPlayable]);
31
- const togglePlay = useCallback(() => {
32
- if (playing) {
33
- setPlaying(false);
34
- }
35
- else {
36
- if (selectedIndex >= total - 1)
37
- onIndexChange(0);
38
- setPlaying(true);
39
- }
40
- }, [playing, selectedIndex, total, onIndexChange]);
41
- const handleKeyDown = useCallback((e) => {
42
- if (e.key === "ArrowLeft" && canPrev && !playing) {
43
- e.preventDefault();
44
- setPlaying(false);
45
- onIndexChange(selectedIndex - 1);
46
- }
47
- else if (e.key === "ArrowRight" && canNext && !playing) {
48
- e.preventDefault();
49
- setPlaying(false);
50
- onIndexChange(selectedIndex + 1);
51
- }
52
- else if (e.key === " " && autoPlayable) {
53
- e.preventDefault();
54
- togglePlay();
55
- }
56
- }, [canPrev, canNext, playing, selectedIndex, onIndexChange, autoPlayable, togglePlay]);
57
- const fs = fontSize[size];
58
- if (unstyled) {
59
- return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-controls", role: "toolbar", "aria-label": "Time travel controls", tabIndex: 0, onKeyDown: handleKeyDown, children: [_jsx("button", { "data-fp": "tt-prev", disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, "aria-label": "Previous stage", children: "Prev" }), autoPlayable && (_jsx("button", { "data-fp": "tt-play", onClick: togglePlay, "aria-label": playing ? "Pause" : "Play", children: playing ? "Pause" : "Play" })), _jsx("button", { "data-fp": "tt-next", disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, "aria-label": "Next stage", children: "Next" }), _jsx("div", { "data-fp": "tt-ticks", children: snapshots.map((snap, i) => (_jsx("button", { "data-fp": "tt-tick", "data-active": i === selectedIndex, "data-done": i < selectedIndex, onClick: () => { setPlaying(false); onIndexChange(i); }, title: snap.stageLabel }, i))) })] }));
60
- }
61
- const btnStyle = (disabled) => ({
62
- background: theme.bgTertiary,
63
- border: `1px solid ${theme.border}`,
64
- color: disabled ? theme.textMuted : theme.textPrimary,
65
- borderRadius: "6px",
66
- padding: "4px 12px",
67
- fontSize: fs.body,
68
- fontWeight: 600,
69
- cursor: disabled ? "not-allowed" : "pointer",
70
- opacity: disabled ? 0.5 : 1,
71
- flexShrink: 0,
72
- });
73
- return (_jsxs("div", { className: className, style: {
74
- padding: "6px 12px",
75
- background: theme.bgSecondary,
76
- borderBottom: `1px solid ${theme.border}`,
77
- display: "flex",
78
- alignItems: "center",
79
- gap: 6,
80
- flexShrink: 0,
81
- ...style,
82
- }, "data-fp": "time-travel-controls", role: "toolbar", "aria-label": "Time travel controls", tabIndex: 0, onKeyDown: handleKeyDown, children: [_jsx("button", { style: btnStyle(!canPrev || playing), disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, "aria-label": "Previous stage", children: "\u25C0" }), autoPlayable && (_jsx("button", { onClick: togglePlay, style: {
83
- background: playing ? theme.primary : theme.bgTertiary,
84
- border: `1px solid ${theme.border}`,
85
- color: playing ? "white" : theme.textPrimary,
86
- borderRadius: "6px",
87
- width: 28,
88
- height: 28,
89
- display: "flex",
90
- alignItems: "center",
91
- justifyContent: "center",
92
- cursor: "pointer",
93
- fontSize: 14,
94
- flexShrink: 0,
95
- }, title: playing ? "Pause" : "Play", "aria-label": playing ? "Pause" : "Play", children: playing ? "\u23F8" : "\u25B6" })), _jsx("button", { style: btnStyle(!canNext || playing), disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, "aria-label": "Next stage", children: "\u25B6" }), _jsx("div", { style: {
96
- flex: 1,
97
- display: "flex",
98
- alignItems: "center",
99
- gap: 2,
100
- padding: "0 4px",
101
- }, children: snapshots.map((snap, i) => {
102
- const isActive = i === selectedIndex;
103
- const isDone = i < selectedIndex;
104
- return (_jsx("button", { onClick: () => { setPlaying(false); onIndexChange(i); }, title: snap.stageLabel, style: {
105
- flex: 1,
106
- height: isActive ? 14 : 8,
107
- borderRadius: 3,
108
- border: "none",
109
- cursor: "pointer",
110
- background: isActive
111
- ? theme.primary
112
- : isDone
113
- ? theme.success
114
- : theme.bgTertiary,
115
- opacity: isDone || isActive ? 1 : 0.4,
116
- transition: "all 0.15s ease",
117
- } }, i));
118
- }) })] }));
119
- }
120
- //# sourceMappingURL=TimeTravelControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeTravelControls.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { TimeTravelControls } from "./TimeTravelControls";
2
- export type { TimeTravelControlsProps } from "./TimeTravelControls";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { TimeTravelControls } from "./TimeTravelControls";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,33 +0,0 @@
1
- import type { StageSnapshot, BaseComponentProps } from "../../types";
2
- import type { TraceGraph } from "../FlowchartView/traceStructureRecorder";
3
- import type { RuntimeOverlay } from "../FlowchartView/createTraceRuntimeOverlay";
4
- export interface TimeTravelDebuggerProps extends BaseComponentProps {
5
- /** Stage snapshots */
6
- snapshots: StageSnapshot[];
7
- /** Recorder-captured build-time graph (from
8
- * `createTraceStructureRecorder().getGraph()`). Required for the
9
- * chart rendering — replaces the legacy `nodes` / `edges` props. */
10
- graph: TraceGraph;
11
- /** Optional runtime overlay (from
12
- * `createTraceRuntimeOverlay().getOverlay()`). When provided, the
13
- * chart renders via `<TracedFlow>` with per-step coloring synced to
14
- * the scrubber; otherwise renders via `<TraceFlow>` (build-time only). */
15
- runtimeOverlay?: RuntimeOverlay;
16
- /** Show Gantt timeline */
17
- showGantt?: boolean;
18
- /** Layout direction */
19
- layout?: "horizontal" | "vertical";
20
- /** Title */
21
- title?: string;
22
- }
23
- /**
24
- * Full time-travel debugger: scrubber + recorder-driven flowchart +
25
- * memory + narrative + gantt. This is the "batteries included"
26
- * component for pipeline debugging.
27
- *
28
- * v6+: chart rendering is recorder-driven. Pass `graph` (always) and
29
- * optionally `runtimeOverlay` for per-step coloring tied to the
30
- * scrubber.
31
- */
32
- export declare function TimeTravelDebugger({ snapshots, graph, runtimeOverlay, showGantt, layout, title, size, unstyled, className, style, }: TimeTravelDebuggerProps): import("react/jsx-runtime").JSX.Element;
33
- //# sourceMappingURL=TimeTravelDebugger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeTravelDebugger.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAEjF,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B;;yEAEqE;IACrE,KAAK,EAAE,UAAU,CAAC;IAClB;;;+EAG2E;IAC3E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uBAAuB;IACvB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACnC,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,KAAK,EACL,cAAc,EACd,SAAgB,EAChB,MAAqB,EACrB,KAA8B,EAC9B,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,2CAwOzB"}