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

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;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,2CAoYzG"}
@@ -47,36 +47,70 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
47
47
  const line = (children, key, indent) => (_jsx("div", { style: indent ? { paddingLeft: 16 } : undefined, children: children }, key));
48
48
  const commentStyle = { color: muted, fontStyle: 'italic' };
49
49
  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);
50
+ // Purpose is the panel's actual prose, not code — body font, readable
51
+ // size/contrast, capped measure. The `//` metadata lines above it stay
52
+ // muted mono on purpose.
53
+ const purposeStyle = {
54
+ color: theme.colors.text,
55
+ fontFamily: theme.fonts.body,
56
+ fontSize: theme.fontSizes[1],
57
+ lineHeight: 1.5,
58
+ maxWidth: '52ch',
59
+ };
60
+ // Trailing relationship comments (`// called by:`, `// constructed by:`,
61
+ // `// implemented by:`, …) are deliberately not rendered — the graph's
62
+ // edges carry interactions, and duplicated name lists read as clutter. The
63
+ // data stays on the Graphify detail types for other surfaces.
52
64
  // Comma-join rendered tokens without raw-array key churn.
53
65
  const list = (items) => items.map((item, i) => (_jsxs(Fragment, { children: [i > 0 ? ', ' : null, item] }, i)));
54
66
  const lines = [];
