@principal-ai/subsystems-react 0.37.1 → 0.37.2

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.
@@ -105,6 +105,9 @@ export interface ComponentDeclarationProps {
105
105
  * label, description toggle). For hosts that surface those in a shared
106
106
  * header instead. */
107
107
  hideActions?: boolean;
108
+ /** For `external` constructs, render the construct name as the body instead
109
+ * of `external '…'` — the kind is named by the caller's header. */
110
+ externalName?: boolean;
108
111
  /** Controlled purpose/description visibility. When provided it overrides the
109
112
  * internal toggle, so a host can drive it from a shared header. */
110
113
  showPurpose?: boolean;
@@ -115,5 +118,5 @@ export interface ComponentDeclarationProps {
115
118
  lineNumbers?: boolean;
116
119
  }
117
120
  /** Declaration panel for the selected component — its definition, code-style. */
118
- export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, hideActions, showPurpose: showPurposeProp, lineNumbers, }: ComponentDeclarationProps): import("react").JSX.Element;
121
+ export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, hideActions, externalName, showPurpose: showPurposeProp, lineNumbers, }: ComponentDeclarationProps): import("react").JSX.Element;
119
122
  //# sourceMappingURL=ComponentDeclaration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
@@ -182,7 +182,7 @@ function verificationSummary(v, muted, ok, warn) {
182
182
  return { text: bits.join(' · ') || 'done', color: muted };
183
183
  }
184
184
  /** Declaration panel for the selected component — its definition, code-style. */
