@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.
- package/dist/components/maintain-events/MaintainEventLog.d.ts +35 -0
- package/dist/components/maintain-events/MaintainEventLog.d.ts.map +1 -0
- package/dist/components/maintain-events/MaintainEventLog.js +66 -0
- package/dist/components/maintain-events/MaintainEventLog.js.map +1 -0
- package/dist/components/maintain-events/MaintainLivePanel.d.ts +15 -0
- package/dist/components/maintain-events/MaintainLivePanel.d.ts.map +1 -0
- package/dist/components/maintain-events/MaintainLivePanel.js +49 -0
- package/dist/components/maintain-events/MaintainLivePanel.js.map +1 -0
- package/dist/components/maintain-events/index.d.ts +8 -0
- package/dist/components/maintain-events/index.d.ts.map +1 -0
- package/dist/components/maintain-events/index.js +6 -0
- package/dist/components/maintain-events/index.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/subsystem/AgentsPanel.d.ts +27 -0
- package/dist/subsystem/AgentsPanel.d.ts.map +1 -0
- package/dist/subsystem/AgentsPanel.js +66 -0
- package/dist/subsystem/AgentsPanel.js.map +1 -0
- package/dist/subsystem/SubsystemComponentGraph.d.ts +13 -0
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +25 -3
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/package.json +1 -1
- package/src/components/maintain-events/MaintainEventLog.tsx +152 -0
- package/src/components/maintain-events/MaintainLivePanel.tsx +99 -0
- package/src/components/maintain-events/index.ts +10 -0
- package/src/index.ts +15 -0
- package/src/stories/MaintainEvents/MaintainEventLog.stories.tsx +66 -0
- package/src/stories/MaintainEvents/MaintainLivePanel.stories.tsx +77 -0
- package/src/stories/Subsystem/AgentsPanel.stories.tsx +61 -0
- package/src/stories/data/maintain-live-events.json +554 -0
- package/src/subsystem/AgentsPanel.tsx +140 -0
- 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 @@
|
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;
|
|
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":"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"}
|
|
@@ -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 ? (
|
|
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. */
|