@principal-ai/subsystems-react 0.39.0 → 0.41.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 (35) hide show
  1. package/dist/components/maintain-events/MaintainEventLog.d.ts +35 -0
  2. package/dist/components/maintain-events/MaintainEventLog.d.ts.map +1 -0
  3. package/dist/components/maintain-events/MaintainEventLog.js +66 -0
  4. package/dist/components/maintain-events/MaintainEventLog.js.map +1 -0
  5. package/dist/components/maintain-events/MaintainLivePanel.d.ts +15 -0
  6. package/dist/components/maintain-events/MaintainLivePanel.d.ts.map +1 -0
  7. package/dist/components/maintain-events/MaintainLivePanel.js +49 -0
  8. package/dist/components/maintain-events/MaintainLivePanel.js.map +1 -0
  9. package/dist/components/maintain-events/index.d.ts +8 -0
  10. package/dist/components/maintain-events/index.d.ts.map +1 -0
  11. package/dist/components/maintain-events/index.js +6 -0
  12. package/dist/components/maintain-events/index.js.map +1 -0
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/subsystem/AgentsPanel.d.ts +27 -0
  18. package/dist/subsystem/AgentsPanel.d.ts.map +1 -0
  19. package/dist/subsystem/AgentsPanel.js +66 -0
  20. package/dist/subsystem/AgentsPanel.js.map +1 -0
  21. package/dist/subsystem/SubsystemComponentGraph.d.ts +13 -0
  22. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  23. package/dist/subsystem/SubsystemComponentGraph.js +25 -3
  24. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/components/maintain-events/MaintainEventLog.tsx +152 -0
  27. package/src/components/maintain-events/MaintainLivePanel.tsx +99 -0
  28. package/src/components/maintain-events/index.ts +10 -0
  29. package/src/index.ts +15 -0
  30. package/src/stories/MaintainEvents/MaintainEventLog.stories.tsx +66 -0
  31. package/src/stories/MaintainEvents/MaintainLivePanel.stories.tsx +77 -0
  32. package/src/stories/Subsystem/AgentsPanel.stories.tsx +61 -0
  33. package/src/stories/data/maintain-live-events.json +554 -0
  34. package/src/subsystem/AgentsPanel.tsx +140 -0
  35. package/src/subsystem/SubsystemComponentGraph.tsx +87 -10
