@principal-ai/subsystems-react 0.50.0 → 0.51.1

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 (83) hide show
  1. package/dist/index.d.ts +8 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +7 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/pierre/PierreTrailCodeView.d.ts +1 -1
  6. package/dist/pierre/PierreTrailCodeView.d.ts.map +1 -1
  7. package/dist/pierre/PierreTrailCodeView.js +44 -21
  8. package/dist/pierre/PierreTrailCodeView.js.map +1 -1
  9. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts +493 -0
  10. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.d.ts.map +1 -0
  11. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js +329 -0
  12. package/dist/stories/Subsystem/C4Graph/c4ProposedElements.fixture.js.map +1 -0
  13. package/dist/subsystem/C4Graph.d.ts +2 -2
  14. package/dist/subsystem/C4Graph.d.ts.map +1 -1
  15. package/dist/subsystem/C4Graph.js +38 -73
  16. package/dist/subsystem/C4Graph.js.map +1 -1
  17. package/dist/subsystem/C4NodeCard.d.ts +119 -0
  18. package/dist/subsystem/C4NodeCard.d.ts.map +1 -0
  19. package/dist/subsystem/C4NodeCard.js +223 -0
  20. package/dist/subsystem/C4NodeCard.js.map +1 -0
  21. package/dist/subsystem/DiagnosticToggle.d.ts +8 -1
  22. package/dist/subsystem/DiagnosticToggle.d.ts.map +1 -1
  23. package/dist/subsystem/DiagnosticToggle.js +40 -6
  24. package/dist/subsystem/DiagnosticToggle.js.map +1 -1
  25. package/dist/subsystem/FileDrawer.d.ts.map +1 -1
  26. package/dist/subsystem/FileDrawer.js +20 -21
  27. package/dist/subsystem/FileDrawer.js.map +1 -1
  28. package/dist/subsystem/IssueList.js +1 -1
  29. package/dist/subsystem/IssueList.js.map +1 -1
  30. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  31. package/dist/subsystem/SubsystemComponentGraph.js +13 -4
  32. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  33. package/dist/subsystem/c4.d.ts +272 -0
  34. package/dist/subsystem/c4.d.ts.map +1 -0
  35. package/dist/subsystem/c4.js +322 -0
  36. package/dist/subsystem/c4.js.map +1 -0
  37. package/dist/subsystem/c4Evidence.d.ts +143 -0
  38. package/dist/subsystem/c4Evidence.d.ts.map +1 -0
  39. package/dist/subsystem/c4Evidence.js +240 -0
  40. package/dist/subsystem/c4Evidence.js.map +1 -0
  41. package/dist/subsystem/model.d.ts +27 -7
  42. package/dist/subsystem/model.d.ts.map +1 -1
  43. package/dist/subsystem/model.js +15 -0
  44. package/dist/subsystem/model.js.map +1 -1
  45. package/dist/subsystem/nodes.d.ts.map +1 -1
  46. package/dist/subsystem/nodes.js +78 -7
  47. package/dist/subsystem/nodes.js.map +1 -1
  48. package/package.json +3 -2
  49. package/src/index.ts +37 -0
  50. package/src/pierre/PierreTrailCodeView.tsx +49 -21
  51. package/src/stories/Subsystem/C4Graph/C4NodeGallery.stories.tsx +413 -0
  52. package/src/stories/Subsystem/C4Graph/ProposedElements.stories.tsx +293 -0
  53. package/src/stories/Subsystem/C4Graph/c4ProposedElements.fixture.ts +366 -0
  54. package/src/stories/Subsystem/ComponentGraph/Deprecated.stories.tsx +358 -0
  55. package/src/stories/Subsystem/ComponentGraph/Diagnostics.stories.tsx +27 -2
  56. package/src/stories/Subsystem/ComponentGraph/IssueOverlay.stories.tsx +1 -1
  57. package/src/stories/Subsystem/ComponentGraph/Issues.stories.tsx +1 -1
  58. package/src/stories/Subsystem/ComponentGraph/{Flows.stories.tsx → Trails.stories.tsx} +4 -4
  59. package/src/subsystem/C4Graph.tsx +81 -107
  60. package/src/subsystem/C4NodeCard.test.ts +301 -0
  61. package/src/subsystem/C4NodeCard.tsx +301 -0
  62. package/src/subsystem/DiagnosticToggle.tsx +58 -4
  63. package/src/subsystem/FileDrawer.tsx +32 -34
  64. package/src/subsystem/IssueList.tsx +1 -1
  65. package/src/subsystem/SubsystemComponentGraph.tsx +13 -5
  66. package/src/subsystem/c4.test.ts +573 -0
  67. package/src/subsystem/c4.ts +558 -0
  68. package/src/subsystem/c4Evidence.test.ts +386 -0
  69. package/src/subsystem/c4Evidence.ts +329 -0
  70. package/src/subsystem/model.ts +36 -7
  71. package/src/subsystem/nodes.tsx +124 -5
  72. package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts +0 -3
  73. package/dist/stories/Subsystem/C4Graph/c4Fixture.d.ts.map +0 -1
  74. package/dist/stories/Subsystem/C4Graph/c4Fixture.js +0 -2
  75. package/dist/stories/Subsystem/C4Graph/c4Fixture.js.map +0 -1
  76. package/dist/subsystem/toC4.d.ts +0 -95
  77. package/dist/subsystem/toC4.d.ts.map +0 -1
  78. package/dist/subsystem/toC4.js +0 -192
  79. package/dist/subsystem/toC4.js.map +0 -1
  80. package/src/stories/Subsystem/C4Graph/C4Container.stories.tsx +0 -101
  81. package/src/stories/Subsystem/C4Graph/c4Fixture.ts +0 -6
  82. package/src/subsystem/toC4.test.ts +0 -114
  83. package/src/subsystem/toC4.ts +0 -273
