@principal-ai/subsystems-react 0.23.4 → 0.24.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 (41) hide show
  1. package/dist/index.d.ts +8 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/ComponentDeclaration.d.ts +3 -1
  6. package/dist/subsystem/ComponentDeclaration.d.ts.map +1 -1
  7. package/dist/subsystem/ComponentDeclaration.js +2 -2
  8. package/dist/subsystem/ComponentDeclaration.js.map +1 -1
  9. package/dist/subsystem/ConstructsCatalog.d.ts +30 -0
  10. package/dist/subsystem/ConstructsCatalog.d.ts.map +1 -0
  11. package/dist/subsystem/ConstructsCatalog.js +349 -0
  12. package/dist/subsystem/ConstructsCatalog.js.map +1 -0
  13. package/dist/subsystem/DiagnosticToggle.d.ts +46 -0
  14. package/dist/subsystem/DiagnosticToggle.d.ts.map +1 -0
  15. package/dist/subsystem/DiagnosticToggle.js +95 -0
  16. package/dist/subsystem/DiagnosticToggle.js.map +1 -0
  17. package/dist/subsystem/IssueList.d.ts +102 -0
  18. package/dist/subsystem/IssueList.d.ts.map +1 -0
  19. package/dist/subsystem/IssueList.js +282 -0
  20. package/dist/subsystem/IssueList.js.map +1 -0
  21. package/dist/subsystem/SubsystemComponentGraph.d.ts +40 -1
  22. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  23. package/dist/subsystem/SubsystemComponentGraph.js +103 -65
  24. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  25. package/dist/subsystem/model.d.ts +32 -2
  26. package/dist/subsystem/model.d.ts.map +1 -1
  27. package/dist/subsystem/model.js +47 -0
  28. package/dist/subsystem/model.js.map +1 -1
  29. package/package.json +1 -1
  30. package/src/index.ts +42 -0
  31. package/src/stories/Subsystem/ComponentGraph/Constructs.stories.tsx +287 -0
  32. package/src/stories/Subsystem/ComponentGraph/Diagnostics.stories.tsx +138 -0
  33. package/src/stories/Subsystem/ComponentGraph/EdgeViews.stories.tsx +159 -0
  34. package/src/stories/Subsystem/ComponentGraph/Issues.stories.tsx +130 -0
  35. package/src/subsystem/ComponentDeclaration.tsx +4 -1
  36. package/src/subsystem/ConstructsCatalog.tsx +644 -0
  37. package/src/subsystem/DiagnosticToggle.tsx +160 -0
  38. package/src/subsystem/IssueList.tsx +488 -0
  39. package/src/subsystem/SubsystemComponentGraph.tsx +156 -42
  40. package/src/subsystem/model.test.ts +34 -0
  41. package/src/subsystem/model.ts +72 -2
@@ -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/subsystems-react",
3
- "version": "0.23.4",
3
+ "version": "0.24.1",
4
4
  "description": "React UI for Subsystem Models — graph, Pierre code views, and session-event feeds",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -85,12 +85,48 @@ export type { UseElkLayoutOptions, UseElkLayoutResult } from './hooks/useElkLayo
85
85
  // Subsystem component graph
86
86
  export { SubsystemComponentGraph } from './subsystem/SubsystemComponentGraph';
87
87
  export type { SubsystemComponentGraphProps, WalkthroughViewerContext } from './subsystem/SubsystemComponentGraph';
88
+ export { ConstructsCatalog } from './subsystem/ConstructsCatalog';
89
+ export type { ConstructsCatalogProps } from './subsystem/ConstructsCatalog';
88
90
  export type {
89
91
  ComponentVerificationState,
90
92
  ComponentVerificationPhase,
91
93
  ComponentDeclarationProps,
92
94
  } from './subsystem/ComponentDeclaration';
93
95
  export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