@@ -0,0 +1,35 @@
1
+ /**
2
+ * MaintainEventLog — presentational live event log for an OpenCode agent run.
3
+ *
4
+ * Renders one row per event as `time type — summary`, with a header carrying
5
+ * title / agent / session id / status / counts. Subsystems Studio's
6
+ * `MaintainEventsView` owns the RPC + subscription wiring and feeds the
7
+ * resulting state in as props; keeping the wiring out of this component lets it
8
+ * render in Storybook and embed in the subsystem graph sidebar.
9
+ */
10
+ /// <reference types="react" />
11
+ export interface MaintainEventLogEvent {
12
+ at: number;
13
+ type: string;
14
+ sessionId?: string;
15
+ summary: string;
16
+ }
17
+ export interface MaintainEventLogProps {
18
+ title?: string;
19
+ agent?: string;
20
+ sessionId?: string;
21
+ status: string;
22
+ events: MaintainEventLogEvent[];
23
+ total: number;
24
+ error?: string | null;
25
+ /** Shown before a session id is known. @default 'Waiting for OpenCode session…' */
26
+ waitingLabel?: string;
27
+ /** Shown once a session exists but no events have arrived. @default 'Waiting for SSE events…' */
28
+ emptyLabel?: string;
29
+ /** Keep the log pinned to the newest event. @default true */
30
+ autoScroll?: boolean;
31
+ /** Render the title/status header above the log. @default true */
32
+ showHeader?: boolean;
33
+ }
34
+ export declare function MaintainEventLog({ title, agent, sessionId, status, events, total, error, waitingLabel, emptyLabel, autoScroll, showHeader, }: MaintainEventLogProps): import("react").JSX.Element;
35
+ //# sourceMappingURL=MaintainEventLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaintainEventLog.d.ts","sourceRoot":"","sources":["../../../src/components/maintain-events/MaintainEventLog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;AAKH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAUD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,YAA8C,EAC9C,UAAsC,EACtC,UAAiB,EACjB,UAAiB,GAClB,EAAE,qBAAqB,+BA6FvB"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * MaintainEventLog — presentational live event log for an OpenCode agent run.
4
+ *
5
+ * Renders one row per event as `time type — summary`, with a header carrying
6
+ * title / agent / session id / status / counts. Subsystems Studio's
7
+ * `MaintainEventsView` owns the RPC + subscription wiring and feeds the
8
+ * resulting state in as props; keeping the wiring out of this component lets it
9
+ * render in Storybook and embed in the subsystem graph sidebar.
10
+ */
11
+ import { useEffect, useRef } from 'react';
12
+ import { useTheme } from '@principal-ade/industry-theme';
13
+ function formatTime(at) {
14
+ return new Date(at).toLocaleTimeString(undefined, {
15
+ hour: '2-digit',
16
+ minute: '2-digit',
17
+ second: '2-digit',
18
+ });
19
+ }
20
+ export function MaintainEventLog({ title, agent, sessionId, status, events, total, error, waitingLabel = 'Waiting for OpenCode session…', emptyLabel = 'Waiting for SSE events…', autoScroll = true, showHeader = true, }) {
21
+ const { theme } = useTheme();
22
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
23
+ const logRef = useRef(null);
24
+ useEffect(() => {
25
+ if (!autoScroll)
26
+ return;
27
+ const el = logRef.current;
28
+ if (!el)
29
+ return;
30
+ el.scrollTop = el.scrollHeight;
31
+ }, [autoScroll, events.length]);
32
+ if (!sessionId) {
33
+ return (_jsx("div", { style: {
34
+ width: '100%',
35
+ height: '100%',
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ justifyContent: 'center',
39
+ color: muted,
40
+ fontFamily: theme.fonts.body,
41
+ fontSize: theme.fontSizes[1],
42
+ }, children: waitingLabel }));
43
+ }
44
+ const wrap = {
45
+ height: '100%',
46
+ display: 'flex',
47
+ flexDirection: 'column',
48
+ padding: 20,
49
+ color: theme.colors.text,
50
+ fontFamily: theme.fonts.body,
51
+ boxSizing: 'border-box',
52
+ };
53
+ return (_jsxs("div", { style: wrap, children: [showHeader ? (_jsxs("div", { style: { marginBottom: 12 }, children: [_jsx("div", { style: { fontSize: theme.fontSizes[3], fontWeight: 650 }, children: title ?? 'Maintain events' }), _jsxs("div", { style: { marginTop: 4, fontSize: theme.fontSizes[0], color: muted }, children: [agent ? `${agent} · ` : null, sessionId, ' · ', _jsx("span", { style: { fontWeight: 600 }, children: status }), ' · ', total, " events", events.length < total ? ` (showing last ${events.length})` : null] }), error ? (_jsx("div", { style: { marginTop: 8, color: theme.colors.error, fontSize: theme.fontSizes[0] }, children: error })) : null] })) : null, _jsx("div", { ref: logRef, style: {
54
+ flex: 1,
55
+ minHeight: 0,
56
+ overflow: 'auto',
57
+ borderRadius: 8,
58
+ border: `1px solid ${theme.colors.border ?? 'rgba(255,255,255,0.12)'}`,
59
+ background: 'rgba(0,0,0,0.25)',
60
+ padding: '10px 12px',
61
+ fontFamily: 'ui-monospace, SFMono-Regular, Menlo, monospace',
62
+ fontSize: theme.fontSizes[0],
63
+ lineHeight: 1.45,
64
+ }, children: events.length === 0 ? (_jsx("div", { style: { color: muted }, children: emptyLabel })) : (events.map((ev, i) => (_jsxs("div", { style: { marginBottom: 6 }, children: [_jsx("span", { style: { color: muted }, children: formatTime(ev.at) }), ' ', _jsx("span", { style: { color: theme.colors.primary ?? '#8fd' }, children: ev.type }), ev.summary && ev.summary !== ev.type ? _jsxs("span", { children: [" \u2014 ", ev.summary] }) : null] }, `${ev.at}-${ev.type}-${i}`)))) })] }));
65
+ }
66
+ //# sourceMappingURL=MaintainEventLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaintainEventLog.js","sourceRoot":"","sources":["../../../src/components/maintain-events/MaintainEventLog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * MaintainLivePanel — a collapsible, half-height panel that overlays the graph
3
+ * canvas and streams a live agent run's events. Subsystems Studio supplies the
4
+ * state (status/events/total/error) and renders it through
5
+ * `SubsystemComponentGraph`'s `liveEvents` prop; collapsing leaves just the
6
+ * header bar so the graph stays readable.
7
+ */
8
+ /// <reference types="react" />
9
+ import { type MaintainEventLogProps } from './MaintainEventLog';
10
+ export interface MaintainLivePanelProps extends MaintainEventLogProps {
11
+ /** Start collapsed (header only). @default false */
12
+ defaultCollapsed?: boolean;
13
+ }
14
+ export declare function MaintainLivePanel({ title, agent, sessionId, status, events, total, error, defaultCollapsed, }: MaintainLivePanelProps): import("react").JSX.Element;
15
+ //# sourceMappingURL=MaintainLivePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaintainLivePanel.d.ts","sourceRoot":"","sources":["../../../src/components/maintain-events/MaintainLivePanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAKH,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,sBAAuB,SAAQ,qBAAqB;IACnE,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAID,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,gBAAwB,GACzB,EAAE,sBAAsB,+BAqExB"}
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * MaintainLivePanel — a collapsible, half-height panel that overlays the graph
4
+ * canvas and streams a live agent run's events. Subsystems Studio supplies the
5
+ * state (status/events/total/error) and renders it through
6
+ * `SubsystemComponentGraph`'s `liveEvents` prop; collapsing leaves just the
7
+ * header bar so the graph stays readable.
8
+ */
9
+ import { useState } from 'react';
10
+ import { useTheme } from '@principal-ade/industry-theme';
11
+ import { ChevronDown, ChevronUp } from 'lucide-react';
12
+ import { MaintainEventLog } from './MaintainEventLog';
13
+ const HEADER_HEIGHT = 36;
14
+ export function MaintainLivePanel({ title, agent, sessionId, status, events, total, error, defaultCollapsed = false, }) {
15
+ const { theme } = useTheme();
16
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
17
+ const border = theme.colors.border ?? 'rgba(255,255,255,0.12)';
18
+ const [collapsed, setCollapsed] = useState(defaultCollapsed);
19
+ return (_jsxs("div", { style: {
20
+ position: 'absolute',
21
+ left: 0,
22
+ right: 0,
23
+ bottom: 0,
24
+ height: collapsed ? HEADER_HEIGHT : '50%',
25
+ zIndex: 5,
26
+ display: 'flex',
27
+ flexDirection: 'column',
28
+ background: theme.colors.backgroundSecondary ?? theme.colors.background,
29
+ borderTop: `1px solid ${border}`,
30
+ boxShadow: '0 -8px 24px rgba(0,0,0,0.35)',
31
+ overflow: 'hidden',
32
+ }, children: [_jsxs("button", { type: "button", onClick: () => setCollapsed((c) => !c), style: {
33
+ display: 'flex',
34
+ alignItems: 'center',
35
+ gap: 8,
36
+ height: HEADER_HEIGHT,
37
+ flexShrink: 0,
38
+ padding: '0 12px',
39
+ border: 'none',
40
+ borderBottom: collapsed ? 'none' : `1px solid ${border}`,
41
+ background: 'transparent',
42
+ color: theme.colors.text,
43
+ fontFamily: theme.fonts.body,
44
+ fontSize: theme.fontSizes[0],
45
+ cursor: 'pointer',
46
+ textAlign: 'left',
47
+ }, children: [collapsed ? _jsx(ChevronUp, { size: 14 }) : _jsx(ChevronDown, { size: 14 }), _jsx("span", { style: { fontWeight: 600 }, children: "Live events" }), agent ? _jsx("span", { style: { color: muted }, children: agent }) : null, status ? _jsxs("span", { style: { color: muted }, children: ["\u00B7 ", status] }) : null, total > 0 ? _jsxs("span", { style: { color: muted }, children: ["\u00B7 ", total, " events"] }) : null, _jsx("span", { style: { flex: 1 } }), sessionId ? (_jsx("span", { style: { color: muted, fontFamily: theme.fonts.monospace }, children: sessionId })) : null] }), !collapsed ? (_jsx("div", { style: { flex: 1, minHeight: 0 }, children: _jsx(MaintainEventLog, { title: title, agent: agent, sessionId: sessionId, status: status, events: events, total: total, error: error, showHeader: false }) })) : null] }));
48
+ }
49
+ //# sourceMappingURL=MaintainLivePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MaintainLivePanel.js","sourceRoot":"","sources":["../../../src/components/maintain-events/MaintainLivePanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Maintain event log — presentational live OpenCode agent-run event feed.
3
+ */
4
+ export { MaintainEventLog } from './MaintainEventLog';
5
+ export type { MaintainEventLogEvent, MaintainEventLogProps, } from './MaintainEventLog';
6
+ export { MaintainLivePanel } from './MaintainLivePanel';
7
+ export type { MaintainLivePanelProps } from './MaintainLivePanel';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/maintain-events/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Maintain event log — presentational live OpenCode agent-run event feed.
3
+ */
4
+ export { MaintainEventLog } from './MaintainEventLog';
5
+ export { MaintainLivePanel } from './MaintainLivePanel';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/maintain-events/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,8 @@
6
6
  */
