footprint-explainable-ui 0.3.2 → 0.5.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 (161) hide show
  1. package/README.md +42 -3
  2. package/dist/adapters/fromRuntimeSnapshot.d.ts +52 -0
  3. package/dist/adapters/fromRuntimeSnapshot.d.ts.map +1 -0
  4. package/dist/adapters/fromRuntimeSnapshot.js +97 -0
  5. package/dist/adapters/fromRuntimeSnapshot.js.map +1 -0
  6. package/dist/components/ExplainableShell/ExplainableShell.d.ts +26 -0
  7. package/dist/components/ExplainableShell/ExplainableShell.d.ts.map +1 -0
  8. package/dist/components/ExplainableShell/ExplainableShell.js +94 -0
  9. package/dist/components/ExplainableShell/ExplainableShell.js.map +1 -0
  10. package/dist/components/ExplainableShell/index.d.ts +3 -0
  11. package/dist/components/ExplainableShell/index.d.ts.map +1 -0
  12. package/dist/components/ExplainableShell/index.js +2 -0
  13. package/dist/components/ExplainableShell/index.js.map +1 -0
  14. package/dist/components/FlowchartView/FlowchartView.d.ts +20 -0
  15. package/dist/components/FlowchartView/FlowchartView.d.ts.map +1 -0
  16. package/dist/components/FlowchartView/FlowchartView.js +80 -0
  17. package/dist/components/FlowchartView/FlowchartView.js.map +1 -0
  18. package/dist/components/FlowchartView/SubflowBreadcrumb.d.ts +11 -0
  19. package/dist/components/FlowchartView/SubflowBreadcrumb.d.ts.map +1 -0
  20. package/dist/components/FlowchartView/SubflowBreadcrumb.js +49 -0
  21. package/dist/components/FlowchartView/SubflowBreadcrumb.js.map +1 -0
  22. package/dist/components/FlowchartView/SubflowTree.d.ts +36 -0
  23. package/dist/components/FlowchartView/SubflowTree.d.ts.map +1 -0
  24. package/dist/components/FlowchartView/SubflowTree.js +143 -0
  25. package/dist/components/FlowchartView/SubflowTree.js.map +1 -0
  26. package/dist/components/FlowchartView/TracedFlowchartView.d.ts +20 -0
  27. package/dist/components/FlowchartView/TracedFlowchartView.d.ts.map +1 -0
  28. package/dist/components/FlowchartView/TracedFlowchartView.js +101 -0
  29. package/dist/components/FlowchartView/TracedFlowchartView.js.map +1 -0
  30. package/dist/components/FlowchartView/index.d.ts +11 -0
  31. package/dist/components/FlowchartView/index.d.ts.map +1 -0
  32. package/dist/components/FlowchartView/index.js +6 -0
  33. package/dist/components/FlowchartView/index.js.map +1 -0
  34. package/dist/components/FlowchartView/specToReactFlow.d.ts +56 -0
  35. package/dist/components/FlowchartView/specToReactFlow.d.ts.map +1 -0
  36. package/dist/components/FlowchartView/specToReactFlow.js +202 -0
  37. package/dist/components/FlowchartView/specToReactFlow.js.map +1 -0
  38. package/dist/components/FlowchartView/useSubflowNavigation.d.ts +35 -0
  39. package/dist/components/FlowchartView/useSubflowNavigation.d.ts.map +1 -0
  40. package/dist/components/FlowchartView/useSubflowNavigation.js +80 -0
  41. package/dist/components/FlowchartView/useSubflowNavigation.js.map +1 -0
  42. package/dist/components/GanttTimeline/GanttTimeline.d.ts +18 -0
  43. package/dist/components/GanttTimeline/GanttTimeline.d.ts.map +1 -0
  44. package/dist/components/GanttTimeline/GanttTimeline.js +123 -0
  45. package/dist/components/GanttTimeline/GanttTimeline.js.map +1 -0
  46. package/dist/components/GanttTimeline/index.d.ts +3 -0
  47. package/dist/components/GanttTimeline/index.d.ts.map +1 -0
  48. package/dist/components/GanttTimeline/index.js +2 -0
  49. package/dist/components/GanttTimeline/index.js.map +1 -0
  50. package/dist/components/MemoryInspector/MemoryInspector.d.ts +19 -0
  51. package/dist/components/MemoryInspector/MemoryInspector.d.ts.map +1 -0
  52. package/dist/components/MemoryInspector/MemoryInspector.js +95 -0
  53. package/dist/components/MemoryInspector/MemoryInspector.js.map +1 -0
  54. package/dist/components/MemoryInspector/index.d.ts +3 -0
  55. package/dist/components/MemoryInspector/index.d.ts.map +1 -0
  56. package/dist/components/MemoryInspector/index.js +2 -0
  57. package/dist/components/MemoryInspector/index.js.map +1 -0
  58. package/dist/components/NarrativeLog/NarrativeLog.d.ts +15 -0
  59. package/dist/components/NarrativeLog/NarrativeLog.d.ts.map +1 -0
  60. package/dist/components/NarrativeLog/NarrativeLog.js +65 -0
  61. package/dist/components/NarrativeLog/NarrativeLog.js.map +1 -0
  62. package/dist/components/NarrativeLog/index.d.ts +3 -0
  63. package/dist/components/NarrativeLog/index.d.ts.map +1 -0
  64. package/dist/components/NarrativeLog/index.js +2 -0
  65. package/dist/components/NarrativeLog/index.js.map +1 -0
  66. package/dist/components/NarrativeTrace/NarrativeTrace.d.ts +13 -0
  67. package/dist/components/NarrativeTrace/NarrativeTrace.d.ts.map +1 -0
  68. package/dist/components/NarrativeTrace/NarrativeTrace.js +127 -0
  69. package/dist/components/NarrativeTrace/NarrativeTrace.js.map +1 -0
  70. package/dist/components/NarrativeTrace/index.d.ts +3 -0
  71. package/dist/components/NarrativeTrace/index.d.ts.map +1 -0
  72. package/dist/components/NarrativeTrace/index.js +2 -0
  73. package/dist/components/NarrativeTrace/index.js.map +1 -0
  74. package/dist/components/ResultPanel/ResultPanel.d.ts +11 -0
  75. package/dist/components/ResultPanel/ResultPanel.d.ts.map +1 -0
  76. package/dist/components/ResultPanel/ResultPanel.js +54 -0
  77. package/dist/components/ResultPanel/ResultPanel.js.map +1 -0
  78. package/dist/components/ResultPanel/index.d.ts +3 -0
  79. package/dist/components/ResultPanel/index.d.ts.map +1 -0
  80. package/dist/components/ResultPanel/index.js +2 -0
  81. package/dist/components/ResultPanel/index.js.map +1 -0
  82. package/dist/components/ScopeDiff/ScopeDiff.d.ts +17 -0
  83. package/dist/components/ScopeDiff/ScopeDiff.d.ts.map +1 -0
  84. package/dist/components/ScopeDiff/ScopeDiff.js +87 -0
  85. package/dist/components/ScopeDiff/ScopeDiff.js.map +1 -0
  86. package/dist/components/ScopeDiff/index.d.ts +3 -0
  87. package/dist/components/ScopeDiff/index.d.ts.map +1 -0
  88. package/dist/components/ScopeDiff/index.js +2 -0
  89. package/dist/components/ScopeDiff/index.js.map +1 -0
  90. package/dist/components/SnapshotPanel/SnapshotPanel.d.ts +17 -0
  91. package/dist/components/SnapshotPanel/SnapshotPanel.d.ts.map +1 -0
  92. package/dist/components/SnapshotPanel/SnapshotPanel.js +85 -0
  93. package/dist/components/SnapshotPanel/SnapshotPanel.js.map +1 -0
  94. package/dist/components/SnapshotPanel/index.d.ts +3 -0
  95. package/dist/components/SnapshotPanel/index.d.ts.map +1 -0
  96. package/dist/components/SnapshotPanel/index.js +2 -0
  97. package/dist/components/SnapshotPanel/index.js.map +1 -0
  98. package/dist/components/StageNode/StageNode.d.ts +31 -0
  99. package/dist/components/StageNode/StageNode.d.ts.map +1 -0
  100. package/dist/components/StageNode/StageNode.js +134 -0
  101. package/dist/components/StageNode/StageNode.js.map +1 -0
  102. package/dist/components/StageNode/index.d.ts +3 -0
  103. package/dist/components/StageNode/index.d.ts.map +1 -0
  104. package/dist/components/StageNode/index.js +2 -0
  105. package/dist/components/StageNode/index.js.map +1 -0
  106. package/dist/components/TimeTravelControls/TimeTravelControls.d.ts +13 -0
  107. package/dist/components/TimeTravelControls/TimeTravelControls.d.ts.map +1 -0
  108. package/dist/components/TimeTravelControls/TimeTravelControls.js +104 -0
  109. package/dist/components/TimeTravelControls/TimeTravelControls.js.map +1 -0
  110. package/dist/components/TimeTravelControls/index.d.ts +3 -0
  111. package/dist/components/TimeTravelControls/index.d.ts.map +1 -0
  112. package/dist/components/TimeTravelControls/index.js +2 -0
  113. package/dist/components/TimeTravelControls/index.js.map +1 -0
  114. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts +22 -0
  115. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.d.ts.map +1 -0
  116. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js +104 -0
  117. package/dist/components/TimeTravelDebugger/TimeTravelDebugger.js.map +1 -0
  118. package/dist/components/TimeTravelDebugger/index.d.ts +3 -0
  119. package/dist/components/TimeTravelDebugger/index.d.ts.map +1 -0
  120. package/dist/components/TimeTravelDebugger/index.js +2 -0
  121. package/dist/components/TimeTravelDebugger/index.js.map +1 -0
  122. package/dist/flowchart.cjs +704 -220
  123. package/dist/flowchart.cjs.map +1 -1
  124. package/dist/flowchart.d.cts +55 -1
  125. package/dist/flowchart.d.ts +55 -1
  126. package/dist/flowchart.d.ts.map +1 -0
  127. package/dist/flowchart.js +700 -214
  128. package/dist/flowchart.js.map +1 -1
  129. package/dist/index.cjs +849 -76
  130. package/dist/index.cjs.map +1 -1
  131. package/dist/index.d.cts +95 -3
  132. package/dist/index.d.ts +95 -3
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +851 -80
  135. package/dist/index.js.map +1 -1
  136. package/dist/theme/ThemeProvider.d.ts +13 -0
  137. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  138. package/dist/theme/ThemeProvider.js +16 -0
  139. package/dist/theme/ThemeProvider.js.map +1 -0
  140. package/dist/theme/index.d.ts +7 -0
  141. package/dist/theme/index.d.ts.map +1 -0
  142. package/dist/theme/index.js +5 -0
  143. package/dist/theme/index.js.map +1 -0
  144. package/dist/theme/presets.d.ts +15 -0
  145. package/dist/theme/presets.d.ts.map +1 -0
  146. package/dist/theme/presets.js +70 -0
  147. package/dist/theme/presets.js.map +1 -0
  148. package/dist/theme/styles.d.ts +32 -0
  149. package/dist/theme/styles.d.ts.map +1 -0
  150. package/dist/theme/styles.js +37 -0
  151. package/dist/theme/styles.js.map +1 -0
  152. package/dist/theme/tokens.d.ts +28 -0
  153. package/dist/theme/tokens.d.ts.map +1 -0
  154. package/dist/theme/tokens.js +58 -0
  155. package/dist/theme/tokens.js.map +1 -0
  156. package/dist/tsconfig.tsbuildinfo +1 -0
  157. package/dist/types.d.ts +35 -0
  158. package/dist/types.d.ts.map +1 -0
  159. package/dist/types.js +2 -0
  160. package/dist/types.js.map +1 -0
  161. package/package.json +10 -4
