@elevasis/ui 2.4.0 → 2.5.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 (61) hide show
  1. package/dist/{chunk-2DZACNOX.js → chunk-3VTACYBT.js} +4 -1
  2. package/dist/{chunk-IPRMGSCV.js → chunk-5RYRL7DP.js} +1 -1
  3. package/dist/{chunk-WN764MR7.js → chunk-CKBJVNSA.js} +3 -2
  4. package/dist/{chunk-PEZ4WOPF.js → chunk-DRBMVLJE.js} +2 -2
  5. package/dist/{chunk-JT7WDIZI.js → chunk-GEJZ6WLM.js} +1 -1
  6. package/dist/{chunk-WSL5MNAI.js → chunk-RBRSRRG4.js} +5 -2
  7. package/dist/{chunk-KRTZTBVP.js → chunk-S5EXLTGK.js} +8 -5
  8. package/dist/{chunk-ISHNN42L.js → chunk-TNYUWKSJ.js} +225 -33
  9. package/dist/{chunk-ZG7MLOBE.js → chunk-URFYQRJO.js} +1 -1
  10. package/dist/{chunk-G3G2QEB6.js → chunk-UXYE5ZBY.js} +2 -2
  11. package/dist/{chunk-3ONP2CEB.js → chunk-XGUMNEIR.js} +5 -2
  12. package/dist/{chunk-J5KWNRSD.js → chunk-YIWLA2B6.js} +1 -0
  13. package/dist/{chunk-5XGBMKUY.js → chunk-ZGV3X3UQ.js} +3 -2
  14. package/dist/components/index.d.ts +127 -99
  15. package/dist/components/index.js +16 -16
  16. package/dist/features/crm/index.d.ts +24 -0
  17. package/dist/features/crm/index.js +5 -5
  18. package/dist/features/dashboard/index.d.ts +25 -0
  19. package/dist/features/dashboard/index.js +5 -5
  20. package/dist/features/delivery/index.d.ts +25 -0
  21. package/dist/features/delivery/index.js +5 -5
  22. package/dist/features/lead-gen/index.d.ts +25 -1
  23. package/dist/features/lead-gen/index.js +8 -8
  24. package/dist/features/monitoring/index.d.ts +25 -0
  25. package/dist/features/monitoring/index.js +6 -6
  26. package/dist/features/operations/index.d.ts +24 -0
  27. package/dist/features/operations/index.js +7 -7
  28. package/dist/features/seo/index.d.ts +25 -0
  29. package/dist/features/seo/index.js +1 -1
  30. package/dist/features/settings/index.d.ts +24 -0
  31. package/dist/features/settings/index.js +5 -5
  32. package/dist/hooks/index.d.ts +239 -239
  33. package/dist/hooks/index.js +4 -4
  34. package/dist/hooks/published.d.ts +169 -169
  35. package/dist/hooks/published.js +3 -3
  36. package/dist/index.d.ts +303 -241
  37. package/dist/index.js +4 -4
  38. package/dist/provider/index.d.ts +64 -2
  39. package/dist/provider/index.js +2 -2
  40. package/dist/provider/published.d.ts +64 -2
  41. package/dist/provider/published.js +1 -1
  42. package/dist/types/index.d.ts +134 -134
  43. package/package.json +4 -3
  44. package/src/README.md +29 -0
  45. package/src/api/README.md +18 -0
  46. package/src/auth/README.md +18 -0
  47. package/src/components/README.md +24 -0
  48. package/src/execution/README.md +16 -0
  49. package/src/features/README.md +28 -0
  50. package/src/graph/README.md +16 -0
  51. package/src/hooks/README.md +24 -0
  52. package/src/initialization/README.md +19 -0
  53. package/src/organization/README.md +18 -0
  54. package/src/profile/README.md +19 -0
  55. package/src/provider/README.md +31 -0
  56. package/src/router/README.md +18 -0
  57. package/src/sse/README.md +13 -0
  58. package/src/theme/README.md +23 -0
  59. package/src/types/README.md +16 -0
  60. package/src/utils/README.md +18 -0
  61. package/src/zustand/README.md +18 -0
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import './chunk-XCYKC6OZ.js';
2
2
  export { useAvailablePresets } from './chunk-VNUOQQNY.js';
3
3
  export { AGENT_CONSTANTS, CONTAINER_CONSTANTS, SHARED_VIZ_CONSTANTS, STATUS_COLORS, TIMELINE_CONSTANTS, WORKFLOW_CONSTANTS, calculateBarPosition, formatDuration, getEdgeColor, getEdgeOpacity, getResourceStatusColor, getStatusColors, getStatusIcon, shouldAnimateEdge, useAgentIterationData, useExecutionPath, useMergedExecution, useReactFlowAgent, useTimelineData, useUnifiedWorkflowLayout, useWorkflowStepsLayout } from './chunk-XA34RETF.js';