7
7
  export { SessionEventFeed, SessionEventFeedGrouped, } from './components/session-events';
8
8
  export type { SessionEventFeedProps, SessionEventFeedGroupedProps, SessionEventFeedRow, } from './components/session-events';
9
+ export { MaintainEventLog, MaintainLivePanel } from './components/maintain-events';
10
+ export type { MaintainEventLogEvent, MaintainEventLogProps, MaintainLivePanelProps, } from './components/maintain-events';
9
11
  export type { JsonValue, GraphifyFileType, GraphifyConfidence, GraphifyNodeType, GraphifyRelation, GraphifyNode, GraphifyEdge, GraphifyHyperedge, GraphifyGraphMetadata, GraphifyGraph, } from './graphify';
10
12
  export type { GraphifyAnchorResolution, SubsystemGraphifyAnchor, GraphifyMethodInfo, GraphifyPropertyInfo, GraphifyParamInfo, GraphifyCallInfo, GraphifyReferenceInfo, GraphifyClassDetail, GraphifyFunctionDetail, GraphifyTypeDetail, GraphifyExternalDetail, GraphifyCustomEntityDetail, GraphifyCustomEntityAttribute, GraphifyComponentDetail, GraphifyEdgeRef, } from './graphify';
11
13
  export type { GraphifyTypeRefStatus, GraphifyTypeRefResolution, } from './graphify';