96
+ export {
97
+ SubsystemDiagnosticToggle,
98
+ diagnosticStatusColor,
99
+ diagnosticTitle,
100
+ } from './subsystem/DiagnosticToggle';
101
+ export type {
102
+ SubsystemDiagnostic,
103
+ SubsystemDiagnosticStatus,
104
+ SubsystemDiagnosticToggleProps,
105
+ } from './subsystem/DiagnosticToggle';
106
+ export {
107
+ SubsystemIssueList,
108
+ SubsystemIssueCard,
109
+ groupIssuesByTarget,
110
+ groupIssuesByCategory,
111
+ issueCategory,
112
+ issueKindLabel,
113
+ humanizeIssueKind,
114
+ worstSeverity,
115
+ severityRank,
116
+ SUBSYSTEM_ISSUE_CATEGORIES,
117
+ SUBSYSTEM_ISSUE_CATEGORY_LABEL,
118
+ } from './subsystem/IssueList';
119
+ export type {
120
+ SubsystemIssue,
121
+ SubsystemIssueSeverity,
122
+ SubsystemIssueTarget,
123
+ SubsystemIssueTargetKind,
124
+ SubsystemIssueCategory,
125
+ SubsystemIssueGroup,
126
+ SubsystemIssueCategoryGroup,
127
+ SubsystemIssueCardProps,
128
+ SubsystemIssueListProps,
129
+ } from './subsystem/IssueList';
94
130
  export { MECHANISM_COLOR, MECHANISM_STYLE } from './subsystem/model';
95
131
  export { CONSTRUCT_COLOR, componentColor, constructColorsFromPierreTheme } from './pierre/constructColors';