55
- if (component.purl)
67
+ // Repo identity — owner avatar + name for GitHub-hosted purls; anything
68
+ // else falls back to the formatted purl as a quiet comment. The avatar
69
+ // hides itself on load failure (offline / blocked hosts).
70
+ const ghMatch = /^pkg:github\/([^/]+)\/([^/#?]+)/.exec(component.purl ?? '');
71
+ if (ghMatch) {
72
+ const [, ghOwner, ghRepo] = ghMatch;
73
+ lines.push(line(_jsxs("span", { style: { display: 'flex', alignItems: 'center', gap: 6 }, children: [_jsx("img", { src: `https://github.com/${ghOwner}.png?size=40`, alt: "", width: 18, height: 18, style: { borderRadius: 4, flexShrink: 0 }, onError: (e) => {
74
+ e.currentTarget.style.display = 'none';
75
+ } }), _jsxs("span", { style: {
76
+ color: theme.colors.textSecondary ?? muted,
77
+ fontFamily: theme.fonts.body,
78
+ fontSize: theme.fontSizes[1],
79
+ }, children: [ghOwner, "/", ghRepo] })] }), 'repo'));
80
+ }
81
+ else if (component.purl) {
56
82
  lines.push(commentLine(`// ${formatPurl(component.purl)}`, 'purl'));
83
+ }
57
84
  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'));
85
+ lines.push(line(_jsx(DetailLink, { onClick: onOpenFile ? () => onOpenFile(component.file) : undefined, children: _jsx("span", { style: {
86
+ // Path as UI text, not a code comment — matches the repo-name
87
+ // row. Dotted underline kept so the click-to-open stays obvious.
88
+ ...{
89
+ color: theme.colors.textSecondary ?? muted,
90
+ fontFamily: theme.fonts.body,
91
+ fontSize: theme.fontSizes[1],
92
+ },
93
+ ...(onOpenFile ? clickableStyle : undefined),
94
+ }, children: component.file }) }), 'file'));
61
95
  const detail = component.detail;
96
+ // Detail facets may be hand-authored (see `detailProvenance`) and the wire
97
+ // carries no guarantee that every typed array is present — treat all of
98
+ // them as optional so a partial detail degrades to fewer lines, never a
99
+ // render crash.
62
100
  switch (detail?.kind ?? component.kind) {
63
101
  case 'class': {
64
102
  const members = [];
65
103
  if (detail?.kind === 'class') {
66
- detail.methods.forEach((m, i) => members.push(line(_jsxs(_Fragment, { children: [mb(m.name), pn('('), (m.parameters ?? []).length > 0 &&
104
+ (detail.methods ?? []).forEach((m, i) => members.push(line(_jsxs(_Fragment, { children: [mb(m.name), pn('('), (m.parameters ?? []).length > 0 &&
67
105
  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)));
106
+ (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
107
  }
70
108
  const cls = detail?.kind === 'class' ? detail : undefined;
71
109
  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'));
110
+ 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
111
  lines.push(...members);
74
112
  if (hasBody)
75
113
  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
114
  break;
81
115
  }
82
116
  case 'function': {
@@ -84,35 +118,31 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
84
118
  const params = fn?.parameters ?? [];
85
119
  lines.push(line(_jsxs(_Fragment, { children: [kw('function'), ' ', nm(displayName), pn('('), params.length > 0 &&
86
120
  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'));
121
+ // Caller/callee relationship comments (`// called by:` / `// calls:`)
122
+ // are deliberately not rendered here the graph's edges carry
123
+ // interactions, and duplicated call lists read as clutter. The data
124
+ // stays on `GraphifyFunctionDetail` for other surfaces.
91
125
  break;
92
126
  }
93
127
  case 'type': {
94
128
  const tpe = detail?.kind === 'type' ? detail : undefined;
95
- const hasBody = (tpe?.properties.length ?? 0) > 0;
129
+ const hasBody = ((tpe?.properties ?? []).length) > 0;
96
130
  lines.push(line(_jsxs(_Fragment, { children: [kw('interface'), ' ', nm(displayName), hasBody ? pn(' {') : null] }), 'decl'));
97
131
  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)));
132
+ (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
133
  }
100
134
  if (hasBody)
101
135
  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
136
  break;
107
137
  }
108
138
  case 'module': {
109
139
  const mod = detail?.kind === 'module' ? detail : undefined;
110
140
  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'));
141
+ (mod.imports ?? []).forEach((imp, i) => lines.push(line(_jsxs(_Fragment, { children: [kw('import'), ' ', pn("'"), str(imp.name), pn("';")] }), `imp${i}`)));
142
+ if ((mod.exports ?? []).length > 0)
143
+ lines.push(line(_jsxs(_Fragment, { children: [kw('export'), ' ', pn('{ '), list((mod.exports ?? []).map((e, i) => _jsx(Fragment, { children: mb(e) }, i))), pn(' }'), pn(';')] }), 'exports'));
144
+ if ((mod.symbols ?? []).length > 0)
145
+ lines.push(commentLine(`// defines: ${(mod.symbols ?? []).join(', ')}`, 'symbols'));
116
146
  }
117
147
  else {
118
148
  lines.push(line(_jsxs(_Fragment, { children: [kw('module'), ' ', nm(displayName)] }), 'decl'));
@@ -124,6 +154,13 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect })
124
154
  break;
125
155
  }
126
156
  }
157
+ // Purpose prose follows the declaration — identity and syntax first, the
158
+ // explanation underneath. Newlines split into separate prose lines so a
159
+ // two-thought purpose reads as a short paragraph instead of one blob.
160
+ if (component.purpose) {
161
+ lines.push(line(_jsx("div", { style: { height: 6 } }), 'purpose-gap'));
162
+ component.purpose.split("\n").forEach((purposeLine, i) => lines.push(line(_jsx("span", { style: { ...purposeStyle, display: 'block' }, children: purposeLine.trim() }, `purpose${i}`), `purpose${i}`)));
163
+ }
127
164
  return (_jsx("div", { style: {
128
165
  background: theme.colors.backgroundSecondary,
129
166
  padding: '10px 12px',
@@ -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.43",
4
4
  "description": "React components for graph-based principal view framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -89,23 +89,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
89
89
  key,
90
90
  indent,
91
91
  );
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
- );
92
+ // Purpose is the panel's actual prose, not code — body font, readable
93
+ // size/contrast, capped measure. The `//` metadata lines above it stay
94
+ // muted mono on purpose.
95
+ const purposeStyle = {
96
+ color: theme.colors.text,
97
+ fontFamily: theme.fonts.body,
98
+ fontSize: theme.fontSizes[1],
99
+ lineHeight: 1.5,
100
+ maxWidth: '52ch',
101
+ } as const;
102
+ // Trailing relationship comments (`// called by:`, `// constructed by:`,
103
+ // `// implemented by:`, …) are deliberately not rendered — the graph's
104
+ // edges carry interactions, and duplicated name lists read as clutter. The
105
+ // data stays on the Graphify detail types for other surfaces.
109
106
  // Comma-join rendered tokens without raw-array key churn.
110
107
  const list = (items: ReactNode[]) =>
111
108
  items.map((item, i) => (
@@ -116,18 +113,74 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
116
113
  ));
117
114
 
118
115
  const lines: ReactNode[] = [];
119
- if (component.purl)
116
+ // Repo identity — owner avatar + name for GitHub-hosted purls; anything
117
+ // else falls back to the formatted purl as a quiet comment. The avatar
118
+ // hides itself on load failure (offline / blocked hosts).
119
+ const ghMatch = /^pkg:github\/([^/]+)\/([^/#?]+)/.exec(component.purl ?? '');
120
+ if (ghMatch) {
121
+ const [, ghOwner, ghRepo] = ghMatch;
122
+ lines.push(
123
+ line(
124
+ <span style={{ display: 'flex', alignItems: 'center', gap: 6 }}>
125
+ <img
126
+ src={`https://github.com/${ghOwner}.png?size=40`}
127
+ alt=""
128
+ width={18}
129
+ height={18}
130
+ style={{ borderRadius: 4, flexShrink: 0 }}
131
+ onError={(e) => {
132
+ e.currentTarget.style.display = 'none';
133
+ }}
134
+ />
135
+ <span
136
+ style={{
137
+ color: theme.colors.textSecondary ?? muted,
138
+ fontFamily: theme.fonts.body,
139
+ fontSize: theme.fontSizes[1],
140
+ }}
141
+ >
142
+ {ghOwner}/{ghRepo}
143
+ </span>
144
+ </span>,
145
+ 'repo',
146
+ ),
147
+ );
148
+ } else if (component.purl) {
120
149
  lines.push(commentLine(`// ${formatPurl(component.purl)}`, 'purl'));
150
+ }
121
151
  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'));
152
+ lines.push(
153
+ line(
154
+ <DetailLink onClick={onOpenFile ? () => onOpenFile(component.file) : undefined}>
155
+ <span
156
+ style={{
157
+ // Path as UI text, not a code comment — matches the repo-name
158
+ // row. Dotted underline kept so the click-to-open stays obvious.
159
+ ...{
160
+ color: theme.colors.textSecondary ?? muted,
161
+ fontFamily: theme.fonts.body,
162
+ fontSize: theme.fontSizes[1],
163
+ },
164
+ ...(onOpenFile ? clickableStyle : undefined),
165
+ }}
166
+ >
167
+ {component.file}
168
+ </span>
169
+ </DetailLink>,
170
+ 'file',
171
+ ),
172
+ );
124
173
 
125
174
  const detail = component.detail;
175
+ // Detail facets may be hand-authored (see `detailProvenance`) and the wire
176
+ // carries no guarantee that every typed array is present — treat all of
177
+ // them as optional so a partial detail degrades to fewer lines, never a
178
+ // render crash.
126
179
  switch (detail?.kind ?? component.kind) {
127
180
  case 'class': {
128
181
  const members: ReactNode[] = [];
129
182
  if (detail?.kind === 'class') {
130
- detail.methods.forEach((m, i) =>
183
+ (detail.methods ?? []).forEach((m, i) =>
131
184
  members.push(
132
185
  line(
133
186
  <>
@@ -160,7 +213,7 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
160
213
  ),
161
214
  ),
162
215
  );
163
- detail.properties.forEach((prop, i) =>
216
+ (detail.properties ?? []).forEach((prop, i) =>
164
217
  members.push(
165
218
  line(
166
219
  <>
@@ -186,20 +239,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
186
239
  {kw('class')}
187
240
  {' '}
188
241
  {nm(displayName)}
189
- {cls && cls.extends.length > 0 && (
242
+ {cls && (cls.extends ?? []).length > 0 && (
190
243
  <>
191
244
  {' '}
192
245
  {kw('extends')}
193
246
  {' '}
194
- {list(cls.extends.map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
247
+ {list((cls.extends ?? []).map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
195
248
  </>
196
249
  )}
197
- {cls && cls.implements.length > 0 && (
250
+ {cls && (cls.implements ?? []).length > 0 && (
198
251
  <>
199
252
  {' '}
200
253
  {kw('implements')}
201
254
  {' '}
202
- {list(cls.implements.map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
255
+ {list((cls.implements ?? []).map((e, i) => <Fragment key={i}>{ty(e)}</Fragment>))}
203
256
  </>
204
257
  )}
205
258
  {hasBody ? pn(' {') : null}
@@ -209,10 +262,6 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
209
262
  );
210
263
  lines.push(...members);
211
264
  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
265
  break;
217
266
  }
218
267
  case 'function': {
@@ -251,15 +300,15 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
251
300
  'decl',
252
301
  ),
253
302
  );
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'));
303
+ // Caller/callee relationship comments (`// called by:` / `// calls:`)
304
+ // are deliberately not rendered here the graph's edges carry
305
+ // interactions, and duplicated call lists read as clutter. The data
306
+ // stays on `GraphifyFunctionDetail` for other surfaces.
258
307
  break;
259
308
  }
260
309
  case 'type': {
261
310
  const tpe = detail?.kind === 'type' ? detail : undefined;
262
- const hasBody = (tpe?.properties.length ?? 0) > 0;
311
+ const hasBody = ((tpe?.properties ?? []).length) > 0;
263
312
  lines.push(
264
313
  line(
265
314
  <>
@@ -272,7 +321,7 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
272
321
  ),
273
322
  );
274
323
  if (tpe) {
275
- tpe.properties.forEach((prop, i) =>
324
+ (tpe.properties ?? []).forEach((prop, i) =>
276
325
  lines.push(
277
326
  line(
278
327
  <>
@@ -292,16 +341,12 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
292
341
  );
293
342
  }
294
343
  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
344
  break;
300
345
  }
301
346
  case 'module': {
302
347
  const mod = detail?.kind === 'module' ? detail : undefined;
303
348
  if (mod) {
304
- mod.imports.forEach((imp, i) =>
349
+ (mod.imports ?? []).forEach((imp, i) =>
305
350
  lines.push(
306
351
  line(
307
352
  <>
@@ -315,22 +360,22 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
315
360
  ),
316
361
  ),
317
362
  );
318
- if (mod.exports.length > 0)
363
+ if ((mod.exports ?? []).length > 0)
319
364
  lines.push(
320
365
  line(
321
366
  <>
322
367
  {kw('export')}
323
368
  {' '}
324
369
  {pn('{ ')}
325
- {list(mod.exports.map((e, i) => <Fragment key={i}>{mb(e)}</Fragment>))}
370
+ {list((mod.exports ?? []).map((e, i) => <Fragment key={i}>{mb(e)}</Fragment>))}
326
371
  {pn(' }')}
327
372
  {pn(';')}
328
373
  </>,
329
374
  'exports',
330
375
  ),
331
376
  );
332
- if (mod.symbols.length > 0)
333
- lines.push(commentLine(`// defines: ${mod.symbols.join(', ')}`, 'symbols'));
377
+ if ((mod.symbols ?? []).length > 0)
378
+ lines.push(commentLine(`// defines: ${(mod.symbols ?? []).join(', ')}`, 'symbols'));
334
379
  } else {
335
380
  lines.push(
336
381
  line(
@@ -368,6 +413,23 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect }:
368
413
  }
369
414
  }
370
415
 
416
+ // Purpose prose follows the declaration — identity and syntax first, the
417
+ // explanation underneath. Newlines split into separate prose lines so a
418
+ // two-thought purpose reads as a short paragraph instead of one blob.
419
+ if (component.purpose) {
420
+ lines.push(line(<div style={{ height: 6 }} />, 'purpose-gap'));
421
+ component.purpose.split("\n").forEach((purposeLine, i) =>
422
+ lines.push(
423
+ line(
424
+ <span style={{ ...purposeStyle, display: 'block' }} key={`purpose${i}`}>
425
+ {purposeLine.trim()}
426
+ </span>,
427
+ `purpose${i}`,
428
+ ),
429
+ ),
430
+ );
431
+ }
432
+
371
433
  return (
372
434
  <div
373
435
  style={{
@@ -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. */