@@ -32,6 +34,8 @@ export { SubsystemDiagnosticToggle, diagnosticStatusColor, diagnosticTitle, } fr
32
34
  export type { SubsystemDiagnostic, SubsystemDiagnosticStatus, SubsystemDiagnosticToggleProps, } from './subsystem/DiagnosticToggle';
33
35
  export { SubsystemIssueList, SubsystemIssueCard, groupIssuesByTarget, groupIssuesByCategory, issueCategory, issueKindLabel, humanizeIssueKind, issueKindOrder, worstSeverity, severityRank, SUBSYSTEM_ISSUE_CATEGORIES, SUBSYSTEM_ISSUE_CATEGORY_LABEL, } from './subsystem/IssueList';
34
36
  export type { SubsystemIssue, SubsystemIssueSeverity, SubsystemIssueTarget, SubsystemIssueTargetKind, SubsystemIssueCategory, SubsystemIssueGroup, SubsystemIssueCategoryGroup, SubsystemIssueCardProps, SubsystemIssueListProps, } from './subsystem/IssueList';
37
+ export { SubsystemAgentsPanel } from './subsystem/AgentsPanel';
38
+ export type { SubsystemAgent, SubsystemAgentsPanelProps, } from './subsystem/AgentsPanel';
35
39
  export { MECHANISM_COLOR, MECHANISM_STYLE, MECHANISM_FALLBACK_COLOR, GRAPHIFY_RELATION_COLOR, GRAPHIFY_RELATION_STYLE, GRAPHIFY_RELATION_FALLBACK_COLOR, edgeColor, edgeStrokeStyle, } from './subsystem/model';
36
40
  export { BOUNDARY_COLOR, assignBoundaryColors, boundaryFill } from './subsystem/model';
37
41
  export { CONSTRUCT_COLOR, componentColor, constructColorsFromPierreTheme } from './pierre/constructColors';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,6 +6,8 @@
6
6
  */
7
7
  // Session event diagnostic feed (raw → repo-normalized → accumulated)
8
8
  export { SessionEventFeed, SessionEventFeedGrouped, } from './components/session-events';
9
+ // Maintain event log — presentational live OpenCode agent-run event feed
10
+ export { MaintainEventLog, MaintainLivePanel } from './components/maintain-events';
9
11
  export { normalizeGraphifyLabel, createGraphifyTypeResolver, resolveGraphifyTypeRef, normalizeGraphifyId, makeGraphifyId, graphifyFileStem, normalizeSourcePath, resolveComponentAnchor, symbolLabelVariants, inferConstructFromGraphify, constructsMatch, resolveConstructMatch, extractNamedTypes, extractGraphifySignature, compareSignatures, } from './graphify';
10
12
  // ELK layout utilities
11
13
  export { computeElkLayout, createElkLayouter } from './utils/elkLayout';
@@ -20,6 +22,8 @@ export { SymbolInspectionCard } from './subsystem/SymbolInspectionCard';
20
22
  export { extractDeclarationSymbolRefs, isLimitedInspection, } from './subsystem/symbolRefs';
