@elevasis/ui 2.20.0 → 2.22.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 (100) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/app/index.js +5 -5
  3. package/dist/charts/index.js +3 -3
  4. package/dist/{chunk-TO7QXDBX.js → chunk-3HEUGBOT.js} +3 -3
  5. package/dist/chunk-AXXTN44Z.js +26 -0
  6. package/dist/{chunk-FMFX4K6E.js → chunk-B4FHWKEF.js} +3390 -2929
  7. package/dist/{chunk-AL23U6C3.js → chunk-BIWHHWCJ.js} +1 -2
  8. package/dist/{chunk-MZFJWCPH.js → chunk-BSZRKBAW.js} +277 -92
  9. package/dist/{chunk-GP3AFJYG.js → chunk-COG4ABRI.js} +8 -13
  10. package/dist/chunk-DDZOHLHB.js +48 -0
  11. package/dist/{chunk-ZE2KQSHL.js → chunk-GJ7EIABJ.js} +4 -4
  12. package/dist/{chunk-YP6T426C.js → chunk-IBUYJXA3.js} +1326 -1110
  13. package/dist/{chunk-2CFOFSSG.js → chunk-IOTLB6ND.js} +8 -13
  14. package/dist/{chunk-GBMNCNHX.js → chunk-KVJ3LFH2.js} +3 -1
  15. package/dist/chunk-LJWV4TWV.js +335 -0
  16. package/dist/{chunk-PJVG3ISO.js → chunk-LKVBEE63.js} +7 -9
  17. package/dist/{chunk-JR5WNTLA.js → chunk-LVJGPE6H.js} +11 -24
  18. package/dist/{chunk-OUYH2SBS.js → chunk-LVUCBY7X.js} +2 -2
  19. package/dist/{chunk-TIIPYB2Z.js → chunk-QZJM3RYI.js} +1 -1
  20. package/dist/{chunk-OD7GWIZS.js → chunk-SGXXJE52.js} +1 -121
  21. package/dist/{chunk-7YQKVWSD.js → chunk-SQ5JGELM.js} +25 -5
  22. package/dist/{chunk-R7OJCNL3.js → chunk-T6INEVX6.js} +1 -1
  23. package/dist/{chunk-RX4UWZZR.js → chunk-TKAYX2SP.js} +8 -3
  24. package/dist/{chunk-CTTY6FUT.js → chunk-TSSKOQBX.js} +2 -2
  25. package/dist/{chunk-GTYUP7MB.js → chunk-WWJ6S2HQ.js} +10 -22
  26. package/dist/{chunk-Q5HC6ENG.js → chunk-XOTJNW4Q.js} +1 -1
  27. package/dist/{chunk-BHR7IV72.js → chunk-XUYBOO32.js} +1 -1
  28. package/dist/{chunk-M7W7CGPL.js → chunk-Z6FAH4XV.js} +1 -1
  29. package/dist/{chunk-Q4QJOSVS.js → chunk-ZBCTB5CA.js} +1 -1
  30. package/dist/components/index.css +85 -85
  31. package/dist/components/index.d.ts +970 -746
  32. package/dist/components/index.js +246 -39
  33. package/dist/components/navigation/index.css +589 -0
  34. package/dist/components/navigation/index.d.ts +1 -13
  35. package/dist/components/navigation/index.js +11 -1
  36. package/dist/execution/index.d.ts +27 -0
  37. package/dist/features/auth/index.css +2 -2
  38. package/dist/features/auth/index.d.ts +184 -3
  39. package/dist/features/crm/index.css +2 -2
  40. package/dist/features/crm/index.d.ts +201 -38
  41. package/dist/features/crm/index.js +15 -14
  42. package/dist/features/dashboard/index.css +2 -2
  43. package/dist/features/dashboard/index.d.ts +25 -27
  44. package/dist/features/dashboard/index.js +15 -14
  45. package/dist/features/delivery/index.css +85 -85
  46. package/dist/features/delivery/index.d.ts +201 -38
  47. package/dist/features/delivery/index.js +15 -14
  48. package/dist/features/lead-gen/index.css +2 -2
  49. package/dist/features/lead-gen/index.d.ts +19 -37
  50. package/dist/features/lead-gen/index.js +15 -14
  51. package/dist/features/monitoring/index.css +85 -85
  52. package/dist/features/monitoring/index.d.ts +18 -36
  53. package/dist/features/monitoring/index.js +17 -16
  54. package/dist/features/monitoring/requests/index.css +2 -2
  55. package/dist/features/monitoring/requests/index.d.ts +18 -36
  56. package/dist/features/monitoring/requests/index.js +15 -14
  57. package/dist/features/operations/index.css +2 -2
  58. package/dist/features/operations/index.d.ts +49 -67
  59. package/dist/features/operations/index.js +18 -17
  60. package/dist/features/seo/index.d.ts +17 -35
  61. package/dist/features/seo/index.js +1 -1
  62. package/dist/features/settings/index.css +2 -2
  63. package/dist/features/settings/index.d.ts +222 -44
  64. package/dist/features/settings/index.js +16 -15
  65. package/dist/graph/index.css +2 -2
  66. package/dist/hooks/delivery/index.css +2 -2
  67. package/dist/hooks/delivery/index.d.ts +184 -3
  68. package/dist/hooks/delivery/index.js +2 -2
  69. package/dist/hooks/index.css +85 -85
  70. package/dist/hooks/index.d.ts +1862 -1582
  71. package/dist/hooks/index.js +13 -12
  72. package/dist/hooks/operations/command-view/utils/transformCommandViewData.d.ts +92 -121
  73. package/dist/hooks/published.css +85 -85
  74. package/dist/hooks/published.d.ts +1862 -1582
  75. package/dist/hooks/published.js +13 -12
  76. package/dist/index.css +12 -12
  77. package/dist/index.d.ts +689 -470
  78. package/dist/index.js +14 -13
  79. package/dist/initialization/index.d.ts +184 -3
  80. package/dist/layout/index.js +2 -2
  81. package/dist/organization/index.css +589 -0
  82. package/dist/organization/index.js +1 -1
  83. package/dist/profile/index.d.ts +184 -3
  84. package/dist/provider/index.css +384 -0
  85. package/dist/provider/index.d.ts +68 -125
  86. package/dist/provider/index.js +11 -10
  87. package/dist/provider/published.css +463 -0
  88. package/dist/provider/published.d.ts +68 -125
  89. package/dist/provider/published.js +8 -7
  90. package/dist/supabase/index.d.ts +359 -6
  91. package/dist/test-utils/index.d.ts +46 -2
  92. package/dist/test-utils/index.js +104 -3
  93. package/dist/theme/index.js +2 -2
  94. package/dist/types/index.d.ts +303 -141
  95. package/dist/utils/index.d.ts +26 -59
  96. package/dist/utils/index.js +1 -1
  97. package/package.json +4 -4
  98. package/dist/chunk-LR5CRY5A.js +0 -514
  99. package/dist/chunk-MG3NF7QL.js +0 -63
  100. /package/dist/{chunk-6GUW5GGF.js → chunk-6Z3G4U2R.js} +0 -0