@@ -1 +1 @@
1
- {"version":3,"file":"C4Graph.js","sourceRoot":"","sources":["../../src/subsystem/C4Graph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"C4Graph.js","sourceRoot":"","sources":["../../src/subsystem/C4Graph.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ /**
2
+ * C4NodeCard — the box an element draws as, with nothing else.
3
+ *
4
+ * Extracted from `C4Graph.tsx` so the visual encoding can be inspected,
5
+ * reviewed, and unit-tested without standing up a graph. React Flow supplies
6
+ * edges and hit-testing; this supplies the reading surface.
7
+ *
8
+ * The encoding has one job: make confirmation state legible at a glance. A box
9
+ * nobody has looked at must not read the same as a box a person signed off.
10
+ * Kind says what the box is — shape, size, and a written tag — and everything
11
+ * else in C4 notation (technology, description) is surfaced in the order a
12
+ * reader wants it.
13
+ */
14
+ /// <reference types="react" />
15
+ import { useTheme } from '@principal-ade/industry-theme';
16
+ import type { C4Node } from './c4';
17
+ /**
18
+ * Card box for a container: a wide rectangle. A container carries four things
19
+ * at once (tag, label, type + technology, and the notation gap it still has),
20
+ * and a strip would force the last two to truncate.
21
+ */
22
+ export declare const NODE_W = 210;
23
+ export declare const NODE_H = 138;
24
+ /**
25
+ * A component is a proper square — equal sides, and visibly smaller than the
26
+ * container it sits inside. Square-vs-rectangle is the clearest signal that
27
+ * these are different C4 levels, and it survives grayscale and colour-blind
28
+ * reading where a border-weight difference alone does not.
29
+ */
30
+ export declare const COMPONENT_SIZE = 132;
31
+ /**
32
+ * Per-level box size. The graph lays out against these, so a square component
33
+ * and a rectangular container do not collide at a shared nominal width.
34
+ */
35
+ export declare function nodeSize(node: C4Node): {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ type Theme = ReturnType<typeof useTheme>['theme'];
40
+ export interface NodeStyle {
41
+ color: string;
42
+ dash: 'solid' | 'dashed' | 'dotted';
43
+ width: number;
44
+ }
45
+ /**
46
+ * Border style for one node: colour, dash and weight, from confirmation state
47
+ * and level.
48
+ *
49
+ * One axis per channel, so nothing is said twice and nothing is contradicted:
50
+ *
51
+ * colour + dash → confirmation state (the primary axis)
52
+ * weight → C4 level, as a grayscale redundancy for the square
53
+ * shape + size → C4 kind (`nodeShape`, `nodeSize`)
54
+ *
55
+ * State owning the dash is deliberate. An earlier build gave the dash to kind
56
+ * and drew proposed boxes solid, quietly contradicting the one thing the
57
+ * confirm UI needs a reader to see. Kind now says itself through shape, and
58
+ * the border says who vouched for it.
59
+ */
60
+ export declare function nodeStyle(node: C4Node, theme: Theme, selected?: boolean): NodeStyle;
61
+ /**
62
+ * The kind + technology line under the label.
63
+ *
64
+ * A container shows its `containerKind` (application / data-store / queue);
65
+ * C4 has no kind for the other three, so they show technology or nothing.
66
+ */
67
+ export declare function nodeSubtitle(node: C4Node): string;
68
+ /**
69
+ * What the box IS — its C4 kind. An accepted container is still a container;
70
+ * collapsing the two is what once made containers and components unreadable.
71
+ * Confirmation state is a separate axis carried by the border (see
72
+ * `nodeStyle`), not by a word on the card.
73
+ */
74
+ export declare function nodeTag(node: C4Node): string;
75
+ /** How a box is drawn. Shape carries the C4 kind, independent of colour. */
76
+ export type C4ShapeKind = 'rect' | 'square' | 'pill';
77
+ export interface NodeShape {
78
+ kind: C4ShapeKind;
79
+ /** Corner radius, for the shapes that use one. */
80
+ radius: number;
81
+ }
82
+ /**
83
+ * Shape cue for the C4 kind, independent of colour and dash — both of which
84
+ * belong to confirmation state.
85
+ *
86
+ * The convention:
87
+ *
88
+ * container wide rectangle, sharp corners — a runtime boundary
89
+ * component square — a part inside one (see `nodeSize`)
90
+ * external system wide rectangle, rounded — someone else's system
91
+ * person pill — not a box at all
92
+ *
93
+ * An external system is separated from a container by radius alone, which is
94
+ * a weak cue. That is deliberate rather than an oversight: the border dash is
95
+ * the only channel that could say "outside our control" loudly, and it is
96
+ * already spent on proposed-vs-accepted. The kind tag says it in words, and
97
+ * the frame position says it structurally.
98
+ */
99
+ export declare function nodeShape(node: C4Node): NodeShape;
100
+ /**
101
+ * The gaps the C4 notation still wants on this element, named rather than left
102
+ * to be noticed.
103
+ *
104
+ * Containers are where the notation is strictest: it requires a technology and
105
+ * a description on every one. A component needs a technology too, but a
106
+ * component drawn without a parent already reports `unknown_container`, and
107
+ * that is the question worth asking first.
108
+ */
109
+ export declare function nodeMissing(node: C4Node): string[];
110
+ export interface C4NodeCardProps {
111
+ node: C4Node;
112
+ selected?: boolean;
113
+ /** Draw React Flow's edge handles. Off when rendering a bare gallery. */
114
+ handles?: React.ReactNode;
115
+ onClick?: () => void;
116
+ }
117
+ export declare function C4NodeCard({ node, selected, handles, onClick }: C4NodeCardProps): import("react").JSX.Element;
118
+ export {};
119
+ //# sourceMappingURL=C4NodeCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C4NodeCard.d.ts","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,eAAO,MAAM,MAAM,MAAM,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAIxE;AAUD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,UAAQ,GAAG,SAAS,CAmBjF;AAOD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,4EAA4E;AAC5E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAWjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAMlD;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,QAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,eAAe,+BA2GvF"}
@@ -0,0 +1,223 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * C4NodeCard — the box an element draws as, with nothing else.
4
+ *
5
+ * Extracted from `C4Graph.tsx` so the visual encoding can be inspected,
6
+ * reviewed, and unit-tested without standing up a graph. React Flow supplies
7
+ * edges and hit-testing; this supplies the reading surface.
8
+ *
9
+ * The encoding has one job: make confirmation state legible at a glance. A box
10
+ * nobody has looked at must not read the same as a box a person signed off.
11
+ * Kind says what the box is — shape, size, and a written tag — and everything
12
+ * else in C4 notation (technology, description) is surfaced in the order a
13
+ * reader wants it.
14
+ */
15
+ import { useTheme } from '@principal-ade/industry-theme';
16
+ import { describeConstructBreakdown } from './model';
17
+ /**
18
+ * Card box for a container: a wide rectangle. A container carries four things
19
+ * at once (tag, label, type + technology, and the notation gap it still has),
20
+ * and a strip would force the last two to truncate.
21
+ */
22
+ export const NODE_W = 210;
23
+ export const NODE_H = 138;
24
+ /**
25
+ * A component is a proper square — equal sides, and visibly smaller than the
26
+ * container it sits inside. Square-vs-rectangle is the clearest signal that
27
+ * these are different C4 levels, and it survives grayscale and colour-blind
28
+ * reading where a border-weight difference alone does not.
29
+ */
30
+ export const COMPONENT_SIZE = 132;
31
+ /**
32
+ * Per-level box size. The graph lays out against these, so a square component
33
+ * and a rectangular container do not collide at a shared nominal width.
34
+ */
35
+ export function nodeSize(node) {
36
+ return node.kind === 'component'
37
+ ? { width: COMPONENT_SIZE, height: COMPONENT_SIZE }
38
+ : { width: NODE_W, height: NODE_H };
39
+ }
40
+ /**
41
+ * Fixed slot heights, so rows line up across every card regardless of which
42
+ * optional fields are present. Without these a card missing its notation-gap
43
+ * marker is two lines shorter and a row of cards reads as ragged.
44
+ */
45
+ const LABEL_SLOT_H = 40;
46
+ const GAP_SLOT_H = 18;
47
+ /**
48
+ * Border style for one node: colour, dash and weight, from confirmation state
49
+ * and level.
50
+ *
51
+ * One axis per channel, so nothing is said twice and nothing is contradicted:
52
+ *
53
+ * colour + dash → confirmation state (the primary axis)
54
+ * weight → C4 level, as a grayscale redundancy for the square
55
+ * shape + size → C4 kind (`nodeShape`, `nodeSize`)
56
+ *
57
+ * State owning the dash is deliberate. An earlier build gave the dash to kind
58
+ * and drew proposed boxes solid, quietly contradicting the one thing the
59
+ * confirm UI needs a reader to see. Kind now says itself through shape, and
60
+ * the border says who vouched for it.
61
+ */
62
+ export function nodeStyle(node, theme, selected = false) {
63
+ const muted = theme.colors.border ?? '#555';
64
+ if (selected)
65
+ return { color: theme.colors.primary ?? '#5aa', dash: 'solid', width: 3 };
66
+ // Border weight carries the level, so a component stays a component even
67
+ // in grayscale or for a reader who cannot separate the hues.
68
+ const weight = node.kind === 'component' ? 1 : 2;
69
+ switch (node.state) {
70
+ case 'accepted':
71
+ // Solid and saturated — part of the architecture now.
72
+ return { color: theme.colors.primary ?? '#4ec9b0', dash: 'solid', width: weight };
73
+ case 'proposed':
74
+ // Dashed — an agent asked; a human has not answered.
75
+ return { color: theme.colors.warning ?? '#e8a33a', dash: 'dashed', width: weight };
76
+ case 'rejected':
77
+ // Should never be drawn (buildC4Model drops it); belt-and-braces.
78
+ return { color: muted, dash: 'dotted', width: 1 };
79
+ }
80
+ }
81
+ function baseName(path) {
82
+ const parts = path.split('/').filter(Boolean);
83
+ return parts[parts.length - 1] ?? path;
84
+ }
85
+ /**
86
+ * The kind + technology line under the label.
87
+ *
88
+ * A container shows its `containerKind` (application / data-store / queue);
89
+ * C4 has no kind for the other three, so they show technology or nothing.
90
+ */
91
+ export function nodeSubtitle(node) {
92
+ const parts = [node.containerKind, node.technology].filter(Boolean);
93
+ if (parts.length > 0)
94
+ return parts.join(' · ');
95
+ // No confirmed attributes: fall back to what the document told us.
96
+ if (node.kind === 'component') {
97
+ return `${node.component?.construct ?? 'code'}${node.component?.file ? ` · ${baseName(node.component.file)}` : ''}`;
98
+ }
99
+ const count = node.members.length;
100
+ return `${describeConstructBreakdown(node.constructs)}${count > 0 ? ` · ${count} component${count === 1 ? '' : 's'}` : ''}`;
101
+ }
102
+ /**
103
+ * What the box IS — its C4 kind. An accepted container is still a container;
104
+ * collapsing the two is what once made containers and components unreadable.
105
+ * Confirmation state is a separate axis carried by the border (see
106
+ * `nodeStyle`), not by a word on the card.
107
+ */
108
+ export function nodeTag(node) {
109
+ return node.kind;
110
+ }
111
+ /**
112
+ * Shape cue for the C4 kind, independent of colour and dash — both of which
113
+ * belong to confirmation state.
114
+ *
115
+ * The convention:
116
+ *
117
+ * container wide rectangle, sharp corners — a runtime boundary
118
+ * component square — a part inside one (see `nodeSize`)
119
+ * external system wide rectangle, rounded — someone else's system
120
+ * person pill — not a box at all
121
+ *
122
+ * An external system is separated from a container by radius alone, which is
123
+ * a weak cue. That is deliberate rather than an oversight: the border dash is
124
+ * the only channel that could say "outside our control" loudly, and it is
125
+ * already spent on proposed-vs-accepted. The kind tag says it in words, and
126
+ * the frame position says it structurally.
127
+ */
128
+ export function nodeShape(node) {
129
+ switch (node.kind) {
130
+ case 'person':
131
+ return { kind: 'pill', radius: NODE_H / 2 };
132
+ case 'external-system':
133
+ return { kind: 'rect', radius: 14 };
134
+ case 'component':
135
+ return { kind: 'square', radius: 6 };
136
+ default:
137
+ return { kind: 'rect', radius: 4 };
138
+ }
139
+ }
140
+ /**
141
+ * The gaps the C4 notation still wants on this element, named rather than left
142
+ * to be noticed.
143
+ *
144
+ * Containers are where the notation is strictest: it requires a technology and
145
+ * a description on every one. A component needs a technology too, but a
146
+ * component drawn without a parent already reports `unknown_container`, and
147
+ * that is the question worth asking first.
148
+ */
149
+ export function nodeMissing(node) {
150
+ if (node.kind !== 'container')
151
+ return [];
152
+ const missing = [];
153
+ if (!node.technology)
154
+ missing.push('technology');
155
+ if (!node.description)
156
+ missing.push('description');
157
+ return missing;
158
+ }
159
+ export function C4NodeCard({ node, selected = false, handles, onClick }) {
160
+ const { theme } = useTheme();
161
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
162
+ const style = nodeStyle(node, theme, selected);
163
+ const shape = nodeShape(node);
164
+ const missing = nodeMissing(node);
165
+ const size = nodeSize(node);
166
+ return (_jsxs("div", { onClick: onClick, style: {
167
+ width: size.width,
168
+ minHeight: size.height,
169
+ boxSizing: 'border-box',
170
+ display: 'flex',
171
+ flexDirection: 'column',
172
+ // Top-aligned, not centred: the number of lines varies (the notation-gap
173
+ // marker is conditional), and centring pushes the tag to a different
174
+ // height on every card. In a graph grid that makes the row unscannable.
175
+ justifyContent: 'flex-start',
176
+ gap: 3,
177
+ padding: '10px 12px',
178
+ borderRadius: shape.radius,
179
+ background: theme.colors.backgroundSecondary ?? theme.colors.background,
180
+ border: `${style.width} ${style.dash} ${style.color}`,
181
+ boxShadow: '0 1px 4px rgba(0,0,0,0.25)',
182
+ cursor: onClick ? 'pointer' : 'default',
183
+ fontFamily: theme.fonts.body,
184
+ }, children: [_jsx("span", { style: {
185
+ fontFamily: theme.fonts.monospace,
186
+ fontSize: theme.fontSizes[0],
187
+ color: style.color,
188
+ fontWeight: 600,
189
+ letterSpacing: 0.5,
190
+ textTransform: 'uppercase',
191
+ whiteSpace: 'nowrap',
192
+ overflow: 'hidden',
193
+ textOverflow: 'ellipsis',
194
+ }, children: nodeTag(node) }), _jsx("span", { style: {
195
+ fontWeight: 600,
196
+ fontSize: theme.fontSizes[2],
197
+ color: theme.colors.text,
198
+ lineHeight: 1.25,
199
+ height: LABEL_SLOT_H,
200
+ display: '-webkit-box',
201
+ WebkitLineClamp: 2,
202
+ WebkitBoxOrient: 'vertical',
203
+ overflow: 'hidden',
204
+ }, title: node.label, children: node.label }), _jsx("span", { style: {
205
+ fontFamily: theme.fonts.monospace,
206
+ fontSize: theme.fontSizes[0],
207
+ color: muted,
208
+ whiteSpace: 'nowrap',
209
+ overflow: 'hidden',
210
+ textOverflow: 'ellipsis',
211
+ }, title: node.description ?? node.members.join(', '), children: nodeSubtitle(node) }), _jsx("span", { style: { height: GAP_SLOT_H }, "aria-hidden": "true" }), missing.length > 0 && (_jsxs("span", { title: `C4 requires a ${missing.join(' and a ')} on every container`, style: {
212
+ fontFamily: theme.fonts.monospace,
213
+ fontSize: theme.fontSizes[0],
214
+ color: theme.colors.warning ?? '#e8a33a',
215
+ lineHeight: 1.3,
216
+ height: GAP_SLOT_H,
217
+ display: '-webkit-box',
218
+ WebkitLineClamp: 2,
219
+ WebkitBoxOrient: 'vertical',
220
+ overflow: 'hidden',
221
+ }, children: ["needs ", missing.join(' + ')] })), handles] }));
222
+ }
223
+ //# sourceMappingURL=C4NodeCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C4NodeCard.js","sourceRoot":"","sources":["../../src/subsystem/C4NodeCard.tsx"],"names":[],"mappings":"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"}
@@ -22,6 +22,13 @@ export interface SubsystemDiagnostic {
22
22
  status: SubsystemDiagnosticStatus;
23
23
  /** Count shown beside the icon (e.g. error + warn findings). Hidden when 0/undefined. */
24
24
  issueCount?: number;
25
+ /**
26
+ * How many of the open findings carry a one-click deterministic fix (a
27
+ * re-pin, an adoptable signature fill, a unique Graphify file relocate).
28
+ * Badged on the icon so it's visible without expanding the list — the fixes
29
+ * live inside collapsed categories, so the count was previously invisible.
30
+ */
31
+ fixableCount?: number;
25
32
  /** Inputs changed since the report was produced. */
26
33
  stale?: boolean;
27
34
  /** A verification pass is running right now. */
@@ -45,5 +52,5 @@ export interface SubsystemDiagnosticToggleProps extends SubsystemDiagnostic {
45
52
  /** Icon size in px. @default 14 */
46
53
  size?: number;
47
54
  }
48
- export declare function SubsystemDiagnosticToggle({ status, issueCount, stale, busy, active, size, onToggle, ...rest }: SubsystemDiagnosticToggleProps): import("react").JSX.Element;
55
+ export declare function SubsystemDiagnosticToggle({ status, issueCount, fixableCount, stale, busy, active, size, onToggle, ...rest }: SubsystemDiagnosticToggleProps): import("react").JSX.Element;
49
56
  //# sourceMappingURL=DiagnosticToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticToggle.d.ts","sourceRoot":"","sources":["../../src/subsystem/DiagnosticToggle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAOH,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAmBvE;AAED,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,UAAU,EACV,KAAa,EACb,IAAY,EACZ,MAAc,EACd,IAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,8BAA8B,+BA+EhC"}
1
+ {"version":3,"file":"DiagnosticToggle.d.ts","sourceRoot":"","sources":["../../src/subsystem/DiagnosticToggle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAOH,MAAM,MAAM,yBAAyB,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,uDAAuD;AACvD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EACjC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3D,KAAK,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,sDAAsD;AACtD,wBAAgB,eAAe,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,CAyBvE;AAED,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,UAAU,EACV,YAAgB,EAChB,KAAa,EACb,IAAY,EACZ,MAAc,EACd,IAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,8BAA8B,+BAuHhC"}
@@ -35,7 +35,7 @@ export function diagnosticStatusColor(status, colors, muted) {
35
35
  export function diagnosticTitle(diagnostic) {
36
36
  if (diagnostic.title)
37
37
  return diagnostic.title;
38
- const { status, issueCount, stale, busy } = diagnostic;
38
+ const { status, issueCount, fixableCount, stale, busy } = diagnostic;
39
39
  let head;
40
40
  if (status === 'ok')
41
41
  head = 'Diagnostics: no issues';
@@ -51,19 +51,36 @@ export function diagnosticTitle(diagnostic) {
51
51
  : 'Diagnostics: unconfirmed claims';
52
52
  else
53
53
  head = 'Diagnostics: not checked yet';
54
+ // Name the one-click count first when there is work a click can close —
55
+ // that's the actionable part of the list.
56
+ const fixable = fixableCount != null && fixableCount > 0
57
+ ? `${fixableCount} fixable with one click`
58
+ : '';
54
59
  if (busy)
55
60
  return `${head} — checking…`;
56
61
  if (stale)
57
- return `${head} (stale) — toggle the list`;
58
- return `${head} — toggle the list`;
62
+ return `${head} (stale) — toggle the list${fixable ? `, ${fixable}` : ''}`;
63
+ return `${head} — toggle the list${fixable ? `, ${fixable}` : ''}`;
59
64
  }
60
- export function SubsystemDiagnosticToggle({ status, issueCount, stale = false, busy = false, active = false, size = 14, onToggle, ...rest }) {
65
+ export function SubsystemDiagnosticToggle({ status, issueCount, fixableCount = 0, stale = false, busy = false, active = false, size = 14, onToggle, ...rest }) {
61
66
  const { theme } = useTheme();
62
67
  const [hover, setHover] = useState(false);
63
68
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
64
69
  const color = diagnosticStatusColor(status, theme.colors, muted);
65
- const label = diagnosticTitle({ status, issueCount, stale, busy, active, ...rest });
70
+ const label = diagnosticTitle({
71
+ status,
72
+ issueCount,
73
+ fixableCount,
74
+ stale,
75
+ busy,
76
+ active,
77
+ ...rest,
78
+ });
66
79
  const showCount = issueCount != null && issueCount > 0;
80
+ // Green regardless of status: this marks "a click fixes this", not severity,
81
+ // and green is the same accent the per-finding Apply button uses.
82
+ const showFixable = fixableCount > 0 && !busy;
83
+ const fixableColor = theme.colors.success ?? '#2da44e';
67
84
  const background = active
68
85
  ? hexWithAlpha(color, hover ? 0.24 : 0.16)
69
86
  : hover
@@ -92,7 +109,24 @@ export function SubsystemDiagnosticToggle({ status, issueCount, stale = false, b
92
109
  borderRadius: '50%',
93
110
  border: `1.5px solid ${color}`,
94
111
  background: theme.colors.backgroundSecondary ?? theme.colors.background,
95
- } }))] }), showCount && (_jsx("span", { style: {
112
+ } })), showFixable && (_jsx("span", { "aria-hidden": true, style: {
113
+ position: 'absolute',
114
+ top: -5,
115
+ right: -8,
116
+ minWidth: 12,
117
+ height: 12,
118
+ padding: '0 3px',
119
+ borderRadius: 6,
120
+ display: 'inline-flex',
121
+ alignItems: 'center',
122
+ justifyContent: 'center',
123
+ background: fixableColor,
124
+ color: theme.colors.background,
125
+ fontFamily: theme.fonts.monospace,
126
+ fontSize: 9,
127
+ fontWeight: 700,
128
+ lineHeight: 1,
129
+ }, children: fixableCount > 99 ? '99+' : fixableCount }))] }), showCount && (_jsx("span", { style: {
96
130
  fontFamily: theme.fonts.monospace,
97
131
  fontSize: theme.fontSizes[0],
98
132
  fontWeight: 600,
@@ -1 +1 @@
1
- {"version":3,"file":"DiagnosticToggle.js","sourceRoot":"","sources":["../../src/subsystem/DiagnosticToggle.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiagnosticToggle.js","sourceRoot":"","sources":["../../src/subsystem/DiagnosticToggle.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;2EAC2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;iFAIiF;AACjF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BA2LA"}
1
+ {"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;2EAC2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;iFAIiF;AACjF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAyLA"}
@@ -72,17 +72,28 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
72
72
  flexShrink: 0,
73
73
  cursor: "default",
74
74
  userSelect: "none",
75
- }, children: [_jsxs("div", { style: {
75
+ }, children: [showProgress && progress != null && (_jsx("div", { role: "img", "aria-label": `Step ${progress.index + 1} of ${progress.total}`, style: {
76
+ display: "flex",
77
+ gap: 2,
78
+ flexShrink: 0,
79
+ }, children: Array.from({ length: progress.total }, (_, i) => (_jsx("span", { style: {
80
+ flex: 1,
81
+ height: 2,
82
+ borderRadius: 1,
83
+ background: i <= progress.index
84
+ ? theme.colors.primary
85
+ : theme.colors.border,
86
+ } }, i))) })), _jsxs("div", { style: {
76
87
  display: "flex",
77
88
  alignItems: "center",
78
89
  gap: 8,
79
- padding: "6px 10px",
80
- // With segments present they form the header's bottom edge, so
81
- // only draw the hairline when there is nothing to stand in for it.
82
- borderBottom: showProgress
83
- ? "none"
84
- : `1px solid ${theme.colors.border}`,
85
- }, children: [_jsx("span", { title: title ?? undefined, style: {
90
+ // Top runs deeper than the bottom so the title/label sits
91
+ // optically centered inside the sticky top edge.
92
+ padding: "10px 10px 8px",
93
+ // The header row is the last chrome row now, so its hairline is
94
+ // the boundary with the code below.
95
+ borderBottom: `1px solid ${theme.colors.border}`,
96
+ }, children: [_jsx("span", { style: {
86
97
  flex: 1,
87
98
  minWidth: 0,
88
99
  overflow: "hidden",
@@ -118,18 +129,6 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
118
129
  color: closeHover ? theme.colors.text : muted,
119
130
  cursor: "pointer",
120
131
  transition: "background 120ms ease, color 120ms ease",
121
- }, children: _jsx(X, { size: 14 }) })] }), showProgress && progress != null && (_jsx("div", { role: "img", "aria-label": `Step ${progress.index + 1} of ${progress.total}`, style: {
122
- display: "flex",
123
- gap: 2,
124
- flexShrink: 0,
125
- padding: "0 10px 6px",
126
- }, children: Array.from({ length: progress.total }, (_, i) => (_jsx("span", { style: {
127
- flex: 1,
128
- height: 2,
129
- borderRadius: 1,
130
- background: i <= progress.index
131
- ? theme.colors.primary
132
- : theme.colors.border,
133
- } }, i))) }))] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children })] })] }));
132
+ }, children: _jsx(X, { size: 14 }) })] })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children })] })] }));
134
133
  }
135
134
  //# sourceMappingURL=FileDrawer.js.map