21
23
  export { SubsystemDiagnosticToggle, diagnosticStatusColor, diagnosticTitle, } from './subsystem/DiagnosticToggle';
22
24
  export { SubsystemIssueList, SubsystemIssueCard, groupIssuesByTarget, groupIssuesByCategory, issueCategory, issueKindLabel, humanizeIssueKind, issueKindOrder, worstSeverity, severityRank, SUBSYSTEM_ISSUE_CATEGORIES, SUBSYSTEM_ISSUE_CATEGORY_LABEL, } from './subsystem/IssueList';
25
+ // Maintain agent pipeline panel (graph sidebar diagnostics → Agents tab)
26
+ export { SubsystemAgentsPanel } from './subsystem/AgentsPanel';
23
27
  export { MECHANISM_COLOR, MECHANISM_STYLE, MECHANISM_FALLBACK_COLOR, GRAPHIFY_RELATION_COLOR, GRAPHIFY_RELATION_STYLE, GRAPHIFY_RELATION_FALLBACK_COLOR, edgeColor, edgeStrokeStyle, } from './subsystem/model';
24
28
  export { BOUNDARY_COLOR, assignBoundaryColors, boundaryFill } from './subsystem/model';
25
29
  export { CONSTRUCT_COLOR, componentColor, constructColorsFromPierreTheme } from './pierre/constructColors';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * SubsystemAgentsPanel — the graph sidebar's Agents view: the Maintain agent
3
+ * pipeline, with the stage the router picked next highlighted and runnable.
4
+ *
5
+ * The host supplies the agent rows and the router's pick (`nextAgentId`); this
6
+ * component is presentation + the run trigger only.
7
+ */
8
+ /// <reference types="react" />
9
+ export interface SubsystemAgent {
10
+ id: string;
11
+ label: string;
12
+ /** Display group, e.g. `construct` / `static-topology` / `dynamic-topology`. */
13
+ lane?: string;
14
+ /** `issues` (fixer) or `verify` (verifier). */
15
+ mode?: string;
16
+ }
17
+ export interface SubsystemAgentsPanelProps {
18
+ agents: SubsystemAgent[];
19
+ /** Router's next stage, by agent id. Highlighted and runnable. */
20
+ nextAgentId?: string | null;
21
+ /** A Maintain run is in flight for this model. */
22
+ running?: boolean;
23
+ /** Run the router's next stage. */
24
+ onRun?: () => void;
25
+ }
26
+ export declare function SubsystemAgentsPanel({ agents, nextAgentId, running, onRun, }: SubsystemAgentsPanelProps): import("react").JSX.Element;
27
+ //# sourceMappingURL=AgentsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsPanel.d.ts","sourceRoot":"","sources":["../../src/subsystem/AgentsPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAKH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAQD,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,GACN,EAAE,yBAAyB,+BAkG3B"}
@@ -0,0 +1,66 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * SubsystemAgentsPanel — the graph sidebar's Agents view: the Maintain agent
4
+ * pipeline, with the stage the router picked next highlighted and runnable.
5
+ *
6
+ * The host supplies the agent rows and the router's pick (`nextAgentId`); this
7
+ * component is presentation + the run trigger only.
8
+ */
9
+ import { useTheme } from '@principal-ade/industry-theme';
10
+ import { Bot, Play } from 'lucide-react';
11
+ const LANE_LABEL = {
12
+ construct: 'Construct',
13
+ 'static-topology': 'Static topology',
14
+ 'dynamic-topology': 'Dynamic topology',
15
+ };
16
+ export function SubsystemAgentsPanel({ agents, nextAgentId, running, onRun, }) {
17
+ const { theme } = useTheme();
18
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
19
+ const accent = theme.colors.primary ?? '#7dd3fc';
20
+ if (agents.length === 0) {
21
+ return (_jsx("div", { style: {
22
+ flex: 1,
23
+ minHeight: 0,
24
+ display: 'flex',
25
+ alignItems: 'center',
26
+ justifyContent: 'center',
27
+ padding: 16,
28
+ color: muted,
29
+ fontFamily: theme.fonts.body,
30
+ fontSize: theme.fontSizes[1],
31
+ }, children: "No Maintain agents configured." }));
32
+ }
33
+ return (_jsx("div", { style: { flex: 1, minHeight: 0, overflowY: 'auto' }, children: agents.map((agent) => {
34
+ const isNext = nextAgentId === agent.id;
35
+ return (_jsxs("div", { style: {
36
+ display: 'flex',
37
+ alignItems: 'center',
38
+ gap: 8,
39
+ padding: '9px 12px',
40
+ borderBottom: `1px solid ${theme.colors.border}`,
41
+ background: isNext ? `${accent}14` : 'transparent',
42
+ }, children: [_jsx(Bot, { size: 14, color: isNext ? accent : muted, style: { flexShrink: 0 }, "aria-hidden": "true" }), _jsxs("div", { style: { flex: 1, minWidth: 0, display: 'flex', flexDirection: 'column', gap: 2 }, children: [_jsx("span", { style: {
43
+ fontFamily: theme.fonts.monospace,
44
+ fontSize: theme.fontSizes[1],
45
+ color: isNext ? theme.colors.text : theme.colors.textSecondary,
46
+ whiteSpace: 'nowrap',
47
+ overflow: 'hidden',
48
+ textOverflow: 'ellipsis',
49
+ }, children: agent.label }), agent.lane || agent.mode ? (_jsxs("span", { style: { fontSize: theme.fontSizes[0], color: muted }, children: [agent.lane ? (LANE_LABEL[agent.lane] ?? agent.lane) : null, agent.lane && agent.mode ? ' · ' : null, agent.mode ?? null] })) : null] }), isNext ? (_jsxs("button", { type: "button", onClick: () => onRun?.(), disabled: running || onRun == null, style: {
50
+ display: 'inline-flex',
51
+ alignItems: 'center',
52
+ gap: 5,
53
+ padding: '3px 8px',
54
+ border: `1px solid ${accent}`,
55
+ borderRadius: 4,
56
+ background: 'transparent',
57
+ color: accent,
58
+ fontFamily: theme.fonts.monospace,
59
+ fontSize: theme.fontSizes[1],
60
+ cursor: running || onRun == null ? 'default' : 'pointer',
61
+ opacity: running || onRun == null ? 0.6 : 1,
62
+ flexShrink: 0,
63
+ }, children: [_jsx(Play, { size: 11 }), running ? 'Running…' : 'Run'] })) : null] }, agent.id));
64
+ }) }));
65
+ }
66
+ //# sourceMappingURL=AgentsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentsPanel.js","sourceRoot":"","sources":["../../src/subsystem/AgentsPanel.tsx"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@
17
17
  import type { ReactNode } from 'react';
