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,134 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useCallback, useMemo, useEffect, useRef } from "react";
3
- import { theme, fontSize, padding } from "../../theme";
4
- // ---------------------------------------------------------------------------
5
- // Helpers
6
- // ---------------------------------------------------------------------------
7
- function parseGroups(lines) {
8
- const groups = [];
9
- let current = null;
10
- for (let i = 0; i < lines.length; i++) {
11
- const line = lines[i];
12
- const trimmed = line.trimStart();
13
- const isStep = trimmed.startsWith("Step ") || /^\s/.test(line);
14
- if (!isStep || !current) {
15
- current = { header: line, headerIdx: i, steps: [] };
16
- groups.push(current);
17
- }
18
- else {
19
- current.steps.push({ text: trimmed, idx: i });
20
- }
21
- }
22
- return groups;
23
- }
24
- // ---------------------------------------------------------------------------
25
- // Component
26
- // ---------------------------------------------------------------------------
27
- export function NarrativeTrace({ narrative, revealedCount, defaultCollapsed = false, onStageClick, size = "default", unstyled = false, className, style, }) {
28
- const revealed = revealedCount != null ? narrative.slice(0, revealedCount) : narrative;
29
- const future = revealedCount != null ? narrative.slice(revealedCount) : [];
30
- const revealedGroups = useMemo(() => parseGroups(revealed), [revealed]);
31
- const futureGroups = useMemo(() => parseGroups(future), [future]);
32
- const [collapsedSet, setCollapsedSet] = useState(() => {
33
- if (!defaultCollapsed)
34
- return new Set();
35
- return new Set(parseGroups(narrative).map((g) => g.headerIdx));
36
- });
37
- const latestRef = useRef(null);
38
- useEffect(() => {
39
- latestRef.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
40
- }, [revealedGroups.length]);
41
- const toggle = useCallback((idx) => {
42
- setCollapsedSet((prev) => {
43
- const next = new Set(prev);
44
- if (next.has(idx))
45
- next.delete(idx);
46
- else
47
- next.add(idx);
48
- return next;
49
- });
50
- }, []);
51
- const lastIdx = revealedGroups.length - 1;
52
- const fs = fontSize[size];
53
- const pad = padding[size];
54
- // ── Unstyled mode ──
55
- if (unstyled) {
56
- return (_jsxs("div", { className: className, style: style, "data-fp": "narrative-trace", children: [revealedGroups.map((group, gi) => (_jsxs("div", { "data-fp": "narrative-group", "data-latest": gi === lastIdx, children: [_jsx("div", { "data-fp": "narrative-header", "data-collapsible": group.steps.length > 0, "data-collapsed": collapsedSet.has(group.headerIdx), role: group.steps.length > 0 ? "button" : undefined, tabIndex: group.steps.length > 0 ? 0 : undefined, "aria-expanded": group.steps.length > 0 ? !collapsedSet.has(group.headerIdx) : undefined, "aria-label": `Stage ${gi + 1}, ${group.steps.length} steps${gi === lastIdx ? ", current" : ""}`, onClick: () => {
57
- if (group.steps.length > 0)
58
- toggle(group.headerIdx);
59
- onStageClick?.(group.headerIdx);
60
- }, onKeyDown: (e) => {
61
- if (e.key === "Enter" || e.key === " ") {
62
- e.preventDefault();
63
- if (group.steps.length > 0)
64
- toggle(group.headerIdx);
65
- onStageClick?.(group.headerIdx);
66
- }
67
- }, children: group.header }), !collapsedSet.has(group.headerIdx) &&
68
- group.steps.map((step) => (_jsx("div", { "data-fp": "narrative-step", children: step.text }, step.idx)))] }, group.headerIdx))), futureGroups.length > 0 && (_jsxs("div", { "data-fp": "narrative-future-hint", children: [futureGroups.length, " more ", futureGroups.length === 1 ? "stage" : "stages", " ahead..."] }))] }));
69
- }
70
- // ── Styled mode ──
71
- return (_jsxs("div", { className: className, style: {
72
- flex: 1,
73
- overflow: "auto",
74
- padding: pad,
75
- fontFamily: theme.fontMono,
76
- ...style,
77
- }, "data-fp": "narrative-trace", children: [revealedGroups.map((group, gi) => {
78
- const isLatest = gi === lastIdx;
79
- const isCollapsed = collapsedSet.has(group.headerIdx);
80
- const hasSteps = group.steps.length > 0;
81
- return (_jsxs("div", { ref: isLatest ? latestRef : undefined, style: { marginBottom: 2 }, "data-fp": "narrative-group", children: [_jsxs("div", { role: hasSteps ? "button" : undefined, tabIndex: hasSteps ? 0 : undefined, "aria-expanded": hasSteps ? !isCollapsed : undefined, "aria-label": `Stage ${gi + 1}, ${group.steps.length} steps${isLatest ? ", current" : ", completed"}`, onClick: () => {
82
- if (hasSteps)
83
- toggle(group.headerIdx);
84
- onStageClick?.(group.headerIdx);
85
- }, onKeyDown: (e) => {
86
- if (e.key === "Enter" || e.key === " ") {
87
- e.preventDefault();
88
- if (hasSteps)
89
- toggle(group.headerIdx);
90
- onStageClick?.(group.headerIdx);
91
- }
92
- }, style: {
93
- fontSize: fs.body,
94
- lineHeight: 1.7,
95
- color: isLatest ? theme.textPrimary : theme.textSecondary,
96
- padding: `4px ${pad - 4}px`,
97
- borderRadius: 4,
98
- background: isLatest ? theme.bgTertiary : "transparent",
99
- borderLeft: isLatest
100
- ? `3px solid ${theme.primary}`
101
- : `3px solid ${theme.success}`,
102
- cursor: hasSteps ? "pointer" : "default",
103
- fontWeight: 600,
104
- display: "flex",
105
- alignItems: "center",
106
- gap: 6,
107
- userSelect: "none",
108
- transition: "all 0.15s ease",
109
- }, children: [hasSteps && (_jsx("span", { style: {
110
- fontSize: fs.small - 1,
111
- color: theme.textMuted,
112
- transition: "transform 0.15s ease",
113
- transform: isCollapsed ? "rotate(-90deg)" : "rotate(0deg)",
114
- display: "inline-block",
115
- width: 10,
116
- flexShrink: 0,
117
- }, children: "\u25BC" })), !hasSteps && _jsx("span", { style: { width: 10, flexShrink: 0 } }), _jsx("span", { children: group.header })] }), !isCollapsed &&
118
- group.steps.map((step) => (_jsx("div", { style: {
119
- fontSize: fs.small,
120
- lineHeight: 1.6,
121
- color: isLatest ? theme.textSecondary : theme.textMuted,
122
- padding: `2px ${pad - 4}px 2px ${pad + 20}px`,
123
- opacity: isLatest ? 0.9 : 0.7,
124
- transition: "all 0.15s ease",
125
- }, "data-fp": "narrative-step", children: step.text }, step.idx)))] }, group.headerIdx));
126
- }), futureGroups.length > 0 && (_jsxs("div", { style: {
127
- opacity: 0.3,
128
- fontSize: fs.small,
129
- color: theme.textMuted,
130
- padding: `8px ${pad}px`,
131
- fontStyle: "italic",
132
- }, children: [futureGroups.length, " more ", futureGroups.length === 1 ? "stage" : "stages", " ahead..."] }))] }));
133
- }
134
- //# sourceMappingURL=NarrativeTrace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NarrativeTrace.js","sourceRoot":"","sources":["../../../src/components/NarrativeTrace/NarrativeTrace.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { NarrativeTrace } from "./NarrativeTrace";
2
- export type { NarrativeTraceProps } from "./NarrativeTrace";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NarrativeTrace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { NarrativeTrace } from "./NarrativeTrace";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/NarrativeTrace/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { BaseComponentProps } from "../../types";
2
- export interface ResultPanelProps extends BaseComponentProps {
3
- /** Final pipeline output / shared state */
4
- data: Record<string, unknown> | null;
5
- /** Optional console log lines */
6
- logs?: string[];
7
- /** Hide console section (default: false) */
8
- hideConsole?: boolean;
9
- }
10
- export declare function ResultPanel({ data, logs, hideConsole, size, unstyled, className, style, }: ResultPanelProps): import("react/jsx-runtime").JSX.Element;
11
- //# sourceMappingURL=ResultPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResultPanel.d.ts","sourceRoot":"","sources":["../../../src/components/ResultPanel/ResultPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACrC,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAS,EACT,WAAmB,EACnB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAiHlB"}
@@ -1,54 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { theme, fontSize, padding } from "../../theme";
3
- export function ResultPanel({ data, logs = [], hideConsole = false, size = "default", unstyled = false, className, style, }) {
4
- const fs = fontSize[size];
5
- const pad = padding[size];
6
- if (unstyled) {
7
- return (_jsxs("div", { className: className, style: style, "data-fp": "result-panel", children: [_jsx("div", { "data-fp": "result-data", children: _jsx("pre", { children: data ? JSON.stringify(data, null, 2) : "No data" }) }), !hideConsole && (_jsx("div", { "data-fp": "result-console", children: logs.map((line, i) => (_jsx("div", { "data-fp": "console-line", "data-error": line.startsWith("ERROR"), children: line }, i))) }))] }));
8
- }
9
- return (_jsxs("div", { className: className, style: {
10
- height: "100%",
11
- display: "flex",
12
- flexDirection: "column",
13
- overflow: "hidden",
14
- ...style,
15
- }, "data-fp": "result-panel", children: [data && (_jsxs("div", { style: { flex: 1, overflow: "auto", padding: pad }, children: [_jsx("div", { style: {
16
- fontSize: fs.label,
17
- fontWeight: 600,
18
- color: theme.textMuted,
19
- textTransform: "uppercase",
20
- letterSpacing: "0.08em",
21
- marginBottom: 8,
22
- }, children: size === "compact" ? "Result" : "Business Result (Scope)" }), _jsx("pre", { style: {
23
- fontSize: fs.body,
24
- fontFamily: theme.fontMono,
25
- color: theme.textPrimary,
26
- background: theme.bgSecondary,
27
- padding: pad,
28
- borderRadius: theme.radius,
29
- overflow: "auto",
30
- margin: 0,
31
- }, children: JSON.stringify(data, null, 2) })] })), !hideConsole && (_jsxs("div", { style: {
32
- borderTop: `1px solid ${theme.border}`,
33
- padding: pad,
34
- overflow: "auto",
35
- maxHeight: "40%",
36
- flexShrink: 0,
37
- }, children: [_jsx("div", { style: {
38
- fontSize: fs.label,
39
- fontWeight: 600,
40
- color: theme.textMuted,
41
- textTransform: "uppercase",
42
- letterSpacing: "0.08em",
43
- marginBottom: 8,
44
- }, children: "Console" }), logs.length === 0 && (_jsx("div", { style: { fontSize: fs.body, color: theme.textMuted, fontStyle: "italic" }, children: "No console output" })), logs.map((line, i) => (_jsx("div", { style: {
45
- fontSize: fs.body,
46
- fontFamily: theme.fontMono,
47
- color: line.startsWith("ERROR") ? theme.error : theme.textPrimary,
48
- padding: "2px 0",
49
- borderBottom: `1px solid ${theme.bgSecondary}`,
50
- whiteSpace: "pre-wrap",
51
- wordBreak: "break-word",
52
- }, children: line }, i)))] }))] }));
53
- }
54
- //# sourceMappingURL=ResultPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResultPanel.js","sourceRoot":"","sources":["../../../src/components/ResultPanel/ResultPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { ResultPanel } from "./ResultPanel";
2
- export type { ResultPanelProps } from "./ResultPanel";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ResultPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { ResultPanel } from "./ResultPanel";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ResultPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { BaseComponentProps } from "../../types";
2
- export interface DiffEntry {
3
- key: string;
4
- type: "added" | "removed" | "changed" | "unchanged";
5
- oldValue?: unknown;
6
- newValue?: unknown;
7
- }
8
- export interface ScopeDiffProps extends BaseComponentProps {
9
- /** Memory state before the current stage */
10
- previous: Record<string, unknown> | null;
11
- /** Memory state after the current stage */
12
- current: Record<string, unknown>;
13
- /** Hide unchanged keys (default: false) */
14
- hideUnchanged?: boolean;
15
- }
16
- export declare function ScopeDiff({ previous, current, hideUnchanged, size, unstyled, className, style, }: ScopeDiffProps): import("react/jsx-runtime").JSX.Element;
17
- //# sourceMappingURL=ScopeDiff.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScopeDiff.d.ts","sourceRoot":"","sources":["../../../src/components/ScopeDiff/ScopeDiff.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAoDD,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,OAAO,EACP,aAAqB,EACrB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,cAAc,2CA4GhB"}
@@ -1,87 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import { theme, fontSize, padding } from "../../theme";
4
- // ---------------------------------------------------------------------------
5
- // Helpers
6
- // ---------------------------------------------------------------------------
7
- function computeDiff(prev, curr) {
8
- const entries = [];
9
- const allKeys = new Set([...Object.keys(prev ?? {}), ...Object.keys(curr)]);
10
- for (const key of allKeys) {
11
- const inPrev = prev != null && key in prev;
12
- const inCurr = key in curr;
13
- const oldVal = prev?.[key];
14
- const newVal = curr[key];
15
- if (!inPrev && inCurr) {
16
- entries.push({ key, type: "added", newValue: newVal });
17
- }
18
- else if (inPrev && !inCurr) {
19
- entries.push({ key, type: "removed", oldValue: oldVal });
20
- }
21
- else if (JSON.stringify(oldVal) !== JSON.stringify(newVal)) {
22
- entries.push({ key, type: "changed", oldValue: oldVal, newValue: newVal });
23
- }
24
- else {
25
- entries.push({ key, type: "unchanged", newValue: newVal });
26
- }
27
- }
28
- const order = { added: 0, changed: 1, removed: 2, unchanged: 3 };
29
- entries.sort((a, b) => order[a.type] - order[b.type]);
30
- return entries;
31
- }
32
- function fmt(v) {
33
- if (typeof v === "string")
34
- return `"${v}"`;
35
- if (typeof v === "object" && v !== null)
36
- return JSON.stringify(v, null, 2);
37
- return String(v);
38
- }
39
- const diffColors = {
40
- added: { bg: `color-mix(in srgb, ${theme.success} 10%, transparent)`, fg: theme.success, icon: "+" },
41
- removed: { bg: `color-mix(in srgb, ${theme.error} 10%, transparent)`, fg: theme.error, icon: "-" },
42
- changed: { bg: `color-mix(in srgb, ${theme.warning} 10%, transparent)`, fg: theme.warning, icon: "~" },
43
- unchanged: { bg: "transparent", fg: "", icon: " " },
44
- };
45
- // ---------------------------------------------------------------------------
46
- // Component
47
- // ---------------------------------------------------------------------------
48
- export function ScopeDiff({ previous, current, hideUnchanged = false, size = "default", unstyled = false, className, style, }) {
49
- const entries = useMemo(() => computeDiff(previous, current), [previous, current]);
50
- const visible = hideUnchanged ? entries.filter((e) => e.type !== "unchanged") : entries;
51
- const fs = fontSize[size];
52
- const pad = padding[size];
53
- if (unstyled) {
54
- return (_jsx("div", { className: className, style: style, "data-fp": "scope-diff", children: visible.map((e) => (_jsxs("div", { "data-fp": "diff-entry", "data-type": e.type, children: [_jsx("span", { "data-fp": "diff-key", children: e.key }), e.type === "changed" && (_jsxs(_Fragment, { children: [_jsx("span", { "data-fp": "diff-old", children: fmt(e.oldValue) }), _jsx("span", { "data-fp": "diff-new", children: fmt(e.newValue) })] })), (e.type === "added" || e.type === "unchanged") && (_jsx("span", { "data-fp": "diff-value", children: fmt(e.newValue) })), e.type === "removed" && (_jsx("span", { "data-fp": "diff-value", children: fmt(e.oldValue) }))] }, e.key))) }));
55
- }
56
- return (_jsxs("div", { className: className, style: { padding: pad, fontFamily: theme.fontMono, ...style }, "data-fp": "scope-diff", children: [visible.length === 0 && (_jsx("div", { style: { fontSize: fs.body, color: theme.textMuted, fontStyle: "italic" }, children: "No changes" })), visible.map((entry) => {
57
- const dc = diffColors[entry.type];
58
- return (_jsxs("div", { style: {
59
- display: "flex",
60
- alignItems: "flex-start",
61
- gap: 8,
62
- padding: `4px ${pad - 4}px`,
63
- marginBottom: 2,
64
- borderRadius: 4,
65
- background: dc.bg,
66
- fontSize: fs.body,
67
- lineHeight: 1.5,
68
- }, "data-fp": "diff-entry", children: [_jsx("span", { style: {
69
- width: 16,
70
- flexShrink: 0,
71
- fontWeight: 700,
72
- color: dc.fg || theme.textMuted,
73
- textAlign: "center",
74
- }, children: dc.icon }), _jsx("span", { style: { color: theme.primary, fontWeight: 600, flexShrink: 0 }, children: entry.key }), _jsx("span", { style: { color: theme.textMuted }, children: "=" }), entry.type === "changed" ? (_jsxs("span", { children: [_jsx("span", { style: {
75
- color: theme.error,
76
- textDecoration: "line-through",
77
- opacity: 0.7,
78
- }, children: fmt(entry.oldValue) }), _jsx("span", { style: { color: theme.textMuted, margin: "0 4px" }, children: "\u2192" }), _jsx("span", { style: { color: theme.success }, children: fmt(entry.newValue) })] })) : (_jsx("span", { style: {
79
- color: entry.type === "added"
80
- ? theme.success
81
- : entry.type === "removed"
82
- ? theme.error
83
- : theme.textPrimary,
84
- }, children: fmt(entry.type === "removed" ? entry.oldValue : entry.newValue) }))] }, entry.key));
85
- })] }));
86
- }
87
- //# sourceMappingURL=ScopeDiff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ScopeDiff.js","sourceRoot":"","sources":["../../../src/components/ScopeDiff/ScopeDiff.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { ScopeDiff } from "./ScopeDiff";
2
- export type { ScopeDiffProps, DiffEntry } from "./ScopeDiff";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ScopeDiff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export { ScopeDiff } from "./ScopeDiff";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ScopeDiff/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { StageSnapshot, BaseComponentProps } from "../../types";
2
- export interface SnapshotPanelProps extends BaseComponentProps {
3
- /** Stage snapshots from pipeline execution */
4
- snapshots: StageSnapshot[];
5
- /** Show the Gantt timeline */
6
- showGantt?: boolean;
7
- /** Show the time-travel scrubber */
8
- showScrubber?: boolean;
9
- /** Title override */
10
- title?: string;
11
- }
12
- /**
13
- * All-in-one panel: time-travel scrubber + memory inspector + narrative log + gantt.
14
- * Drop this into any page to make a pipeline run inspectable.
15
- */
16
- export declare function SnapshotPanel({ snapshots, showGantt, showScrubber, title, size, unstyled, className, style, }: SnapshotPanelProps): import("react/jsx-runtime").JSX.Element;
17
- //# sourceMappingURL=SnapshotPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SnapshotPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SnapshotPanel/SnapshotPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAMrE,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,8CAA8C;IAC9C,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,SAAgB,EAChB,YAAmB,EACnB,KAA4B,EAC5B,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,kBAAkB,2CAoLpB"}
@@ -1,85 +0,0 @@
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
- /**
8
- * All-in-one panel: time-travel scrubber + memory inspector + narrative log + gantt.
9
- * Drop this into any page to make a pipeline run inspectable.
10
- */
11
- export function SnapshotPanel({ snapshots, showGantt = true, showScrubber = true, title = "Pipeline Inspector", size = "default", unstyled = false, className, style, }) {
12
- const [selectedIndex, setSelectedIndex] = useState(0);
13
- const fs = fontSize[size];
14
- const pad = padding[size];
15
- if (snapshots.length === 0) {
16
- return (_jsx("div", { className: className, style: {
17
- padding: pad * 2,
18
- textAlign: "center",
19
- color: unstyled ? undefined : theme.textMuted,
20
- fontSize: fs.body,
21
- ...style,
22
- }, "data-fp": "snapshot-panel", children: "No snapshots to display" }));
23
- }
24
- if (unstyled) {
25
- return (_jsxs("div", { className: className, style: style, "data-fp": "snapshot-panel", children: [_jsx("h3", { children: title }), showScrubber && (_jsx("input", { type: "range", min: 0, max: snapshots.length - 1, value: selectedIndex, onChange: (e) => setSelectedIndex(parseInt(e.target.value)) })), _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 }))] }));
26
- }
27
- return (_jsxs("div", { className: className, style: {
28
- display: "flex",
29
- flexDirection: "column",
30
- height: "100%",
31
- background: theme.bgPrimary,
32
- fontFamily: theme.fontSans,
33
- overflow: "hidden",
34
- ...style,
35
- }, "data-fp": "snapshot-panel", children: [_jsxs("div", { style: {
36
- padding: `${pad}px ${pad + 4}px`,
37
- borderBottom: `1px solid ${theme.border}`,
38
- background: theme.bgSecondary,
39
- flexShrink: 0,
40
- }, children: [_jsxs("div", { style: {
41
- display: "flex",
42
- alignItems: "center",
43
- gap: 8,
44
- marginBottom: showScrubber ? 8 : 0,
45
- }, children: [_jsx("span", { style: {
46
- fontSize: fs.body + 2,
47
- fontWeight: 600,
48
- color: theme.textPrimary,
49
- }, children: title }), _jsxs("span", { style: {
50
- fontSize: fs.small,
51
- color: theme.textMuted,
52
- fontFamily: theme.fontMono,
53
- }, children: [selectedIndex + 1, "/", snapshots.length] })] }), showScrubber && (_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("div", { style: { flex: 1, overflow: "auto" }, children: [_jsx(MemoryInspector, { snapshots: snapshots, selectedIndex: selectedIndex, size: size }), _jsx("div", { style: {
59
- height: 1,
60
- background: theme.border,
61
- margin: `0 ${pad}px`,
62
- } }), _jsx(NarrativeLog, { snapshots: snapshots, selectedIndex: selectedIndex, size: size })] }), showGantt && (_jsx("div", { style: {
63
- borderTop: `1px solid ${theme.border}`,
64
- background: theme.bgSecondary,
65
- flexShrink: 0,
66
- }, children: _jsx(GanttTimeline, { snapshots: snapshots, selectedIndex: selectedIndex, onSelect: setSelectedIndex, size: size }) }))] }));
67
- }
68
- function ScrubButton({ label, disabled, onClick, }) {
69
- return (_jsx("button", { onClick: onClick, disabled: disabled, style: {
70
- background: theme.bgTertiary,
71
- border: `1px solid ${theme.border}`,
72
- color: disabled ? theme.textMuted : theme.textPrimary,
73
- borderRadius: 6,
74
- width: 28,
75
- height: 28,
76
- display: "flex",
77
- alignItems: "center",
78
- justifyContent: "center",
79
- cursor: disabled ? "not-allowed" : "pointer",
80
- opacity: disabled ? 0.5 : 1,
81
- fontSize: 12,
82
- flexShrink: 0,
83
- }, children: label }));
84
- }
85
- //# sourceMappingURL=SnapshotPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SnapshotPanel.js","sourceRoot":"","sources":["../../../src/components/SnapshotPanel/SnapshotPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { SnapshotPanel } from "./SnapshotPanel";
2
- export type { SnapshotPanelProps } from "./SnapshotPanel";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SnapshotPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +0,0 @@
1
- export { SnapshotPanel } from "./SnapshotPanel";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SnapshotPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,52 +0,0 @@
1
- export interface StageNodeData {
2
- label: string;
3
- active?: boolean;
4
- done?: boolean;
5
- error?: boolean;
6
- linked?: boolean;
7
- /** Semantic icon hint (e.g., "llm", "tool", "rag", "start", "parse", "agent", "guard") */
8
- icon?: string;
9
- /** Step numbers in execution order (shown as badges — multiple when revisited via loops) */
10
- stepNumbers?: number[];
11
- /** Node was not executed (dim it) */
12
- dimmed?: boolean;
13
- /** Node is a subflow root (show nested indicator) */
14
- isSubflow?: boolean;
15
- /** Node uses lazy resolution (dashed border + cloud icon when unresolved) */
16
- isLazy?: boolean;
17
- /** Node is a decider (renders as diamond shape per flowchart convention) */
18
- isDecider?: boolean;
19
- /** Node is a fork (parallel fan-out) */
20
- isFork?: boolean;
21
- /** Human-readable description of what this stage does */
22
- description?: string;
23
- /** Subflow identifier — set when this node belongs to a subflow */
24
- subflowId?: string;
25
- /**
26
- * Stable stage identifier from the spec (`SpecNode.id`). Renderable as a
27
- * small monospace caption under the label when `showStageId` is true —
28
- * useful for teaching the runtimeStageId convention and for debugging
29
- * which node a recorder event belongs to.
30
- */
31
- stageId?: string;
32
- /**
33
- * When true, render the `stageId` as a small monospace caption beneath
34
- * the label. Default false. Drives the "Show IDs" toggle in
35
- * ExplainableShell.
36
- */
37
- showStageId?: boolean;
38
- [key: string]: unknown;
39
- }
40
- /**
41
- * Custom ReactFlow node for pipeline stages.
42
- * All colors and fonts come from `--fp-*` CSS variables (via theme).
43
- * Shows execution state via color, icon, step badge, and pulse animation.
44
- */
45
- export declare const StageNode: import("react").NamedExoticComponent<Pick<import("@xyflow/react").Node<Record<string, unknown>, string | undefined>, "id" | "data" | "width" | "height" | "sourcePosition" | "targetPosition" | "dragHandle" | "parentId"> & Required<Pick<import("@xyflow/react").Node<Record<string, unknown>, string | undefined>, "type" | "dragging" | "zIndex" | "selectable" | "deletable" | "selected" | "draggable">> & {
46
- isConnectable: boolean;
47
- positionAbsoluteX: number;
48
- positionAbsoluteY: number;
49
- } & {
50
- data: StageNodeData;
51
- }>;
52
- //# sourceMappingURL=StageNode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StageNode.d.ts","sourceRoot":"","sources":["../../../src/components/StageNode/StageNode.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAyLD;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;UAEC,aAAa;EA8WlC,CAAC"}