@@ -1,34 +1,35 @@
1
1
  import { TableSelectionToolbar } from '../../../chunk-TUMSNGTX.js';
2
2
  import { FilterBar } from '../../../chunk-PDHTXPSF.js';
3
- import { ConfirmationModal, CustomModal } from '../../../chunk-GBMNCNHX.js';
3
+ import { ConfirmationModal, CustomModal } from '../../../chunk-KVJ3LFH2.js';
4
4
  import '../../../chunk-7M2VOCYN.js';
5
- import { usePaginationState, useRequestsList, useUpdateRequestStatus, useDeleteRequest, useTableSelection, useRequest } from '../../../chunk-FMFX4K6E.js';
5
+ import { usePaginationState, useRequestsList, useUpdateRequestStatus, useDeleteRequest, useTableSelection, useRequest } from '../../../chunk-B4FHWKEF.js';
6
6
  import '../../../chunk-BRXELOHC.js';
7
7
  import '../../../chunk-QSTH6T77.js';
8
- import '../../../chunk-M7W7CGPL.js';
8
+ import '../../../chunk-Z6FAH4XV.js';
9
9
  import '../../../chunk-22UVE3RA.js';
10
10
  import '../../../chunk-3ZMAGTWF.js';
11
- import '../../../chunk-Q4QJOSVS.js';
12
- import '../../../chunk-TO7QXDBX.js';
13
- import '../../../chunk-Q5HC6ENG.js';
11
+ import '../../../chunk-ZBCTB5CA.js';
12
+ import '../../../chunk-3HEUGBOT.js';
13
+ import '../../../chunk-XOTJNW4Q.js';
14
14
  import '../../../chunk-WLOQ4IBG.js';