18
18
  import { type SubsystemComponentEdge, type SubsystemComponent, type SubsystemEdgeView, type SubsystemGraphifyRelation, type SubsystemRelation, type SubsystemWalkthrough } from './model';
19
19
  import type { SubsystemOpenFileOptions } from './declarationRef';
20
+ import { type SubsystemAgentsPanelProps } from './AgentsPanel';
21
+ import { type MaintainLivePanelProps } from '../components/maintain-events/MaintainLivePanel';
20
22
  import type { WalkthroughSymbolQuery } from '../pierre/PierreWalkthroughCodeView';
21
23
  import { type SubsystemDiagnostic } from './DiagnosticToggle';
22
24
  import { type SubsystemIssue, type SubsystemIssueCategory } from './IssueList';
@@ -170,6 +172,17 @@ export interface SubsystemComponentGraphProps {
170
172
  onDescriptionOpenChange?: (open: boolean) => void;
171
173
  /** Rendered over the graph canvas only (not the title/legend sidebar). */
172
174
  canvasOverlay?: ReactNode;
175
+ /**
176
+ * Live agent-run events to show in a collapsible half-height panel over the
177
+ * graph canvas. Omit (or pass null) to hide it.
178
+ */
179
+ liveEvents?: MaintainLivePanelProps | null;
180
+ /**
181
+ * Maintain agent pipeline for the sidebar's diagnostics area. When set, the
182
+ * issues view grows an Issues / Agents tab bar; the Agents tab lists the
183
+ * agents with the router's next stage runnable.
184
+ */
185
+ agentsPanel?: SubsystemAgentsPanelProps | null;
173
186
  /** Extra controls at the top of the title/legend sidebar. */
174
187
  sidebarExtra?: ReactNode;
175
188
  /** Rendered in the sidebar under the description (e.g. selection inspector). */
@@ -1 +1 @@
1
- {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBtE,OAAO,EAWL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAG9B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAC1B,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAKrB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAY3E,+EAA+E;AAC/E,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,oBAAoB,CAAC;IAClC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2FAA2F;IAC3F,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACpE;;;OAGG;IACH,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,0EAA0E;IAC1E,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACzE;AA6DD,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,wGAAwG;IACxG,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACtC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACzD;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAC/D,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD;kFAC8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wDAAwD;IACxD,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC3C;;;;OAIG;IACH,WAAW,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,0CAA0C;IAC1C,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAClD,yEAAyE;IACzE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAChF;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,wBAAwB,KAAK,SAAS,CAAC;IACvE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC1D;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,oBAAoB,CAAC;KAC3B,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACjE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAi2FD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAiE1E"}
@@ -22,6 +22,8 @@ import { FileText, X } from 'lucide-react';
22
22
  import { IndustryMarkdownSlide } from 'themed-markdown';
23
23
  import { buildSubsystemGraph, deriveGraphEdges, isConstructsOnlyModel, moduleGroupNodeId, isRelationMechanism, isWalkthroughMechanism, edgeColor, MECHANISM_DESCRIPTIONS, subsystemGraphLayoutKey, walkthroughStepGraphEdgeId, } from './model';
24
24
  import { ConstructsCatalog } from './ConstructsCatalog';
25
+ import { SubsystemAgentsPanel, } from './AgentsPanel';
26
+ import { MaintainLivePanel, } from '../components/maintain-events/MaintainLivePanel';
25
27
  import { SubsystemComponentNode, SubsystemGroupNode, SubsystemEdge, SUBSYSTEM_CALLBACKS, hexWithAlpha, EDGE_DIM_ALPHA, fileMatchForNode, flowElementVisibility } from './nodes';
26
28
  import { SubsystemDiagnosticToggle } from './DiagnosticToggle';
27
29
  import { SubsystemIssueList, issueCategory, issueKindOrder, issueRung, ISSUE_KIND_ICON, ISSUE_RUNG_ORDER, } from './IssueList';
@@ -120,7 +122,7 @@ const WalkthroughDrawerContent = memo(function WalkthroughDrawerContent({ render
120
122
  onSymbolClick,
121
123
  }) }));