4
- export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, milestoneKeys, noteKeys, projectKeys, taskKeys, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateProject as useCreateDeliveryProject, useCreateMilestone, useCreateNote, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteMilestone, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useMilestones, useOrganizationMembers, useProject, useProjectNotes, useProjects, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTasks, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateMemberConfig, useUpdateMilestone, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-PEZ4WOPF.js';
5
- export { OperationsService, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount as useNotificationCountSSE, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification } from './chunk-IPRMGSCV.js';
4
+ export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, milestoneKeys, noteKeys, projectKeys, taskKeys, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateProject as useCreateDeliveryProject, useCreateMilestone, useCreateNote, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteMilestone, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useMilestones, useOrganizationMembers, useProject, useProjectNotes, useProjects, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTasks, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateMemberConfig, useUpdateMilestone, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-DRBMVLJE.js';
5
+ export { OperationsService, acquisitionListKeys, calibrationKeys, companyKeys, contactKeys, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useAllCalibrationProjects, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateCompany, useCreateContact, useCreateDealNote, useCreateDealTask, useCreateList, useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useDashboardMetrics, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteCompanies, useDeleteContacts, useDeleteDeal, useDeleteExecution, useDeleteList, useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphStats, useList, useListExecutions, useListProgress, useListSchedules, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useNotificationCount as useNotificationCountSSE, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateCompany, useUpdateContact, useUpdateList, useUpdateListConfig, useUpdateProject, useUpdateSchedule, useWarningNotification } from './chunk-5RYRL7DP.js';
6
6
  export { observabilityKeys, useErrorTrends } from './chunk-LXHZYSMQ.js';
7
7
  export { GRAPH_CONSTANTS, calculateGraphHeight, useConnectionHighlight, useDirectedChainHighlighting, useFitViewTrigger, useGraphHighlighting, useNodeSelection } from './chunk-22UVE3RA.js';
8
- export { ElevasisUIProvider } from './chunk-JT7WDIZI.js';
8
+ export { ElevasisUIProvider } from './chunk-GEJZ6WLM.js';
9
9
  export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-47YILFON.js';
10
10
  import './chunk-CYXZHBP4.js';
11
- export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, createUseFeatureAccess, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from './chunk-ISHNN42L.js';
11
+ export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, createUseFeatureAccess, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from './chunk-TNYUWKSJ.js';
12
12
  import './chunk-RX4UWZZR.js';
13
13
  import './chunk-Y3D3WFJG.js';
14
14
  import './chunk-3KMDHCAR.js';