96
132
  export {
@@ -123,6 +159,7 @@ export type {
123
159
  SubsystemFramework,
124
160
  SubsystemStereotype,
125
161
  SubsystemEdgeMechanism,
162
+ SubsystemEdgeView,
126
163
  SubsystemConstructDeclaration,
127
164
  SubsystemDeclarationProvenance,
128
165
  } from './subsystem/model';
@@ -134,8 +171,13 @@ export {
134
171
  deriveNameFromSymbol,
135
172
  nodeMinWidthForBadges,
136
173
  deriveGraphEdges,
174
+ isConstructsOnlyModel,
137
175
  derivedGraphEdgeId,
138
176
  walkthroughStepGraphEdgeId,
177
+ isRelationMechanism,
178
+ isWalkthroughMechanism,
179
+ SUBSYSTEM_RELATION_TYPES,
180
+ SUBSYSTEM_WALKTHROUGH_MECHANISMS,
139
181
  ROLE_COLOR,
140
182
  ROLE_LABEL,
141
183
  FRAMEWORK_BADGE_COLOR,
@@ -0,0 +1,287 @@
1
+ import React, { useState } from 'react';
2
+ import '@xyflow/react/dist/style.css';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
5
+ import { SubsystemComponentGraph } from '../../../subsystem/SubsystemComponentGraph';
6
+ import { PierreFileView, PierreSnippetView } from '../../../pierre';
7
+ import type { SubsystemComponent } from '../../../subsystem/model';
8
+ import type { SubsystemOpenFileOptions } from '../../../subsystem/declarationRef';
9
+ import type { GraphifyComponentDetail } from '../../../graphify';
10
+
11
+ const meta = {
12
+ title: 'Subsystem/ComponentGraph/Constructs',
13
+ component: SubsystemComponentGraph,
14
+ parameters: {
15
+ layout: 'fullscreen',
16
+ },
17
+ tags: ['autodocs'],
18
+ decorators: [
19
+ (Story) => (
20
+ <ThemeProvider theme={defaultEditorTheme}>
21
+ <Story />
22
+ </ThemeProvider>
23
+ ),
24
+ ],
25
+ } satisfies Meta<typeof SubsystemComponentGraph>;
26
+
27
+ export default meta;
28
+ type Story = StoryObj<typeof meta>;
29
+
30
+ const PURL = 'pkg:github/you/notes-intake';
31
+
32
+ /** One construct of each core kind, no relations — the catalog view. */
33
+ const constructsOnly: SubsystemComponent[] = [
34
+ {
35
+ id: 'submit-note',
36
+ name: 'submitNote',
37
+ construct: 'function',
38
+ symbol: 'submitNote',
39
+ role: 'entry',
40
+ purl: PURL,
41
+ file: 'src/api/submitNote.ts',
42
+ purpose: 'HTTP/handler entry — validates and hands off to the service.',
43
+ declarationRef: {
44
+ file: 'src/api/submitNote.ts',
45
+ startLine: 7,
46
+ lineHash: 'storybook-placeholder',
47
+ capturedAt: new Date(0).toISOString(),
48
+ },
49
+ declaration: {
50
+ kind: 'function',
51
+ parameters: [
52
+ { name: 'req', type: 'SubmitNoteRequest' },
53
+ { name: 'ctx', type: 'RequestContext' },
54
+ ],
55
+ returnType: 'Promise<NoteId>',
56
+ callers: [],
57
+ callees: [{ nodeId: 'note-service', name: 'NoteService' }],
58
+ } satisfies GraphifyComponentDetail,
59
+ },
60
+ {
61
+ id: 'note-service',
62
+ name: 'NoteService',
63
+ construct: 'class',
64
+ symbol: 'NoteService',
65
+ purl: PURL,
66
+ file: 'src/NoteService.ts',
67
+ purpose: 'Owns intake rules; methods are separate nodes when they matter.',
68
+ declarationRef: {
69
+ file: 'src/NoteService.ts',
70
+ startLine: 3,
71
+ lineHash: 'storybook-placeholder',
72
+ capturedAt: new Date(0).toISOString(),
73
+ },
74
+ declaration: {
75
+ kind: 'class',
76
+ methods: [
77
+ {
78
+ nodeId: 'note-service-persist',
79
+ name: 'persist',
80
+ parameters: [{ name: 'draft', type: 'NoteDraft' }],
81
+ returnType: 'Promise<NoteId>',
82
+ },
83
+ ],
84
+ properties: [{ name: 'repo', type: 'NoteRepository' }],
85
+ implements: ['NoteRepository'],
86
+ } satisfies GraphifyComponentDetail,
87
+ },
88
+ {
89
+ id: 'note-service-persist',
90
+ name: 'persist',
91
+ construct: 'method',
92
+ symbol: 'NoteService.persist',
93
+ purl: PURL,
94
+ file: 'src/NoteService.ts',
95
+ purpose: 'Instance method on NoteService — written as its own construct.',
96
+ declarationRef: {
97
+ file: 'src/NoteService.ts',
98
+ startLine: 14,
99
+ lineHash: 'storybook-placeholder',
100
+ capturedAt: new Date(0).toISOString(),
101
+ },
102
+ declaration: {
103
+ kind: 'function',
104
+ parameters: [{ name: 'draft', type: 'NoteDraft' }],
105
+ returnType: 'Promise<NoteId>',
106
+ callers: [{ nodeId: 'submit-note', name: 'submitNote' }],
107
+ callees: [],
108
+ } satisfies GraphifyComponentDetail,
109
+ },
110
+ {
111
+ id: 'note-repository',
112
+ name: 'NoteRepository',
113
+ construct: 'interface',
114
+ symbol: 'NoteRepository',
115
+ purl: PURL,
116
+ file: 'src/NoteRepository.ts',
117
+ purpose: 'Persistence contract the service depends on.',
118
+ declarationRef: {
119
+ file: 'src/NoteRepository.ts',
120
+ startLine: 1,
121
+ lineHash: 'storybook-placeholder',
122
+ capturedAt: new Date(0).toISOString(),
123
+ },
124
+ declaration: {
125
+ kind: 'type',
126
+ properties: [
127
+ { name: 'save', type: '(draft: NoteDraft) => Promise<NoteId>' },
128
+ { name: 'findById', type: '(id: NoteId) => Promise<Note | null>' },
129
+ ],
130
+ implementors: ['NoteService'],
131
+ } satisfies GraphifyComponentDetail,
132
+ },
133
+ {
134
+ id: 'note-id',
135
+ name: 'NoteId',
136
+ construct: 'type_alias',
137
+ symbol: 'NoteId',
138
+ purl: PURL,
139
+ file: 'src/types.ts',
140
+ purpose: 'Branded id type — a declaration, not a runtime instance.',
141
+ declarationRef: {
142
+ file: 'src/types.ts',
143
+ startLine: 1,
144
+ lineHash: 'storybook-placeholder',
145
+ capturedAt: new Date(0).toISOString(),
146
+ },
147
+ declaration: {
148
+ kind: 'type',
149
+ aliasOf: "string & { readonly __brand: 'NoteId' }",
150
+ } satisfies GraphifyComponentDetail,
151
+ },
152
+ {
153
+ id: 'note-kind',
154
+ name: 'NoteKind',
155
+ construct: 'enum',
156
+ symbol: 'NoteKind',
157
+ purl: PURL,
158
+ file: 'src/types.ts',
159
+ purpose: 'Closed set of note kinds (idea, task, …).',
160
+ declarationRef: {
161
+ file: 'src/types.ts',
162
+ startLine: 5,
163
+ lineHash: 'storybook-placeholder',
164
+ capturedAt: new Date(0).toISOString(),
165
+ },
166
+ declaration: {
167
+ kind: 'type',
168
+ enumMembers: [
169
+ { name: 'Idea', value: "'idea'" },
170
+ { name: 'Task', value: "'task'" },
171
+ ],
172
+ } satisfies GraphifyComponentDetail,
173
+ },
174
+ ];
175
+
176
+ const storyFiles: Record<string, string> = {
177
+ 'src/api/submitNote.ts': `import { NoteService } from '../NoteService';
178
+ import type { NoteId, SubmitNoteRequest, RequestContext } from '../types';
179
+
180
+ const service = new NoteService();
181
+
182
+ /** HTTP/handler entry — validates and hands off to the service. */
183
+ export async function submitNote(
184
+ req: SubmitNoteRequest,
185
+ ctx: RequestContext,
186
+ ): Promise<NoteId> {
187
+ return service.persist({ ...req, actor: ctx.actor });
188
+ }
189
+ `,
190
+ 'src/NoteService.ts': `import type { NoteDraft, NoteId, NoteRepository } from './types';
191
+
192
+ export class NoteService implements NoteRepository {
193
+ constructor(readonly repo: NoteRepository) {}
194
+
195
+ async save(draft: NoteDraft): Promise<NoteId> {
196
+ return this.persist(draft);
197
+ }
198
+
199
+ async findById(id: NoteId): Promise<Note | null> {
200
+ return this.repo.findById(id);
201
+ }
202
+
203
+ async persist(draft: NoteDraft): Promise<NoteId> {
204
+ return this.repo.save(draft);
205
+ }
206
+ }
207
+ `,
208
+ 'src/NoteRepository.ts': `import type { Note, NoteDraft, NoteId } from './types';
209
+
210
+ export interface NoteRepository {
211
+ save(draft: NoteDraft): Promise<NoteId>;
212
+ findById(id: NoteId): Promise<Note | null>;
213
+ }
214
+ `,
215
+ 'src/types.ts': `export type NoteId = string & { readonly __brand: 'NoteId' };
216
+
217
+ export type NoteDraft = { title: string; kind: NoteKind };
218
+
219
+ export enum NoteKind {
220
+ Idea = 'idea',
221
+ Task = 'task',
222
+ }
223
+ `,
224
+ };
225
+
226
+ function readStoryFile(path: string): Promise<string> {
227
+ const content = storyFiles[path];
228
+ if (content == null) return Promise.reject(new Error(`No story fixture for ${path}`));
229
+ return Promise.resolve(content);
230
+ }
231
+
232
+ function renderFileViewer(file: string, opts?: SubsystemOpenFileOptions) {
233
+ const startLine = opts?.startLine;
234
+ if (startLine != null && !opts?.fullFile) {
235
+ return (
236
+ <PierreSnippetView
237
+ filePath={file}
238
+ fileName={file.split('/').pop() ?? file}
239
+ startLine={startLine}
240
+ endLine={startLine}
241
+ focusLine={startLine}
242
+ contextLines={12}
243
+ readFile={readStoryFile}
244
+ />
245
+ );
246
+ }
247
+ return (
248
+ <PierreFileView
249
+ filePath={file}
250
+ fileName={file.split('/').pop() ?? file}
251
+ readFile={readStoryFile}
252
+ focusLine={opts?.fullFile ? startLine : undefined}
253
+ />
254
+ );
255
+ }
256
+
257
+ function CatalogDemo({ hideSidebar = false }: { hideSidebar?: boolean }) {
258
+ const [selected, setSelected] = useState<string | null>(null);
259
+ return (
260
+ <div style={{ width: '100%', height: '100vh', display: 'flex', flexDirection: 'column' }}>
261
+ <SubsystemComponentGraph
262
+ components={constructsOnly}
263
+ relations={[]}
264
+ title="Constructs at a glance"
265
+ description="Layer 1 — constructs only. Click a file path or L# to open the declaration source."
266
+ hideSidebar={hideSidebar}
267
+ onSelect={(id) => setSelected(id)}
268
+ renderFileViewer={renderFileViewer}
269
+ />
270
+ <div style={{ marginTop: 8, fontFamily: 'monospace', fontSize: 12, color: '#aaa' }}>
271
+ {selected
272
+ ? `last toggled: ${selected}`
273
+ : 'click constructs to toggle their signatures'}
274
+ </div>
275
+ </div>
276
+ );
277
+ }
278
+
279
+ /** Homepage-style embed: list of constructs on the left, signature on the right. */
280
+ export const Catalog: Story = {
281
+ render: () => <CatalogDemo />,
282
+ };
283
+
284
+ /** Same catalog, no title chrome — the shape the home-page constructs layer uses. */
285
+ export const CatalogEmbed: Story = {
286
+ render: () => <CatalogDemo hideSidebar />,
287
+ };
@@ -0,0 +1,138 @@
1
+ import '@xyflow/react/dist/style.css';
2
+ import React from 'react';
3
+ import type { Meta, StoryObj } from '@storybook/react';
4
+ import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
5
+ import { SubsystemComponentGraph } from '../../../subsystem/SubsystemComponentGraph';
6
+ import {
7
+ SubsystemDiagnosticToggle,
8
+ type SubsystemDiagnosticStatus,
9
+ } from '../../../subsystem/DiagnosticToggle';
10
+ import { components, graphSpecFromEdges } from './fixtures';
11
+
12
+ const meta = {
13
+ title: 'Subsystem/ComponentGraph/Diagnostics',
14
+ component: SubsystemComponentGraph,
15
+ parameters: {
16
+ layout: 'fullscreen',
17
+ },
18
+ decorators: [
19
+ (Story) => (
20
+ <ThemeProvider theme={defaultEditorTheme}>
21
+ <Story />
22
+ </ThemeProvider>
23
+ ),
24
+ ],
25
+ } satisfies Meta<typeof SubsystemComponentGraph>;
26
+
27
+ export default meta;
28
+ type Story = StoryObj<typeof meta>;
29
+
30
+ const graphComponents = components([
31
+ ['entry', 'checkoutApi', 'function', 'src/checkout/api.ts', 'pkg:github/you/your-app', 'Handles cart requests.', 'checkoutApi'],
32
+ ['store', 'cartStore', 'store', 'src/checkout/cartStore.ts', 'pkg:github/you/your-app', 'Retained cart state.', 'cartStore'],
33
+ ['stripe', 'Stripe', 'external', '', 'external', undefined, undefined],
34
+ ['caller', 'Web client', 'external', '', 'external', undefined, undefined],
35
+ ]);
36
+
37
+ const graphEdges = graphSpecFromEdges([
38
+ ['caller', 'entry', 'calls'],
39
+ ['entry', 'store', 'writes'],
40
+ ['entry', 'stripe', 'calls'],
41
+ ]);
42
+
43
+ const GRAPH_DESCRIPTION =
44
+ 'A small e-commerce checkout subsystem: an HTTP entry point that writes to retained cart state and calls out to Stripe.';
45
+
46
+ /** Every chip state side by side, for quick visual review. */
47
+ export const States: Story = {
48
+ render: () => {
49
+ const rows: Array<{ label: string; status: SubsystemDiagnosticStatus; issueCount?: number; stale?: boolean; busy?: boolean }> = [
50
+ { label: 'ok', status: 'ok' },
51
+ { label: 'ok (stale)', status: 'ok', stale: true },
52
+ { label: 'issues · 3', status: 'issues', issueCount: 3 },
53
+ { label: 'gaps · 2', status: 'gaps', issueCount: 2 },
54
+ { label: 'unknown (never checked)', status: 'unknown' },
55
+ { label: 'issues (busy)', status: 'issues', issueCount: 3, busy: true },
56
+ ];
57
+ return (
58
+ <div style={{ display: 'flex', flexDirection: 'column', gap: 18, padding: 32 }}>
59
+ {rows.map((row) => (
60
+ <div key={row.label} style={{ display: 'flex', alignItems: 'center', gap: 16 }}>
61
+ <span style={{ width: 200, fontFamily: 'monospace', fontSize: 12, opacity: 0.7 }}>
62
+ {row.label}
63
+ </span>
64
+ <SubsystemDiagnosticToggle
65
+ status={row.status}
66
+ issueCount={row.issueCount}
67
+ stale={row.stale}
68
+ busy={row.busy}
69
+ onOpen={() => {}}
70
+ />
71
+ </div>
72
+ ))}
73
+ </div>
74
+ );
75
+ },
76
+ };
77
+
78
+ /** The chip in its real home: the sidebar title row, beside the description toggle. */
79
+ export const GraphClean: Story = {
80
+ render: () => (
81
+ <div style={{ width: '100%', height: '100vh' }}>
82
+ <SubsystemComponentGraph
83
+ components={graphComponents}
84
+ relations={graphEdges.relations}
85
+ walkthroughs={graphEdges.walkthroughs}
86
+ title="Checkout"
87
+ description={GRAPH_DESCRIPTION}
88
+ diagnostic={{ status: 'ok', onOpen: () => {} }}
89
+ />
90
+ </div>
91
+ ),
92
+ };
93
+
94
+ export const GraphWithIssues: Story = {
95
+ render: () => (
96
+ <div style={{ width: '100%', height: '100vh' }}>
97
+ <SubsystemComponentGraph
98
+ components={graphComponents}
99
+ relations={graphEdges.relations}
100
+ walkthroughs={graphEdges.walkthroughs}
101
+ title="Checkout"
102
+ description={GRAPH_DESCRIPTION}
103
+ diagnostic={{ status: 'issues', issueCount: 3, onOpen: () => {} }}
104
+ />
105
+ </div>
106
+ ),
107
+ };
108
+
109
+ /** Stale report: the color stays, a hollow ring marks that inputs changed. */
110
+ export const GraphStale: Story = {
111
+ render: () => (
112
+ <div style={{ width: '100%', height: '100vh' }}>
113
+ <SubsystemComponentGraph
114
+ components={graphComponents}
115
+ relations={graphEdges.relations}
116
+ walkthroughs={graphEdges.walkthroughs}
117
+ title="Checkout"
118
+ description={GRAPH_DESCRIPTION}
119
+ diagnostic={{ status: 'issues', issueCount: 3, stale: true, onOpen: () => {} }}
120
+ />
121
+ </div>
122
+ ),
123
+ };
124
+
125
+ /** No title/description — the chip still anchors the title row at the right. */
126
+ export const GraphChipOnly: Story = {
127
+ render: () => (
128
+ <div style={{ width: '100%', height: '100vh' }}>
129
+ <SubsystemComponentGraph
130
+ components={graphComponents}
131
+ relations={graphEdges.relations}
132
+ walkthroughs={graphEdges.walkthroughs}
133
+ title="Checkout"
134
+ diagnostic={{ status: 'gaps', issueCount: 2, onOpen: () => {} }}
135
+ />
136
+ </div>
137
+ ),
138
+ };