122
124
  });
123
- function Inner({ components, relations, walkthroughs, graphifyRelations, orderByLine, initialWalkthroughId, onReorderWalkthroughs, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, edgeView, title, hideSidebar, walkthroughStepMode = 'focus', autoPlayWalkthroughs = false, walkthroughAutoPlayIntervalMs = WALKTHROUGH_PLAY_PAUSE_MS, zoomOnWalkthroughFocus = true, walkthroughFocusDurationMs = 300, graphTitle, showWalkthroughTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, diagnostic, issues, showIssues, focusIssueCategory, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileView, renderFileViewer, renderWalkthroughViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, hideDrawer = false, persistKey }) {
125
+ function Inner({ components, relations, walkthroughs, graphifyRelations, orderByLine, initialWalkthroughId, onReorderWalkthroughs, onSelect, onEdgeSelect, measured: _measured, maxNodeWidth, showEdgeLabels, showSingletonFrames = true, edgeView, title, hideSidebar, walkthroughStepMode = 'focus', autoPlayWalkthroughs = false, walkthroughAutoPlayIntervalMs = WALKTHROUGH_PLAY_PAUSE_MS, zoomOnWalkthroughFocus = true, walkthroughFocusDurationMs = 300, graphTitle, showWalkthroughTitle = false, description, canvasOverlay, sidebarExtra, sidebarAfterDescription, diagnostic, issues, showIssues, focusIssueCategory, onSelectIssue, onApplyIssueFix, onHoverIssue, renderFileView, renderFileViewer, renderWalkthroughViewer, onFileSelect, componentVerification, onInspectSymbol, boundaryColors, hideDrawer = false, persistKey, liveEvents, agentsPanel }) {
124
126
  const { theme } = useTheme();
125
127
  const { fitView, fitBounds } = useReactFlow();
126
128
  const viewport = useViewport();
@@ -161,6 +163,8 @@ function Inner({ components, relations, walkthroughs, graphifyRelations, orderBy
161
163
  const [hoveredWalkthroughStep, setHoveredWalkthroughStep] = useState(null);
162
164
  // Sidebar bottom half: which panel is shown when walkthroughs exist.
163
165
  const [sidebarView, setSidebarView] = useState(() => walkthroughs?.length ? 'walkthroughs' : 'files');
166
+ // Diagnostics area tab: issues list vs the Maintain agent pipeline.
167
+ const [diagnosticsTab, setDiagnosticsTab] = useState('issues');
164
168
  // Temporary edge-vocabulary override. Focusing a relation finding whose edge
165
169
  // belongs to the *other* vocabulary flips the canvas so the edge is actually
166
170
  // visible; it reverts when the focus is undone (see `unfocusIssueTarget`) or
@@ -1976,7 +1980,25 @@ function Inner({ components, relations, walkthroughs, graphifyRelations, orderBy
1976
1980
  display: 'flex',
1977
1981
  flexDirection: 'column',
1978
1982
  overflow: 'hidden',
1979
- }, children: issuesActive ? (_jsx(SubsystemIssueList, { issues: issues ?? [], focusCategory: focusIssueCategory, onSelectIssue: focusIssueTarget, onDeselectIssue: unfocusIssueTarget, onApplyFix: onApplyIssueFix, onHoverIssue: onHoverIssue, onExpandedCategoriesChange: handleExpandedCategoriesChange })) : (_jsxs(_Fragment, { children: [hasWalkthroughs && (_jsx("div", { role: "tablist", "aria-label": "Sidebar view", style: {
1983
+ }, children: issuesActive ? (agentsPanel ? (_jsxs("div", { style: { flex: 1, minHeight: 0, display: 'flex', flexDirection: 'column' }, children: [_jsx("div", { role: "tablist", "aria-label": "Diagnostics view", style: {
1984
+ display: 'flex',
1985
+ width: '100%',
1986
+ flexShrink: 0,
1987
+ borderBottom: `1px solid ${theme.colors.border}`,
1988
+ background: theme.colors.backgroundSecondary ?? theme.colors.background,
1989
+ }, children: ['issues', 'agents'].map((tab) => (_jsx("button", { type: "button", role: "tab", "aria-selected": diagnosticsTab === tab, onClick: () => setDiagnosticsTab(tab), style: {
1990
+ flex: 1,
1991
+ minWidth: 0,
1992
+ padding: '8px 8px',
1993
+ border: 'none',
1994
+ borderRadius: 0,
1995
+ background: diagnosticsTab === tab ? theme.colors.background : 'transparent',
1996
+ color: diagnosticsTab === tab ? theme.colors.text : theme.colors.textSecondary,
1997
+ fontSize: theme.fontSizes[1],
1998
+ fontFamily: theme.fonts.monospace,
1999
+ textTransform: 'capitalize',
2000
+ cursor: 'pointer',
2001
+ }, children: tab === 'issues' ? 'Issues' : 'Agents' }, tab))) }), diagnosticsTab === 'agents' ? (_jsx(SubsystemAgentsPanel, { ...agentsPanel })) : (_jsx(SubsystemIssueList, { issues: issues ?? [], focusCategory: focusIssueCategory, onSelectIssue: focusIssueTarget, onDeselectIssue: unfocusIssueTarget, onApplyFix: onApplyIssueFix, onHoverIssue: onHoverIssue, onExpandedCategoriesChange: handleExpandedCategoriesChange }))] })) : (_jsx(SubsystemIssueList, { issues: issues ?? [], focusCategory: focusIssueCategory, onSelectIssue: focusIssueTarget, onDeselectIssue: unfocusIssueTarget, onApplyFix: onApplyIssueFix, onHoverIssue: onHoverIssue, onExpandedCategoriesChange: handleExpandedCategoriesChange }))) : (_jsxs(_Fragment, { children: [hasWalkthroughs && (_jsx("div", { role: "tablist", "aria-label": "Sidebar view", style: {
1980
2002
  display: 'flex',
1981
2003
  width: '100%',
1982
2004
  flexShrink: 0,
@@ -2231,7 +2253,7 @@ function Inner({ components, relations, walkthroughs, graphifyRelations, orderBy
2231
2253
  fontFamily: theme.fonts.monospace,
2232
2254
  fontSize: theme.fontSizes[0],
2233
2255
  color: theme.colors.textMuted ?? theme.colors.textSecondary,
2234
- }, children: fileOverlay.file }), _jsx(FileOverlayCloseButton, { onClose: closeFileOverlay })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: _jsx(FileDrawerContent, { render: renderDrawerContent, file: fileOverlay.file, startLine: fileOverlay.startLine, fullFile: true }) })] })), _jsx(GraphLayoutCover, { revealed: layoutReady }), canvasOverlay] })] }));
2256
+ }, children: fileOverlay.file }), _jsx(FileOverlayCloseButton, { onClose: closeFileOverlay })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: _jsx(FileDrawerContent, { render: renderDrawerContent, file: fileOverlay.file, startLine: fileOverlay.startLine, fullFile: true }) })] })), _jsx(GraphLayoutCover, { revealed: layoutReady }), canvasOverlay, liveEvents ? _jsx(MaintainLivePanel, { ...liveEvents }) : null] })] }));
2235
2257
  }
2236
2258
  /** Sidebar header for one repo's tree: owner avatar + repo name + file count.
2237
2259
  * Clicking toggles the tree's visibility. */