185
- export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, hideActions = false, showPurpose: showPurposeProp, lineNumbers = false, }) {
185
+ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, hideActions = false, externalName = false, showPurpose: showPurposeProp, lineNumbers = false, }) {
186
186
  const { theme, mode } = useTheme();
187
187
  const pierreSyntaxTheme = resolvePierreSyntaxThemeName(mode);
188
188
  const [hoverSeg, setHoverSeg] = useState(null);
@@ -246,6 +246,10 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
246
246
  verification?.declaration?.ref?.startLine ??
247
247
  parseSourceLocation(verification?.anchor?.source_location) ??
248
248
  undefined;
249
+ const externalKind = (component.declaration?.kind ?? component.construct) === 'external';
250
+ const externalNameText = component.name?.trim() ||
251
+ (component.declaration?.kind === 'external' ? component.declaration.label : '') ||
252
+ component.alias;
249
253
  const openDeclarationFile = () => {
250
254
  if (!onOpenFile || !component.file)
251
255
  return;
@@ -608,7 +612,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
608
612
  if (labelDi === -1) {
609
613
  labelDi = declLines.findIndex((l) => l.length > 0);
610
614
  }
615
+ const externalNameLine = externalName && externalKind;
616
+ if (externalNameLine) {
617
+ // The caller's header names the kind, so the body just names the construct.
618
+ lines.push(_jsx("div", { style: {
619
+ display: 'block',
620
+ whiteSpace: 'pre-wrap',
621
+ overflowWrap: 'anywhere',
622
+ minWidth: 0,
623
+ minHeight: 18,
624
+ }, children: _jsx("span", { style: { color }, children: externalNameText }) }, "external-name"));
625
+ }
611
626
  for (let li = 0; li < declLines.length; li++) {
627
+ if (externalNameLine)
628
+ break;
612
629
  if (declLines[li].length === 0)
613
630
  continue;
614
631
  if (lineNumbers && declarationStartLine != null) {
@@ -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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"}
@@ -6,8 +6,11 @@
6
6
  * constructs. Right: signatures grouped by repo, and within a repo stacked
7
7
  * per file under one combined file header carrying the path and a
8
8
  * description toggle; a declaration with a known line labels just that
9
- * construct's line in a file-like gutter. File opens still use the bottom
10
- * FileDrawer when the host injects a viewer.
9
+ * construct's line in a file-like gutter, and `external` constructs get a
10
+ * header naming their kind with the body naming the construct. The model
11
+ * description's toggle sits in the left chrome and opens the markdown as an
12
+ * overlay over the construct area. File opens still use the bottom FileDrawer
13
+ * when the host injects a viewer.
11
14
  */
12
15
  import type { ReactNode } from 'react';
13
16
  import { type SubsystemComponent } from './model';
@@ -20,6 +23,10 @@ export interface ConstructsCatalogProps {
20
23
  onSelect?: (componentAlias: string) => void;
21
24
  title?: string;
22
25
  hideSidebar?: boolean;
26
+ /**
27
+ * Model description. Its toggle lives in the left chrome; opening it shows
28
+ * the markdown as an overlay over the construct area.
29
+ */
23
30
  description?: string;
24
31
  diagnostic?: SubsystemDiagnostic;
25
32
  sidebarExtra?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKzF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAChF,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC1D,gFAAgF;IAChF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,oBAAoB,CAAC;KAC3B,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAClE;AA8GD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,EAAE,sBAAsB,+BAwyBxB"}
1
+ {"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKzF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAChF,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC1D,gFAAgF;IAChF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,oBAAoB,CAAC;KAC3B,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAClE;AA8GD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,EAAE,sBAAsB,+BAm5BxB"}
@@ -7,13 +7,16 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
7
7
  * constructs. Right: signatures grouped by repo, and within a repo stacked
8
8
  * per file under one combined file header carrying the path and a
9
9
  * description toggle; a declaration with a known line labels just that
10
- * construct's line in a file-like gutter. File opens still use the bottom
11
- * FileDrawer when the host injects a viewer.
10
+ * construct's line in a file-like gutter, and `external` constructs get a
11
+ * header naming their kind with the body naming the construct. The model
12
+ * description's toggle sits in the left chrome and opens the markdown as an
13
+ * overlay over the construct area. File opens still use the bottom FileDrawer
14
+ * when the host injects a viewer.
12
15
  */
13
16
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
14
17
  import { useTheme } from '@principal-ade/industry-theme';
15
18
  import { IndustryMarkdownSlide } from 'themed-markdown';
16
- import { AlignLeft, ChevronDown, ChevronRight, FileText, Folder } from 'lucide-react';
19
+ import { AlignLeft, Box, ChevronDown, ChevronRight, FileText, Folder, X, } from 'lucide-react';
17
20
  import { formatPurl, } from './model';
18
21
  import { ComponentDeclaration } from './ComponentDeclaration';
19
22
  import { SubsystemDiagnosticToggle } from './DiagnosticToggle';
@@ -132,8 +135,9 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
132
135
  const [descToggleHover, setDescToggleHover] = useState(false);
133
136
  const [hoveredRow, setHoveredRow] = useState(null);
134
137
  const [collapsedFolders, setCollapsedFolders] = useState(new Set());
135
- // Files whose shared-header description toggle is expanded (keyed by file run).
136
- const [openPurposes, setOpenPurposes] = useState(new Set());
138
+ // Explicit description toggles per file run. Unset falls back to the kind's
139
+ // default (externals open, files closed).
140
+ const [purposeOverrides, setPurposeOverrides] = useState({});
137
141
  const [drawer, setDrawer] = useState(null);
138
142
  const visibleSet = useMemo(() => new Set(visibleAliases), [visibleAliases]);
139
143
  const visibleComponents = useMemo(() => orderedComponents.filter((c) => visibleSet.has(c.alias)), [orderedComponents, visibleSet]);
@@ -224,15 +228,8 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
224
228
  return next;
225
229
  });
226
230
  }, []);
227
- const togglePurpose = useCallback((key) => {
228
- setOpenPurposes((prev) => {
229
- const next = new Set(prev);
230
- if (next.has(key))
231
- next.delete(key);
232
- else
233
- next.add(key);
234
- return next;
235
- });
231
+ const setPurposeOpen = useCallback((key, open) => {
232
+ setPurposeOverrides((prev) => ({ ...prev, [key]: open }));
236
233
  }, []);
237
234
  /** File-tree click: show every construct declared in the file, or hide them
238
235
  * all when they're already shown — a bulk toggle of the file's constructs. */
@@ -375,8 +372,11 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
375
372
  return () => window.removeEventListener('keydown', onKey);
376
373
  }, [drawer]);
377
374
  const showChrome = !hideSidebar &&
378
- !!(title || description || diagnostic || sidebarExtra || sidebarAfterDescription);
379
- const showDesc = !!description && descriptionVisible;
375
+ !!(title ||
376
+ description ||
377
+ diagnostic ||
378
+ sidebarExtra ||
379
+ sidebarAfterDescription);
380
380
  return (_jsxs("div", { "data-testid": "constructs-catalog", style: {
381
381
  width: '100%',
382
382
  height: '100%',
@@ -395,7 +395,6 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
395
395
  flexDirection: 'column',
396
396
  overflow: 'hidden',
397
397
  }, children: [showChrome && (_jsxs("div", { style: {
398
- flex: showDesc ? '0 0 auto' : undefined,
399
398
  padding: '16px 16px 8px',
400
399
  display: 'flex',
401
400
  flexDirection: 'column',
@@ -427,7 +426,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
427
426
  background: descriptionVisible || descToggleHover ? theme.colors.border : 'transparent',
428
427
  color: descriptionVisible || descToggleHover ? theme.colors.text : muted,
429
428
  cursor: 'pointer',
430
- }, children: _jsx(FileText, { size: 14 }) }))] })] })), showDesc && (_jsx("div", { style: { fontSize: theme.fontSizes[0], lineHeight: 1.5 }, children: _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "constructs-desc", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, enableKeyboardScrolling: false, autoFocusOnVisible: false }) })), sidebarAfterDescription] })), hasFiles ? (_jsx("ul", { role: "tree", "aria-label": "Files", style: {
429
+ }, children: _jsx(FileText, { size: 14 }) }))] })] })), sidebarAfterDescription] })), hasFiles ? (_jsx("ul", { role: "tree", "aria-label": "Files", style: {
431
430
  listStyle: 'none',
432
431
  margin: 0,
433
432
  padding: '6px 8px 12px',
@@ -447,7 +446,57 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
447
446
  minHeight: 0,
448
447
  display: 'flex',
449
448
  flexDirection: 'column',
450
- }, children: [searchActive && (_jsx("div", { style: { flexShrink: 0, padding: '12px 16px 0' }, children: _jsx("input", { type: "search", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search constructs\u2026", "aria-label": "Search constructs", "data-testid": "construct-search", style: {
449
+ }, children: [description && descriptionVisible && (_jsxs(_Fragment, { children: [_jsx("div", { onClick: () => setDescriptionVisible(false), style: {
450
+ position: 'absolute',
451
+ inset: 0,
452
+ zIndex: 2,
453
+ background: 'rgba(0,0,0,0.45)',
454
+ } }), _jsxs("div", { style: {
455
+ position: 'absolute',
456
+ top: '50%',
457
+ left: '50%',
458
+ transform: 'translate(-50%, -50%)',
459
+ zIndex: 3,
460
+ width: 360,
461
+ maxWidth: 'calc(100% - 16px)',
462
+ maxHeight: '70%',
463
+ overflow: 'auto',
464
+ padding: 16,
465
+ border: `1px solid ${theme.colors.border}`,
466
+ borderRadius: 8,
467
+ background: theme.colors.background,
468
+ boxShadow: '0 8px 24px rgba(0,0,0,0.28)',
469
+ fontSize: theme.fontSizes[0],
470
+ lineHeight: 1.5,
471
+ }, children: [_jsxs("div", { style: {
472
+ display: 'flex',
473
+ alignItems: 'center',
474
+ gap: 8,
475
+ marginBottom: 12,
476
+ }, children: [_jsx("h3", { style: {
477
+ margin: 0,
478
+ flex: 1,
479
+ minWidth: 0,
480
+ fontSize: theme.fontSizes[1],
481
+ fontWeight: 600,
482
+ fontFamily: theme.fonts.monospace,
483
+ letterSpacing: 0.4,
484
+ textTransform: 'uppercase',
485
+ color: theme.colors.textSecondary ?? muted,
486
+ }, children: "Overview" }), _jsx("button", { type: "button", "aria-label": "Close description", title: "Close", onClick: () => setDescriptionVisible(false), style: {
487
+ display: 'inline-flex',
488
+ alignItems: 'center',
489
+ justifyContent: 'center',
490
+ flexShrink: 0,
491
+ width: 22,
492
+ height: 22,
493
+ padding: 0,
494
+ border: 'none',
495
+ borderRadius: 4,
496
+ background: 'transparent',
497
+ color: muted,
498
+ cursor: 'pointer',
499
+ }, children: _jsx(X, { size: 14 }) })] }), _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "constructs-desc-overlay", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, enableKeyboardScrolling: false, autoFocusOnVisible: false })] })] })), searchActive && (_jsx("div", { style: { flexShrink: 0, padding: '12px 16px 0' }, children: _jsx("input", { type: "search", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search constructs\u2026", "aria-label": "Search constructs", "data-testid": "construct-search", style: {
451
500
  width: '100%',
452
501
  boxSizing: 'border-box',
453
502
  padding: '8px 10px',
@@ -480,12 +529,14 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
480
529
  }, children: group.label })] }), splitByFileRun(group.items).map((run) => {
481
530
  const lead = run[0];
482
531
  const hasFile = !!lead.file;
483
- // Every file-backed run gets the combined header, one
484
- // declaration or many, so the style stays consistent.
485
- const showHeader = hasFile;
532
+ const isExternal = lead.construct === 'external';
533
+ // File-backed runs and externals both get a header; externals
534
+ // name their kind instead of a path, so the body doesn't have
535
+ // to spell it out.
536
+ const showHeader = hasFile || isExternal;
486
537
  const runKey = `${group.key}:${lead.file || lead.alias}`;
487
538
  const runHasPurpose = run.some((c) => !!c.purpose?.trim());
488
- const purposeOpen = openPurposes.has(runKey);
539
+ const purposeOpen = purposeOverrides[runKey] ?? isExternal;
489
540
  const runFileOpen = drawer != null && hasFile && lead.file === drawer.file;
490
541
  return (_jsxs("div", { style: {
491
542
  display: 'flex',
@@ -511,7 +562,17 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
511
562
  : theme.colors.textSecondary ?? muted,
512
563
  fontFamily: theme.fonts.monospace,
513
564
  fontSize: theme.fontSizes[0],
514
- }, children: [_jsxs("button", { type: "button", title: fileViewer ? `Open ${lead.file}` : lead.file, onClick: fileViewer
565
+ }, children: [isExternal ? (_jsxs("span", { style: {
566
+ display: 'flex',
567
+ alignItems: 'center',
568
+ gap: 6,
569
+ flex: 1,
570
+ minWidth: 0,
571
+ }, children: [_jsx(Box, { size: 12, style: { flexShrink: 0 } }), _jsx("span", { style: {
572
+ overflow: 'hidden',
573
+ textOverflow: 'ellipsis',
574
+ whiteSpace: 'nowrap',
575
+ }, children: "external" })] })) : (_jsxs("button", { type: "button", title: fileViewer ? `Open ${lead.file}` : lead.file, onClick: fileViewer
515
576
  ? () => onOpenFile(lead.file)
516
577
  : undefined, style: {
517
578
  display: 'flex',
@@ -531,7 +592,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
531
592
  overflow: 'hidden',
532
593
  textOverflow: 'ellipsis',
533
594
  whiteSpace: 'nowrap',
534
- }, children: lead.file })] }), runHasPurpose && (_jsx("button", { type: "button", title: purposeOpen ? 'Hide description' : 'Show description', "aria-label": purposeOpen ? 'Hide description' : 'Show description', "aria-expanded": purposeOpen, onClick: () => togglePurpose(runKey), style: {
595
+ }, children: lead.file })] })), runHasPurpose && (_jsx("button", { type: "button", title: purposeOpen ? 'Hide description' : 'Show description', "aria-label": purposeOpen ? 'Hide description' : 'Show description', "aria-expanded": purposeOpen, onClick: () => setPurposeOpen(runKey, !purposeOpen), style: {
535
596
  display: 'inline-flex',
536
597
  alignItems: 'center',
537
598
  justifyContent: 'center',
@@ -558,6 +619,9 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
558
619
  // it drop their own badge; those with no known line just
559
620
  // render unnumbered. Without a header, keep the badge.
560
621
  const numbered = hasFile && c.declarationRef?.startLine != null;
622
+ // The header names the external kind, so the body just
623
+ // names the construct.
624
+ const isExt = c.construct === 'external';
561
625
  return (_jsx("div", { id: `construct-signature-${c.alias}`, style: {
562
626
  borderTop: i > 0
563
627
  ? `1px solid ${theme.colors.border}`
@@ -572,7 +636,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
572
636
  symbol,
573
637
  ref,
574
638
  })
575
- : undefined, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: showHeader ? false : !!fileViewer, hideActions: showHeader, showPurpose: showHeader ? purposeOpen : undefined, lineNumbers: numbered, verification: componentVerification && focusedAlias === c.alias
639
+ : undefined, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: showHeader ? false : !!fileViewer, hideActions: showHeader, externalName: isExt, showPurpose: showHeader ? purposeOpen : undefined, lineNumbers: numbered, verification: componentVerification && focusedAlias === c.alias
576
640
  ? componentVerification
577
641
  : undefined }) }, c.alias));
578
642
  })] }, runKey));
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructsCatalog.js","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConstructsCatalog.js","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,SAAS,EACT,GAAG,EACH,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,CAAC,GACF,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,UAAU,GAEX,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,yBAAyB,EAA4B,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AA4B3E,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,iBAAiB,CAAC,EACxD,MAAM,EACN,IAAI,EACJ,SAAS,GAKV;IACC,OAAO,4BAAG,MAAM,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAI,CAAC;AAC5E,CAAC,CAAC,CAAC;AAYH,4DAA4D;AAC5D,SAAS,aAAa,CAAC,UAAgC;IACrD,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;KACf,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE;QAC1B,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAS;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAC9C,CAAC;YACF,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,MAAM,QAAQ,GAAG,CAAC,CAAe,EAAE,EAAE;QACnC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CACrB,UAAgC,EAChC,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,KAAK,KAAK,KAAK;QACjB,CAAC,CAAC,IAAI,KAAK,KAAK;QAChB,CAAC,CAAC,MAAM,KAAK,KAAK;QAClB,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,KAAK,CAC3C,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,iCAAiC,CAAC,CAAA,8CAA8C;AAChG,SAAS,SAAS,CAAC,CAAqB;IACtC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;IACpB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,CAAqB;IACrC,IAAI,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC;QAAE,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAA2B;IACjD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,OAAO,GACX,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,IAAI,IAAI,OAAO,KAAK,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YACrC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,eAAe,GACQ;IACvB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;IACnC,MAAM,WAAW,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;IAE7D,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE;QACrC,OAAO,UAAU;aACd,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YAC7B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YAC7B,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACnE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,IAAI,GAAG,EAAE,CACV,CAAC;IACF,4EAA4E;IAC5E,0CAA0C;IAC1C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAEtD,EAAE,CAAC,CAAC;IACN,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAClC,IAAI,CACL,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAC5E,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAC9D,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAChC,CAAC;IAEF,6EAA6E;IAC7E,wDAAwD;IACxD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,YAAY;YAAE,OAAO,iBAAiB,CAAC;QAC5C,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,OAAO,iBAAiB,CAAC;QACjC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG;gBACf,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,OAAO;aACV;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC;iBACT,WAAW,EAAE,CAAC;YACjB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,CAAC,iBAAiB,CAAC,CACpB,CAAC;IAEF,oEAAoE;IACpE,iEAAiE;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,MAAM,GAKP,EAAE,CAAC;QACR,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE;YAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,EAAE,IAAI,IAAI,EAAE;gBACd,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;gBACnB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;aACzE;YACD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI;gBAAE,MAAM,CAAC,EAAE,CAAE,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YAC3D,MAAM,CAAC,EAAE,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC3B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,QAAQ;aACL,cAAc,CAAC,uBAAuB,IAAI,EAAE,CAAC;YAC9C,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,yEAAyE;IACzE,mCAAmC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,KAAK,GACT,iBAAiB,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,CAClF,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,QAAQ;aACL,cAAc,CAAC,uBAAuB,KAAK,CAAC,KAAK,EAAE,CAAC;YACrD,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC;IAEhC,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxE,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,WAAW,CACtB,CAAC,KAAa,EAAE,EAAE;QAChB,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,IAAY,EAAE,EAAE;QAChD,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;gBACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,GAAW,EAAE,IAAa,EAAE,EAAE;QAChE,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP;mFAC+E;IAC/E,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,KAA2B,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,KAAK,EAAE;YACT,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7B,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACzB;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAC9B,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAkB,EAAE,KAAa,EAAa,EAAE;QAC/C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC;gBAC1C,OAAO,CACL,cAAqB,IAAI,EAAC,cAAc,aACtC,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EACvC,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7C,YAAY,EAAE,GAAG,EAAE,CACjB,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAErD,KAAK,EAAE;gCACL,OAAO,EAAE,MAAM;gCACf,UAAU,EAAE,QAAQ;gCACpB,GAAG,EAAE,CAAC;gCACN,KAAK,EAAE,MAAM;gCACb,OAAO,EAAE,SAAS;gCAClB,WAAW,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE;gCAC3B,MAAM,EAAE,MAAM;gCACd,YAAY,EAAE,CAAC;gCACf,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;gCACzD,KAAK,EACH,OAAO;oCACL,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;oCACnB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;gCACzC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gCACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC5B,SAAS,EAAE,MAAM;gCACjB,MAAM,EAAE,SAAS;gCACjB,UAAU,EAAE,uBAAuB;6BACpC,aAEA,SAAS,CAAC,CAAC,CAAC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,IAAI,EAAE,EAAE,GAAI,EACnE,KAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,EACpB,eACE,KAAK,EAAE;wCACL,QAAQ,EAAE,CAAC;wCACX,QAAQ,EAAE,QAAQ;wCAClB,YAAY,EAAE,UAAU;wCACxB,UAAU,EAAE,QAAQ;qCACrB,YAEA,KAAK,CAAC,IAAI,GACN,IACA,EACR,CAAC,SAAS,IAAI,CACb,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YACpD,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,GAC1B,CACN,KA9CM,KAAK,CAAC,IAAI,CA+Cd,CACN,CAAC;aACH;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACzF,MAAM,OAAO,GAAG,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC;YAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC;YAChE,OAAO,CACL,aAAqB,IAAI,EAAC,cAAc,YACtC,kBACE,IAAI,EAAC,QAAQ,iBACA,YAAY,KAAK,CAAC,IAAI,EAAE,kBACvB,UAAU,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,EAC3C,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAC7C,YAAY,EAAE,GAAG,EAAE,CACjB,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAErD,KAAK,EAAE;wBACL,OAAO,EAAE,MAAM;wBACf,UAAU,EAAE,QAAQ;wBACpB,GAAG,EAAE,CAAC;wBACN,KAAK,EAAE,MAAM;wBACb,OAAO,EAAE,SAAS;wBAClB,WAAW,EAAE,CAAC,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE;wBAChC,MAAM,EAAE,MAAM;wBACd,YAAY,EAAE,CAAC;wBACf,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;wBACzD,KAAK,EACH,UAAU;4BACR,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,OAAO;gCACP,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;gCACnB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;wBAC3C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;wBACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC5B,SAAS,EAAE,MAAM;wBACjB,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,uBAAuB;qBACpC,aAED,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAI,EAChD,eACE,KAAK,EAAE;gCACL,IAAI,EAAE,CAAC;gCACP,QAAQ,EAAE,CAAC;gCACX,QAAQ,EAAE,QAAQ;gCAClB,YAAY,EAAE,UAAU;gCACxB,UAAU,EAAE,QAAQ;gCACpB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;6BACnC,YAEA,KAAK,CAAC,IAAI,GACN,EACP,eACE,KAAK,EAAE;gCACL,UAAU,EAAE,CAAC;gCACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;gCACnC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;6BAClC,YAEA,OAAO,CAAC,MAAM,GACV,IACA,IAvDF,KAAK,CAAC,IAAI,CAwDd,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EACD;QACE,gBAAgB;QAChB,UAAU;QACV,UAAU;QACV,YAAY;QACZ,UAAU;QACV,KAAK;QACL,KAAK;QACL,WAAW;KACZ,CACF,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,IAAY,EAAE,IAA+B,EAAE,EAAE;QAChD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC;QAClC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,GAAW,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,uEAAuE;QACvE,2DAA2D;QAC3D,IAAI,YAAY,EAAE;YAChB,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,QAAQ;iBACL,cAAc,CAAC,uBAAuB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpD,EAAE,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACzC,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EACD,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,CACjC,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,IAAI,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;QAC9C,IAAI,cAAc,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAU,CAAC,CAClE,CAAC;YACF,OAAO,CAAC,IAAY,EAAE,KAAgC,EAAE,EAAE;gBACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,mBAAmB,GAAG,WAAW,CACrC,CAAC,IAAY,EAAE,IAA+B,EAAE,EAAE,CAChD,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAC7C,EAAE,CACH,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE;YACjC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,UAAU,GACd,CAAC,WAAW;QACZ,CAAC,CAAC,CACA,KAAK;YACL,WAAW;YACX,UAAU;YACV,YAAY;YACZ,uBAAuB,CACxB,CAAC;IAEJ,OAAO,CACL,8BACc,oBAAoB,EAChC,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;SACpC,aAED,iBACE,KAAK,EAAE;oBACL,KAAK,EAAE,GAAG;oBACV,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,GAAG;oBACb,UAAU,EAAE,CAAC;oBACb,WAAW,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;oBAC/C,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU;oBACvE,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,QAAQ,EAAE,QAAQ;iBACnB,aAEA,UAAU,IAAI,CACb,eACE,KAAK,EAAE;4BACL,OAAO,EAAE,eAAe;4BACxB,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,GAAG,EAAE,EAAE;yBACR,aAEA,YAAY,EACZ,CAAC,KAAK,IAAI,WAAW,IAAI,UAAU,CAAC,IAAI,CACvC,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE,aAC9D,KAAK,IAAI,CACR,aACE,KAAK,EAAE;4CACL,MAAM,EAAE,CAAC;4CACT,IAAI,EAAE,CAAC;4CACP,QAAQ,EAAE,CAAC;4CACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4CAC5B,UAAU,EAAE,GAAG;4CACf,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;4CACxB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;yCAClC,YAEA,KAAK,GACH,CACN,EACD,eACE,KAAK,EAAE;4CACL,OAAO,EAAE,MAAM;4CACf,UAAU,EAAE,QAAQ;4CACpB,GAAG,EAAE,CAAC;4CACN,UAAU,EAAE,CAAC;4CACb,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;yCACvC,aAEA,UAAU,IAAI,KAAC,yBAAyB,OAAK,UAAU,GAAI,EAC3D,WAAW,IAAI,CACd,iBACE,IAAI,EAAC,QAAQ,mBACE,kBAAkB,gBAE/B,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,EAE9D,KAAK,EACH,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,EAE9D,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAC5C,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAC/C,KAAK,EAAE;oDACL,OAAO,EAAE,aAAa;oDACtB,UAAU,EAAE,QAAQ;oDACpB,cAAc,EAAE,QAAQ;oDACxB,UAAU,EAAE,CAAC;oDACb,KAAK,EAAE,EAAE;oDACT,MAAM,EAAE,EAAE;oDACV,OAAO,EAAE,CAAC;oDACV,MAAM,EAAE,MAAM;oDACd,YAAY,EAAE,CAAC;oDACf,UAAU,EAAE,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;oDACvF,KAAK,EAAE,kBAAkB,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;oDACxE,MAAM,EAAE,SAAS;iDAClB,YAED,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,GACf,CACV,IACG,IACF,CACP,EACA,uBAAuB,IACpB,CACP,EACA,QAAQ,CAAC,CAAC,CAAC,CACV,aACE,IAAI,EAAC,MAAM,gBACA,OAAO,EAClB,KAAK,EAAE;4BACL,SAAS,EAAE,MAAM;4BACjB,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,cAAc;4BACvB,SAAS,EAAE,MAAM;4BACjB,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,CAAC;yBACb,YAEA,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,GACrB,CACN,CAAC,CAAC,CAAC,CACF,YACE,KAAK,EAAE;4BACL,MAAM,EAAE,CAAC;4BACT,OAAO,EAAE,WAAW;4BACpB,KAAK,EAAE,KAAK;4BACZ,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;4BAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;yBAC7B,wCAGC,CACL,IACK,EACR,eACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,CAAC;oBACX,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;iBACxB,aAEA,WAAW,IAAI,kBAAkB,IAAI,CACpC,8BACE,cACE,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAC3C,KAAK,EAAE;oCACL,QAAQ,EAAE,UAAU;oCACpB,KAAK,EAAE,CAAC;oCACR,MAAM,EAAE,CAAC;oCACT,UAAU,EAAE,kBAAkB;iCAC/B,GACD,EACF,eACE,KAAK,EAAE;oCACL,QAAQ,EAAE,UAAU;oCACpB,GAAG,EAAE,KAAK;oCACV,IAAI,EAAE,KAAK;oCACX,SAAS,EAAE,uBAAuB;oCAClC,MAAM,EAAE,CAAC;oCACT,KAAK,EAAE,GAAG;oCACV,QAAQ,EAAE,mBAAmB;oCAC7B,SAAS,EAAE,KAAK;oCAChB,QAAQ,EAAE,MAAM;oCAChB,OAAO,EAAE,EAAE;oCACX,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;oCAC1C,YAAY,EAAE,CAAC;oCACf,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;oCACnC,SAAS,EAAE,6BAA6B;oCACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oCAC5B,UAAU,EAAE,GAAG;iCAChB,aAED,eACE,KAAK,EAAE;4CACL,OAAO,EAAE,MAAM;4CACf,UAAU,EAAE,QAAQ;4CACpB,GAAG,EAAE,CAAC;4CACN,YAAY,EAAE,EAAE;yCACjB,aAED,aACE,KAAK,EAAE;oDACL,MAAM,EAAE,CAAC;oDACT,IAAI,EAAE,CAAC;oDACP,QAAQ,EAAE,CAAC;oDACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oDAC5B,UAAU,EAAE,GAAG;oDACf,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oDACjC,aAAa,EAAE,GAAG;oDAClB,aAAa,EAAE,WAAW;oDAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;iDAC3C,yBAGE,EACL,iBACE,IAAI,EAAC,QAAQ,gBACF,mBAAmB,EAC9B,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAC3C,KAAK,EAAE;oDACL,OAAO,EAAE,aAAa;oDACtB,UAAU,EAAE,QAAQ;oDACpB,cAAc,EAAE,QAAQ;oDACxB,UAAU,EAAE,CAAC;oDACb,KAAK,EAAE,EAAE;oDACT,MAAM,EAAE,EAAE;oDACV,OAAO,EAAE,CAAC;oDACV,MAAM,EAAE,MAAM;oDACd,YAAY,EAAE,CAAC;oDACf,UAAU,EAAE,aAAa;oDACzB,KAAK,EAAE,KAAK;oDACZ,MAAM,EAAE,SAAS;iDAClB,YAED,KAAC,CAAC,IAAC,IAAI,EAAE,EAAE,GAAI,GACR,IACL,EACN,KAAC,qBAAqB,IACpB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAC,yBAAyB,EACvC,UAAU,EAAE,CAAC,EACb,SAAS,QACT,KAAK,EAAE,KAAK,EACZ,aAAa,QACb,kBAAkB,QAClB,uBAAuB,EAAE,KAAK,EAC9B,kBAAkB,EAAE,KAAK,GACzB,IACE,IACL,CACJ,EACA,YAAY,IAAI,CACf,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,YACnD,gBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAC,yBAAoB,gBACrB,mBAAmB,iBAClB,kBAAkB,EAC9B,KAAK,EAAE;gCACL,KAAK,EAAE,MAAM;gCACb,SAAS,EAAE,YAAY;gCACvB,OAAO,EAAE,UAAU;gCACnB,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;gCAC1C,YAAY,EAAE,CAAC;gCACf,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;gCACnC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gCACxB,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gCACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gCAC5B,OAAO,EAAE,MAAM;6BAChB,GACD,GACE,CACP,EACD,6BACc,qBAAqB,EACjC,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,CAAC;4BACZ,QAAQ,EAAE,MAAM;4BAChB,OAAO,EAAE,EAAE;4BACX,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,GAAG,EAAE,EAAE;yBACR,YAEA,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACxB,eAEE,KAAK,EAAE;gCACL,OAAO,EAAE,MAAM;gCACf,aAAa,EAAE,QAAQ;gCACvB,GAAG,EAAE,EAAE;gCACP,UAAU,EAAE,CAAC;6BACd,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAC1D,KAAK,CAAC,IAAI,IAAI,CACb,cACE,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,GAAG,EAAC,EAAE,EACN,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EACzC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gDACb,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;4CACzC,CAAC,GACD,CACH,EACD,eACE,KAAK,EAAE;gDACL,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;gDAC1C,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gDAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;6CAC7B,YAEA,KAAK,CAAC,KAAK,GACP,IACH,EACL,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oCACvC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;oCACrB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oCAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC;oCACjD,8DAA8D;oCAC9D,8DAA8D;oCAC9D,mBAAmB;oCACnB,MAAM,UAAU,GAAG,OAAO,IAAI,UAAU,CAAC;oCACzC,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oCACzD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oCAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC;oCAC3D,MAAM,WAAW,GACf,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;oCACzD,OAAO,CACL,eAEE,KAAK,EAAE;4CACL,OAAO,EAAE,MAAM;4CACf,aAAa,EAAE,QAAQ;4CACvB,MAAM,EAAE,aAAa,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;4CACtE,YAAY,EAAE,CAAC;4CACf,QAAQ,EAAE,QAAQ;4CAClB,UAAU,EAAE,CAAC;yCACd,aAEA,UAAU,IAAI,CACb,eACE,KAAK,EAAE;oDACL,OAAO,EAAE,MAAM;oDACf,UAAU,EAAE,QAAQ;oDACpB,GAAG,EAAE,CAAC;oDACN,KAAK,EAAE,MAAM;oDACb,SAAS,EAAE,YAAY;oDACvB,OAAO,EAAE,UAAU;oDACnB,YAAY,EAAE,aACZ,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAC3C,EAAE;oDACF,UAAU,EAAE,WAAW;wDACrB,CAAC,CAAC,GAAG,WAAW,IAAI;wDACpB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB;4DAChC,KAAK,CAAC,MAAM,CAAC,UAAU;oDAC3B,KAAK,EAAE,WAAW;wDAChB,CAAC,CAAC,WAAW;wDACb,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;oDACvC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oDACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;iDAC7B,aAEA,UAAU,CAAC,CAAC,CAAC,CACZ,gBACE,KAAK,EAAE;4DACL,OAAO,EAAE,MAAM;4DACf,UAAU,EAAE,QAAQ;4DACpB,GAAG,EAAE,CAAC;4DACN,IAAI,EAAE,CAAC;4DACP,QAAQ,EAAE,CAAC;yDACZ,aAED,KAAC,GAAG,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAI,EAC3C,eACE,KAAK,EAAE;oEACL,QAAQ,EAAE,QAAQ;oEAClB,YAAY,EAAE,UAAU;oEACxB,UAAU,EAAE,QAAQ;iEACrB,yBAGI,IACF,CACR,CAAC,CAAC,CAAC,CACF,kBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EACnD,OAAO,EACL,UAAU;4DACR,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;4DAC7B,CAAC,CAAC,SAAS,EAEf,KAAK,EAAE;4DACL,OAAO,EAAE,MAAM;4DACf,UAAU,EAAE,QAAQ;4DACpB,GAAG,EAAE,CAAC;4DACN,IAAI,EAAE,CAAC;4DACP,QAAQ,EAAE,CAAC;4DACX,OAAO,EAAE,CAAC;4DACV,MAAM,EAAE,MAAM;4DACd,UAAU,EAAE,aAAa;4DACzB,KAAK,EAAE,SAAS;4DAChB,UAAU,EAAE,SAAS;4DACrB,QAAQ,EAAE,SAAS;4DACnB,SAAS,EAAE,MAAM;4DACjB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;yDAC3C,aAED,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,GAAI,EAChD,eACE,KAAK,EAAE;oEACL,QAAQ,EAAE,QAAQ;oEAClB,YAAY,EAAE,UAAU;oEACxB,UAAU,EAAE,QAAQ;iEACrB,YAEA,IAAI,CAAC,IAAI,GACL,IACA,CACV,EACA,aAAa,IAAI,CAChB,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EACH,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,gBAGrD,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,mBAExC,WAAW,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EACnD,KAAK,EAAE;4DACL,OAAO,EAAE,aAAa;4DACtB,UAAU,EAAE,QAAQ;4DACpB,cAAc,EAAE,QAAQ;4DACxB,UAAU,EAAE,CAAC;4DACb,KAAK,EAAE,EAAE;4DACT,MAAM,EAAE,EAAE;4DACV,OAAO,EAAE,CAAC;4DACV,MAAM,EAAE,MAAM;4DACd,YAAY,EAAE,CAAC;4DACf,UAAU,EAAE,aAAa;4DACzB,KAAK,EAAE,WAAW;gEAChB,CAAC,CAAC,WAAW;gEACb,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK;4DACvC,MAAM,EAAE,SAAS;yDAClB,YAED,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,CACV,IACG,CACP,EACA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gDAChB,sDAAsD;gDACtD,wDAAwD;gDACxD,mDAAmD;gDACnD,MAAM,QAAQ,GACZ,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;gDACvD,MAAM,QAAQ,GACZ,QAAQ;oDACR,MAAM,CAAC,SAAS,IAAI,IAAI;oDACxB,CAAC,CAAC,cAAc,EAAE,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;gDACnD,yDAAyD;gDACzD,yDAAyD;gDACzD,uDAAuD;gDACvD,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,IAAI,IAAI,CAAC;gDACjD,uDAAuD;gDACvD,uBAAuB;gDACvB,MAAM,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC;gDACzC,OAAO,CACL,cAEE,EAAE,EAAE,uBAAuB,CAAC,CAAC,KAAK,EAAE,EACpC,KAAK,EAAE;wDACL,SAAS,EACP,CAAC,GAAG,CAAC;4DACH,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;4DACpC,CAAC,CAAC,SAAS;wDACf,SAAS,EAAE,QAAQ;4DACjB,CAAC,CAAC,mBAAmB,WAAW,EAAE;4DAClC,CAAC,CAAC,SAAS;qDACd,YAED,KAAC,oBAAoB,IACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAC/C,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAClD,eAAe,EAAE,eAAe,EAChC,eAAe,EACb,eAAe;4DACb,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACd,eAAe,CAAC;gEACd,IAAI,EAAE,CAAC,CAAC,IAAI;gEACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gEACZ,MAAM;gEACN,GAAG;6DACJ,CAAC;4DACN,CAAC,CAAC,SAAS,EAEf,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,QAAQ,EACzB,gBAAgB,EAAE,KAAK,EACvB,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAClD,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,KAAK,EACnB,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACjD,WAAW,EAAE,QAAQ,EACrB,YAAY,EACV,qBAAqB,IAAI,YAAY,KAAK,CAAC,CAAC,KAAK;4DAC/C,CAAC,CAAC,qBAAqB;4DACvB,CAAC,CAAC,SAAS,GAEf,IAzCG,CAAC,CAAC,KAAK,CA0CR,CACP,CAAC;4CACJ,CAAC,CAAC,KA5LG,MAAM,CA6LP,CACP,CAAC;gCACJ,CAAC,CAAC,KA7OG,KAAK,CAAC,GAAG,CA8OV,CACP,CAAC,CACH,CAAC,CAAC,CAAC,CACF,YACE,KAAK,EAAE;gCACL,MAAM,EAAE,CAAC;gCACT,KAAK,EAAE,KAAK;gCACZ,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;gCAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;6BAC7B,YAEA,WAAW,CAAC,IAAI,EAAE;gCACjB,CAAC,CAAC,wBAAwB,WAAW,CAAC,IAAI,EAAE,IAAI;gCAChD,CAAC,CAAC,8BAA8B,GAChC,CACL,GACG,EACN,KAAC,UAAU,IACT,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,IAAI,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAC9B,UAAU,EAAE,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,YAErD,MAAM,CAAC,CAAC,CAAC,CACR,KAAC,iBAAiB,IAChB,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,SAAS,EAAE,MAAM,CAAC,SAAS,GAC3B,CACH,CAAC,CAAC,CAAC,IAAI,GACG,IACT,IACF,CACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/subsystems-react",
3
- "version": "0.37.1",
3
+ "version": "0.37.2",
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",
@@ -207,6 +207,20 @@ const components: SubsystemComponent[] = [
207
207
  callees: [],
208
208
  } satisfies GraphifyComponentDetail,
209
209
  },
210
+ {
211
+ alias: 'stripe',
212
+ name: 'stripe',
213
+ construct: 'external',
214
+ role: 'service',
215
+ symbol: '',
216
+ purl: 'pkg:npm/stripe',
217
+ file: '',
218
+ purpose: 'Third-party payments SDK the intake service calls out to.',
219
+ declaration: {
220
+ kind: 'external',
221
+ label: 'pkg:npm/stripe',
222
+ } satisfies GraphifyComponentDetail,
223
+ },
210
224
  ];
211
225
 
212
226
  /** Constructs with no `file` — the Files tab should not appear. */
@@ -402,7 +416,7 @@ function CatalogDemo({
402
416
  <ConstructsCatalog
403
417
  components={comps}
404
418
  title="Notes intake — constructs"
405
- description="Nothing is selected, so every construct is listed and searchable; pick a file on the left to narrow. Every file stacks under one combined header (path + a description toggle for the whole stack), each declaration labeling the line that holds the construct in a file-like gutter. Click the header or a line to open the file."
419
+ description="Nothing is selected, so every construct is listed and searchable; pick a file on the left to narrow. Every file stacks under one combined header (path + a description toggle for the whole stack), each declaration labeling the line that holds the construct in a file-like gutter; external constructs get a header naming their kind with the body naming the construct. Click the header or a line to open the file."
406
420
  hideSidebar={hideSidebar}
407
421
  onSelect={(id) => setSelected(id)}
408
422
  renderFileViewer={renderFileViewer}
@@ -182,6 +182,9 @@ export interface ComponentDeclarationProps {
182
182
  * label, description toggle). For hosts that surface those in a shared
183
183
  * header instead. */
184
184
  hideActions?: boolean;
185
+ /** For `external` constructs, render the construct name as the body instead
186
+ * of `external '…'` — the kind is named by the caller's header. */
187
+ externalName?: boolean;
185
188
  /** Controlled purpose/description visibility. When provided it overrides the
186
189
  * internal toggle, so a host can drive it from a shared header. */
187
190
  showPurpose?: boolean;
@@ -335,6 +338,7 @@ export function ComponentDeclaration({
335
338
  showRepoIdentity = true,
336
339
  fileBadgeChrome = false,
337
340
  hideActions = false,
341
+ externalName = false,
338
342
  showPurpose: showPurposeProp,
339
343
  lineNumbers = false,
340
344
  }: ComponentDeclarationProps) {
@@ -419,6 +423,13 @@ export function ComponentDeclaration({
419
423
  parseSourceLocation(verification?.anchor?.source_location) ??
420
424
  undefined;
421
425
 
426
+ const externalKind =
427
+ (component.declaration?.kind ?? component.construct) === 'external';
428
+ const externalNameText =
429
+ component.name?.trim() ||
430
+ (component.declaration?.kind === 'external' ? component.declaration.label : '') ||
431
+ component.alias;
432
+
422
433
  const openDeclarationFile = () => {
423
434
  if (!onOpenFile || !component.file) return;
424
435
  onOpenFile(
@@ -996,7 +1007,26 @@ export function ComponentDeclaration({
996
1007
  if (labelDi === -1) {
997
1008
  labelDi = declLines.findIndex((l) => l.length > 0);
998
1009
  }
1010
+ const externalNameLine = externalName && externalKind;
1011
+ if (externalNameLine) {
1012
+ // The caller's header names the kind, so the body just names the construct.
1013
+ lines.push(
1014
+ <div
1015
+ key="external-name"
1016
+ style={{
1017
+ display: 'block',
1018
+ whiteSpace: 'pre-wrap',
1019
+ overflowWrap: 'anywhere',
1020
+ minWidth: 0,
1021
+ minHeight: 18,
1022
+ }}
1023
+ >
1024
+ <span style={{ color }}>{externalNameText}</span>
1025
+ </div>,
1026
+ );
1027
+ }
999
1028
  for (let li = 0; li < declLines.length; li++) {
1029
+ if (externalNameLine) break;
1000
1030
  if (declLines[li].length === 0) continue;
1001
1031
  if (lineNumbers && declarationStartLine != null) {
1002
1032
  // Only the construct's own line is known; the rest of the gutter stays
@@ -6,15 +6,26 @@
6
6
  * constructs. Right: signatures grouped by repo, and within a repo stacked
7
7
  * per file under one combined file header carrying the path and a
8
8
  * description toggle; a declaration with a known line labels just that
9
- * construct's line in a file-like gutter. File opens still use the bottom
10
- * FileDrawer when the host injects a viewer.
9
+ * construct's line in a file-like gutter, and `external` constructs get a
10
+ * header naming their kind with the body naming the construct. The model
11
+ * description's toggle sits in the left chrome and opens the markdown as an
12
+ * overlay over the construct area. File opens still use the bottom FileDrawer
13
+ * when the host injects a viewer.
11
14
  */
12
15
 
13
16
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
14
17
  import type { ReactNode } from 'react';
15
18
  import { useTheme } from '@principal-ade/industry-theme';
16
19
  import { IndustryMarkdownSlide } from 'themed-markdown';
17
- import { AlignLeft, ChevronDown, ChevronRight, FileText, Folder } from 'lucide-react';
20
+ import {
21
+ AlignLeft,
22
+ Box,
23
+ ChevronDown,
24
+ ChevronRight,
25
+ FileText,
26
+ Folder,
27
+ X,
28
+ } from 'lucide-react';
18
29
  import {
19
30
  formatPurl,
20
31
  type SubsystemComponent,
@@ -33,6 +44,10 @@ export interface ConstructsCatalogProps {
33
44
  onSelect?: (componentAlias: string) => void;
34
45
  title?: string;
35
46
  hideSidebar?: boolean;
47
+ /**
48
+ * Model description. Its toggle lives in the left chrome; opening it shows
49
+ * the markdown as an overlay over the construct area.
50
+ */
36
51
  description?: string;
37
52
  diagnostic?: SubsystemDiagnostic;
38
53
  sidebarExtra?: ReactNode;
@@ -204,8 +219,11 @@ export function ConstructsCatalog({
204
219
  const [collapsedFolders, setCollapsedFolders] = useState<Set<string>>(
205
220
  new Set(),
206
221
  );
207
- // Files whose shared-header description toggle is expanded (keyed by file run).
208
- const [openPurposes, setOpenPurposes] = useState<Set<string>>(new Set());
222
+ // Explicit description toggles per file run. Unset falls back to the kind's
223
+ // default (externals open, files closed).
224
+ const [purposeOverrides, setPurposeOverrides] = useState<
225
+ Record<string, boolean>
226
+ >({});
209
227
  const [drawer, setDrawer] = useState<{ file: string; startLine?: number } | null>(
210
228
  null,
211
229
  );
@@ -317,13 +335,8 @@ export function ConstructsCatalog({
317
335
  });
318
336
  }, []);
319
337
 
320
- const togglePurpose = useCallback((key: string) => {
321
- setOpenPurposes((prev) => {
322
- const next = new Set(prev);
323
- if (next.has(key)) next.delete(key);
324
- else next.add(key);
325
- return next;
326
- });
338
+ const setPurposeOpen = useCallback((key: string, open: boolean) => {
339
+ setPurposeOverrides((prev) => ({ ...prev, [key]: open }));
327
340
  }, []);
328
341
 
329
342
  /** File-tree click: show every construct declared in the file, or hide them
@@ -542,8 +555,13 @@ export function ConstructsCatalog({
542
555
 
543
556
  const showChrome =
544
557
  !hideSidebar &&
545
- !!(title || description || diagnostic || sidebarExtra || sidebarAfterDescription);
546
- const showDesc = !!description && descriptionVisible;
558
+ !!(
559
+ title ||
560
+ description ||
561
+ diagnostic ||
562
+ sidebarExtra ||
563
+ sidebarAfterDescription
564
+ );
547
565
 
548
566
  return (
549
567
  <div
@@ -573,7 +591,6 @@ export function ConstructsCatalog({
573
591
  {showChrome && (
574
592
  <div
575
593
  style={{
576
- flex: showDesc ? '0 0 auto' : undefined,
577
594
  padding: '16px 16px 8px',
578
595
  display: 'flex',
579
596
  flexDirection: 'column',
@@ -642,21 +659,6 @@ export function ConstructsCatalog({
642
659
  </div>
643
660
  </div>
644
661
  )}
645
- {showDesc && (
646
- <div style={{ fontSize: theme.fontSizes[0], lineHeight: 1.5 }}>
647
- <IndustryMarkdownSlide
648
- content={description!}
649
- slideIdPrefix="constructs-desc"
650
- slideIndex={0}
651
- isVisible={true}
652
- theme={theme}
653
- disableScroll={true}
654
- disableBasePadding
655
- enableKeyboardScrolling={false}
656
- autoFocusOnVisible={false}
657
- />
658
- </div>
659
- )}
660
662
  {sidebarAfterDescription}
661
663
  </div>
662
664
  )}
@@ -699,6 +701,97 @@ export function ConstructsCatalog({
699
701
  flexDirection: 'column',
700
702
  }}
701
703
  >
704
+ {description && descriptionVisible && (
705
+ <>
706
+ <div
707
+ onClick={() => setDescriptionVisible(false)}
708
+ style={{
709
+ position: 'absolute',
710
+ inset: 0,
711
+ zIndex: 2,
712
+ background: 'rgba(0,0,0,0.45)',
713
+ }}
714
+ />
715
+ <div
716
+ style={{
717
+ position: 'absolute',
718
+ top: '50%',
719
+ left: '50%',
720
+ transform: 'translate(-50%, -50%)',
721
+ zIndex: 3,
722
+ width: 360,
723
+ maxWidth: 'calc(100% - 16px)',
724
+ maxHeight: '70%',
725
+ overflow: 'auto',
726
+ padding: 16,
727
+ border: `1px solid ${theme.colors.border}`,
728
+ borderRadius: 8,
729
+ background: theme.colors.background,
730
+ boxShadow: '0 8px 24px rgba(0,0,0,0.28)',
731
+ fontSize: theme.fontSizes[0],
732
+ lineHeight: 1.5,
733
+ }}
734
+ >
735
+ <div
736
+ style={{
737
+ display: 'flex',
738
+ alignItems: 'center',
739
+ gap: 8,
740
+ marginBottom: 12,
741
+ }}
742
+ >
743
+ <h3
744
+ style={{
745
+ margin: 0,
746
+ flex: 1,
747
+ minWidth: 0,
748
+ fontSize: theme.fontSizes[1],
749
+ fontWeight: 600,
750
+ fontFamily: theme.fonts.monospace,
751
+ letterSpacing: 0.4,
752
+ textTransform: 'uppercase',
753
+ color: theme.colors.textSecondary ?? muted,
754
+ }}
755
+ >
756
+ Overview
757
+ </h3>
758
+ <button
759
+ type="button"
760
+ aria-label="Close description"
761
+ title="Close"
762
+ onClick={() => setDescriptionVisible(false)}
763
+ style={{
764
+ display: 'inline-flex',
765
+ alignItems: 'center',
766
+ justifyContent: 'center',
767
+ flexShrink: 0,
768
+ width: 22,
769
+ height: 22,
770
+ padding: 0,
771
+ border: 'none',
772
+ borderRadius: 4,
773
+ background: 'transparent',
774
+ color: muted,
775
+ cursor: 'pointer',
776
+ }}
777
+ >
778
+ <X size={14} />
779
+ </button>
780
+ </div>
781
+ <IndustryMarkdownSlide
782
+ content={description}
783
+ slideIdPrefix="constructs-desc-overlay"
784
+ slideIndex={0}
785
+ isVisible
786
+ theme={theme}
787
+ disableScroll
788
+ disableBasePadding
789
+ enableKeyboardScrolling={false}
790
+ autoFocusOnVisible={false}
791
+ />
792
+ </div>
793
+ </>
794
+ )}
702
795
  {searchActive && (
703
796
  <div style={{ flexShrink: 0, padding: '12px 16px 0' }}>
704
797
  <input
@@ -772,12 +865,14 @@ export function ConstructsCatalog({
772
865
  {splitByFileRun(group.items).map((run) => {
773
866
  const lead = run[0]!;
774
867
  const hasFile = !!lead.file;
775
- // Every file-backed run gets the combined header, one
776
- // declaration or many, so the style stays consistent.
777
- const showHeader = hasFile;
868
+ const isExternal = lead.construct === 'external';
869
+ // File-backed runs and externals both get a header; externals
870
+ // name their kind instead of a path, so the body doesn't have
871
+ // to spell it out.
872
+ const showHeader = hasFile || isExternal;
778
873
  const runKey = `${group.key}:${lead.file || lead.alias}`;
779
874
  const runHasPurpose = run.some((c) => !!c.purpose?.trim());
780
- const purposeOpen = openPurposes.has(runKey);
875
+ const purposeOpen = purposeOverrides[runKey] ?? isExternal;
781
876
  const runFileOpen =
782
877
  drawer != null && hasFile && lead.file === drawer.file;
783
878
  return (
@@ -815,41 +910,64 @@ export function ConstructsCatalog({
815
910
  fontSize: theme.fontSizes[0],
816
911
  }}
817
912
  >
818
- <button
819
- type="button"
820
- title={fileViewer ? `Open ${lead.file}` : lead.file}
821
- onClick={
822
- fileViewer
823
- ? () => onOpenFile(lead.file)
824
- : undefined
825
- }
826
- style={{
827
- display: 'flex',
828
- alignItems: 'center',
829
- gap: 6,
830
- flex: 1,
831
- minWidth: 0,
832
- padding: 0,
833
- border: 'none',
834
- background: 'transparent',
835
- color: 'inherit',
836
- fontFamily: 'inherit',
837
- fontSize: 'inherit',
838
- textAlign: 'left',
839
- cursor: fileViewer ? 'pointer' : 'default',
840
- }}
841
- >
842
- <FileText size={12} style={{ flexShrink: 0 }} />
913
+ {isExternal ? (
843
914
  <span
844
915
  style={{
845
- overflow: 'hidden',
846
- textOverflow: 'ellipsis',
847
- whiteSpace: 'nowrap',
916
+ display: 'flex',
917
+ alignItems: 'center',
918
+ gap: 6,
919
+ flex: 1,
920
+ minWidth: 0,
848
921
  }}
849
922
  >
850
- {lead.file}
923
+ <Box size={12} style={{ flexShrink: 0 }} />
924
+ <span
925
+ style={{
926
+ overflow: 'hidden',
927
+ textOverflow: 'ellipsis',
928
+ whiteSpace: 'nowrap',
929
+ }}
930
+ >
931
+ external
932
+ </span>
851
933
  </span>
852
- </button>
934
+ ) : (
935
+ <button
936
+ type="button"
937
+ title={fileViewer ? `Open ${lead.file}` : lead.file}
938
+ onClick={
939
+ fileViewer
940
+ ? () => onOpenFile(lead.file)
941
+ : undefined
942
+ }
943
+ style={{
944
+ display: 'flex',
945
+ alignItems: 'center',
946
+ gap: 6,
947
+ flex: 1,
948
+ minWidth: 0,
949
+ padding: 0,
950
+ border: 'none',
951
+ background: 'transparent',
952
+ color: 'inherit',
953
+ fontFamily: 'inherit',
954
+ fontSize: 'inherit',
955
+ textAlign: 'left',
956
+ cursor: fileViewer ? 'pointer' : 'default',
957
+ }}
958
+ >
959
+ <FileText size={12} style={{ flexShrink: 0 }} />
960
+ <span
961
+ style={{
962
+ overflow: 'hidden',
963
+ textOverflow: 'ellipsis',
964
+ whiteSpace: 'nowrap',
965
+ }}
966
+ >
967
+ {lead.file}
968
+ </span>
969
+ </button>
970
+ )}
853
971
  {runHasPurpose && (
854
972
  <button
855
973
  type="button"
@@ -860,7 +978,7 @@ export function ConstructsCatalog({
860
978
  purposeOpen ? 'Hide description' : 'Show description'
861
979
  }
862
980
  aria-expanded={purposeOpen}
863
- onClick={() => togglePurpose(runKey)}
981
+ onClick={() => setPurposeOpen(runKey, !purposeOpen)}
864
982
  style={{
865
983
  display: 'inline-flex',
866
984
  alignItems: 'center',
@@ -898,6 +1016,9 @@ export function ConstructsCatalog({
898
1016
  // render unnumbered. Without a header, keep the badge.
899
1017
  const numbered =
900
1018
  hasFile && c.declarationRef?.startLine != null;
1019
+ // The header names the external kind, so the body just
1020
+ // names the construct.
1021
+ const isExt = c.construct === 'external';
901
1022
  return (
902
1023
  <div
903
1024
  key={c.alias}
@@ -933,6 +1054,7 @@ export function ConstructsCatalog({
933
1054
  showRepoIdentity={false}
934
1055
  fileBadgeChrome={showHeader ? false : !!fileViewer}
935
1056
  hideActions={showHeader}
1057
+ externalName={isExt}
936
1058
  showPurpose={showHeader ? purposeOpen : undefined}
937
1059
  lineNumbers={numbered}
938
1060
  verification={