15
- import '../../../chunk-LR5CRY5A.js';
16
- import '../../../chunk-OUYH2SBS.js';
17
- import '../../../chunk-RX4UWZZR.js';
18
- import { PageTitleCaption, CardHeader, ContextViewer, JsonViewer } from '../../../chunk-BHR7IV72.js';
15
+ import '../../../chunk-AXXTN44Z.js';
16
+ import '../../../chunk-LVUCBY7X.js';
17
+ import '../../../chunk-LJWV4TWV.js';
18
+ import '../../../chunk-TKAYX2SP.js';
19
+ import { PageTitleCaption, CardHeader, ContextViewer, JsonViewer } from '../../../chunk-XUYBOO32.js';
19
20
  import '../../../chunk-SZHARWKU.js';
20
21
  import '../../../chunk-3KMDHCAR.js';
21
22
  import '../../../chunk-NYBEU5TE.js';
22
- import '../../../chunk-R7OJCNL3.js';
23
+ import '../../../chunk-T6INEVX6.js';
23
24
  import '../../../chunk-2IFYDILW.js';
24
25
  import '../../../chunk-Q7DJKLEN.js';
25
- import '../../../chunk-7YQKVWSD.js';
26
+ import '../../../chunk-SQ5JGELM.js';
26
27
  import '../../../chunk-6IA2OMAE.js';
27
28
  import '../../../chunk-QJ2KCHKX.js';
28
29
  import '../../../chunk-HQ7M6PBW.js';
29
30
  import '../../../chunk-DT3QYZVU.js';
30
31
  import '../../../chunk-RNP5R5I3.js';
31
- import { formatTimeAgo } from '../../../chunk-OD7GWIZS.js';
32
+ import { formatTimeAgo } from '../../../chunk-SGXXJE52.js';
32
33
  import '../../../chunk-KRWALB24.js';
33
34
  import '../../../chunk-SLH2QLKV.js';
34
35
  import '../../../chunk-DK2HVHCY.js';
@@ -47,7 +48,7 @@ import { notifications } from '@mantine/notifications';
47
48
  // src/features/monitoring/requests/manifest.ts
48
49
  var submittedRequestsManifest = {
49
50
  key: "submitted-requests",
50
- featureId: "monitoring"
51
+ featureId: "monitoring.submitted-requests"
51
52
  };
52
53
  var TYPE_COLORS = {
53
54
  bug: "red",
@@ -309,7 +309,7 @@
309
309
  transparent 1px),
310
310
  radial-gradient(
311
311
  ellipse at 50% 50%,
312
- color-mix(in srgb, var(--color-primary) 5%, transparent) 0%,
312
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
313
313
  transparent 70%);
314
314
  background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
315
315
  backdrop-filter: var(--glass-blur);
@@ -328,7 +328,7 @@
328
328
  transparent 1px),
329
329
  radial-gradient(
330
330
  ellipse at 50% 50%,
331
- color-mix(in srgb, var(--color-primary) 9%, transparent) 0%,
331
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
332
332
  transparent 70%);
333
333
  background-size:
334
334
  40px 40px,
@@ -1,4 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { z } from 'zod';
2
3
  import { ReactNode, ComponentType } from 'react';
3
4
  import { EventSourceMessage } from '@microsoft/fetch-event-source';
4
5
 
