@elevasis/ui 2.81.0 → 2.82.0

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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/app/index.d.ts +31 -1
  4. package/dist/app/index.js +9 -7
  5. package/dist/auth/index.js +1 -1
  6. package/dist/charts/index.js +1 -1
  7. package/dist/{chunk-QEQXPWOK.js → chunk-2S5477QR.js} +6 -6
  8. package/dist/{chunk-SWC54W3A.js → chunk-3OQVXI4C.js} +1 -1
  9. package/dist/{chunk-SHJYK2X4.js → chunk-3PQMF4RP.js} +1 -1
  10. package/dist/{chunk-75OLN23F.js → chunk-3RYXJS2F.js} +1 -1
  11. package/dist/{chunk-5GYJ3IDO.js → chunk-4C4IFMRP.js} +2 -2
  12. package/dist/{chunk-JLKZUO2I.js → chunk-4TEVJRKQ.js} +1 -1
  13. package/dist/{chunk-BLYK6I4D.js → chunk-5WNRTDEZ.js} +1 -1
  14. package/dist/{chunk-XUL4UBYJ.js → chunk-6NIGO2LD.js} +2 -2
  15. package/dist/{chunk-6YWBMLEM.js → chunk-AA257QZO.js} +6 -6
  16. package/dist/{chunk-3ZADOARU.js → chunk-ELQLU323.js} +3 -3
  17. package/dist/{chunk-52AZTFUR.js → chunk-ER2HBKS7.js} +3 -3
  18. package/dist/{chunk-LTKBVL7D.js → chunk-GH3UY2FM.js} +3 -3
  19. package/dist/{chunk-AKANHRQ5.js → chunk-GKTQEVSO.js} +3 -4
  20. package/dist/{chunk-HDLYC63N.js → chunk-HOX4CMYY.js} +1 -1
  21. package/dist/{chunk-7D4FKBB4.js → chunk-I2JOA54D.js} +1 -1
  22. package/dist/{chunk-K635QVGI.js → chunk-KQTI4RZN.js} +4 -4
  23. package/dist/{chunk-PSGSFPWA.js → chunk-M5CRPFJA.js} +36 -26
  24. package/dist/{chunk-6J3SCCZ2.js → chunk-NQSZ4UGG.js} +1 -1
  25. package/dist/{chunk-O4XUKLRY.js → chunk-OWAEBFWH.js} +1 -1
  26. package/dist/{chunk-TLMNBOAG.js → chunk-PTB575MP.js} +3 -3
  27. package/dist/{chunk-LGJASP5H.js → chunk-PV64XFZY.js} +1 -1
  28. package/dist/{chunk-KU7KN5VN.js → chunk-RKTFFLVV.js} +1 -1
  29. package/dist/{chunk-ILOKKA6L.js → chunk-TAGPVICO.js} +5 -5
  30. package/dist/{chunk-42C2WVYU.js → chunk-TCVMLAMC.js} +1 -1
  31. package/dist/{chunk-FPRDEKFY.js → chunk-VTUVB3J3.js} +1 -1
  32. package/dist/{chunk-SOBKRB4N.js → chunk-XHJBDW2S.js} +1 -1
  33. package/dist/{chunk-AI5OYVLR.js → chunk-ZG3DARVR.js} +1 -1
  34. package/dist/{chunk-QFKOHZM3.js → chunk-ZYIGD2QY.js} +1 -1
  35. package/dist/components/index.js +31 -31
  36. package/dist/components/navigation/index.js +2 -2
  37. package/dist/features/auth/index.js +3 -3
  38. package/dist/features/clients/index.js +3 -3
  39. package/dist/features/content/index.js +3 -3
  40. package/dist/features/crm/index.js +6 -6
  41. package/dist/features/dashboard/index.js +3 -3
  42. package/dist/features/delivery/index.js +11 -11
  43. package/dist/features/knowledge/index.js +1 -1
  44. package/dist/features/lead-gen/index.js +7 -7
  45. package/dist/features/monitoring/index.js +5 -5
  46. package/dist/features/monitoring/requests/index.js +3 -3
  47. package/dist/features/operations/index.js +7 -7
  48. package/dist/features/seo/index.js +4 -4
  49. package/dist/features/settings/index.js +4 -4
  50. package/dist/hooks/access/index.js +1 -1
  51. package/dist/hooks/published.d.ts +2 -2
  52. package/dist/hooks/published.js +9 -9
  53. package/dist/knowledge/index.d.ts +31 -15
  54. package/dist/knowledge/index.js +17 -7182
  55. package/dist/layout/index.js +5 -5
  56. package/dist/provider/index.d.ts +39 -2
  57. package/dist/provider/index.js +1 -1
  58. package/dist/provider/published.d.ts +31 -1
  59. package/dist/provider/published.js +1 -1
  60. package/dist/vite/index.js +2 -2
  61. package/dist/vite-plugin-knowledge/index.js +1 -1
  62. package/package.json +5 -5
  63. package/src/knowledge/README.md +32 -32
  64. package/dist/knowledge-search-index-UPKXCXQP.js +0 -1539
