@principal-ai/principal-view-react 0.16.42 → 0.16.44

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AA+BjB;kEACkE;AAClE,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;+DAC2D;IAC3D,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,yBAAyB,2CAsUzG"}
1
+ {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AA+BjB;kEACkE;AAClE,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,6DAA6D;IAC7D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC;+DAC2D;IAC3D,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,yBAAyB,2CAuazG"}
@@ -6,7 +6,8 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
6
6
  * members as signatures. Graphify relationship drill-downs appear as trailing
7
7
  * comments. File content lives in the bottom FileDrawer, not here.
8
8
  */
9
- import { Fragment } from 'react';
9
+ import { Fragment, useState } from 'react';
10
+ import { AlignLeft, FileText } from 'lucide-react';
10
11
  import { useTheme } from '@principal-ade/industry-theme';
11
12
  import { KIND_COLOR, deriveNameFromSymbol, formatPurl, } from './model';
12
13
  /** Shared affordance for clickable text pieces. */
@@ -33,6 +34,11 @@ function DetailLink({ children, onClick }) {
33
34
  /** Declaration panel for the selected component — its definition, code-style. */
34
35
  export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }) {
35
36
  const { theme } = useTheme();
37
+ const [fileHovered, setFileHovered] = useState(false);
38
+ // Header visibility toggles — off by default so the panel opens as pure
39
+ // code; the repo-row icons bring the path and description back.
40
+ const [showFile, setShowFile] = useState(false);
41
+ const [showPurpose, setShowPurpose] = useState(false);
36
42
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
37
43
  const color = KIND_COLOR[component.kind] ?? '#888';
38
44
  const displayName = deriveNameFromSymbol(component.symbol, component.kind, component.name, component.file);
@@ -47,36 +53,84 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
47
53
  const line = (children, key, indent) => (_jsx("div", { style: indent ? { paddingLeft: 16 } : undefined, children: children }, key));
48
54
  const commentStyle = { color: muted, fontStyle: 'italic' };
49
55
  const commentLine = (text, key, indent, onClick) => line(_jsx(DetailLink, { onClick: onClick, children: _jsx("span", { style: { ...commentStyle, ...(onClick ? clickableStyle : undefined) }, children: text }) }), key, indent);
50
- // Trailing relationship comments whose names are individually clickable.
51
- const commentListLine = (prefix, names, key) => line(_jsxs(_Fragment, { children: [_jsx("span", { style: commentStyle, children: prefix }), list(names.map((n, i) => (_jsx(Fragment, { children: _jsx(DetailLink, { onClick: onRelatedSelect ? () => onRelatedSelect(n) : undefined, children: _jsx("span", { style: { ...commentStyle, ...(onRelatedSelect ? clickableStyle : undefined) }, children: n }) }) }, i))))] }), key);
56
+ // Purpose is the panel's actual prose, not code — body font, readable
57
+ // size/contrast, capped measure. The `//` metadata lines above it stay
58
+ // muted mono on purpose.
59
+ const purposeStyle = {
60
+ color: theme.colors.text,
61
+ fontFamily: theme.fonts.body,
62
+ fontSize: theme.fontSizes[1],
63
+ lineHeight: 1.5,
64
+ maxWidth: '52ch',
65
+ };
66
+ // Trailing relationship comments (`// called by:`, `// constructed by:`,
67
+ // `// implemented by:`, …) are deliberately not rendered — the graph's
68
+ // edges carry interactions, and duplicated name lists read as clutter. The
69
+ // data stays on the Graphify detail types for other surfaces.
52
70
  // Comma-join rendered tokens without raw-array key churn.
53
71
  const list = (items) => items.map((item, i) => (_jsxs(Fragment, { children: [i > 0 ? ', ' : null, item] }, i)));
54
72
  const lines = [];
55
- if (component.purl)
73
+ // Repo identity — owner avatar + name for GitHub-hosted purls; anything
74
+ // else falls back to the formatted purl as a quiet comment. The avatar
75
+ // hides itself on load failure (offline / blocked hosts).
76
+ const ghMatch = /^pkg:github\/([^/]+)\/([^/#?]+)/.exec(component.purl ?? '');
77
+ // Small ghost icon button for the header toggles — accent when its section
78
+ // is shown, muted when hidden.
79
+ const toggleBtn = (on, onClick, title, Icon) => (_jsx("button", { type: "button", title: title, "aria-label": title, onClick: onClick, style: {
80
+ display: 'flex',
81
+ alignItems: 'center',
82
+ justifyContent: 'center',
83
+ width: 20,
84
+ height: 20,
85
+ padding: 0,
86
+ border: 'none',
87
+ borderRadius: 4,
88
+ background: 'transparent',
89
+ color: on ? theme.colors.accent : muted,
90
+ cursor: 'pointer',
91
+ }, children: _jsx(Icon, { size: 13 }) }));
92
+ if (ghMatch) {
93
+ const [, ghOwner, ghRepo] = ghMatch;
94
+ lines.push(line(_jsxs("span", { style: { display: 'flex', alignItems: 'center', gap: 6, width: '100%' }, children: [_jsx("img", { src: `https://github.com/${ghOwner}.png?size=40`, alt: "", width: 18, height: 18, style: { borderRadius: 4, flexShrink: 0 }, onError: (e) => {
95
+ e.currentTarget.style.display = 'none';
96
+ } }), _jsx("span", { style: {
97
+ color: theme.colors.textSecondary ?? muted,
98
+ fontFamily: theme.fonts.body,
99
+ fontSize: theme.fontSizes[1],
100
+ }, children: ghRepo }), _jsxs("span", { style: { marginLeft: 'auto', display: 'flex', alignItems: 'center', gap: 2 }, children: [toggleBtn(showFile, () => setShowFile((v) => !v), 'Toggle file path', FileText), toggleBtn(showPurpose, () => setShowPurpose((v) => !v), 'Toggle description', AlignLeft)] })] }), 'repo'));
101
+ }
102
+ else if (component.purl) {
56
103
  lines.push(commentLine(`// ${formatPurl(component.purl)}`, 'purl'));
57
- if (component.file)
58
- lines.push(commentLine(`// ${component.file}`, 'file', false, onOpenFile ? () => onOpenFile(component.file) : undefined));
59
- if (component.purpose)
60
- lines.push(commentLine(`/** ${component.purpose} */`, 'purpose'));
104
+ }
105
+ if (showFile && component.file)
106
+ lines.push(line(_jsx(DetailLink, { onClick: onOpenFile ? () => onOpenFile(component.file) : undefined, children: _jsx("span", { onMouseEnter: () => setFileHovered(true), onMouseLeave: () => setFileHovered(false), style: {
107
+ // Path as UI text, not a code comment — matches the repo-name
108
+ // row. Quiet until hover; the underline only appears then.
109
+ color: theme.colors.textSecondary ?? muted,
110
+ fontFamily: theme.fonts.body,
111
+ fontSize: theme.fontSizes[1],
112
+ textDecoration: fileHovered && onOpenFile ? 'underline' : undefined,
113
+ textUnderlineOffset: 2,
114
+ }, children: component.file }) }), 'file'));
61
115
  const detail = component.detail;
116
+ // Detail facets may be hand-authored (see `detailProvenance`) and the wire
117
+ // carries no guarantee that every typed array is present — treat all of
118
+ // them as optional so a partial detail degrades to fewer lines, never a
119
+ // render crash.
62
120
  switch (detail?.kind ?? component.kind) {
63
121
  case 'class': {
64
122
  const members = [];
65
123
  if (detail?.kind === 'class') {
66
- detail.methods.forEach((m, i) => members.push(line(_jsxs(_Fragment, { children: [mb(m.name), pn('('), (m.parameters ?? []).length > 0 &&
124
+ (detail.methods ?? []).forEach((m, i) => members.push(line(_jsxs(_Fragment, { children: [mb(m.name), pn('('), (m.parameters ?? []).length > 0 &&
67
125
  list((m.parameters ?? []).map((p, j) => (_jsxs(Fragment, { children: [p.name ? (_jsxs(_Fragment, { children: [mb(p.name), pn(': ')] })) : null, ty(p.type)] }, j)))), pn(')'), m.returnType ? (_jsxs(_Fragment, { children: [pn(': '), ty(m.returnType)] })) : null] }), `m${i}`, true)));
68
- detail.properties.forEach((prop, i) => members.push(line(_jsxs(_Fragment, { children: [mb(prop.name), prop.type ? (_jsxs(_Fragment, { children: [pn(': '), ty(prop.type)] })) : null] }), `p${i}`, true)));
126
+ (detail.properties ?? []).forEach((prop, i) => members.push(line(_jsxs(_Fragment, { children: [mb(prop.name), prop.type ? (_jsxs(_Fragment, { children: [pn(': '), ty(prop.type)] })) : null] }), `p${i}`, true)));
69
127
  }
70
128
  const cls = detail?.kind === 'class' ? detail : undefined;
71
129
  const hasBody = members.length > 0;
72
- lines.push(line(_jsxs(_Fragment, { children: [kw('class'), ' ', nm(displayName), cls && cls.extends.length > 0 && (_jsxs(_Fragment, { children: [' ', kw('extends'), ' ', list(cls.extends.map((e, i) => _jsx(Fragment, { children: ty(e) }, i)))] })), cls && cls.implements.length > 0 && (_jsxs(_Fragment, { children: [' ', kw('implements'), ' ', list(cls.implements.map((e, i) => _jsx(Fragment, { children: ty(e) }, i)))] })), hasBody ? pn(' {') : null] }), 'decl'));
130
+ lines.push(line(_jsxs(_Fragment, { children: [kw('class'), ' ', nm(displayName), cls && (cls.extends ?? []).length > 0 && (_jsxs(_Fragment, { children: [' ', kw('extends'), ' ', list((cls.extends ?? []).map((e, i) => _jsx(Fragment, { children: ty(e) }, i)))] })), cls && (cls.implements ?? []).length > 0 && (_jsxs(_Fragment, { children: [' ', kw('implements'), ' ', list((cls.implements ?? []).map((e, i) => _jsx(Fragment, { children: ty(e) }, i)))] })), hasBody ? pn(' {') : null] }), 'decl'));
73
131
  lines.push(...members);
74
132
  if (hasBody)
75
133
  lines.push(line(pn('}'), 'end'));
76
- if (cls && cls.instantiations.length > 0)
77
- lines.push(commentListLine('// constructed by: ', cls.instantiations.map((c) => c.name), 'insts'));
78
- if (cls && cls.references.length > 0)
79
- lines.push(commentListLine('// referenced by: ', cls.references.map((r) => r.name), 'refs'));
80
134
  break;
81
135
  }
82
136
  case 'function': {
@@ -84,35 +138,31 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
84
138
  const params = fn?.parameters ?? [];
85
139
  lines.push(line(_jsxs(_Fragment, { children: [kw('function'), ' ', nm(displayName), pn('('), params.length > 0 &&
86
140
  list(params.map((param, i) => (_jsxs(Fragment, { children: [param.name ? (_jsxs(_Fragment, { children: [mb(param.name), pn(': ')] })) : null, ty(param.type)] }, i)))), pn(')'), fn?.returnType ? (_jsxs(_Fragment, { children: [pn(': '), ty(fn.returnType)] })) : null, pn(';')] }), 'decl'));
87
- if (fn && fn.callers.length > 0)
88
- lines.push(commentListLine('// called by: ', fn.callers.map((c) => c.name), 'callers'));
89
- if (fn && fn.callees.length > 0)
90
- lines.push(commentListLine('// calls: ', fn.callees.map((c) => c.name), 'callees'));
141
+ // Caller/callee relationship comments (`// called by:` / `// calls:`)
142
+ // are deliberately not rendered here the graph's edges carry
143
+ // interactions, and duplicated call lists read as clutter. The data
144
+ // stays on `GraphifyFunctionDetail` for other surfaces.
91
145
  break;
92
146
  }
93
147
  case 'type': {
94
148
  const tpe = detail?.kind === 'type' ? detail : undefined;
95
- const hasBody = (tpe?.properties.length ?? 0) > 0;
149
+ const hasBody = ((tpe?.properties ?? []).length) > 0;
96
150
  lines.push(line(_jsxs(_Fragment, { children: [kw('interface'), ' ', nm(displayName), hasBody ? pn(' {') : null] }), 'decl'));
97
151
  if (tpe) {
98
- tpe.properties.forEach((prop, i) => lines.push(line(_jsxs(_Fragment, { children: [mb(prop.name), prop.type ? (_jsxs(_Fragment, { children: [pn(': '), ty(prop.type)] })) : null, pn(';')] }), `p${i}`, true)));
152
+ (tpe.properties ?? []).forEach((prop, i) => lines.push(line(_jsxs(_Fragment, { children: [mb(prop.name), prop.type ? (_jsxs(_Fragment, { children: [pn(': '), ty(prop.type)] })) : null, pn(';')] }), `p${i}`, true)));
99
153
  }
100
154
  if (hasBody)
101
155
  lines.push(line(pn('}'), 'end'));
102
- if (tpe && tpe.implementors.length > 0)
103
- lines.push(commentListLine('// implemented by: ', tpe.implementors, 'impl'));
104
- if (tpe && tpe.usedBy.length > 0)
105
- lines.push(commentListLine('// used by: ', tpe.usedBy.map((u) => u.name), 'usedBy'));
106
156
  break;
107
157
  }
108
158
  case 'module': {
109
159
  const mod = detail?.kind === 'module' ? detail : undefined;
110
160
  if (mod) {
111
- mod.imports.forEach((imp, i) => lines.push(line(_jsxs(_Fragment, { children: [kw('import'), ' ', pn("'"), str(imp.name), pn("';")] }), `imp${i}`)));
112
- if (mod.exports.length > 0)
113
- lines.push(line(_jsxs(_Fragment, { children: [kw('export'), ' ', pn('{ '), list(mod.exports.map((e, i) => _jsx(Fragment, { children: mb(e) }, i))), pn(' }'), pn(';')] }), 'exports'));
114
- if (mod.symbols.length > 0)
115
- lines.push(commentLine(`// defines: ${mod.symbols.join(', ')}`, 'symbols'));
161
+ (mod.imports ?? []).forEach((imp, i) => lines.push(line(_jsxs(_Fragment, { children: [kw('import'), ' ', pn("'"), str(imp.name), pn("';")] }), `imp${i}`)));
162
+ if ((mod.exports ?? []).length > 0)
163
+ lines.push(line(_jsxs(_Fragment, { children: [kw('export'), ' ', pn('{ '), list((mod.exports ?? []).map((e, i) => _jsx(Fragment, { children: mb(e) }, i))), pn(' }'), pn(';')] }), 'exports'));
164
+ if ((mod.symbols ?? []).length > 0)
165
+ lines.push(commentLine(`// defines: ${(mod.symbols ?? []).join(', ')}`, 'symbols'));
116
166
  }
117
167
  else {
118
168
  lines.push(line(_jsxs(_Fragment, { children: [kw('module'), ' ', nm(displayName)] }), 'decl'));
@@ -124,11 +174,18 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
124
174
  break;
125
175
  }
126
176
  }
177
+ // Purpose prose follows the declaration — identity and syntax first, the
178
+ // explanation underneath. Newlines split into separate prose lines so a
179
+ // two-thought purpose reads as a short paragraph instead of one blob.
180
+ if (showPurpose && component.purpose) {
181
+ lines.push(line(_jsx("div", { style: { height: 6 } }), 'purpose-gap'));
182
+ component.purpose.split("\n").forEach((purposeLine, i) => lines.push(line(_jsx("span", { style: { ...purposeStyle, display: 'block' }, children: purposeLine.trim() }, `purpose${i}`), `purpose${i}`)));
183
+ }
127
184
  return (_jsx("div", { style: {
128
185
  background: theme.colors.backgroundSecondary,
129
186
  padding: '10px 12px',
130
187
  fontFamily: theme.fonts.monospace,
131
- fontSize: theme.fontSizes[0],
188
+ fontSize: theme.fontSizes[1],
132
189
  lineHeight: 1.7,
133
190
  wordBreak: 'break-word',
134
191
  }, children: lines }));
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDeclaration.js","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentDeclaration.js","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
@@ -48,6 +48,15 @@ export interface SubsystemComponent {
48
48
  * external); rendered in the detail panel on click.
49
49
  */
50
50
  detail?: GraphifyComponentDetail;
51
+ /**
52
+ * Where the drill-down `detail` came from. `verified` = extracted from
53
+ * source by tooling (graphify AST, signature extraction) — may be trusted
54
+ * as matching the code. `authored` = written by the authoring agent/human
55
+ * to highlight specific inputs/outputs — informative, not checked against
56
+ * source. Detail without provenance is treated as `authored`; only tooling
57
+ * may claim `verified`.
58
+ */
59
+ detailProvenance?: 'verified' | 'authored';
51
60
  }
52
61
  /** A cross-component edge in the subsystem graph. */
53
62
  export interface SubsystemComponentEdge {
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/subsystem/model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/principal-view-react",
3
- "version": "0.16.42",
3
+ "version": "0.16.44",
4
4
  "description": "React components for graph-based principal view framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -6,7 +6,8 @@
6
6
  * comments. File content lives in the bottom FileDrawer, not here.
7
7
  */
8
8
 
9
- import { Fragment, type ReactNode } from 'react';
9
+ import { Fragment, useState, type ReactNode } from 'react';
10
+ import { AlignLeft, FileText } from 'lucide-react';
10
11
  import { useTheme } from '@principal-ade/industry-theme';
11
12
  import {
12
13
  KIND_COLOR,
@@ -58,6 +59,11 @@ export interface ComponentDeclarationProps {
58
59
  /** Declaration panel for the selected component — its definition, code-style. */
59
60
  export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }: ComponentDeclarationProps) {
60
61
  const { theme } = useTheme();
62
+ const [fileHovered, setFileHovered] = useState(false);
63
+ // Header visibility toggles — off by default so the panel opens as pure
64
+ // code; the repo-row icons bring the path and description back.
65
+ const [showFile, setShowFile] = useState(false);
66
+ const [showPurpose, setShowPurpose] = useState(false);
61
67
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
62
68
  const color = KIND_COLOR[component.kind] ?? '#888';
63
69
  const displayName = deriveNameFromSymbol(component.symbol, component.kind, component.name, component.file);
@@ -89,23 +95,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
89
95
  key,
90
96
  indent,
91
97
  );
92
- // Trailing relationship comments whose names are individually clickable.
93
- const commentListLine = (prefix: string, names: string[], key?: string) =>
94
- line(
95
- <>
96
- <span style={commentStyle}>{prefix}</span>
97
- {list(
98
- names.map((n, i) => (
99
- <Fragment key={i}>
100
- <DetailLink onClick={onRelatedSelect ? () => onRelatedSelect(n) : undefined}>
101
- <span style={{ ...commentStyle, ...(onRelatedSelect ? clickableStyle : undefined) }}>{n}</span>
102
- </DetailLink>
103
- </Fragment>
104
- )),
105
- )}
106
- </>,
107
- key,
108
- );
98
+ // Purpose is the panel's actual prose, not code — body font, readable
99
+ // size/contrast, capped measure. The `//` metadata lines above it stay
100
+ // muted mono on purpose.
101
+ const purposeStyle = {
102
+ color: theme.colors.text,
103
+ fontFamily: theme.fonts.body,
104
+ fontSize: theme.fontSizes[1],
105
+ lineHeight: 1.5,
106
+ maxWidth: '52ch',
107
+ } as const;
108
+ // Trailing relationship comments (`// called by:`, `// constructed by:`,
109
+ // `// implemented by:`, …) are deliberately not rendered — the graph's
110
+ // edges carry interactions, and duplicated name lists read as clutter. The
111
+ // data stays on the Graphify detail types for other surfaces.
109
112
  // Comma-join rendered tokens without raw-array key churn.
110
113
  const list = (items: ReactNode[]) =>
111
114
  items.map((item, i) => (
@@ -116,18 +119,104 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
116
119
  ));
117
120
 
118
121
  const lines: ReactNode[] = [];
119
- if (component.purl)
122
+ // Repo identity — owner avatar + name for GitHub-hosted purls; anything
123
+ // else falls back to the formatted purl as a quiet comment. The avatar
124
+ // hides itself on load failure (offline / blocked hosts).
125
+ const ghMatch = /^pkg:github\/([^/]+)\/([^/#?]+)/.exec(component.purl ?? '');
126
+ // Small ghost icon button for the header toggles — accent when its section
127
+ // is shown, muted when hidden.
128
+ const toggleBtn = (on: boolean, onClick: () => void, title: string, Icon: typeof FileText) => (
129
+ <button
130
+ type="button"
131
+ title={title}
132
+ aria-label={title}
133
+ onClick={onClick}
134
+ style={{
135
+ display: 'flex',
136
+ alignItems: 'center',
137
+ justifyContent: 'center',
138
+ width: 20,
139
+ height: 20,
140
+ padding: 0,
141
+ border: 'none',
142
+ borderRadius: 4,
143
+ background: 'transparent',
144
+ color: on ? theme.colors.accent : muted,
145
+ cursor: 'pointer',
146
+ }}
147
+ >
148
+ <Icon size={13} />
149
+ </button>
150
+ );
151
+ if (ghMatch) {
152
+ const [, ghOwner, ghRepo] = ghMatch;
153
+ lines.push(
154
+ line(
155
+ <span style={{ display: 'flex', alignItems: 'center', gap: 6, width: '100%' }}>
156
+ <img
157
+ src={`https://github.com/${ghOwner}.png?size=40`}
158
+ alt=""
159
+ width={18}
160
+ height={18}
161
+ style={{ borderRadius: 4, flexShrink: 0 }}
162
+ onError={(e) => {
163
+ e.currentTarget.style.display = 'none';
164
+ }}
165
+ />
166
+ <span
167
+ style={{
168
+ color: theme.colors.textSecondary ?? muted,
169
+ fontFamily: theme.fonts.body,
170
+ fontSize: theme.fontSizes[1],
171
+ }}
172
+ >
173
+ {ghRepo}
174
+ </span>
175
+ <span style={{ marginLeft: 'auto', display: 'flex', alignItems: 'center', gap: 2 }}>
176
+ {toggleBtn(showFile, () => setShowFile((v) => !v), 'Toggle file path', FileText)}
177
+ {toggleBtn(showPurpose, () => setShowPurpose((v) => !v), 'Toggle description', AlignLeft)}
178
+ </span>
179
+ </span>,
180
+ 'repo',
181
+ ),
182
+ );
183
+ } else if (component.purl) {
120
184
  lines.push(commentLine(`// ${formatPurl(component.purl)}`, 'purl'));
121
- if (component.file)
122
- lines.push(commentLine(`// ${component.file}`, 'file', false, onOpenFile ? () => onOpenFile(component.file) : undefined));
123
- if (component.purpose) lines.push(commentLine(`/** ${component.purpose} */`, 'purpose'));
185
+ }
186
+ if (showFile && component.file)
187
+ lines.push(
188
+ line(
189
+ <DetailLink onClick={onOpenFile ? () => onOpenFile(component.file) : undefined}>
190
+ <span
191
+ onMouseEnter={() => setFileHovered(true)}
192
+ onMouseLeave={() => setFileHovered(false)}
193
+ style={{
194
+ // Path as UI text, not a code comment — matches the repo-name
195
+ // row. Quiet until hover; the underline only appears then.
196
+ color: theme.colors.textSecondary ?? muted,
197
+ fontFamily: theme.fonts.body,
198
+ fontSize: theme.fontSizes[1],
199
+ textDecoration: fileHovered && onOpenFile ? 'underline' : undefined,
200
+ textUnderlineOffset: 2,
201
+ }}
202
+ >
203
+ {component.file}
204
+ </span>
205
+ </DetailLink>,
206
+ 'file',
207
+ ),
208
+ );
124
209
 
125
210
  const detail = component.detail;
211
+ // Detail facets may be hand-authored (see `detailProvenance`) and the wire
212
+ // carries no guarantee that every typed array is present — treat all of
213
+ // them as optional so a partial detail degrades to fewer lines, never a
214
+ // render crash.
126
215
  switch (detail?.kind ?? component.kind) {
127
216
  case 'class': {
128
217
  const members: ReactNode[] = [];
129
218
  if (detail?.kind === 'class') {
130
- detail.methods.forEach((m, i) =>
219
+ (detail.methods ?? []).forEach((m, i) =>
131
220
  members.push(
132
221
  line(
133
222
  <>
@@ -160,7 +249,7 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
160
249
  ),
161
250
  ),
162
251
  );
163
- detail.properties.forEach((prop, i) =>
252
+ (detail.properties ?? []).forEach((prop, i) =>
164
253
  members.push(
165
254
  line(
166
255
  <>
@@ -186,20 +275,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
186
275
  {kw('class')}
187
276
  {' '}
188
277
  {nm(displayName)}
189
- {cls && cls.extends.length > 0 && (
278
+ {cls && (cls.extends ?? []).length > 0 && (
190
279
  <>
191
280
  {' '}
192
281
  {kw('extends')}
193
282
  {' '}
194
- {list(cls.extends.map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
283
+ {list((cls.extends ?? []).map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
195
284
  </>
196
285
  )}
197
- {cls && cls.implements.length > 0 && (
286
+ {cls && (cls.implements ?? []).length > 0 && (
198
287
  <>
199
288
  {' '}
200
289
  {kw('implements')}
201
290
  {' '}
202
- {list(cls.implements.map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
291
+ {list((cls.implements ?? []).map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
203
292
  </>
204
293
  )}
205
294
  {hasBody ? pn(' {') : null}
@@ -209,10 +298,6 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
209
298
  );
210
299
  lines.push(...members);
211
300
  if (hasBody) lines.push(line(pn('}'), 'end'));
212
- if (cls && cls.instantiations.length > 0)
213
- lines.push(commentListLine('// constructed by: ', cls.instantiations.map((c) => c.name), 'insts'));
214
- if (cls && cls.references.length > 0)
215
- lines.push(commentListLine('// referenced by: ', cls.references.map((r) => r.name), 'refs'));
216
301
  break;
217
302
  }
218
303
  case 'function': {
@@ -251,15 +336,15 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
251
336
  'decl',
252
337
  ),
253
338
  );
254
- if (fn && fn.callers.length > 0)
255
- lines.push(commentListLine('// called by: ', fn.callers.map((c) => c.name), 'callers'));
256
- if (fn && fn.callees.length > 0)
257
- lines.push(commentListLine('// calls: ', fn.callees.map((c) => c.name), 'callees'));
339
+ // Caller/callee relationship comments (`// called by:` / `// calls:`)
340
+ // are deliberately not rendered here the graph's edges carry
341
+ // interactions, and duplicated call lists read as clutter. The data
342
+ // stays on `GraphifyFunctionDetail` for other surfaces.
258
343
  break;
259
344
  }
260
345
  case 'type': {
261
346
  const tpe = detail?.kind === 'type' ? detail : undefined;
262
- const hasBody = (tpe?.properties.length ?? 0) > 0;
347
+ const hasBody = ((tpe?.properties ?? []).length) > 0;
263
348
  lines.push(
264
349
  line(
265
350
  <>
@@ -272,7 +357,7 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
272
357
  ),
273
358
  );
274
359
  if (tpe) {
275
- tpe.properties.forEach((prop, i) =>
360
+ (tpe.properties ?? []).forEach((prop, i) =>
276
361
  lines.push(
277
362
  line(
278
363
  <>
@@ -292,16 +377,12 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
292
377
  );
293
378
  }
294
379
  if (hasBody) lines.push(line(pn('}'), 'end'));
295
- if (tpe && tpe.implementors.length > 0)
296
- lines.push(commentListLine('// implemented by: ', tpe.implementors, 'impl'));
297
- if (tpe && tpe.usedBy.length > 0)
298
- lines.push(commentListLine('// used by: ', tpe.usedBy.map((u) => u.name), 'usedBy'));
299
380
  break;
300
381
  }
301
382
  case 'module': {
302
383
  const mod = detail?.kind === 'module' ? detail : undefined;
303
384
  if (mod) {
304
- mod.imports.forEach((imp, i) =>
385
+ (mod.imports ?? []).forEach((imp, i) =>
305
386
  lines.push(
306
387
  line(
307
388
  <>
@@ -315,22 +396,22 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
315
396
  ),
316
397
  ),
317
398
  );
318
- if (mod.exports.length > 0)
399
+ if ((mod.exports ?? []).length > 0)
319
400
  lines.push(
320
401
  line(
321
402
  <>
322
403
  {kw('export')}
323
404
  {' '}
324
405
  {pn('{ ')}
325
- {list(mod.exports.map((e, i) => <Fragment key={i}>{mb(e)}</Fragment>))}
406
+ {list((mod.exports ?? []).map((e, i) => <Fragment key={i}>{mb(e)}</Fragment>))}
326
407
  {pn(' }')}
327
408
  {pn(';')}
328
409
  </>,
329
410
  'exports',
330
411
  ),
331
412
  );
332
- if (mod.symbols.length > 0)
333
- lines.push(commentLine(`// defines: ${mod.symbols.join(', ')}`, 'symbols'));
413
+ if ((mod.symbols ?? []).length > 0)
414
+ lines.push(commentLine(`// defines: ${(mod.symbols ?? []).join(', ')}`, 'symbols'));
334
415
  } else {
335
416
  lines.push(
336
417
  line(
@@ -368,13 +449,30 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
368
449
  }
369
450
  }
370
451
 
452
+ // Purpose prose follows the declaration — identity and syntax first, the
453
+ // explanation underneath. Newlines split into separate prose lines so a
454
+ // two-thought purpose reads as a short paragraph instead of one blob.
455
+ if (showPurpose && component.purpose) {
456
+ lines.push(line(<div style={{ height: 6 }} />, 'purpose-gap'));
457
+ component.purpose.split("\n").forEach((purposeLine, i) =>
458
+ lines.push(
459
+ line(
460
+ <span style={{ ...purposeStyle, display: 'block' }} key={`purpose${i}`}>
461
+ {purposeLine.trim()}
462
+ </span>,
463
+ `purpose${i}`,
464
+ ),
465
+ ),
466
+ );
467
+ }
468
+
371
469
  return (
372
470
  <div
373
471
  style={{
374
472
  background: theme.colors.backgroundSecondary,
375
473
  padding: '10px 12px',
376
474
  fontFamily: theme.fonts.monospace,
377
- fontSize: theme.fontSizes[0],
475
+ fontSize: theme.fontSizes[1],
378
476
  lineHeight: 1.7,
379
477
  wordBreak: 'break-word',
380
478
  }}
@@ -78,6 +78,15 @@ export interface SubsystemComponent {
78
78
  * external); rendered in the detail panel on click.
79
79
  */
80
80
  detail?: GraphifyComponentDetail;
81
+ /**
82
+ * Where the drill-down `detail` came from. `verified` = extracted from
83
+ * source by tooling (graphify AST, signature extraction) — may be trusted
84
+ * as matching the code. `authored` = written by the authoring agent/human
85
+ * to highlight specific inputs/outputs — informative, not checked against
86
+ * source. Detail without provenance is treated as `authored`; only tooling
87
+ * may claim `verified`.
88
+ */
89
+ detailProvenance?: 'verified' | 'authored';
81
90
  }
82
91
 
83
92
  /** A cross-component edge in the subsystem graph. */