@@ -92,6 +93,8 @@ interface SerializedAgentDefinition {
92
93
  version: string;
93
94
  type: 'agent';
94
95
  status: 'dev' | 'prod';
96
+ links?: ResourceLink[];
97
+ category?: ResourceCategory;
95
98
  /** Whether this resource is archived and should be excluded from registration and deployment */
96
99
  archived?: boolean;
97
100
  systemPrompt: string;
@@ -147,6 +150,8 @@ interface SerializedWorkflowDefinition {
147
150
  version: string;
148
151
  type: 'workflow';
149
152
  status: 'dev' | 'prod';
153
+ links?: ResourceLink[];
154
+ category?: ResourceCategory;
150
155
  /** Whether this resource is archived and should be excluded from registration and deployment */
151
156
  archived?: boolean;
152
157
  };
@@ -347,8 +352,10 @@ interface ResourceDefinition {
347
352
  type: ResourceType;
348
353
  /** Environment/deployment status */
349
354
  status: ResourceStatus;
350
- /** Domain tags for filtering and organization */
351
- domains?: ResourceDomain[];
355
+ /** Graph links to Organization Model nodes */
356
+ links?: ResourceLink[];
357
+ /** Infrastructure category for filtering */
358
+ category?: ResourceCategory;
352
359
  /** Whether the agent supports multi-turn sessions (agents only) */
353
360
  sessionCapable?: boolean;
354
361
  /** Whether the resource is local (monorepo) or remote (externally deployed) */
@@ -357,32 +364,27 @@ interface ResourceDefinition {
357
364
  archived?: boolean;
358
365
  }
359
366
 
360
- /**
361
- * Standard Domain Definitions
362
- * Centralized domain constants and definitions for all organization resources.
363
- */
364
-
365
- declare const DOMAINS: {
366
- readonly INBOUND_PIPELINE: "inbound-pipeline";
367
- readonly LEAD_GEN_PIPELINE: "lead-gen-pipeline";
368
- readonly SUPPORT: "support";
369
- readonly CLIENT_SUPPORT: "client-support";
370
- readonly DELIVERY: "delivery";
371
- readonly OPERATIONS: "operations";
372
- readonly FINANCE: "finance";
373
- readonly EXECUTIVE: "executive";
374
- readonly INSTANTLY: "instantly";
375
- readonly TESTING: "testing";
376
- readonly INTERNAL: "internal";
377
- readonly INTEGRATION: "integration";
378
- readonly UTILITY: "utility";
379
- readonly DIAGNOSTIC: "diagnostic";
380
- };
381
- /**
382
- * ResourceDomain - Strongly typed domain identifier
383
- * Use this type for all domain references to ensure compile-time validation.
384
- */
385
- type ResourceDomain = (typeof DOMAINS)[keyof typeof DOMAINS];
367
+ declare const LinkSchema: z.ZodObject<{
368
+ nodeId: z.ZodString;
369
+ kind: z.ZodEnum<{
370
+ contains: "contains";
371
+ references: "references";
372
+ exposes: "exposes";
373
+ maps_to: "maps_to";
374
+ "operates-on": "operates-on";
375
+ uses: "uses";
376
+ }>;
377
+ }, z.core.$strip>;
378
+ type Link = z.infer<typeof LinkSchema>;
379
+
380
+ declare const ResourceCategorySchema: z.ZodEnum<{
381
+ production: "production";
382
+ diagnostic: "diagnostic";
383
+ internal: "internal";
384
+ testing: "testing";
385
+ }>;
386
+ type ResourceCategory = z.infer<typeof ResourceCategorySchema>;
387
+ type ResourceLink = Link;
386
388
 
387
389
  interface ResourcesPageProps {
388
390
  /** Initial filter type from the URL search param (caller-managed) */
@@ -534,50 +536,32 @@ interface UseExecutionPanelStateOptions {
534
536
 
535
537
  type TaskFilterStatus = 'all' | 'pending' | 'completed' | 'expired';
536
538
 
537
- interface FeatureNavLink {
538
- label: string;
539
- link: string;
540
- featureKey?: string;
541
- onClick?: () => void;
542
- links?: FeatureNavLink[];
543
- }
544
- interface FeatureNavEntry {
545
- label: string;
546
- icon: ComponentType;
547
- link?: string;
548
- featureKey?: string;
549
- requiresAdmin?: boolean;
550
- dataOnboardingTourId?: string;
551
- links?: FeatureNavLink[];
552
- }
553
539
  type FeatureSidebarComponent = ComponentType;
540
+ type FeatureIconComponent = ComponentType<{
541
+ size?: number;
542
+ stroke?: number;
543
+ }>;
544
+ type FeatureSidebarWidthResolver = number | ((context: {
545
+ currentPath: string;
546
+ }) => number);
554
547
  interface FeatureModule {
555
- /** Unique stable identifier for this feature (e.g. `'crm'`, `'projects'`). */
548
+ /** Unique stable identifier for this feature module. */
556
549
  key: string;
557
- /** Feature ID used for access-flag gating — must match the `id` of a feature in the organization model. */
550
+ /** Organization Model feature id this module presents. */
558
551
  featureId: string;
559
- /**
560
- * Capability identifiers contributed by this feature.
561
- * Merged into `ResolvedFeatureSemantics.capabilityIds` at resolution time.
562
- * Not queried at runtime — kept for semantic graph completeness so that
563
- * capability membership is fully represented in the resolved model even when
564
- * a surface does not declare it directly.
565
- */
552
+ /** Capability identifiers contributed by this feature module. */
566
553
  capabilityIds?: string[];
567
- /** Top-level navigation entry rendered in the app shell when this feature is enabled. */
568
- navEntry?: FeatureNavEntry;
569
- /** Sidebar component rendered when a matching subshell route is active. */
554
+ /** Icon used when this feature node appears in shell navigation. */
555
+ icon?: FeatureIconComponent;
556
+ /** Sidebar component rendered when this feature's subtree route is active. */
570
557
  sidebar?: FeatureSidebarComponent;
571
- /** Route path prefixes that activate this feature's sidebar and subshell context. */
572
- subshellRoutes?: string[];
573
- /**
574
- * Operations-only bridge surface connecting this feature to the organization graph.
575
- * Ignored by all other features. Only one manifest in the registry should set this.
576
- */
558
+ /** Optional shell sidebar width override. Defaults to 250px. */
559
+ sidebarWidth?: FeatureSidebarWidthResolver;
560
+ /** Operations-only bridge connecting this feature to the organization graph node. */
577
561
  organizationGraph?: OrganizationGraphFeatureBridge;
578
562
  }
579
563
  interface OrganizationGraphFeatureBridge {
580
- surfaceId: string;
564
+ featureId: string;
581
565
  }
582
566
 
583
567
  interface CommandQueuePageProps {
@@ -628,10 +612,8 @@ interface CommandViewSidebarContentProps {
628
612
  * Shown in the shared Operations subshell sidebar when on /operations/command-view.
629
613
  *
630
614
  * Contains:
631
- * - Execution health donut chart (filtered by domain + status)
632
- * - Environment filter (All/Prod/Dev)
633
- * - Show integrations toggle
634
- * - Domain filters (collapsible)
615
+ * - Execution health donut chart
616
+ * - Graph filter and visibility controls
635
617
  * - Selected node details + executions/tasks (lazy loaded)
636
618
  */
637
619
  declare function CommandViewSidebarContent({ timeRange }: CommandViewSidebarContentProps): react_jsx_runtime.JSX.Element;
@@ -1,45 +1,46 @@
1
- export { AgentExecutionPanel, AgentSessionGroup, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationGraphPage, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-YP6T426C.js';
1
+ export { AgentExecutionPanel, AgentSessionGroup, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandViewPage, CommandViewSidebarContent, ExecuteWorkflowModal, ExecutionPanel, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationGraphPage, ResourceDetailPage, ResourceExecuteDialog, ResourceExecuteForm, ResourcesPage, ResourcesSidebar, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionsPage, SessionsSidebar, WorkflowExecutionPanel, operationsManifest } from '../../chunk-IBUYJXA3.js';
2
2
  import '../../chunk-ROSMICXG.js';
3
3
  import '../../chunk-3JCMO7SD.js';
4
4
  import '../../chunk-ZTWA5H77.js';
5
- export { OperationsOverview } from '../../chunk-PJVG3ISO.js';
5
+ export { OperationsOverview } from '../../chunk-LKVBEE63.js';
6
6
  import '../../chunk-442LZPIR.js';
7
- import '../../chunk-ZE2KQSHL.js';
7
+ import '../../chunk-GJ7EIABJ.js';
8
8
  import '../../chunk-LGKLC5MG.js';
9
- import '../../chunk-CTTY6FUT.js';
9
+ import '../../chunk-TSSKOQBX.js';
10
10
  import '../../chunk-M25JL54Z.js';
11
11
  import '../../chunk-BZZCNLT6.js';
12
12
  import '../../chunk-IIMU5YAJ.js';
13
- import '../../chunk-GBMNCNHX.js';
13
+ import '../../chunk-KVJ3LFH2.js';
14
14
  import '../../chunk-E4WQGJNS.js';
15
15
  import '../../chunk-7M2VOCYN.js';
16
- import '../../chunk-FMFX4K6E.js';
16
+ import '../../chunk-B4FHWKEF.js';
17
17
  import '../../chunk-BRXELOHC.js';
18
18
  import '../../chunk-QSTH6T77.js';
19
- import '../../chunk-M7W7CGPL.js';
19
+ import '../../chunk-Z6FAH4XV.js';
20
20
  import '../../chunk-22UVE3RA.js';
21
21
  import '../../chunk-3ZMAGTWF.js';
22
- import '../../chunk-Q4QJOSVS.js';
23
- import '../../chunk-TO7QXDBX.js';
24
- import '../../chunk-Q5HC6ENG.js';
22
+ import '../../chunk-ZBCTB5CA.js';
23
+ import '../../chunk-3HEUGBOT.js';
24
+ import '../../chunk-XOTJNW4Q.js';
25
25
  import '../../chunk-WLOQ4IBG.js';
26
- import '../../chunk-LR5CRY5A.js';
27
- import '../../chunk-OUYH2SBS.js';
28
- import '../../chunk-RX4UWZZR.js';
29
- import '../../chunk-BHR7IV72.js';
26
+ import '../../chunk-AXXTN44Z.js';
27
+ import '../../chunk-LVUCBY7X.js';
28
+ import '../../chunk-LJWV4TWV.js';
29
+ import '../../chunk-TKAYX2SP.js';
30
+ import '../../chunk-XUYBOO32.js';
30
31
  import '../../chunk-SZHARWKU.js';
31
32
  import '../../chunk-3KMDHCAR.js';
32
33
  import '../../chunk-NYBEU5TE.js';
33
- import '../../chunk-R7OJCNL3.js';
34
+ import '../../chunk-T6INEVX6.js';
34
35
  import '../../chunk-2IFYDILW.js';
35
36
  import '../../chunk-Q7DJKLEN.js';
36
- import '../../chunk-7YQKVWSD.js';
37
+ import '../../chunk-SQ5JGELM.js';
37
38
  import '../../chunk-6IA2OMAE.js';
38
39
  import '../../chunk-QJ2KCHKX.js';
39
40
  import '../../chunk-HQ7M6PBW.js';
40
41
  import '../../chunk-DT3QYZVU.js';
41
42
  import '../../chunk-RNP5R5I3.js';
42
- import '../../chunk-OD7GWIZS.js';
43
+ import '../../chunk-SGXXJE52.js';
43
44
  import '../../chunk-KRWALB24.js';
44
45
  import '../../chunk-SLH2QLKV.js';
45
46
  import '../../chunk-DK2HVHCY.js';
@@ -7,50 +7,32 @@ declare const SEOSidebarTop: () => react_jsx_runtime.JSX.Element;
7
7
 
8
8
  declare const SEOSidebarMiddle: () => react_jsx_runtime.JSX.Element;
9
9
 
10
- interface FeatureNavLink {
11
- label: string;
12
- link: string;
13
- featureKey?: string;
14
- onClick?: () => void;
15
- links?: FeatureNavLink[];
16
- }
17
- interface FeatureNavEntry {
18
- label: string;
19
- icon: ComponentType;
20
- link?: string;
21
- featureKey?: string;
22
- requiresAdmin?: boolean;
23
- dataOnboardingTourId?: string;
24
- links?: FeatureNavLink[];
25
- }
26
10
  type FeatureSidebarComponent = ComponentType;
11
+ type FeatureIconComponent = ComponentType<{
12
+ size?: number;
13
+ stroke?: number;
14
+ }>;
15
+ type FeatureSidebarWidthResolver = number | ((context: {
16
+ currentPath: string;
17
+ }) => number);
27
18
  interface FeatureModule {
28
- /** Unique stable identifier for this feature (e.g. `'crm'`, `'projects'`). */
19
+ /** Unique stable identifier for this feature module. */
29
20
  key: string;
30
- /** Feature ID used for access-flag gating — must match the `id` of a feature in the organization model. */
21
+ /** Organization Model feature id this module presents. */
31
22
  featureId: string;
32
- /**
33
- * Capability identifiers contributed by this feature.
34
- * Merged into `ResolvedFeatureSemantics.capabilityIds` at resolution time.
35
- * Not queried at runtime — kept for semantic graph completeness so that
36
- * capability membership is fully represented in the resolved model even when
37
- * a surface does not declare it directly.
38
- */
23
+ /** Capability identifiers contributed by this feature module. */
39
24
  capabilityIds?: string[];
40
- /** Top-level navigation entry rendered in the app shell when this feature is enabled. */
41
- navEntry?: FeatureNavEntry;
42
- /** Sidebar component rendered when a matching subshell route is active. */
25
+ /** Icon used when this feature node appears in shell navigation. */
26
+ icon?: FeatureIconComponent;
27
+ /** Sidebar component rendered when this feature's subtree route is active. */
43
28
  sidebar?: FeatureSidebarComponent;
44
- /** Route path prefixes that activate this feature's sidebar and subshell context. */
45
- subshellRoutes?: string[];
46
- /**
47
- * Operations-only bridge surface connecting this feature to the organization graph.
48
- * Ignored by all other features. Only one manifest in the registry should set this.
49
- */
29
+ /** Optional shell sidebar width override. Defaults to 250px. */
30
+ sidebarWidth?: FeatureSidebarWidthResolver;
31
+ /** Operations-only bridge connecting this feature to the organization graph node. */
50
32
  organizationGraph?: OrganizationGraphFeatureBridge;
51
33
  }
52
34
  interface OrganizationGraphFeatureBridge {
53
- surfaceId: string;
35
+ featureId: string;
54
36
  }
55
37
 
56
38
  declare const seoManifest: FeatureModule;
@@ -1,4 +1,4 @@
1
- export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from '../../chunk-AL23U6C3.js';
1
+ export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from '../../chunk-BIWHHWCJ.js';
2
2
  import '../../chunk-CEWTOKE7.js';
3
3
  import '../../chunk-IIMU5YAJ.js';
4
4
  import '../../chunk-2IFYDILW.js';
@@ -309,7 +309,7 @@
309
309
  transparent 1px),
310
310
  radial-gradient(
311
311
  ellipse at 50% 50%,
312
- color-mix(in srgb, var(--color-primary) 5%, transparent) 0%,
312
+ color-mix(in srgb, var(--color-primary) 1.25%, transparent) 0%,
313
313
  transparent 70%);
314
314
  background-color: color-mix(in srgb, var(--color-background) 50%, var(--glass-background));
315
315
  backdrop-filter: var(--glass-blur);
@@ -328,7 +328,7 @@
328
328
  transparent 1px),
329
329
  radial-gradient(
330
330
  ellipse at 50% 50%,
331
- color-mix(in srgb, var(--color-primary) 9%, transparent) 0%,
331
+ color-mix(in srgb, var(--color-primary) 2.25%, transparent) 0%,
332
332
  transparent 70%);
333
333
  background-size:
334
334
  40px 40px,