@@ -278,6 +278,14 @@ declare function ElevasisCoreProvider({ auth, queryClient, apiUrl, onError, noti
278
278
  */
279
279
  type TimeRange = '1h' | '24h' | '7d' | '30d';
280
280
 
281
+ declare const SemanticDomainSchema = DisplayMetadataSchema.extend({
282
+ id: ModelIdSchema,
283
+ entityIds: ReferenceIdsSchema,
284
+ surfaceIds: ReferenceIdsSchema,
285
+ resourceIds: ReferenceIdsSchema,
286
+ capabilityIds: ReferenceIdsSchema
287
+ })
288
+
281
289
  declare const FeatureKeySchema = z.enum([
282
290
  'acquisition',
283
291
  'delivery',
@@ -318,6 +326,7 @@ declare const OrganizationModelSchema = z.object({
318
326
  type OrganizationModel = z.infer<typeof OrganizationModelSchema>
319
327
  type OrganizationModelFeatureKey = z.infer<typeof FeatureKeySchema>
320
328
  type OrganizationModelSurface = z.infer<typeof SurfaceDefinitionSchema>
329
+ type OrganizationModelSemanticDomain = z.infer<typeof SemanticDomainSchema>
321
330
 
322
331
  interface EventSourceMessage {
323
332
  id: string;
@@ -368,11 +377,56 @@ type FeatureSidebarComponent = ComponentType;
368
377
  interface FeatureModule {
369
378
  key: string;
370
379
  label?: string;
380
+ accessFeatureKey?: OrganizationModelFeatureKey;
381
+ domainIds?: OrganizationModelSemanticDomain['id'][];
382
+ capabilityIds?: string[];
371
383
  navEntry?: FeatureNavEntry;
372
384
  sidebar?: FeatureSidebarComponent;
373
385
  subshellRoutes?: string[];
374
386
  organizationGraph?: OrganizationGraphFeatureBridge;
375
387
  }
388
+ type ShellModuleDefinition = FeatureModule;
389
+ interface ResolvedFeatureAccess {
390
+ featureKey?: string;
391
+ label?: string;
392
+ enabled: boolean;
393
+ }
394
+ interface ResolvedFeatureSemantics {
395
+ domainIds: OrganizationModelSemanticDomain['id'][];
396
+ capabilityIds: string[];
397
+ surfaceIds: string[];
398
+ surfaces: OrganizationModelSurface[];
399
+ }
400
+ interface ResolvedFeatureShellModule {
401
+ key: string;
402
+ label?: string;
403
+ }
404
+ interface ResolvedFeatureModule extends FeatureModule {
405
+ shellModule: ResolvedFeatureShellModule;
406
+ access: ResolvedFeatureAccess;
407
+ semantics: ResolvedFeatureSemantics;
408
+ }
409
+ type ShellNavPlacement = 'primary' | 'bottom';
410
+ type ShellNavSource = 'app' | 'feature';
411
+ interface ResolvedShellNavItem extends FeatureNavEntry {
412
+ placement: ShellNavPlacement;
413
+ source: ShellNavSource;
414
+ shellModuleKey?: string;
415
+ accessFeatureKey?: string;
416
+ }
417
+ interface ResolvedShellModel {
418
+ primaryNavItems: ResolvedShellNavItem[];
419
+ bottomNavItems: ResolvedShellNavItem[];
420
+ navItems: ResolvedShellNavItem[];
421
+ }
422
+ interface AppShellOverrides {
423
+ primaryNavItems?: FeatureNavEntry[];
424
+ bottomNavItems?: FeatureNavEntry[];
425
+ }
426
+ interface ShellRuntime {
427
+ shellModel: ResolvedShellModel;
428
+ resolveNavRoute: (path: string) => FeatureRouteResolution;
429
+ }
376
430
  interface OrganizationGraphFeatureBridge {
377
431
  surfaceId: string;
378
432
  }
@@ -397,6 +451,7 @@ interface FeatureRegistry {
397
451
  interface ElevasisFeaturesProviderProps {
398
452
  features: FeatureModule[];
399
453
  organizationModel?: OrganizationModel;
454
+ appShellOverrides?: AppShellOverrides;
400
455
  timeRange?: TimeRange;
401
456
  operationsApiUrl?: string;
402
457
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -405,8 +460,14 @@ interface ElevasisFeaturesProviderProps {
405
460
  }
406
461
  interface ElevasisFeaturesContextValue {
407
462
  navItems: FeatureNavEntry[];
463
+ primaryNavItems: ResolvedShellNavItem[];
464
+ bottomNavItems: ResolvedShellNavItem[];
465
+ shellModel: ResolvedShellModel;
466
+ shellRuntime: ShellRuntime;
408
467
  enabledFeatures: FeatureModule[];
409
468
  allFeatures: FeatureModule[];
469
+ enabledResolvedFeatures: ResolvedFeatureModule[];
470
+ resolvedFeatures: ResolvedFeatureModule[];
410
471
  organizationGraph: OrganizationGraphContextValue;
411
472
  organizationModel?: OrganizationModel;
412
473
  timeRange?: TimeRange;
@@ -415,12 +476,13 @@ interface ElevasisFeaturesContextValue {
415
476
  disabledSubsectionPaths: string[];
416
477
  isFeatureEnabled: (key: string) => boolean;
417
478
  getFeature: (key: string) => FeatureModule | undefined;
479
+ getResolvedFeature: (key: string) => ResolvedFeatureModule | undefined;
418
480
  resolveNavRoute: (path: string) => FeatureRouteResolution;
419
481
  }
420
482
 
421
483
  declare function useElevasisFeatures(): ElevasisFeaturesContextValue;
422
484
  declare function useOptionalElevasisFeatures(): ElevasisFeaturesContextValue | null;
423
- declare function ElevasisFeaturesProvider({ features, organizationModel, timeRange, operationsApiUrl, operationsSSEManager, disabledSubsectionPaths, children }: ElevasisFeaturesProviderProps): react_jsx_runtime.JSX.Element;
485
+ declare function ElevasisFeaturesProvider({ features, organizationModel, appShellOverrides, timeRange, operationsApiUrl, operationsSSEManager, disabledSubsectionPaths, children }: ElevasisFeaturesProviderProps): react_jsx_runtime.JSX.Element;
424
486
 
425
487
  declare function FeatureShell({ children }: {
426
488
  children: ReactNode;
@@ -489,4 +551,4 @@ interface ElevasisUIProviderProps extends Omit<ElevasisCoreProviderProps, 'theme
489
551
  declare function ElevasisUIProvider({ theme, children, ...coreProps }: ElevasisUIProviderProps): react_jsx_runtime.JSX.Element;
490
552
 
491
553
  export { AppearanceProvider, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, ElevasisUIProvider, FeatureShell, NotificationProvider, useAppearance, useElevasisFeatures, useElevasisServices, useNotificationAdapter, useOptionalElevasisFeatures };
492
- export type { ApiKeyConfig, AppearanceConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureRegistry, FeatureRouteResolution, FeatureRouteState, FeatureSidebarComponent, NotificationAdapter, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, PresetName, WithSchemes };
554
+ export type { ApiKeyConfig, AppShellOverrides, AppearanceConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureRegistry, FeatureRouteResolution, FeatureRouteState, FeatureSidebarComponent, NotificationAdapter, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, PresetName, ResolvedFeatureAccess, ResolvedFeatureModule, ResolvedFeatureSemantics, ResolvedFeatureShellModule, ResolvedShellModel, ResolvedShellNavItem, ShellModuleDefinition, ShellNavPlacement, ShellNavSource, ShellRuntime, WithSchemes };
@@ -1,7 +1,7 @@
1
- export { ElevasisUIProvider } from '../chunk-JT7WDIZI.js';
1
+ export { ElevasisUIProvider } from '../chunk-GEJZ6WLM.js';
2
2
  import '../chunk-47YILFON.js';
3
3
  import '../chunk-CYXZHBP4.js';
4
- export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from '../chunk-ISHNN42L.js';
4
+ export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from '../chunk-TNYUWKSJ.js';
5
5
  import '../chunk-RX4UWZZR.js';
6
6
  import '../chunk-Y3D3WFJG.js';
7
7
  import '../chunk-3KMDHCAR.js';
@@ -277,6 +277,14 @@ declare function ElevasisCoreProvider({ auth, queryClient, apiUrl, onError, noti
277
277
  */
278
278
  type TimeRange = '1h' | '24h' | '7d' | '30d';
279
279
 
280
+ declare const SemanticDomainSchema = DisplayMetadataSchema.extend({
281
+ id: ModelIdSchema,
282
+ entityIds: ReferenceIdsSchema,
283
+ surfaceIds: ReferenceIdsSchema,
284
+ resourceIds: ReferenceIdsSchema,
285
+ capabilityIds: ReferenceIdsSchema
286
+ })
287
+
280
288
  declare const FeatureKeySchema = z.enum([
281
289
  'acquisition',
282
290
  'delivery',
@@ -317,6 +325,7 @@ declare const OrganizationModelSchema = z.object({
317
325
  type OrganizationModel = z.infer<typeof OrganizationModelSchema>
318
326
  type OrganizationModelFeatureKey = z.infer<typeof FeatureKeySchema>
319
327
  type OrganizationModelSurface = z.infer<typeof SurfaceDefinitionSchema>
328
+ type OrganizationModelSemanticDomain = z.infer<typeof SemanticDomainSchema>
320
329
 
321
330
  interface EventSourceMessage {
322
331
  id: string;
@@ -367,11 +376,56 @@ type FeatureSidebarComponent = ComponentType;
367
376
  interface FeatureModule {
368
377
  key: string;
369
378
  label?: string;
379
+ accessFeatureKey?: OrganizationModelFeatureKey;
380
+ domainIds?: OrganizationModelSemanticDomain['id'][];
381
+ capabilityIds?: string[];
370
382
  navEntry?: FeatureNavEntry;
371
383
  sidebar?: FeatureSidebarComponent;
372
384
  subshellRoutes?: string[];
373
385
  organizationGraph?: OrganizationGraphFeatureBridge;
374
386
  }
387
+ type ShellModuleDefinition = FeatureModule;
388
+ interface ResolvedFeatureAccess {
389
+ featureKey?: string;
390
+ label?: string;
391
+ enabled: boolean;
392
+ }
393
+ interface ResolvedFeatureSemantics {
394
+ domainIds: OrganizationModelSemanticDomain['id'][];
395
+ capabilityIds: string[];
396
+ surfaceIds: string[];
397
+ surfaces: OrganizationModelSurface[];
398
+ }
399
+ interface ResolvedFeatureShellModule {
400
+ key: string;
401
+ label?: string;
402
+ }
403
+ interface ResolvedFeatureModule extends FeatureModule {
404
+ shellModule: ResolvedFeatureShellModule;
405
+ access: ResolvedFeatureAccess;
406
+ semantics: ResolvedFeatureSemantics;
407
+ }
408
+ type ShellNavPlacement = 'primary' | 'bottom';
409
+ type ShellNavSource = 'app' | 'feature';
410
+ interface ResolvedShellNavItem extends FeatureNavEntry {
411
+ placement: ShellNavPlacement;
412
+ source: ShellNavSource;
413
+ shellModuleKey?: string;
414
+ accessFeatureKey?: string;
415
+ }
416
+ interface ResolvedShellModel {
417
+ primaryNavItems: ResolvedShellNavItem[];
418
+ bottomNavItems: ResolvedShellNavItem[];
419
+ navItems: ResolvedShellNavItem[];
420
+ }
421
+ interface AppShellOverrides {
422
+ primaryNavItems?: FeatureNavEntry[];
423
+ bottomNavItems?: FeatureNavEntry[];
424
+ }
425
+ interface ShellRuntime {
426
+ shellModel: ResolvedShellModel;
427
+ resolveNavRoute: (path: string) => FeatureRouteResolution;
428
+ }
375
429
  interface OrganizationGraphFeatureBridge {
376
430
  surfaceId: string;
377
431
  }
@@ -396,6 +450,7 @@ interface FeatureRegistry {
396
450
  interface ElevasisFeaturesProviderProps {
397
451
  features: FeatureModule[];
398
452
  organizationModel?: OrganizationModel;
453
+ appShellOverrides?: AppShellOverrides;
399
454
  timeRange?: TimeRange;
400
455
  operationsApiUrl?: string;
401
456
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -404,8 +459,14 @@ interface ElevasisFeaturesProviderProps {
404
459
  }
405
460
  interface ElevasisFeaturesContextValue {
406
461
  navItems: FeatureNavEntry[];
462
+ primaryNavItems: ResolvedShellNavItem[];
463
+ bottomNavItems: ResolvedShellNavItem[];
464
+ shellModel: ResolvedShellModel;
465
+ shellRuntime: ShellRuntime;
407
466
  enabledFeatures: FeatureModule[];
408
467
  allFeatures: FeatureModule[];
468
+ enabledResolvedFeatures: ResolvedFeatureModule[];
469
+ resolvedFeatures: ResolvedFeatureModule[];
409
470
  organizationGraph: OrganizationGraphContextValue;
410
471
  organizationModel?: OrganizationModel;
411
472
  timeRange?: TimeRange;
@@ -414,12 +475,13 @@ interface ElevasisFeaturesContextValue {
414
475
  disabledSubsectionPaths: string[];
415
476
  isFeatureEnabled: (key: string) => boolean;
416
477
  getFeature: (key: string) => FeatureModule | undefined;
478
+ getResolvedFeature: (key: string) => ResolvedFeatureModule | undefined;
417
479
  resolveNavRoute: (path: string) => FeatureRouteResolution;
418
480
  }
419
481
 
420
482
  declare function useElevasisFeatures(): ElevasisFeaturesContextValue;
421
483
  declare function useOptionalElevasisFeatures(): ElevasisFeaturesContextValue | null;
422
- declare function ElevasisFeaturesProvider({ features, organizationModel, timeRange, operationsApiUrl, operationsSSEManager, disabledSubsectionPaths, children }: ElevasisFeaturesProviderProps): react_jsx_runtime.JSX.Element;
484
+ declare function ElevasisFeaturesProvider({ features, organizationModel, appShellOverrides, timeRange, operationsApiUrl, operationsSSEManager, disabledSubsectionPaths, children }: ElevasisFeaturesProviderProps): react_jsx_runtime.JSX.Element;
423
485
 
424
486
  declare function FeatureShell({ children }: {
425
487
  children: ReactNode;
@@ -467,4 +529,4 @@ declare function useElevasisServices(): ElevasisServiceContextValue;
467
529
  declare function ElevasisServiceProvider({ apiRequest, organizationId, isReady, children }: ElevasisServiceProviderProps): react_jsx_runtime.JSX.Element;
468
530
 
469
531
  export { AppearanceProvider, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, FeatureShell, NotificationProvider, useAppearance, useElevasisFeatures, useElevasisServices, useNotificationAdapter, useOptionalElevasisFeatures };
470
- export type { ApiKeyConfig, AppearanceConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisTokenOverrides, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureRegistry, FeatureRouteResolution, FeatureRouteState, FeatureSidebarComponent, NotificationAdapter, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, WithSchemes };
532
+ export type { ApiKeyConfig, AppShellOverrides, AppearanceConfig, AuthConfig, AuthKitConfig, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisTokenOverrides, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureRegistry, FeatureRouteResolution, FeatureRouteState, FeatureSidebarComponent, NotificationAdapter, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, ResolvedFeatureAccess, ResolvedFeatureModule, ResolvedFeatureSemantics, ResolvedFeatureShellModule, ResolvedShellModel, ResolvedShellNavItem, ShellModuleDefinition, ShellNavPlacement, ShellNavSource, ShellRuntime, WithSchemes };
@@ -1,4 +1,4 @@
1
- export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from '../chunk-ISHNN42L.js';
1
+ export { ElevasisCoreProvider, ElevasisFeaturesProvider, FeatureShell, NotificationProvider, useElevasisFeatures, useNotificationAdapter, useOptionalElevasisFeatures } from '../chunk-TNYUWKSJ.js';
2
2
  import '../chunk-RX4UWZZR.js';
3
3
  import '../chunk-Y3D3WFJG.js';
4
4
  import '../chunk-3KMDHCAR.js';
@@ -3052,6 +3052,40 @@ type SupabaseApiKey = Tables<'api_keys'>;
3052
3052
  /** API response type for API key list items (omits sensitive key_hash) */
3053
3053
  type ApiKeyListItem = Omit<SupabaseApiKey, 'key_hash'>;
3054
3054
 
3055
+ /** Raw database row type for acq_deals table */
3056
+ type AcqDealRow = Database['public']['Tables']['acq_deals']['Row'];
3057
+ type DealStage = 'interested' | 'proposal' | 'closing' | 'closed_won' | 'closed_lost' | 'nurturing';
3058
+ interface KanbanStageConfig {
3059
+ color: string;
3060
+ label?: string;
3061
+ }
3062
+ type KanbanBoardConfig = Partial<Record<DealStage, KanbanStageConfig>>;
3063
+ interface DealContact {
3064
+ id: string;
3065
+ first_name: string | null;
3066
+ last_name: string | null;
3067
+ email: string;
3068
+ title: string | null;
3069
+ headline: string | null;
3070
+ linkedin_url: string | null;
3071
+ pipeline_status: Record<string, unknown> | null;
3072
+ enrichment_data: Record<string, unknown> | null;
3073
+ company: {
3074
+ id: string;
3075
+ name: string;
3076
+ domain: string | null;
3077
+ website: string | null;
3078
+ linkedin_url: string | null;
3079
+ segment: string | null;
3080
+ category: string | null;
3081
+ num_employees: number | null;
3082
+ } | null;
3083
+ }
3084
+ /** Deal list item with joined contact and company data */
3085
+ interface DealListItem extends AcqDealRow {
3086
+ contact: DealContact | null;
3087
+ }
3088
+
3055
3089
  /**
3056
3090
  * Origin resource type - where an execution/task originated from.
3057
3091
  * Used for audit trails and tracking execution lineage.
@@ -3128,40 +3162,6 @@ interface TaskSchedule extends ScheduleOriginTracking {
3128
3162
  updatedAt: Date;
3129
3163
  }
3130
3164
 
3131
- /** Raw database row type for acq_deals table */
3132
- type AcqDealRow = Database['public']['Tables']['acq_deals']['Row'];
3133
- type DealStage = 'interested' | 'proposal' | 'closing' | 'closed_won' | 'closed_lost' | 'nurturing';
3134
- interface KanbanStageConfig {
3135
- color: string;
3136
- label?: string;
3137
- }
3138
- type KanbanBoardConfig = Partial<Record<DealStage, KanbanStageConfig>>;
3139
- interface DealContact {
3140
- id: string;
3141
- first_name: string | null;
3142
- last_name: string | null;
3143
- email: string;
3144
- title: string | null;
3145
- headline: string | null;
3146
- linkedin_url: string | null;
3147
- pipeline_status: Record<string, unknown> | null;
3148
- enrichment_data: Record<string, unknown> | null;
3149
- company: {
3150
- id: string;
3151
- name: string;
3152
- domain: string | null;
3153
- website: string | null;
3154
- linkedin_url: string | null;
3155
- segment: string | null;
3156
- category: string | null;
3157
- num_employees: number | null;
3158
- } | null;
3159
- }
3160
- /** Deal list item with joined contact and company data */
3161
- interface DealListItem extends AcqDealRow {
3162
- contact: DealContact | null;
3163
- }
3164
-
3165
3165
  type MessageType = MessageEvent$1['type'];
3166
3166
  /**
3167
3167
  * Session Data Transfer Object (DTO)
@@ -5634,72 +5634,39 @@ interface NotificationDTO {
5634
5634
  createdAt: string
5635
5635
  }
5636
5636
 
5637
- // Workflow configuration
5638
- interface WorkflowConfig extends ResourceDefinition {
5639
- type: 'workflow'
5640
- }
5641
-
5642
- // Workflow step definition
5643
- interface WorkflowStepDefinition {
5644
- id: string
5645
- name: string
5646
- description: string
5647
- }
5648
-
5649
- // Step handler function type
5650
- type StepHandler = (input: unknown, context: ExecutionContext) => Promise<unknown>
5651
-
5652
- // Next step configuration types
5653
- interface LinearNext {
5654
- type: 'linear'
5655
- target: string
5656
- }
5657
-
5658
- interface ConditionalNext {
5659
- type: 'conditional'
5660
- routes: Array<{
5661
- condition: (data: unknown) => boolean
5662
- target: string
5663
- }>
5664
- default: string // Required to avoid ambiguity
5665
- }
5666
-
5667
- type NextConfig =
5668
- | LinearNext // Go to specific step
5669
- | ConditionalNext // Conditional routing
5670
- | null // Explicitly end workflow
5671
-
5672
- // Workflow step with graph-based flow
5673
- interface WorkflowStep extends WorkflowStepDefinition {
5674
- handler: StepHandler
5675
-
5676
- // I/O validation (BOTH REQUIRED for complete type safety)
5677
- inputSchema: z.ZodSchema // Validates input from previous step or workflow
5678
- outputSchema: z.ZodSchema // Validates output before next step
5679
-
5680
- next: NextConfig // Required - explicit flow decision for every step
5681
- }
5682
-
5683
- // Workflow definition - pure configuration without instance state
5684
- // Used by registry to define workflows that can be instantiated
5685
- interface WorkflowDefinition {
5686
- config: WorkflowConfig
5687
- contract: Contract
5688
- steps: Record<string, WorkflowStep>
5689
- entryPoint: string
5690
-
5691
- /**
5692
- * Metrics configuration for ROI calculations
5693
- * Optional: Only needed if tracking automation savings
5694
- */
5695
- metricsConfig?: ResourceMetricsConfig
5696
-
5697
- /**
5698
- * Execution interface configuration (optional)
5699
- * If provided, workflow appears in Execution Runner UI
5700
- */
5701
- interface?: ExecutionInterface
5702
- }
5637
+ /**
5638
+ * Supported integration types
5639
+ *
5640
+ * These represent the available integration adapters that can be used with tools.
5641
+ * Each integration type corresponds to an adapter implementation.
5642
+ *
5643
+ * Note: Concrete adapter implementations are deferred until needed.
5644
+ * This type provides compile-time safety and auto-completion for tool definitions.
5645
+ */
5646
+ type IntegrationType =
5647
+ | 'gmail' // Google Gmail API
5648
+ | 'google-sheets' // Google Sheets API
5649
+ | 'slack' // Slack API
5650
+ | 'github' // GitHub API
5651
+ | 'linear' // Linear API
5652
+ | 'attio' // Attio CRM API
5653
+ | 'airtable' // Airtable API
5654
+ | 'salesforce' // Salesforce API
5655
+ | 'hubspot' // HubSpot API
5656
+ | 'stripe' // Stripe API
5657
+ | 'twilio' // Twilio API
5658
+ | 'sendgrid' // SendGrid API
5659
+ | 'mailgun' // Mailgun API
5660
+ | 'zapier' // Zapier Webhooks
5661
+ | 'webhook' // Generic webhook
5662
+ | 'apify' // Apify actor automation
5663
+ | 'instantly' // Instantly.ai email automation
5664
+ | 'resend' // Resend transactional email API
5665
+ | 'signature-api' // SignatureAPI eSignature service
5666
+ | 'dropbox' // Dropbox file storage API
5667
+ | 'anymailfinder' // Anymailfinder email finder API
5668
+ | 'tomba' // Tomba email discovery API
5669
+ | 'millionverifier'
5703
5670
 
5704
5671
  /**
5705
5672
  * Standard Domain Definitions
@@ -5738,40 +5705,6 @@ declare const DOMAINS = {
5738
5705
  */
5739
5706
  type ResourceDomain = (typeof DOMAINS)[keyof typeof DOMAINS]
5740
5707
 
5741
- /**
5742
- * Supported integration types
5743
- *
5744
- * These represent the available integration adapters that can be used with tools.
5745
- * Each integration type corresponds to an adapter implementation.
5746
- *
5747
- * Note: Concrete adapter implementations are deferred until needed.
5748
- * This type provides compile-time safety and auto-completion for tool definitions.
5749
- */
5750
- type IntegrationType =
5751
- | 'gmail' // Google Gmail API
5752
- | 'google-sheets' // Google Sheets API
5753
- | 'slack' // Slack API
5754
- | 'github' // GitHub API
5755
- | 'linear' // Linear API
5756
- | 'attio' // Attio CRM API
5757
- | 'airtable' // Airtable API
5758
- | 'salesforce' // Salesforce API
5759
- | 'hubspot' // HubSpot API
5760
- | 'stripe' // Stripe API
5761
- | 'twilio' // Twilio API
5762
- | 'sendgrid' // SendGrid API
5763
- | 'mailgun' // Mailgun API
5764
- | 'zapier' // Zapier Webhooks
5765
- | 'webhook' // Generic webhook
5766
- | 'apify' // Apify actor automation
5767
- | 'instantly' // Instantly.ai email automation
5768
- | 'resend' // Resend transactional email API
5769
- | 'signature-api' // SignatureAPI eSignature service
5770
- | 'dropbox' // Dropbox file storage API
5771
- | 'anymailfinder' // Anymailfinder email finder API
5772
- | 'tomba' // Tomba email discovery API
5773
- | 'millionverifier'
5774
-
5775
5708
  /**
5776
5709
  * Resource Registry type definitions
5777
5710
  */
@@ -6486,6 +6419,73 @@ interface Contract {
6486
6419
  outputSchema?: z.ZodSchema // Optional - if present, agent generates output
6487
6420
  }
6488
6421
 
6422
+ // Workflow configuration
6423
+ interface WorkflowConfig extends ResourceDefinition {
6424
+ type: 'workflow'
6425
+ }
6426
+
6427
+ // Workflow step definition
6428
+ interface WorkflowStepDefinition {
6429
+ id: string
6430
+ name: string
6431
+ description: string
6432
+ }
6433
+
6434
+ // Step handler function type
6435
+ type StepHandler = (input: unknown, context: ExecutionContext) => Promise<unknown>
6436
+
6437
+ // Next step configuration types
6438
+ interface LinearNext {
6439
+ type: 'linear'
6440
+ target: string
6441
+ }
6442
+
6443
+ interface ConditionalNext {
6444
+ type: 'conditional'
6445
+ routes: Array<{
6446
+ condition: (data: unknown) => boolean
6447
+ target: string
6448
+ }>
6449
+ default: string // Required to avoid ambiguity
6450
+ }
6451
+
6452
+ type NextConfig =
6453
+ | LinearNext // Go to specific step
6454
+ | ConditionalNext // Conditional routing
6455
+ | null // Explicitly end workflow
6456
+
6457
+ // Workflow step with graph-based flow
6458
+ interface WorkflowStep extends WorkflowStepDefinition {
6459
+ handler: StepHandler
6460
+
6461
+ // I/O validation (BOTH REQUIRED for complete type safety)
6462
+ inputSchema: z.ZodSchema // Validates input from previous step or workflow
6463
+ outputSchema: z.ZodSchema // Validates output before next step
6464
+
6465
+ next: NextConfig // Required - explicit flow decision for every step
6466
+ }
6467
+
6468
+ // Workflow definition - pure configuration without instance state
6469
+ // Used by registry to define workflows that can be instantiated
6470
+ interface WorkflowDefinition {
6471
+ config: WorkflowConfig
6472
+ contract: Contract
6473
+ steps: Record<string, WorkflowStep>
6474
+ entryPoint: string
6475
+
6476
+ /**
6477
+ * Metrics configuration for ROI calculations
6478
+ * Optional: Only needed if tracking automation savings
6479
+ */
6480
+ metricsConfig?: ResourceMetricsConfig
6481
+
6482
+ /**
6483
+ * Execution interface configuration (optional)
6484
+ * If provided, workflow appears in Execution Runner UI
6485
+ */
6486
+ interface?: ExecutionInterface
6487
+ }
6488
+
6489
6489
  /**
6490
6490
  * Agent timeline and observability types
6491
6491
  * Used for UI timeline visualization and backend processing
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "2.4.0",
3
+ "version": "2.5.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",
@@ -8,7 +8,8 @@
8
8
  "**/*.css"
9
9
  ],
10
10
  "files": [
11
- "dist"
11
+ "dist",
12
+ "src/**/README.md"
12
13
  ],
13
14
  "exports": {
14
15
  "./provider": {
@@ -260,7 +261,7 @@
260
261
  "tsup": "^8.0.0",
261
262
  "typescript": "5.9.2",
262
263
  "vite": "^7.0.0",
263
- "@repo/core": "0.0.0",
264
+ "@repo/core": "0.1.0",
264
265
  "@repo/typescript-config": "0.0.0",
265
266
  "@repo/eslint-config": "0.0.0"
266
267
  },
package/src/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # @elevasis/ui
2
+
3
+ Shared UI package for Elevasis. In the monorepo, import from `@repo/ui`. Published consumers import from `@elevasis/ui`.
4
+
5
+ ## Published Surfaces
6
+
7
+ - `./provider` and `./provider/ui`
8
+ - `./auth` and `./auth/context`
9
+ - `./hooks`
10
+ - `./sse`
11
+ - `./initialization`
12
+ - `./profile`
13
+ - `./organization`
14
+ - `./api`
15
+ - `./features/*`
16
+ - `./components` and the grouped component subpaths
17
+ - `./theme`
18
+ - `./graph`
19
+ - `./execution`
20
+ - `./router`
21
+ - `./types`
22
+ - `./utils`
23
+ - `./zustand`
24
+
25
+ ## Notes
26
+
27
+ - `./supabase` is monorepo-only and intentionally excluded from the published npm surface.
28
+ - The package is built before publish, so source-adjacent docs should stay aligned with the current export barrels.
29
+