footprint-explainable-ui 0.26.0 → 0.26.1

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.
package/dist/index.d.cts CHANGED
@@ -624,6 +624,19 @@ interface RecorderView {
624
624
  selectedIndex: number;
625
625
  }) => React.ReactNode;
626
626
  }
627
+ /**
628
+ * The Trace flowchart's two-colour theme (footprintjs level). `mode` selects
629
+ * the neutral base (unvisited / edges) for dark or light; `visited` and
630
+ * `current` are the two semantic colours. All optional — sensible per-mode
631
+ * defaults are used for anything omitted.
632
+ */
633
+ interface TraceTheme {
634
+ mode?: "dark" | "light";
635
+ /** Executed / done nodes. */
636
+ visited?: string;
637
+ /** The node at the current cursor position ("now"). */
638
+ current?: string;
639
+ }
627
640
  interface ExplainableShellProps extends BaseComponentProps {
628
641
  /**
629
642
  * Pre-converted visualization snapshots. Use when you've already called
@@ -661,6 +674,15 @@ interface ExplainableShellProps extends BaseComponentProps {
661
674
  * time-travel trace UI.
662
675
  */
663
676
  runtimeOverlay?: RuntimeOverlay | null;
677
+ /**
678
+ * Trace flowchart theme — the footprintjs-LEVEL **two-colour** scheme:
679
+ * `visited` (executed nodes) + `current` (the cursor node). `mode` picks the
680
+ * neutral base (unvisited nodes / edges follow dark/light; the background is
681
+ * transparent, so it inherits your container). Colours are optional — omit to
682
+ * use the per-mode defaults. The agent-semantic three-colour theme belongs to
683
+ * `<Lens>`, not here.
684
+ */
685
+ traceTheme?: TraceTheme;
664
686
  title?: string;
665
687
  resultData?: Record<string, unknown> | null;
666
688
  logs?: string[];
@@ -713,7 +735,7 @@ interface ExplainableShellProps extends BaseComponentProps {
713
735
  */
714
736
  showStageId?: boolean;
715
737
  }
716
- declare function ExplainableShell({ snapshots: snapshotsProp, runtimeSnapshot, title, resultData: resultDataProp, logs, narrativeEntries, tabs, defaultTab, hideConsole, hideTabs: hideTabsProp, panelLabels, defaultExpanded, recorderViews, renderFlowchart, showStageId, traceGraph, runtimeOverlay, size, unstyled, className, style, }: ExplainableShellProps): react.JSX.Element;
738
+ declare function ExplainableShell({ snapshots: snapshotsProp, runtimeSnapshot, title, resultData: resultDataProp, logs, narrativeEntries, tabs, defaultTab, hideConsole, hideTabs: hideTabsProp, panelLabels, defaultExpanded, recorderViews, renderFlowchart, showStageId, traceGraph, runtimeOverlay, traceTheme, size, unstyled, className, style, }: ExplainableShellProps): react.JSX.Element;
717
739
 
718
740
  /**
719
741
  * TraceViewer — drop-in component that renders an `agentfootprint.exportTrace()`
@@ -1100,4 +1122,4 @@ interface CompactTimelineProps {
1100
1122
  }
1101
1123
  declare const CompactTimeline: react.NamedExoticComponent<CompactTimelineProps>;
1102
1124
 
1103
- export { type NarrativeEntry as AdapterNarrativeEntry, type AgentfootprintTrace, type BaseComponentProps, type CausalFrame, CompactTimeline, type CompactTimelineProps, type DarkModeTokensOptions, DataTracePanel, type DataTracePanelProps, type DefaultExpanded, type DiffEntry, type EntryRangeIndex, ExplainableShell, type ExplainableShellProps, FootprintTheme, GanttTimeline, type GanttTimelineProps, type InsightConfig, InsightPanel, type InsightPanelProps, InspectorPanel, type InspectorPanelProps, type MemoryChange, MemoryInspector, type MemoryInspectorProps, MemoryPanel, type MemoryPanelProps, type NarrativeEntry, NarrativeLog, type NarrativeLogProps, NarrativePanel, type NarrativePanelProps, NarrativeTrace, type NarrativeTraceProps, type PanelLabels, type RecorderView, ResultPanel, type ResultPanelProps, type RuntimeSnapshotInput, ScopeDiff, type ScopeDiffProps, type ShellTab, type Size, SnapshotPanel, type SnapshotPanelProps, type StageDetailMode, StageDetailPanel, type StageDetailPanelProps, type StageSnapshot, StoryNarrative, type StoryNarrativeProps, SubflowTree, type SubflowTreeEntry, type SubflowTreeProps, type ThemePresetName, type ThemeTokens, TimeTravelControls, type TimeTravelControlsProps, type TraceParseError, TraceViewer, type TraceViewerProps, buildEntryRangeIndex, computeRevealedEntryCount, coolDark, coolLight, createSnapshots, defaultTokens, extractSubflowNarrative, mergeWritePatch, rawDefaults, subflowResultToSnapshots, themePresets, toVisualizationSnapshots, tokensToCSSVars, useDarkModeTokens, useFootprintTheme, warmDark, warmLight };
1125
+ export { type NarrativeEntry as AdapterNarrativeEntry, type AgentfootprintTrace, type BaseComponentProps, type CausalFrame, CompactTimeline, type CompactTimelineProps, type DarkModeTokensOptions, DataTracePanel, type DataTracePanelProps, type DefaultExpanded, type DiffEntry, type EntryRangeIndex, ExplainableShell, type ExplainableShellProps, FootprintTheme, GanttTimeline, type GanttTimelineProps, type InsightConfig, InsightPanel, type InsightPanelProps, InspectorPanel, type InspectorPanelProps, type MemoryChange, MemoryInspector, type MemoryInspectorProps, MemoryPanel, type MemoryPanelProps, type NarrativeEntry, NarrativeLog, type NarrativeLogProps, NarrativePanel, type NarrativePanelProps, NarrativeTrace, type NarrativeTraceProps, type PanelLabels, type RecorderView, ResultPanel, type ResultPanelProps, type RuntimeSnapshotInput, ScopeDiff, type ScopeDiffProps, type ShellTab, type Size, SnapshotPanel, type SnapshotPanelProps, type StageDetailMode, StageDetailPanel, type StageDetailPanelProps, type StageSnapshot, StoryNarrative, type StoryNarrativeProps, SubflowTree, type SubflowTreeEntry, type SubflowTreeProps, type ThemePresetName, type ThemeTokens, TimeTravelControls, type TimeTravelControlsProps, type TraceParseError, type TraceTheme, TraceViewer, type TraceViewerProps, buildEntryRangeIndex, computeRevealedEntryCount, coolDark, coolLight, createSnapshots, defaultTokens, extractSubflowNarrative, mergeWritePatch, rawDefaults, subflowResultToSnapshots, themePresets, toVisualizationSnapshots, tokensToCSSVars, useDarkModeTokens, useFootprintTheme, warmDark, warmLight };
package/dist/index.d.ts CHANGED
@@ -624,6 +624,19 @@ interface RecorderView {
624
624
  selectedIndex: number;
625
625
  }) => React.ReactNode;
626
626
  }
627
+ /**
628
+ * The Trace flowchart's two-colour theme (footprintjs level). `mode` selects
629
+ * the neutral base (unvisited / edges) for dark or light; `visited` and
630
+ * `current` are the two semantic colours. All optional — sensible per-mode
631
+ * defaults are used for anything omitted.
632
+ */
633
+ interface TraceTheme {
634
+ mode?: "dark" | "light";
635
+ /** Executed / done nodes. */
636
+ visited?: string;
637
+ /** The node at the current cursor position ("now"). */
638
+ current?: string;
639
+ }
627
640
  interface ExplainableShellProps extends BaseComponentProps {
628
641
  /**
629
642
  * Pre-converted visualization snapshots. Use when you've already called
@@ -661,6 +674,15 @@ interface ExplainableShellProps extends BaseComponentProps {
661
674
  * time-travel trace UI.
662
675
  */
663
676
  runtimeOverlay?: RuntimeOverlay | null;
677
+ /**
678
+ * Trace flowchart theme — the footprintjs-LEVEL **two-colour** scheme:
679
+ * `visited` (executed nodes) + `current` (the cursor node). `mode` picks the
680
+ * neutral base (unvisited nodes / edges follow dark/light; the background is
681
+ * transparent, so it inherits your container). Colours are optional — omit to
682
+ * use the per-mode defaults. The agent-semantic three-colour theme belongs to
683
+ * `<Lens>`, not here.
684
+ */
685
+ traceTheme?: TraceTheme;
664
686
  title?: string;
665
687
  resultData?: Record<string, unknown> | null;
666
688
  logs?: string[];
@@ -713,7 +735,7 @@ interface ExplainableShellProps extends BaseComponentProps {
713
735
  */
714
736
  showStageId?: boolean;
715
737
  }
716
- declare function ExplainableShell({ snapshots: snapshotsProp, runtimeSnapshot, title, resultData: resultDataProp, logs, narrativeEntries, tabs, defaultTab, hideConsole, hideTabs: hideTabsProp, panelLabels, defaultExpanded, recorderViews, renderFlowchart, showStageId, traceGraph, runtimeOverlay, size, unstyled, className, style, }: ExplainableShellProps): react.JSX.Element;
738
+ declare function ExplainableShell({ snapshots: snapshotsProp, runtimeSnapshot, title, resultData: resultDataProp, logs, narrativeEntries, tabs, defaultTab, hideConsole, hideTabs: hideTabsProp, panelLabels, defaultExpanded, recorderViews, renderFlowchart, showStageId, traceGraph, runtimeOverlay, traceTheme, size, unstyled, className, style, }: ExplainableShellProps): react.JSX.Element;
717
739
 
718
740
  /**
719
741
  * TraceViewer — drop-in component that renders an `agentfootprint.exportTrace()`
@@ -1100,4 +1122,4 @@ interface CompactTimelineProps {
1100
1122
  }
1101
1123
  declare const CompactTimeline: react.NamedExoticComponent<CompactTimelineProps>;
1102
1124
 
1103
- export { type NarrativeEntry as AdapterNarrativeEntry, type AgentfootprintTrace, type BaseComponentProps, type CausalFrame, CompactTimeline, type CompactTimelineProps, type DarkModeTokensOptions, DataTracePanel, type DataTracePanelProps, type DefaultExpanded, type DiffEntry, type EntryRangeIndex, ExplainableShell, type ExplainableShellProps, FootprintTheme, GanttTimeline, type GanttTimelineProps, type InsightConfig, InsightPanel, type InsightPanelProps, InspectorPanel, type InspectorPanelProps, type MemoryChange, MemoryInspector, type MemoryInspectorProps, MemoryPanel, type MemoryPanelProps, type NarrativeEntry, NarrativeLog, type NarrativeLogProps, NarrativePanel, type NarrativePanelProps, NarrativeTrace, type NarrativeTraceProps, type PanelLabels, type RecorderView, ResultPanel, type ResultPanelProps, type RuntimeSnapshotInput, ScopeDiff, type ScopeDiffProps, type ShellTab, type Size, SnapshotPanel, type SnapshotPanelProps, type StageDetailMode, StageDetailPanel, type StageDetailPanelProps, type StageSnapshot, StoryNarrative, type StoryNarrativeProps, SubflowTree, type SubflowTreeEntry, type SubflowTreeProps, type ThemePresetName, type ThemeTokens, TimeTravelControls, type TimeTravelControlsProps, type TraceParseError, TraceViewer, type TraceViewerProps, buildEntryRangeIndex, computeRevealedEntryCount, coolDark, coolLight, createSnapshots, defaultTokens, extractSubflowNarrative, mergeWritePatch, rawDefaults, subflowResultToSnapshots, themePresets, toVisualizationSnapshots, tokensToCSSVars, useDarkModeTokens, useFootprintTheme, warmDark, warmLight };
1125
+ export { type NarrativeEntry as AdapterNarrativeEntry, type AgentfootprintTrace, type BaseComponentProps, type CausalFrame, CompactTimeline, type CompactTimelineProps, type DarkModeTokensOptions, DataTracePanel, type DataTracePanelProps, type DefaultExpanded, type DiffEntry, type EntryRangeIndex, ExplainableShell, type ExplainableShellProps, FootprintTheme, GanttTimeline, type GanttTimelineProps, type InsightConfig, InsightPanel, type InsightPanelProps, InspectorPanel, type InspectorPanelProps, type MemoryChange, MemoryInspector, type MemoryInspectorProps, MemoryPanel, type MemoryPanelProps, type NarrativeEntry, NarrativeLog, type NarrativeLogProps, NarrativePanel, type NarrativePanelProps, NarrativeTrace, type NarrativeTraceProps, type PanelLabels, type RecorderView, ResultPanel, type ResultPanelProps, type RuntimeSnapshotInput, ScopeDiff, type ScopeDiffProps, type ShellTab, type Size, SnapshotPanel, type SnapshotPanelProps, type StageDetailMode, StageDetailPanel, type StageDetailPanelProps, type StageSnapshot, StoryNarrative, type StoryNarrativeProps, SubflowTree, type SubflowTreeEntry, type SubflowTreeProps, type ThemePresetName, type ThemeTokens, TimeTravelControls, type TimeTravelControlsProps, type TraceParseError, type TraceTheme, TraceViewer, type TraceViewerProps, buildEntryRangeIndex, computeRevealedEntryCount, coolDark, coolLight, createSnapshots, defaultTokens, extractSubflowNarrative, mergeWritePatch, rawDefaults, subflowResultToSnapshots, themePresets, toVisualizationSnapshots, tokensToCSSVars, useDarkModeTokens, useFootprintTheme, warmDark, warmLight };
package/dist/index.js CHANGED
@@ -6075,6 +6075,7 @@ function ExplainableShell({
6075
6075
  showStageId = false,
6076
6076
  traceGraph,
6077
6077
  runtimeOverlay,
6078
+ traceTheme,
6078
6079
  size = "default",
6079
6080
  unstyled = false,
6080
6081
  className,
@@ -6107,11 +6108,17 @@ function ExplainableShell({
6107
6108
  }
6108
6109
  if (i >= 0) overlayIdx = i;
6109
6110
  }
6111
+ const traceColors = traceTheme && {
6112
+ ...traceTheme.visited !== void 0 && { done: traceTheme.visited },
6113
+ ...traceTheme.current !== void 0 && { active: traceTheme.current },
6114
+ ...traceTheme.mode !== void 0 && { default: traceTheme.mode === "dark" ? "#94a3b8" : "#64748b" }
6115
+ };
6110
6116
  return /* @__PURE__ */ jsx26(
6111
6117
  TracedFlow,
6112
6118
  {
6113
6119
  graph: traceGraph,
6114
6120
  overlay: runtimeOverlay ?? void 0,
6121
+ colors: traceColors || void 0,
6115
6122
  scrubIndex: overlayIdx,
6116
6123
  onNodeClick: (stageId) => onNodeClick?.(stageId),
6117
6124
  onSubflowChange: (mountId) => {
@@ -6120,7 +6127,7 @@ function ExplainableShell({
6120
6127
  }
6121
6128
  );
6122
6129
  };
6123
- }, [traceGraph, runtimeOverlay]);
6130
+ }, [traceGraph, runtimeOverlay, traceTheme]);
6124
6131
  const effectiveRenderFlowchart = renderFlowchart ?? tracedFlowRenderer;
6125
6132
  const leftLabel = panelLabels?.topology ?? "Topology";
6126
6133
  const rightLabel = panelLabels?.details ?? "Details";