@principal-ai/principal-view-react 0.16.47 → 0.16.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/graphify/anchor.d.ts +28 -0
  2. package/dist/graphify/anchor.d.ts.map +1 -0
  3. package/dist/graphify/anchor.js +132 -0
  4. package/dist/graphify/anchor.js.map +1 -0
  5. package/dist/graphify/consolidated.d.ts +12 -1
  6. package/dist/graphify/consolidated.d.ts.map +1 -1
  7. package/dist/graphify/ids.d.ts +19 -0
  8. package/dist/graphify/ids.d.ts.map +1 -0
  9. package/dist/graphify/ids.js +46 -0
  10. package/dist/graphify/ids.js.map +1 -0
  11. package/dist/graphify/index.d.ts +7 -0
  12. package/dist/graphify/index.d.ts.map +1 -1
  13. package/dist/graphify/index.js +4 -0
  14. package/dist/graphify/index.js.map +1 -1
  15. package/dist/graphify/kind.d.ts +23 -0
  16. package/dist/graphify/kind.d.ts.map +1 -0
  17. package/dist/graphify/kind.js +71 -0
  18. package/dist/graphify/kind.js.map +1 -0
  19. package/dist/graphify/signature.d.ts +87 -0
  20. package/dist/graphify/signature.d.ts.map +1 -0
  21. package/dist/graphify/signature.js +276 -0
  22. package/dist/graphify/signature.js.map +1 -0
  23. package/dist/index.d.ts +4 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/subsystem/ComponentDeclaration.d.ts +58 -3
  28. package/dist/subsystem/ComponentDeclaration.d.ts.map +1 -1
  29. package/dist/subsystem/ComponentDeclaration.js +186 -53
  30. package/dist/subsystem/ComponentDeclaration.js.map +1 -1
  31. package/dist/subsystem/SubsystemComponentGraph.d.ts +5 -0
  32. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  33. package/dist/subsystem/SubsystemComponentGraph.js +2 -2
  34. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  35. package/dist/subsystem/formatDeclaration.d.ts.map +1 -1
  36. package/dist/subsystem/formatDeclaration.js +12 -1
  37. package/dist/subsystem/formatDeclaration.js.map +1 -1
  38. package/dist/subsystem/model.d.ts +1 -1
  39. package/dist/subsystem/model.d.ts.map +1 -1
  40. package/dist/subsystem/model.js +1 -0
  41. package/dist/subsystem/model.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/graphify/anchor.test.ts +124 -0
  44. package/src/graphify/anchor.ts +160 -0
  45. package/src/graphify/consolidated.ts +13 -0
  46. package/src/graphify/ids.ts +48 -0
  47. package/src/graphify/index.ts +26 -0
  48. package/src/graphify/kind.test.ts +108 -0
  49. package/src/graphify/kind.ts +114 -0
  50. package/src/graphify/signature.test.ts +278 -0
  51. package/src/graphify/signature.ts +354 -0
  52. package/src/index.ts +26 -0
  53. package/src/stories/ComponentDeclarationAudit.stories.tsx +32 -0
  54. package/src/subsystem/ComponentDeclaration.tsx +306 -56
  55. package/src/subsystem/SubsystemComponentGraph.tsx +8 -1
  56. package/src/subsystem/formatDeclaration.ts +13 -1
  57. package/src/subsystem/model.ts +2 -0
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Signature / params verification against graphify `references` edges.
3
+ *
4
+ * Graphify does not store arity or parameter names — only `parameter_type` /
5
+ * `return_type` edges to type nodes (unions become multiple edges). Comparison
6
+ * is therefore **named type bags**, not positional arity.
7
+ *
8
+ * Many TS/JS functions have no such edges yet. When graphify has no signature
9
+ * signal, the check is skipped (not a hard fail) so Verify can still gate on
10
+ * kind. When graphify *does* emit types, claimed detail must match.
11
+ */
12
+ const PRIMITIVES = new Set([
13
+ 'string',
14
+ 'number',
15
+ 'boolean',
16
+ 'void',
17
+ 'null',
18
+ 'undefined',
19
+ 'any',
20
+ 'unknown',
21
+ 'never',
22
+ 'object',
23
+ 'symbol',
24
+ 'bigint',
25
+ 'true',
26
+ 'false',
27
+ 'this',
28
+ ]);
29
+ /** Common generic wrappers — keep inner type names, drop the wrapper. */
30
+ const TYPE_WRAPPERS = new Set([
31
+ 'Promise',
32
+ 'Array',
33
+ 'ReadonlyArray',
34
+ 'Map',
35
+ 'Set',
36
+ 'WeakMap',
37
+ 'WeakSet',
38
+ 'Record',
39
+ 'Partial',
40
+ 'Required',
41
+ 'Readonly',
42
+ 'Awaited',
43
+ 'NonNullable',
44
+ 'ReturnType',
45
+ 'Parameters',
46
+ 'InstanceType',
47
+ 'Pick',
48
+ 'Omit',
49
+ 'Exclude',
50
+ 'Extract',
51
+ ]);
52
+ /**
53
+ * Pull comparable named type identifiers out of an authored / graphify type
54
+ * string. Skips primitives, inline object types, and known wrappers.
55
+ */
56
+ export function extractNamedTypes(typeStr) {
57
+ if (!typeStr || !typeStr.trim())
58
+ return [];
59
+ let s = typeStr;
60
+ // Drop string/template literals so their contents aren't tokens.
61
+ s = s.replace(/`(?:\\.|[^`\\])*`/g, ' ');
62
+ s = s.replace(/'(?:\\.|[^'\\])*'/g, ' ');
63
+ s = s.replace(/"(?:\\.|[^"\\])*"/g, ' ');
64
+ // Drop inline object / mapped types (non-greedy, repeated for nesting).
65
+ for (let i = 0; i < 8; i++) {
66
+ const next = s.replace(/\{[^{}]*\}/g, ' ');
67
+ if (next === s)
68
+ break;
69
+ s = next;
70
+ }
71
+ const found = new Set();
72
+ const re = /[A-Za-z_][A-Za-z0-9_.]*/g;
73
+ let m;
74
+ while ((m = re.exec(s)) !== null) {
75
+ const raw = m[0];
76
+ const base = raw.includes('.') ? (raw.split('.').pop() ?? raw) : raw;
77
+ if (PRIMITIVES.has(base))
78
+ continue;
79
+ if (TYPE_WRAPPERS.has(base))
80
+ continue;
81
+ // Skip lone lowercase keywords that aren't types we care about.
82
+ if (base === 'typeof' || base === 'keyof' || base === 'infer' || base === 'extends') {
83
+ continue;
84
+ }
85
+ found.add(base);
86
+ }
87
+ return [...found].sort();
88
+ }
89
+ function labelOf(nodeId, nodesById) {
90
+ const n = nodesById.get(nodeId);
91
+ const label = n && typeof n.label === 'string' ? n.label.trim() : '';
92
+ return label || nodeId;
93
+ }
94
+ /** Collect parameter_type / return_type edges for a callable node. */
95
+ export function extractGraphifySignature(nodeId, edges, nodesById) {
96
+ const id = String(nodeId);
97
+ const parameters = [];
98
+ const genericArgs = [];
99
+ let returnType;
100
+ let returnTypeNodeId;
101
+ let inlineParameters = 0;
102
+ for (const e of edges) {
103
+ if (String(e.source) !== id || e.relation !== 'references')
104
+ continue;
105
+ const ctx = e.context;
106
+ const target = String(e.target);
107
+ if (ctx === 'parameter_type') {
108
+ parameters.push({ type: labelOf(target, nodesById), nodeId: target });
109
+ }
110
+ else if (ctx === 'return_type' && returnType === undefined) {
111
+ returnType = labelOf(target, nodesById);
112
+ returnTypeNodeId = target;
113
+ }
114
+ else if (ctx === 'generic_arg') {
115
+ genericArgs.push({ type: labelOf(target, nodesById), nodeId: target });
116
+ }
117
+ else if (ctx === 'inline_parameter') {
118
+ inlineParameters += 1;
119
+ }
120
+ }
121
+ return {
122
+ parameters,
123
+ genericArgs,
124
+ returnType,
125
+ returnTypeNodeId,
126
+ inlineParameters,
127
+ hasSignal: parameters.length > 0 || returnType !== undefined,
128
+ };
129
+ }
130
+ function bagsEqual(a, b) {
131
+ if (a.length !== b.length)
132
+ return false;
133
+ for (let i = 0; i < a.length; i++) {
134
+ if (a[i] !== b[i])
135
+ return false;
136
+ }
137
+ return true;
138
+ }
139
+ function claimedBags(claimed) {
140
+ const parameterTypes = new Set();
141
+ for (const p of claimed?.parameters ?? []) {
142
+ for (const t of extractNamedTypes(p.type))
143
+ parameterTypes.add(t);
144
+ }
145
+ const returnTypes = new Set();
146
+ if (claimed?.returnType) {
147
+ for (const t of extractNamedTypes(claimed.returnType))
148
+ returnTypes.add(t);
149
+ }
150
+ return {
151
+ parameterTypes: [...parameterTypes].sort(),
152
+ returnTypes: [...returnTypes].sort(),
153
+ };
154
+ }
155
+ function inferredBags(inferred) {
156
+ const parameterTypes = new Set();
157
+ for (const p of inferred.parameters) {
158
+ for (const t of extractNamedTypes(p.type))
159
+ parameterTypes.add(t);
160
+ }
161
+ const returnTypes = new Set();
162
+ if (inferred.returnType) {
163
+ for (const t of extractNamedTypes(inferred.returnType))
164
+ returnTypes.add(t);
165
+ }
166
+ return {
167
+ parameterTypes: [...parameterTypes].sort(),
168
+ returnTypes: [...returnTypes].sort(),
169
+ };
170
+ }
171
+ /**
172
+ * Compare authored function/method detail signature to graphify edges.
173
+ *
174
+ * - No graphify signal → skipped (match=true).
175
+ * - Otherwise named-type bags for params and return must match exactly.
176
+ */
177
+ export function compareSignatures(claimed, inferred) {
178
+ const claimedBagsResult = claimedBags(claimed);
179
+ const inferredBagsResult = inferredBags(inferred);
180
+ // Anonymous object-literal params ("inline") carry no named types, so they
181
+ // only ever surface via graphify's `inline_parameter` markers. A claim of an
182
+ // inline param against a graph with no marker proves nothing (the store
183
+ // graph may predate the flag), so absence alone keeps the skip path. When
184
+ // the graph DOES emit a marker, anon-count parity is compared like any
185
+ // parameter signal.
186
+ const claimedAnonCount = (claimed?.parameters ?? []).filter((p) => (p.type ?? '').trim().startsWith('{')).length;
187
+ const inferredAnonCount = inferred.inlineParameters ?? 0;
188
+ const hasAnonSignal = inferredAnonCount > 0;
189
+ if (!inferred.hasSignal && !hasAnonSignal) {
190
+ const claimedTypes = new Set([
191
+ ...claimedBagsResult.parameterTypes,
192
+ ...claimedBagsResult.returnTypes,
193
+ ]);
194
+ const genericArgTypes = new Set((inferred.genericArgs ?? []).map((a) => a.type));
195
+ const sorted = [...claimedTypes].sort();
196
+ let skipCode;
197
+ let reason;
198
+ if (sorted.length === 0) {
199
+ skipCode = 'no_claimed_types';
200
+ reason = 'no claimable named types in authored signature (primitives/inline only)';
201
+ }
202
+ else {
203
+ const found = sorted.filter((t) => genericArgTypes.has(t));
204
+ if (found.length === sorted.length) {
205
+ skipCode = 'generic_arg_only';
206
+ reason = `claimed types ([${sorted.join(', ')}]) present only as generic_arg (wrapper-indirected: Promise/Omit/Map/Array) — extractor does not read generic_arg`;
207
+ }
208
+ else if (found.length > 0) {
209
+ skipCode = 'partially_generic_arg';
210
+ reason = `claimed types resolve only via generic_arg for ${found.join(', ')}; rest unresolved (${sorted.filter((t) => !genericArgTypes.has(t)).join(', ')})`;
211
+ }
212
+ else {
213
+ skipCode = 'unresolved_claimed_types';
214
+ reason = `claimed types ([${sorted.join(', ')}]) have no parameter_type/return_type/generic_arg edges (global/npm types or dropped same-file label collision)`;
215
+ }
216
+ }
217
+ return {
218
+ match: true,
219
+ skipped: true,
220
+ reason,
221
+ skipCode,
222
+ claimed: claimedBagsResult,
223
+ inferred: inferredBagsResult,
224
+ };
225
+ }
226
+ const paramsOk = bagsEqual(claimedBagsResult.parameterTypes, inferredBagsResult.parameterTypes);
227
+ const anonParamsOk = claimedAnonCount === inferredAnonCount;
228
+ const returnOk = bagsEqual(claimedBagsResult.returnTypes, inferredBagsResult.returnTypes);
229
+ const match = paramsOk && anonParamsOk && returnOk;
230
+ if (paramsOk && anonParamsOk && !returnOk) {
231
+ // Params verified, but the claimed return types can't be backed. When
232
+ // every claimed return type is either wrapper-indirected (generic_arg:
233
+ // Promise<X>, Omit<X,…>) or entirely unresolved (global/npm/DOM types),
234
+ // that's a coverage gap, not a lie — mark the check skipped instead of
235
+ // hard-failing, mirroring the pre-signal skip classification. A mixed
236
+ // bag (some generic, some unresolved) stays a hard mismatch.
237
+ const claimReturn = claimedBagsResult.returnTypes;
238
+ if (claimReturn.length > 0) {
239
+ const genericArgTypes = new Set((inferred.genericArgs ?? []).map((a) => a.type));
240
+ const gen = claimReturn.filter((t) => genericArgTypes.has(t));
241
+ const unresolved = claimReturn.filter((t) => !genericArgTypes.has(t));
242
+ let skipCode;
243
+ let reason;
244
+ if (gen.length === claimReturn.length) {
245
+ skipCode = 'generic_arg_only';
246
+ reason = `claimed return types ([${claimReturn.join(', ')}]) present only as generic_arg (wrapper-indirected: Promise/Omit/Map/Array) — extractor does not read generic_arg; params verified`;
247
+ }
248
+ else if (unresolved.length === claimReturn.length) {
249
+ skipCode = 'unresolved_claimed_types';
250
+ reason = `claimed return types ([${claimReturn.join(', ')}]) have no parameter_type/return_type/generic_arg edges (global/npm types or dropped same-file label collision); params verified`;
251
+ }
252
+ if (skipCode) {
253
+ return {
254
+ match: true,
255
+ skipped: true,
256
+ reason,
257
+ skipCode,
258
+ claimed: claimedBagsResult,
259
+ inferred: inferredBagsResult,
260
+ };
261
+ }
262
+ }
263
+ }
264
+ return {
265
+ match,
266
+ skipped: false,
267
+ reason: match
268
+ ? undefined
269
+ : !paramsOk || !anonParamsOk
270
+ ? 'parameter_types_mismatch'
271
+ : 'return_type_mismatch',
272
+ claimed: claimedBagsResult,
273
+ inferred: inferredBagsResult,
274
+ };
275
+ }
276
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/graphify/signature.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -50,9 +50,12 @@ export type { SessionEventFeedProps, SessionEventFeedGroupedProps, SessionEventF
50
50
  export type { JsonValue, GraphifyFileType, GraphifyConfidence, GraphifyNodeType, GraphifyRelation, GraphifyNode, GraphifyEdge, GraphifyHyperedge, GraphifyGraphMetadata, GraphifyGraph, } from './graphify';
51
51
  export type { GraphifyAnchorResolution, SubsystemGraphifyAnchor, GraphifyMethodInfo, GraphifyPropertyInfo, GraphifyParamInfo, GraphifyCallInfo, GraphifyReferenceInfo, GraphifyImportInfo, GraphifyClassDetail, GraphifyFunctionDetail, GraphifyTypeDetail, GraphifyModuleDetail, GraphifyExternalDetail, GraphifyComponentDetail, GraphifyEdgeRef, } from './graphify';
52
52
  export type { GraphifyTypeRefStatus, GraphifyTypeRefResolution, } from './graphify';
53
- export { normalizeGraphifyLabel, createGraphifyTypeResolver, resolveGraphifyTypeRef, } from './graphify';
53
+ export { normalizeGraphifyLabel, createGraphifyTypeResolver, resolveGraphifyTypeRef, normalizeGraphifyId, makeGraphifyId, graphifyFileStem, normalizeSourcePath, resolveComponentAnchor, symbolLabelVariants, inferGraphifyKind, kindsMatch, extractNamedTypes, extractGraphifySignature, compareSignatures, } from './graphify';
54
+ export type { ComponentAnchorInput, ComponentAnchorResult, InferredGraphifyKind, InferGraphifyKindResult, GraphifyInferredSignature, ClaimedSignature, SignatureCompareResult, } from './graphify';
54
55
  export { SubsystemComponentGraph } from './subsystem/SubsystemComponentGraph';
55
56
  export type { SubsystemComponentGraphProps } from './subsystem/SubsystemComponentGraph';
57
+ export type { ComponentVerificationState, ComponentVerificationPhase, ComponentDeclarationProps, } from './subsystem/ComponentDeclaration';
58
+ export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
56
59
  export { MECHANISM_COLOR, KIND_COLOR, MECHANISM_STYLE } from './subsystem/model';
57
60
  export { purlRepoKey, purlOwnerName, buildTreePathMapping, buildRepoGroups, repoAvatarUrl, } from './subsystem/paths';
58
61
  export type { TreeEntry, TreePathMapping, RepoGroup, } from './subsystem/paths';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EAEvB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACnG,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,SAAS,EACT,eAAe,EACf,eAAe,EAEf,cAAc,EACd,eAAe,EACf,aAAa,EAEb,UAAU,EACV,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAEV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EAEnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACb,SAAS,EACT,aAAa,EACb,iBAAiB,EAEjB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,cAAc,EAEd,mBAAmB,EACnB,kBAAkB,EAElB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,uBAAuB,EAEvB,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,YAAY,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACnG,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACvG,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EAEd,eAAe,EACf,SAAS,EACT,eAAe,EACf,eAAe,EAEf,cAAc,EACd,eAAe,EACf,aAAa,EAEb,UAAU,EACV,YAAY,EAEZ,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,eAAe,EACf,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAEV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,EACd,mBAAmB,EAEnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACb,SAAS,EACT,aAAa,EACb,iBAAiB,EAEjB,sBAAsB,EACtB,cAAc,EACd,UAAU,EACV,cAAc,EAEd,mBAAmB,EACnB,kBAAkB,EAElB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,YAAY,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,SAAS,EACT,eAAe,EACf,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -35,9 +35,10 @@ export { DashboardRenderer, MetricPanel, MetricCard, LineChart, BarChart, Source
35
35
  export { PipelineView, useStateView } from './components/state-view';
36
36
  // Session event diagnostic feed (raw → repo-normalized → accumulated)
37
37
  export { SessionEventFeed, SessionEventFeedGrouped, } from './components/session-events';
38
- export { normalizeGraphifyLabel, createGraphifyTypeResolver, resolveGraphifyTypeRef, } from './graphify';
38
+ export { normalizeGraphifyLabel, createGraphifyTypeResolver, resolveGraphifyTypeRef, normalizeGraphifyId, makeGraphifyId, graphifyFileStem, normalizeSourcePath, resolveComponentAnchor, symbolLabelVariants, inferGraphifyKind, kindsMatch, extractNamedTypes, extractGraphifySignature, compareSignatures, } from './graphify';
39
39
  // Subsystem component graph
40
40
  export { SubsystemComponentGraph } from './subsystem/SubsystemComponentGraph';
41
+ export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
41
42
  export { MECHANISM_COLOR, KIND_COLOR, MECHANISM_STYLE } from './subsystem/model';
42
43
  export { purlRepoKey, purlOwnerName, buildTreePathMapping, buildRepoGroups, repoAvatarUrl, } from './subsystem/paths';
43
44
  export { SubsystemFileTree } from './subsystem/SubsystemFileTree';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAS9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvG,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAsChC,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmCrE,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAyCrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsBH,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAS9D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAOnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,6BAA6B;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,2BAA2B;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGvG,4DAA4D;AAC5D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,6EAA6E;AAC7E,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,UAAU,EACV,SAAS,EACT,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAsChC,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAmCrE,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAyCrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAO9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -6,8 +6,59 @@
6
6
  * comments. File content lives in the bottom FileDrawer, not here.
7
7
  */
8
8
  import { type SubsystemComponent } from './model';
9
- /** Panel props. The two callbacks are wired by the graph; standalone usage
10
- * without them renders the same panel with nothing clickable. */
9
+ /** Live / result state for the declaration-panel Verify control. */
10
+ export type ComponentVerificationPhase = 'idle' | 'checking' | 'done' | 'error';
11
+ export interface ComponentVerificationState {
12
+ phase: ComponentVerificationPhase;
13
+ message?: string;
14
+ /** Mirrors host `ok` when a structured verify result is available. */
15
+ ok?: boolean;
16
+ code?: string;
17
+ file?: {
18
+ exists: boolean;
19
+ symbolDeclared?: boolean | null;
20
+ };
21
+ cache?: {
22
+ status: 'ready' | 'missing' | 'unavailable';
23
+ purl: string;
24
+ };
25
+ anchor?: {
26
+ resolution: 'exact' | 'file-only' | 'ambiguous' | 'missing';
27
+ nodeId?: string;
28
+ label?: string;
29
+ source_file?: string;
30
+ source_location?: string;
31
+ candidates?: Array<{
32
+ nodeId: string;
33
+ label: string;
34
+ source_file?: string;
35
+ }>;
36
+ };
37
+ kind?: {
38
+ claimed: string;
39
+ inferred: string;
40
+ match: boolean;
41
+ evidence?: string[];
42
+ };
43
+ signature?: {
44
+ match: boolean;
45
+ skipped: boolean;
46
+ skipCode?: string;
47
+ reason?: string;
48
+ claimed: {
49
+ parameterTypes: string[];
50
+ returnTypes: string[];
51
+ };
52
+ inferred: {
53
+ parameterTypes: string[];
54
+ returnTypes: string[];
55
+ };
56
+ /** Graphify `inline_parameter` marker count (anonymous eager args). */
57
+ inlineParameters?: number;
58
+ };
59
+ }
60
+ /** Panel props. Callbacks are wired by the graph; standalone usage without
61
+ * them renders the same panel with nothing clickable. */
11
62
  export interface ComponentDeclarationProps {
12
63
  component: SubsystemComponent;
13
64
  /** File-path click → open that file in the bottom drawer. */
@@ -17,7 +68,11 @@ export interface ComponentDeclarationProps {
17
68
  onRelatedSelect?: (ref: string) => void;
18
69
  /** Max width of the declaration panel (CSS value). Defaults to none. */
19
70
  maxWidth?: string | number;
71
+ /** When set, shows a Verify control that calls back with the component id. */
72
+ onVerify?: (componentId: string) => void;
73
+ /** Live verification status for the selected component. */
74
+ verification?: ComponentVerificationState | null;
20
75
  }
21
76
  /** Declaration panel for the selected component — its definition, code-style. */
22
- export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, maxWidth }: ComponentDeclarationProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, maxWidth, onVerify, verification, }: ComponentDeclarationProps): import("react/jsx-runtime").JSX.Element;
23
78
  //# sourceMappingURL=ComponentDeclaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAgCjB;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;IACxC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAiC,EAAE,QAAQ,EAAE,EAAE,yBAAyB,2CAkPrI"}
1
+ {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAGjB,oEAAoE;AACpE,MAAM,MAAM,0BAA0B,GAClC,MAAM,GACN,UAAU,GACV,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,0BAA0B,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,OAAO,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,KAAK,CAAC,EAAE;QACN,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;QAC5C,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,CAAC,EAAE;QACP,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;QAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC7E,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YAAC,WAAW,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAC7D,QAAQ,EAAE;YAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YAAC,WAAW,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAC9D,uEAAuE;QACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;CACH;AA+BD;0DAC0D;AAC1D,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;IACxC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,2DAA2D;IAC3D,YAAY,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAClD;AA6HD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,UAAU,EACV,eAAiC,EACjC,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,EAAE,yBAAyB,2CAuT3B"}