@@ -1,9 +1,9 @@
1
- export { AppPageLayout, AppShellContainer, AppShellContentContainer, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, Sidebar, SidebarContext, SidebarProvider, SubshellNavList, Topbar, TopbarActions, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-KU7KN5VN.js';
2
- export { SubshellLoader } from '../chunk-JLKZUO2I.js';
3
- export { AppShellCenteredContainer, AppShellError, AppShellLoader } from '../chunk-LGJASP5H.js';
4
- export { SubshellPageLayout } from '../chunk-SOBKRB4N.js';
1
+ export { AppPageLayout, AppShellContainer, AppShellContentContainer, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, Sidebar, SidebarContext, SidebarProvider, SubshellNavList, Topbar, TopbarActions, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-RKTFFLVV.js';
2
+ export { SubshellLoader } from '../chunk-4TEVJRKQ.js';
3
+ export { AppShellCenteredContainer, AppShellError, AppShellLoader } from '../chunk-PV64XFZY.js';
4
+ export { SubshellPageLayout } from '../chunk-XHJBDW2S.js';
5
5
  export { PageContainer } from '../chunk-BZZCNLT6.js';
6
- export { SubshellContainer, SubshellContentContainer, SubshellNavItem, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SubshellSidebarSection, sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from '../chunk-PSGSFPWA.js';
6
+ export { SubshellContainer, SubshellContentContainer, SubshellNavItem, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SubshellSidebarSection, sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from '../chunk-M5CRPFJA.js';
7
7
  import '../chunk-4WLAVUPS.js';
8
8
  export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground } from '../chunk-RXZ3XDBM.js';
9
9
  import '../chunk-7RS2NUC6.js';
@@ -5567,6 +5567,27 @@ interface SSEConnectionManagerLike {
5567
5567
 
5568
5568
  type TablerIconComponent = typeof IconBrain;
5569
5569
 
5570
+ /**
5571
+ * Props every compiled knowledge-node body component accepts. Matches the
5572
+ * shape emitted by `generateKnowledgeBodies()` (`packages/sdk/src/node/knowledge-bodies-codegen.ts`)
5573
+ * for each `_generated/knowledge-bodies.tsx` this project produces.
5574
+ */
5575
+ interface KnowledgeBodyProps {
5576
+ /** MDX component allowlist merged from the nearest `KnowledgeMDXProvider`. */
5577
+ components?: Record<string, ComponentType>;
5578
+ }
5579
+ /**
5580
+ * Map of knowledge node id -> compiled MDX body component.
5581
+ *
5582
+ * Each consumer generates its own corpus at build time (via `knowledgePlugin()`)
5583
+ * and supplies it as the required `knowledgeBodies` prop on `ElevasisSystemsProvider`
5584
+ * / `ElevasisAuthenticatedShell`, instead of `@repo/ui` compiling a fixed corpus
5585
+ * into its published bundle. See `knowledge-corpus-injection.mdx` for the full
5586
+ * rationale -- this type is the generated file's own shape, named so consumers
5587
+ * and tests can reference it without importing from `_generated/`.
5588
+ */
5589
+ type KnowledgeBodiesMap = Record<string, ComponentType<KnowledgeBodyProps>>;
5590
+
5570
5591
  type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
5571
5592
  knowledge?: OrganizationModel['knowledge'];
5572
5593
  };
@@ -5695,6 +5716,13 @@ interface ElevasisSystemsProviderProps {
5695
5716
  /** Registered topbar action modules. OM node presence controls visibility; module supplies behavior. */
5696
5717
  topbarActions?: TopbarActionModule[];
5697
5718
  organizationModel?: ElevasisOrganizationModel;
5719
+ /**
5720
+ * Compiled knowledge-node body components for this consumer's own corpus.
5721
+ * Required, not defaulted: a missing corpus must fail to compile at the
5722
+ * provider mount rather than render a blank panel at runtime. See
5723
+ * `knowledge-corpus-injection.mdx`.
5724
+ */
5725
+ knowledgeBodies: KnowledgeBodiesMap;
5698
5726
  timeRange?: TimeRange;
5699
5727
  operationsApiUrl?: string;
5700
5728
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -5713,6 +5741,8 @@ interface ElevasisSystemsContextValue {
5713
5741
  resolvedSystems: ResolvedSystemModule[];
5714
5742
  organizationGraph: OrganizationGraphContextValue;
5715
5743
  organizationModel?: OrganizationModel;
5744
+ /** Compiled knowledge-node body components for this consumer's own corpus. See `ElevasisSystemsProviderProps.knowledgeBodies`. */
5745
+ knowledgeBodies: KnowledgeBodiesMap;
5716
5746
  timeRange?: TimeRange;
5717
5747
  operationsApiUrl?: string;
5718
5748
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -5725,7 +5755,7 @@ interface ElevasisSystemsContextValue {
5725
5755
 
5726
5756
  declare function useElevasisSystems(): ElevasisSystemsContextValue;
5727
5757
  declare function useOptionalElevasisSystems(): ElevasisSystemsContextValue | null;
5728
- declare function ElevasisSystemsProvider({ systems, topbarActions, organizationModel, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, children }: ElevasisSystemsProviderProps): react_jsx_runtime.JSX.Element;
5758
+ declare function ElevasisSystemsProvider({ systems, topbarActions, organizationModel, knowledgeBodies, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, children }: ElevasisSystemsProviderProps): react_jsx_runtime.JSX.Element;
5729
5759
 
5730
5760
  /**
5731
5761
  * Filters a static candidate manifest list down to the ones whose System is
@@ -5818,8 +5848,15 @@ declare function ElevasisUIProvider({ theme, children, ...coreProps }: ElevasisU
5818
5848
  interface CreateTestSystemsProviderOptions {
5819
5849
  organizationModel?: OrganizationModel;
5820
5850
  systems?: SystemModule[];
5851
+ /**
5852
+ * Compiled knowledge-node body map. Required, mirroring the prop on
5853
+ * `ElevasisSystemsProvider` -- a test that renders a knowledge surface must
5854
+ * state which corpus it is rendering against. Pass `{}` explicitly when the
5855
+ * test genuinely has no corpus.
5856
+ */
5857
+ knowledgeBodies: KnowledgeBodiesMap;
5821
5858
  }
5822
- declare function createTestSystemsProvider({ organizationModel, systems }?: CreateTestSystemsProviderOptions): ({ children }: {
5859
+ declare function createTestSystemsProvider({ organizationModel, systems, knowledgeBodies }: CreateTestSystemsProviderOptions): ({ children }: {
5823
5860
  children: ReactNode;
5824
5861
  }) => react_jsx_runtime.JSX.Element;
5825
5862
 
@@ -1,4 +1,4 @@
1
- export { AppearanceProvider, CrmActionsProvider, ElevasisCoreProvider, ElevasisSystemsProvider, ElevasisUIProvider, ListActionsProvider, NotificationProvider, SystemShell, createTestSystemsProvider, selectDeclaredSystems, useAppearance, useCrmActions, useElevasisSystems, useListActions, useNotificationAdapter, useOptionalElevasisSystems, useResolvedOrganizationModel } from '../chunk-PSGSFPWA.js';
1
+ export { AppearanceProvider, CrmActionsProvider, ElevasisCoreProvider, ElevasisSystemsProvider, ElevasisUIProvider, ListActionsProvider, NotificationProvider, SystemShell, createTestSystemsProvider, selectDeclaredSystems, useAppearance, useCrmActions, useElevasisSystems, useListActions, useNotificationAdapter, useOptionalElevasisSystems, useResolvedOrganizationModel } from '../chunk-M5CRPFJA.js';
2
2
  import '../chunk-4WLAVUPS.js';
3
3
  import '../chunk-RXZ3XDBM.js';
4
4
  import '../chunk-7RS2NUC6.js';
@@ -5451,6 +5451,27 @@ interface SSEConnectionManagerLike {
5451
5451
 
5452
5452
  type TablerIconComponent = typeof IconBrain;
5453
5453
 
5454
+ /**
5455
+ * Props every compiled knowledge-node body component accepts. Matches the
5456
+ * shape emitted by `generateKnowledgeBodies()` (`packages/sdk/src/node/knowledge-bodies-codegen.ts`)
5457
+ * for each `_generated/knowledge-bodies.tsx` this project produces.
5458
+ */
5459
+ interface KnowledgeBodyProps {
5460
+ /** MDX component allowlist merged from the nearest `KnowledgeMDXProvider`. */
5461
+ components?: Record<string, ComponentType>;
5462
+ }
5463
+ /**
5464
+ * Map of knowledge node id -> compiled MDX body component.
5465
+ *
5466
+ * Each consumer generates its own corpus at build time (via `knowledgePlugin()`)
5467
+ * and supplies it as the required `knowledgeBodies` prop on `ElevasisSystemsProvider`
5468
+ * / `ElevasisAuthenticatedShell`, instead of `@repo/ui` compiling a fixed corpus
5469
+ * into its published bundle. See `knowledge-corpus-injection.mdx` for the full
5470
+ * rationale -- this type is the generated file's own shape, named so consumers
5471
+ * and tests can reference it without importing from `_generated/`.
5472
+ */
5473
+ type KnowledgeBodiesMap = Record<string, ComponentType<KnowledgeBodyProps>>;
5474
+
5454
5475
  type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
5455
5476
  knowledge?: OrganizationModel['knowledge'];
5456
5477
  };
@@ -5579,6 +5600,13 @@ interface ElevasisSystemsProviderProps {
5579
5600
  /** Registered topbar action modules. OM node presence controls visibility; module supplies behavior. */
5580
5601
  topbarActions?: TopbarActionModule[];
5581
5602
  organizationModel?: ElevasisOrganizationModel;
5603
+ /**
5604
+ * Compiled knowledge-node body components for this consumer's own corpus.
5605
+ * Required, not defaulted: a missing corpus must fail to compile at the
5606
+ * provider mount rather than render a blank panel at runtime. See
5607
+ * `knowledge-corpus-injection.mdx`.
5608
+ */
5609
+ knowledgeBodies: KnowledgeBodiesMap;
5582
5610
  timeRange?: TimeRange;
5583
5611
  operationsApiUrl?: string;
5584
5612
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -5597,6 +5625,8 @@ interface ElevasisSystemsContextValue {
5597
5625
  resolvedSystems: ResolvedSystemModule[];
5598
5626
  organizationGraph: OrganizationGraphContextValue;
5599
5627
  organizationModel?: OrganizationModel;
5628
+ /** Compiled knowledge-node body components for this consumer's own corpus. See `ElevasisSystemsProviderProps.knowledgeBodies`. */
5629
+ knowledgeBodies: KnowledgeBodiesMap;
5600
5630
  timeRange?: TimeRange;
5601
5631
  operationsApiUrl?: string;
5602
5632
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -5609,7 +5639,7 @@ interface ElevasisSystemsContextValue {
5609
5639
 
5610
5640
  declare function useElevasisSystems(): ElevasisSystemsContextValue;
5611
5641
  declare function useOptionalElevasisSystems(): ElevasisSystemsContextValue | null;
5612
- declare function ElevasisSystemsProvider({ systems, topbarActions, organizationModel, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, children }: ElevasisSystemsProviderProps): react_jsx_runtime.JSX.Element;
5642
+ declare function ElevasisSystemsProvider({ systems, topbarActions, organizationModel, knowledgeBodies, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, children }: ElevasisSystemsProviderProps): react_jsx_runtime.JSX.Element;
5613
5643
 
5614
5644
  /**
5615
5645
  * Filters a static candidate manifest list down to the ones whose System is
@@ -1,4 +1,4 @@
1
- export { AppearanceProvider, ElevasisCoreProvider, ElevasisSystemsProvider, NotificationProvider, SystemShell, selectDeclaredSystems, useAppearance, useElevasisSystems, useNotificationAdapter, useOptionalElevasisSystems, useResolvedOrganizationModel } from '../chunk-PSGSFPWA.js';
1
+ export { AppearanceProvider, ElevasisCoreProvider, ElevasisSystemsProvider, NotificationProvider, SystemShell, selectDeclaredSystems, useAppearance, useElevasisSystems, useNotificationAdapter, useOptionalElevasisSystems, useResolvedOrganizationModel } from '../chunk-M5CRPFJA.js';
2
2
  import '../chunk-4WLAVUPS.js';
3
3
  import '../chunk-RXZ3XDBM.js';
4
4
  import '../chunk-7RS2NUC6.js';
@@ -1,5 +1,5 @@
1
- import { knowledgePlugin } from '../chunk-AKANHRQ5.js';
2
- export { knowledgePlugin } from '../chunk-AKANHRQ5.js';
1
+ import { knowledgePlugin } from '../chunk-GKTQEVSO.js';
2
+ export { knowledgePlugin } from '../chunk-GKTQEVSO.js';
3
3
  import '../chunk-I2KLQ2HA.js';
4
4
  import { existsSync, readFileSync } from 'fs';
5
5
  import { resolve } from 'path';
@@ -1,2 +1,2 @@
1
- export { knowledgePlugin } from '../chunk-AKANHRQ5.js';
1
+ export { knowledgePlugin } from '../chunk-GKTQEVSO.js';
2
2
  import '../chunk-I2KLQ2HA.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "2.81.0",
3
+ "version": "2.82.0",
4
4
  "description": "UI components and platform-aware hooks for building custom frontends on the Elevasis platform",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -280,11 +280,11 @@
280
280
  "typescript": "5.9.2",
281
281
  "vite": "^7.0.0",
282
282
  "vitest": "^3.2.4",
283
- "@repo/typescript-config": "0.0.0",
284
- "@elevasis/sdk": "1.54.0",
285
- "@repo/elevasis-core": "1.0.0",
283
+ "@elevasis/sdk": "1.55.0",
284
+ "@repo/core": "0.72.0",
286
285
  "@repo/eslint-config": "0.0.0",
287
- "@repo/core": "0.71.0"
286
+ "@repo/elevasis-core": "1.0.0",
287
+ "@repo/typescript-config": "0.0.0"
288
288
  },
289
289
  "dependencies": {
290
290
  "@dagrejs/dagre": "^1.1.4",
@@ -1,33 +1,33 @@
1
- # @elevasis/ui/knowledge
2
-
3
- Read-only browser primitives for the Organization Model knowledge graph.
4
-
5
- ## Surface
6
-
7
- | Export | Purpose |
8
- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
9
- | `KnowledgeBrowser` | Selected-node detail pane. Tree/search now live in the feature sidebar. |
10
- | `KnowledgeTree` | By-feature primary tree with hierarchical features and multi-governance duplication. |
11
- | `KnowledgeNodeList` | Legacy flat list of node summary cards; exported for compatibility. |
12
- | `KnowledgeNodeView` | Single knowledge-node detail view using `NodeDescribeShell` and relationship groups. |
13
- | `KnowledgeSearchBar` | Client-side search over `_generated/knowledge-search-index.json`. |
1
+ # @elevasis/ui/knowledge
2
+
3
+ Read-only browser primitives for the Organization Model knowledge graph.
4
+
5
+ ## Surface
6
+
7
+ | Export | Purpose |
8
+ | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
9
+ | `KnowledgeBrowser` | Selected-node detail pane. Tree/search now live in the feature sidebar. |
10
+ | `KnowledgeTree` | By-feature primary tree with hierarchical features and multi-governance duplication. |
11
+ | `KnowledgeNodeList` | Legacy flat list of node summary cards; exported for compatibility. |
12
+ | `KnowledgeNodeView` | Single knowledge-node detail view using `NodeDescribeShell` and relationship groups. |
13
+ | `KnowledgeSearchBar` | Client-side search built in-memory from the live `knowledgeNodes` prop. |
14
14
  | `KnowledgeNodeDetailRouteView` | Shared `/knowledge/$nodeId` content route view; apps keep TanStack route adapters and navigation wiring local. |
15
- | `KnowledgeRouteIds` helpers | Decode route ids, resolve Knowledge route targets, and derive route labels for app-local breadcrumbs. |
16
- | `KnowledgeSidebarMiddle` | Deprecated legacy sidebar middle section; active sidebar lives under `features/knowledge/sidebar`. |
17
- | `KNOWLEDGE_ITEMS` | Deprecated default sidebar nav items retained for compatibility. |
18
- | `KnowledgeMDXProvider`, `useKnowledgeAllowlist`, `KNOWLEDGE_ALLOWLIST` | MDX runtime allowlist (`Card`, `Cards`, `Step`, `Steps`, `Callout`, `Tab`, `Tabs`). |
19
- | `KNOWLEDGE_BODIES` | Build-time-compiled MDX components keyed by node id. |
20
-
21
- ## Customization tiers
22
-
23
- 1. **Default** — mount `knowledgeManifest` from `@elevasis/ui/features/knowledge`.
24
- 2. **Extend** — pass `extraComponents` to `KnowledgeMDXProvider` or compose around the feature sidebar primitives.
25
- 3. **Replace** — call `@elevasis/core/knowledge` queries directly from project-owned routes.
26
-
27
- ## Codegen
28
-
29
- `KNOWLEDGE_BODIES` and the search index are regenerated by `pnpm scaffold:sync` (or `pnpm knowledge:generate` to run only the knowledge step). Source: `canonicalOrganizationModel.knowledge.nodes` from `@repo/elevasis-core`.
30
-
31
- The Vite plugin at `@elevasis/ui/vite-plugin-knowledge` re-runs codegen on `buildStart` and watches the OM source dir for HMR.
32
-
33
- Phase 1 is read-only. Phase 2 will move bodies into Supabase and ship via `mdx-bundler`.
15
+ | `KnowledgeRouteIds` helpers | Decode route ids, resolve Knowledge route targets, and derive route labels for app-local breadcrumbs. |
16
+ | `KnowledgeSidebarMiddle` | Deprecated legacy sidebar middle section; active sidebar lives under `features/knowledge/sidebar`. |
17
+ | `KNOWLEDGE_ITEMS` | Deprecated default sidebar nav items retained for compatibility. |
18
+ | `KnowledgeMDXProvider`, `useKnowledgeAllowlist`, `KNOWLEDGE_ALLOWLIST` | MDX runtime allowlist (`Card`, `Cards`, `Step`, `Steps`, `Callout`, `Tab`, `Tabs`). |
19
+ | `KnowledgeBodiesMap` | Type for the compiled MDX-component-by-node-id map. `@elevasis/ui` ships this type only, not a corpus. |
20
+
21
+ ## Customization tiers
22
+
23
+ 1. **Default** — mount `knowledgeManifest` from `@elevasis/ui/features/knowledge`.
24
+ 2. **Extend** — pass `extraComponents` to `KnowledgeMDXProvider` or compose around the feature sidebar primitives.
25
+ 3. **Replace** — call `@elevasis/core/knowledge` queries directly from project-owned routes.
26
+
27
+ ## Codegen
28
+
29
+ This package ships the machinery only, not a compiled corpus. Each consumer generates its own `knowledge-bodies.tsx` (matching `KnowledgeBodiesMap`) beside its own Organization Model and hands it to `ElevasisSystemsProvider` as the required `knowledgeBodies` prop. In the monorepo that lives at `packages/elevasis/core/config/knowledge/_generated/`, sourced from `canonicalOrganizationModel.knowledge.nodes`; in an external project it lives at `<project-root>/core/config/knowledge/_generated/`. Regenerate with `pnpm scaffold:sync` (or `pnpm knowledge:generate` for only the knowledge step).
30
+
31
+ The Vite plugin at `@elevasis/ui/vite-plugin-knowledge` re-runs codegen on `buildStart` and watches the OM source dir for HMR.
32
+
33
+ Phase 1 is read-only. Phase 2 will move bodies into Supabase and ship via `mdx-bundler`.