@@ -0,0 +1,134 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ import { Handle, Position } from "@xyflow/react";
4
+ import { theme } from "../../theme";
5
+ /**
6
+ * Custom ReactFlow node for pipeline stages.
7
+ * All colors and fonts come from `--fp-*` CSS variables (via theme).
8
+ * Shows execution state via color, icon, step badge, and pulse animation.
9
+ */
10
+ export const StageNode = memo(function StageNode({ data, }) {
11
+ const { label, active, done, error, linked, stepNumbers, dimmed, isSubflow, description } = data;
12
+ const isOnPath = active || done;
13
+ const bg = active
14
+ ? theme.primary
15
+ : done
16
+ ? theme.success
17
+ : error
18
+ ? theme.error
19
+ : theme.bgSecondary;
20
+ const borderColor = active
21
+ ? theme.primary
22
+ : done
23
+ ? theme.success
24
+ : error
25
+ ? theme.error
26
+ : theme.border;
27
+ const shadow = active
28
+ ? `0 0 16px color-mix(in srgb, ${theme.primary} 40%, transparent)`
29
+ : done
30
+ ? `0 0 8px color-mix(in srgb, ${theme.success} 20%, transparent)`
31
+ : error
32
+ ? `0 0 12px color-mix(in srgb, ${theme.error} 30%, transparent)`
33
+ : `0 2px 8px rgba(0,0,0,0.15)`;
34
+ // Colored states use white for contrast; default uses consumer's text color.
35
+ const textColor = active || done || error ? "#fff" : theme.textPrimary;
36
+ return (_jsxs(_Fragment, { children: [_jsx(Handle, { type: "target", position: Position.Top, style: { opacity: 0 } }), _jsxs("div", { style: {
37
+ position: "relative",
38
+ display: "flex",
39
+ alignItems: "center",
40
+ gap: 6,
41
+ }, children: [stepNumbers && stepNumbers.length > 0 && isOnPath && (_jsx("div", { style: {
42
+ position: "absolute",
43
+ top: -10,
44
+ left: -10,
45
+ display: "flex",
46
+ gap: 3,
47
+ zIndex: 10,
48
+ }, children: stepNumbers.map((num, i) => {
49
+ const isLatest = i === stepNumbers.length - 1;
50
+ const badgeBg = isLatest && active ? theme.primary : theme.success;
51
+ const glow = isLatest && active
52
+ ? `color-mix(in srgb, ${theme.primary} 50%, transparent)`
53
+ : `color-mix(in srgb, ${theme.success} 40%, transparent)`;
54
+ return (_jsx("div", { style: {
55
+ width: 22,
56
+ height: 22,
57
+ borderRadius: "50%",
58
+ background: badgeBg,
59
+ color: "#fff",
60
+ fontSize: 11,
61
+ fontWeight: 700,
62
+ display: "flex",
63
+ alignItems: "center",
64
+ justifyContent: "center",
65
+ boxShadow: `0 0 8px ${glow}`,
66
+ }, children: num }, num));
67
+ }) })), linked && (_jsx("div", { style: {
68
+ position: "absolute",
69
+ inset: -6,
70
+ borderRadius: `calc(${theme.radius} + 4px)`,
71
+ border: `2px solid ${theme.primary}`,
72
+ opacity: 0.4,
73
+ animation: "fp-pulse 2s ease-in-out infinite",
74
+ } })), active && (_jsx("div", { style: {
75
+ position: "absolute",
76
+ inset: -6,
77
+ borderRadius: `calc(${theme.radius} + 4px)`,
78
+ border: `2px solid ${theme.primary}`,
79
+ opacity: 0.3,
80
+ animation: "fp-pulse 1.5s ease-out infinite",
81
+ } })), _jsxs("div", { style: {
82
+ background: bg,
83
+ border: `2px solid ${borderColor}`,
84
+ borderRadius: theme.radius,
85
+ padding: description ? "8px 16px" : "10px 20px",
86
+ display: "flex",
87
+ flexDirection: "column",
88
+ alignItems: "center",
89
+ gap: description ? 2 : 0,
90
+ boxShadow: shadow,
91
+ transition: "all 0.3s ease",
92
+ fontFamily: theme.fontSans,
93
+ minWidth: 100,
94
+ justifyContent: "center",
95
+ }, children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [done && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2713" })), active && (_jsx("span", { style: {
96
+ width: 8,
97
+ height: 8,
98
+ borderRadius: "50%",
99
+ background: "#fff",
100
+ animation: "fp-blink 1s ease-in-out infinite",
101
+ flexShrink: 0,
102
+ } })), error && (_jsx("span", { style: { fontSize: 10, color: textColor }, children: "\u2717" })), _jsx("span", { style: {
103
+ fontSize: 13,
104
+ fontWeight: 500,
105
+ color: textColor,
106
+ whiteSpace: "nowrap",
107
+ }, children: label }), isSubflow && (_jsx("span", { style: {
108
+ display: "inline-flex",
109
+ alignItems: "center",
110
+ justifyContent: "center",
111
+ width: 16,
112
+ height: 16,
113
+ borderRadius: 3,
114
+ border: `1.5px solid ${textColor}`,
115
+ position: "relative",
116
+ opacity: 0.7,
117
+ flexShrink: 0,
118
+ }, children: _jsx("span", { style: {
119
+ width: 8,
120
+ height: 8,
121
+ borderRadius: 2,
122
+ border: `1px solid ${textColor}`,
123
+ } }) }))] }), description && (_jsx("span", { style: {
124
+ fontSize: 10,
125
+ fontWeight: 400,
126
+ color: textColor,
127
+ opacity: 0.7,
128
+ whiteSpace: "nowrap",
129
+ overflow: "hidden",
130
+ textOverflow: "ellipsis",
131
+ maxWidth: 160,
132
+ }, children: description }))] })] }), _jsx(Handle, { type: "source", position: Position.Bottom, style: { opacity: 0 } }), _jsx(Handle, { id: "loop-source", type: "source", position: Position.Right, style: { background: "transparent", border: "none", width: 6, height: 6 } }), _jsx(Handle, { id: "loop-target", type: "target", position: Position.Right, style: { background: "transparent", border: "none", width: 6, height: 6 } })] }));
133
+ });
134
+ //# sourceMappingURL=StageNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageNode.js","sourceRoot":"","sources":["../../../src/components/StageNode/StageNode.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { StageNode } from "./StageNode";
2
+ export type { StageNodeData } from "./StageNode";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export { StageNode } from "./StageNode";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/StageNode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
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
@@ -0,0 +1 @@
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,2CAuLzB"}
@@ -0,0 +1,104 @@
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 fs = fontSize[size];
42
+ if (unstyled) {
43
+ return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-controls", children: [_jsx("button", { "data-fp": "tt-prev", disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, children: "Prev" }), autoPlayable && (_jsx("button", { "data-fp": "tt-play", onClick: togglePlay, children: playing ? "Pause" : "Play" })), _jsx("button", { "data-fp": "tt-next", disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, 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))) })] }));
44
+ }
45
+ const btnStyle = (disabled) => ({
46
+ background: theme.bgTertiary,
47
+ border: `1px solid ${theme.border}`,
48
+ color: disabled ? theme.textMuted : theme.textPrimary,
49
+ borderRadius: "6px",
50
+ padding: "4px 12px",
51
+ fontSize: fs.body,
52
+ fontWeight: 600,
53
+ cursor: disabled ? "not-allowed" : "pointer",
54
+ opacity: disabled ? 0.5 : 1,
55
+ flexShrink: 0,
56
+ });
57
+ return (_jsxs("div", { className: className, style: {
58
+ padding: "6px 12px",
59
+ background: theme.bgSecondary,
60
+ borderBottom: `1px solid ${theme.border}`,
61
+ display: "flex",
62
+ alignItems: "center",
63
+ gap: 6,
64
+ flexShrink: 0,
65
+ ...style,
66
+ }, "data-fp": "time-travel-controls", children: [_jsx("button", { style: btnStyle(!canPrev || playing), disabled: !canPrev || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex - 1); }, children: "\u25C0" }), autoPlayable && (_jsx("button", { onClick: togglePlay, style: {
67
+ background: playing ? theme.primary : theme.bgTertiary,
68
+ border: `1px solid ${theme.border}`,
69
+ color: playing ? "white" : theme.textPrimary,
70
+ borderRadius: "6px",
71
+ width: 28,
72
+ height: 28,
73
+ display: "flex",
74
+ alignItems: "center",
75
+ justifyContent: "center",
76
+ cursor: "pointer",
77
+ fontSize: 14,
78
+ flexShrink: 0,
79
+ }, title: playing ? "Pause" : "Play", children: playing ? "\u23F8" : "\u25B6" })), _jsx("button", { style: btnStyle(!canNext || playing), disabled: !canNext || playing, onClick: () => { setPlaying(false); onIndexChange(selectedIndex + 1); }, children: "\u25B6" }), _jsx("div", { style: {
80
+ flex: 1,
81
+ display: "flex",
82
+ alignItems: "center",
83
+ gap: 2,
84
+ padding: "0 4px",
85
+ }, children: snapshots.map((snap, i) => {
86
+ const isActive = i === selectedIndex;
87
+ const isDone = i < selectedIndex;
88
+ return (_jsx("button", { onClick: () => { setPlaying(false); onIndexChange(i); }, title: snap.stageLabel, style: {
89
+ flex: 1,
90
+ height: isActive ? 14 : 8,
91
+ borderRadius: 3,
92
+ border: "none",
93
+ cursor: "pointer",
94
+ background: isActive
95
+ ? theme.primary
96
+ : isDone
97
+ ? theme.success
98
+ : theme.bgTertiary,
99
+ opacity: isDone || isActive ? 1 : 0.4,
100
+ transition: "all 0.15s ease",
101
+ } }, i));
102
+ }) })] }));
103
+ }
104
+ //# sourceMappingURL=TimeTravelControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeTravelControls.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/TimeTravelControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { TimeTravelControls } from "./TimeTravelControls";
2
+ export type { TimeTravelControlsProps } from "./TimeTravelControls";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export { TimeTravelControls } from "./TimeTravelControls";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TimeTravelControls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Node, Edge } from "@xyflow/react";
2
+ import type { StageSnapshot, BaseComponentProps } from "../../types";
3
+ export interface TimeTravelDebuggerProps extends BaseComponentProps {
4
+ /** Stage snapshots */
5
+ snapshots: StageSnapshot[];
6
+ /** ReactFlow nodes (required for flowchart) */
7
+ nodes: Node[];
8
+ /** ReactFlow edges (required for flowchart) */
9
+ edges: Edge[];
10
+ /** Show Gantt timeline */
11
+ showGantt?: boolean;
12
+ /** Layout direction */
13
+ layout?: "horizontal" | "vertical";
14
+ /** Title */
15
+ title?: string;
16
+ }
17
+ /**
18
+ * Full time-travel debugger: scrubber + flowchart + memory + narrative + gantt.
19
+ * This is the "batteries included" component for pipeline debugging.
20
+ */
21
+ export declare function TimeTravelDebugger({ snapshots, nodes, edges, showGantt, layout, title, size, unstyled, className, style, }: TimeTravelDebuggerProps): import("react/jsx-runtime").JSX.Element;
22
+ //# sourceMappingURL=TimeTravelDebugger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeTravelDebugger.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOrE,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,sBAAsB;IACtB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,+CAA+C;IAC/C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,+CAA+C;IAC/C,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,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;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,KAAK,EACL,KAAK,EACL,SAAgB,EAChB,MAAqB,EACrB,KAA8B,EAC9B,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,uBAAuB,2CAiOzB"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { theme, fontSize, padding } from "../../theme";
4
+ import { MemoryInspector } from "../MemoryInspector";
5
+ import { NarrativeLog } from "../NarrativeLog";
6
+ import { GanttTimeline } from "../GanttTimeline";
7
+ import { FlowchartView } from "../FlowchartView";
8
+ /**
9
+ * Full time-travel debugger: scrubber + flowchart + memory + narrative + gantt.
10
+ * This is the "batteries included" component for pipeline debugging.
11
+ */
12
+ export function TimeTravelDebugger({ snapshots, nodes, edges, showGantt = true, layout = "horizontal", title = "Time-Travel Debugger", size = "default", unstyled = false, className, style, }) {
13
+ const [selectedIndex, setSelectedIndex] = useState(0);
14
+ const fs = fontSize[size];
15
+ const pad = padding[size];
16
+ if (snapshots.length === 0) {
17
+ return (_jsx("div", { className: className, style: {
18
+ padding: pad * 2,
19
+ textAlign: "center",
20
+ color: theme.textMuted,
21
+ ...style,
22
+ }, children: "No snapshots to debug" }));
23
+ }
24
+ const isHorizontal = layout === "horizontal";
25
+ if (unstyled) {
26
+ return (_jsxs("div", { className: className, style: style, "data-fp": "time-travel-debugger", children: [_jsx("h3", { children: title }), _jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)) }), _jsx(FlowchartView, { nodes: nodes, edges: edges, snapshots: snapshots, selectedIndex: selectedIndex, onNodeClick: setSelectedIndex, unstyled: true }), _jsx(MemoryInspector, { snapshots: snapshots, selectedIndex: selectedIndex, unstyled: true }), _jsx(NarrativeLog, { snapshots: snapshots, selectedIndex: selectedIndex, unstyled: true }), showGantt && (_jsx(GanttTimeline, { snapshots: snapshots, selectedIndex: selectedIndex, onSelect: setSelectedIndex, unstyled: true }))] }));
27
+ }
28
+ return (_jsxs("div", { className: className, style: {
29
+ display: "flex",
30
+ flexDirection: "column",
31
+ height: "100%",
32
+ background: theme.bgPrimary,
33
+ fontFamily: theme.fontSans,
34
+ overflow: "hidden",
35
+ ...style,
36
+ }, "data-fp": "time-travel-debugger", children: [_jsxs("div", { style: {
37
+ padding: `${pad}px ${pad + 4}px`,
38
+ borderBottom: `1px solid ${theme.border}`,
39
+ background: theme.bgSecondary,
40
+ flexShrink: 0,
41
+ }, children: [_jsxs("div", { style: {
42
+ display: "flex",
43
+ alignItems: "center",
44
+ gap: 8,
45
+ marginBottom: 8,
46
+ }, children: [_jsx("span", { style: {
47
+ fontSize: fs.body + 2,
48
+ fontWeight: 600,
49
+ color: theme.textPrimary,
50
+ }, children: title }), _jsx("span", { style: {
51
+ fontSize: fs.small,
52
+ color: theme.textMuted,
53
+ }, children: "Scrub to replay execution" })] }), _jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(ScrubButton, { label: "\\u25C0", disabled: selectedIndex === 0, onClick: () => setSelectedIndex((i) => Math.max(0, i - 1)) }), _jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)), style: {
54
+ flex: 1,
55
+ height: 4,
56
+ accentColor: theme.primary,
57
+ cursor: "pointer",
58
+ } }), _jsx(ScrubButton, { label: "\\u25B6", disabled: selectedIndex === snapshots.length - 1, onClick: () => setSelectedIndex((i) => Math.min(snapshots.length - 1, i + 1)) }), _jsxs("span", { style: {
59
+ fontSize: fs.small,
60
+ color: theme.textMuted,
61
+ flexShrink: 0,
62
+ fontFamily: theme.fontMono,
63
+ }, children: [selectedIndex + 1, "/", snapshots.length] })] })] }), _jsxs("div", { style: {
64
+ flex: 1,
65
+ display: "flex",
66
+ flexDirection: isHorizontal ? "row" : "column",
67
+ overflow: "hidden",
68
+ }, children: [_jsx("div", { style: {
69
+ flex: 1,
70
+ overflow: "hidden",
71
+ borderRight: isHorizontal
72
+ ? `1px solid ${theme.border}`
73
+ : "none",
74
+ borderBottom: !isHorizontal
75
+ ? `1px solid ${theme.border}`
76
+ : "none",
77
+ }, children: _jsx(FlowchartView, { nodes: nodes, edges: edges, snapshots: snapshots, selectedIndex: selectedIndex, onNodeClick: setSelectedIndex, size: size }) }), _jsxs("div", { style: { flex: 1, overflow: "auto" }, children: [_jsx(MemoryInspector, { snapshots: snapshots, selectedIndex: selectedIndex, size: size }), _jsx("div", { style: {
78
+ height: 1,
79
+ background: theme.border,
80
+ margin: `0 ${pad}px`,
81
+ } }), _jsx(NarrativeLog, { snapshots: snapshots, selectedIndex: selectedIndex, size: size })] })] }), showGantt && (_jsx("div", { style: {
82
+ borderTop: `1px solid ${theme.border}`,
83
+ background: theme.bgSecondary,
84
+ flexShrink: 0,
85
+ }, children: _jsx(GanttTimeline, { snapshots: snapshots, selectedIndex: selectedIndex, onSelect: setSelectedIndex, size: size }) }))] }));
86
+ }
87
+ function ScrubButton({ label, disabled, onClick, }) {
88
+ return (_jsx("button", { onClick: onClick, disabled: disabled, style: {
89
+ background: theme.bgTertiary,
90
+ border: `1px solid ${theme.border}`,
91
+ color: disabled ? theme.textMuted : theme.textPrimary,
92
+ borderRadius: 6,
93
+ width: 28,
94
+ height: 28,
95
+ display: "flex",
96
+ alignItems: "center",
97
+ justifyContent: "center",
98
+ cursor: disabled ? "not-allowed" : "pointer",
99
+ opacity: disabled ? 0.5 : 1,
100
+ fontSize: 12,
101
+ flexShrink: 0,
102
+ }, children: label }));
103
+ }
104
+ //# sourceMappingURL=TimeTravelDebugger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeTravelDebugger.js","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/TimeTravelDebugger.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { TimeTravelDebugger } from "./TimeTravelDebugger";
2
+ export type { TimeTravelDebuggerProps } from "./TimeTravelDebugger";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { TimeTravelDebugger } from "./TimeTravelDebugger";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/TimeTravelDebugger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}