@elevasis/ui 2.36.0 → 2.38.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 (95) hide show
  1. package/dist/api/index.js +4 -3
  2. package/dist/app/index.css +0 -384
  3. package/dist/app/index.d.ts +75 -2
  4. package/dist/app/index.js +22 -21
  5. package/dist/auth/index.d.ts +91 -28
  6. package/dist/auth/index.js +5 -1
  7. package/dist/charts/index.js +9 -3
  8. package/dist/chunk-4O3VAALW.js +349 -0
  9. package/dist/{chunk-O2Q4VMRN.js → chunk-566XWGPP.js} +76 -109
  10. package/dist/chunk-5EYJ2GIN.js +122 -0
  11. package/dist/chunk-6D4LCJ52.js +10 -0
  12. package/dist/chunk-6ROXVZ3L.js +9 -0
  13. package/dist/{chunk-YYX7OPZQ.js → chunk-73EWE2EW.js} +1 -1
  14. package/dist/{chunk-SIQ3P4OR.js → chunk-7GQFIWP4.js} +8 -756
  15. package/dist/{chunk-VKIZUUPM.js → chunk-7YXZFS56.js} +31 -14
  16. package/dist/{chunk-AKW7KISS.js → chunk-7ZWXTH5J.js} +2 -44
  17. package/dist/chunk-A7IG36LB.js +215 -0
  18. package/dist/chunk-B2DZLPDL.js +39 -0
  19. package/dist/chunk-C6BDBZRO.js +422 -0
  20. package/dist/chunk-CLDCYJQT.js +1 -0
  21. package/dist/{chunk-LUYVRATI.js → chunk-DA6I5VEY.js} +5 -213
  22. package/dist/chunk-H2MEFUQD.js +337 -0
  23. package/dist/chunk-I53EX4VU.js +734 -0
  24. package/dist/chunk-IIMU5YAJ.js +53 -0
  25. package/dist/chunk-JXVNHVK7.js +79 -0
  26. package/dist/chunk-M7Q4UBRY.js +85 -0
  27. package/dist/{chunk-K4UZU3TU.js → chunk-P34FFSOX.js} +1 -1
  28. package/dist/chunk-PGWANFNE.js +112 -0
  29. package/dist/{chunk-F6EFC2MJ.js → chunk-Q64E2TZY.js} +440 -2075
  30. package/dist/chunk-S3XR4II4.js +30 -0
  31. package/dist/chunk-SHZT7ULK.js +425 -0
  32. package/dist/{chunk-GX6XBRRF.js → chunk-TYRUKGGD.js} +2 -1
  33. package/dist/{chunk-R3VCBZDC.js → chunk-X4WBGKJQ.js} +3 -50
  34. package/dist/{chunk-GEFWMU26.js → chunk-X66MVMZT.js} +1 -9
  35. package/dist/{chunk-57OZ3AEG.js → chunk-Y3JQBSKQ.js} +1 -1
  36. package/dist/components/index.d.ts +74 -42
  37. package/dist/components/index.js +34 -19
  38. package/dist/components/navigation/index.js +3 -31
  39. package/dist/features/auth/index.d.ts +97 -99
  40. package/dist/features/auth/index.js +37 -99
  41. package/dist/features/clients/index.js +34 -19
  42. package/dist/features/crm/index.d.ts +65 -0
  43. package/dist/features/crm/index.js +34 -19
  44. package/dist/features/dashboard/index.js +34 -19
  45. package/dist/features/delivery/index.d.ts +65 -0
  46. package/dist/features/delivery/index.js +34 -19
  47. package/dist/features/knowledge/index.js +6 -30
  48. package/dist/features/lead-gen/index.d.ts +1096 -1
  49. package/dist/features/lead-gen/index.js +34 -19
  50. package/dist/features/monitoring/index.js +34 -19
  51. package/dist/features/monitoring/requests/index.js +34 -19
  52. package/dist/features/notes/index.d.ts +72 -0
  53. package/dist/features/notes/index.js +621 -0
  54. package/dist/features/operations/index.d.ts +10 -2
  55. package/dist/features/operations/index.js +34 -19
  56. package/dist/features/right-panel-host/index.d.ts +214 -0
  57. package/dist/features/right-panel-host/index.js +639 -0
  58. package/dist/features/seo/index.js +3 -2
  59. package/dist/features/settings/index.d.ts +68 -35
  60. package/dist/features/settings/index.js +34 -19
  61. package/dist/hooks/access/index.d.ts +90 -0
  62. package/dist/hooks/access/index.js +10 -0
  63. package/dist/hooks/delivery/index.d.ts +65 -0
  64. package/dist/hooks/delivery/index.js +34 -19
  65. package/dist/hooks/index.d.ts +1644 -1651
  66. package/dist/hooks/index.js +34 -19
  67. package/dist/hooks/published.d.ts +1644 -1651
  68. package/dist/hooks/published.js +34 -19
  69. package/dist/hooks/user-notes/index.d.ts +57 -0
  70. package/dist/hooks/user-notes/index.js +3 -0
  71. package/dist/index.d.ts +294 -277
  72. package/dist/index.js +35 -20
  73. package/dist/initialization/index.d.ts +65 -19
  74. package/dist/knowledge/index.d.ts +10 -2
  75. package/dist/knowledge/index.js +173 -28
  76. package/dist/layout/index.js +5 -3
  77. package/dist/organization/index.d.ts +0 -19
  78. package/dist/organization/index.js +34 -19
  79. package/dist/profile/index.d.ts +65 -0
  80. package/dist/provider/index.css +0 -384
  81. package/dist/provider/index.d.ts +75 -2
  82. package/dist/provider/index.js +16 -21
  83. package/dist/provider/published.css +0 -523
  84. package/dist/provider/published.d.ts +75 -2
  85. package/dist/provider/published.js +11 -21
  86. package/dist/supabase/index.d.ts +127 -0
  87. package/dist/test-utils/index.d.ts +2 -21
  88. package/dist/test-utils/index.js +5 -18
  89. package/dist/theme/index.js +3 -1
  90. package/dist/types/index.d.ts +115 -59
  91. package/dist/utils/index.js +2 -1
  92. package/package.json +21 -5
  93. package/src/auth/README.md +6 -6
  94. package/dist/components/navigation/index.css +0 -649
  95. package/dist/features/knowledge/index.css +0 -649
package/dist/index.js CHANGED
@@ -1,34 +1,49 @@
1
- export { createElevasisQueryClient } from './chunk-YYX7OPZQ.js';
2
- export { AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppErrorBoundary, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, Can, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialService, CredentialSettings, CrmActionsProvider, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, ElevasisCoreProvider, ElevasisSystemsProvider, ElevasisUIProvider, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, ListActionsProvider, LogEntry, LogGroup, MdxRenderer, MembershipFeaturePanel, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, NotificationProvider, OAuthConnectModal, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipService, OrganizationMembershipsList, OrganizationProvider, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StepConfigForm, SystemShell, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointService, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, buildErrorReport, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createFeatureAccessHook, createOrganizationsSlice, createTestSystemsProvider, createUseOrgInitialization, createUseOrganizations, crmManifest, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, executionsKeys, filterByDomainFilters, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getResourceFilterFacetIds, getStatusColor, iconMap, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBreadcrumbs, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmActions, useCrmPipelineSummary, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask2 as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useElevasisSystems, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useHasPermission, useInFlightExecutions, useList, useListActions, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationAdapter, useNotificationCount as useNotificationCountSSE, useNotifications, useOptionalElevasisSystems, useOrgRoles, useOrganizationMembers, useOrganizationPermissions, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResolvedOrganizationModel, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMemberConfig, useUpdateMilestone, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution } from './chunk-F6EFC2MJ.js';
3
- import './chunk-CXY7FMUM.js';
4
- export { APIErrorAlert, ActivityTimeline, ActivityTrendChart, CardHeader, CenteredErrorState, ChartFrame, CollapsibleSection, CombinedTrendChart, ContextViewer, CostTrendChart, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, DetailCardSkeleton, ElevasisLoader, EmptyState, FeatureUnavailableState, GlowDot, HeroStatsRow, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator, getSeriesColor, observabilityKeys, useCyberColors, useErrorTrends } from './chunk-SIQ3P4OR.js';
5
- export { StyledMarkdown } from './chunk-3KMDHCAR.js';
6
- export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, mantineThemeOverride, useAvailablePresets, usePresetsContext } from './chunk-AKW7KISS.js';
7
- export { generateShades, getPreset, PRESETS as presets } from './chunk-WF7CONXF.js';
8
- import './chunk-ZTWA5H77.js';
1
+ export { createElevasisQueryClient } from './chunk-73EWE2EW.js';
2
+ export { AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFeedWidget, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CheckpointGroup, CollapsibleJsonSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CreateApiKeyModal, CreateCredentialModal, CreateRoleModal, CreateScheduleModal, CredentialList, CredentialService, CredentialSettings, CrmOverview, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, DEAL_STAGES, DEFAULT_KANBAN_CONFIG, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, EditApiKeyModal, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, KanbanBoard, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LogEntry, LogGroup, MdxRenderer, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyTasksPanel, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrganizationMembershipService, OrganizationMembershipsList, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PermissionMatrix, PipelineFunnelWidget, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, QuickCreateActions, RecurringScheduleForm, RelativeScheduleForm, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, RichTextEditor, RoleBadge, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StepConfigForm, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UpcomingMilestonesPage, VisualizerContainer, WebhookEndpointService, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, ZodFormRenderer, acquisitionListKeys, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations, crmManifest, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, executionsKeys, filterByDomainFilters, formatStatusLabel, getEnrichmentColor, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, getResourceFilterFacetIds, getStatusColor, iconMap, isSessionCapable, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, noteKeys, noteTypeColors, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectStatusColors, requestsKeys, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, taskKeys, taskStatusColors, taskTypeColors, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmPipelineSummary, useCrmQuickMetrics, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask2 as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useList, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationCount as useNotificationCountSSE, useNotifications, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStatusFilter, useSubmitAction, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution } from './chunk-Q64E2TZY.js';
3
+ export { useAvailablePresets } from './chunk-B2DZLPDL.js';
4
+ export { AppErrorBoundary, CrashErrorFallback, ErrorReportCard, buildErrorReport } from './chunk-SHZT7ULK.js';
9
5
  export { TypeformArrayField, TypeformCheckboxGroup, TypeformNavigation, TypeformProgress, TypeformQuestionWrapper, TypeformRadioGroup, TypeformSurvey, TypeformTextInput, brochureStyles, brochureTheme, createCustomValue, createPresetValue, createSurveyConfig, defaultTheme, extractAnswerValue, extractMultiAnswerValues, getAnswerString, getCustomValueText, getMultiAnswerStrings, hasCustomValue, hasPresetValue, isCustomValue, isPresetValue, mergeTheme, useCardStyle, useTypeform, useTypeformContext } from './chunk-AUDNF2Q7.js';
10
6
  export { answerValueSchema, checkboxWithOtherSchema, multiAnswerValueSchema, radioWithOtherSchema } from './chunk-6M6OLGQY.js';
11
7
  import './chunk-BRXELOHC.js';
12
- export { DEFAULT_SEMANTIC_ICON_REGISTRY, SemanticIcon, extendSemanticIconRegistry, getSemanticIconComponent, resolveSemanticIconComponent } from './chunk-O2Q4VMRN.js';
13
- export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceProvider, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useAppearance, useSidebar, useSidebarCollapse } from './chunk-LUYVRATI.js';
14
- export { NavigationButton } from './chunk-NYBEU5TE.js';
15
- export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground } from './chunk-WLOQ4IBG.js';
16
- export { ApiClientProvider, useApiClient, useApiClientContext } from './chunk-57OZ3AEG.js';
8
+ export { useBreadcrumbs } from './chunk-M7Q4UBRY.js';
9
+ import './chunk-CXY7FMUM.js';
10
+ export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, observabilityKeys, useCyberColors, useErrorTrends } from './chunk-7GQFIWP4.js';
17
11
  export { createUseAppInitialization } from './chunk-JBWJ6WHZ.js';
18
- export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from './chunk-GX6XBRRF.js';
19
- export { SubshellNavItem, SubshellSidebarSection } from './chunk-R3VCBZDC.js';
20
- export { sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from './chunk-DT3QYZVU.js';
21
- export { ScrollToTop, TanStackRouterBridge } from './chunk-2IFYDILW.js';
22
- export { RouterProvider, useRouterContext } from './chunk-Q7DJKLEN.js';
12
+ import './chunk-ZTWA5H77.js';
13
+ import './chunk-5EYJ2GIN.js';
14
+ export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellLoader, SubshellNavList, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from './chunk-DA6I5VEY.js';
15
+ import './chunk-CLDCYJQT.js';
16
+ export { SEOSidebar, SEOSidebarMiddle, SEOSidebarTop, seoManifest } from './chunk-TYRUKGGD.js';
17
+ export { SubshellNavItem } from './chunk-X4WBGKJQ.js';
18
+ export { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
23
19
  export { GRAPH_CONSTANTS, calculateGraphHeight, Graph_module_css_default as graphStyles, useConnectionHighlight, useDirectedChainHighlighting, useFitViewTrigger, useGraphHighlighting, useNodeSelection } from './chunk-HENXLGVD.js';
24
20
  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-7FPLLSHN.js';
25
21
  import './chunk-RNP5R5I3.js';
26
- export { APIClientError, API_URL, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, LIMIT_ACTIVITY_FEED, OAUTH_FLOW_TIMEOUT, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce, formatChartAxisDate, formatDate, formatDateTime, formatErrorMessage, formatRelativeTime, formatTimeAgo, getErrorInfo, getErrorTitle, getResourceColor, getResourceIcon, getTimeRangeDates, getTimeRangeLabel, isAPIClientError, restoreConsole, setupBrowserMocks, suppressKnownWarnings, validateEmail } from './chunk-GEFWMU26.js';
22
+ export { ElevasisUIProvider, createTestSystemsProvider, useResolvedOrganizationModel } from './chunk-PGWANFNE.js';
23
+ export { TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, mantineThemeOverride } from './chunk-7ZWXTH5J.js';
24
+ export { PresetsProvider, usePresetsContext } from './chunk-6D4LCJ52.js';
25
+ export { generateShades, getPreset, PRESETS as presets } from './chunk-WF7CONXF.js';
26
+ export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground } from './chunk-WLOQ4IBG.js';
27
+ export { CrmActionsProvider, ElevasisCoreProvider, ListActionsProvider, NotificationProvider, OrganizationProvider, SystemShell, useCrmActions, useListActions, useNotificationAdapter } from './chunk-H2MEFUQD.js';
28
+ export { APIErrorAlert, ActivityTimeline, CenteredErrorState, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, ElevasisLoader, EmptyState, FeatureUnavailableState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, TabCountBadge, TimeRangeSelector, TrendIndicator } from './chunk-I53EX4VU.js';
29
+ export { StyledMarkdown } from './chunk-3KMDHCAR.js';
30
+ export { CardHeader } from './chunk-S3XR4II4.js';
31
+ export { AppearanceProvider, SubshellContainer, SubshellContentContainer, SubshellRightSideContainer, SubshellSidebar, useAppearance } from './chunk-A7IG36LB.js';
32
+ export { NavigationButton } from './chunk-NYBEU5TE.js';
33
+ export { ApiClientProvider, useApiClient, useApiClientContext } from './chunk-Y3JQBSKQ.js';
34
+ export { sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from './chunk-DT3QYZVU.js';
35
+ export { ScrollToTop, TanStackRouterBridge } from './chunk-2IFYDILW.js';
36
+ export { RouterProvider, useRouterContext } from './chunk-Q7DJKLEN.js';
37
+ export { APIClientError, API_URL, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, LIMIT_ACTIVITY_FEED, OAUTH_FLOW_TIMEOUT, PAGE_SIZE_DEFAULT, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce, formatChartAxisDate, formatDate, formatDateTime, formatErrorMessage, formatRelativeTime, formatTimeAgo, getErrorInfo, getErrorTitle, getResourceColor, getResourceIcon, getTimeRangeDates, getTimeRangeLabel, isAPIClientError, restoreConsole, setupBrowserMocks, suppressKnownWarnings, validateEmail } from './chunk-X66MVMZT.js';
27
38
  export { ResourceStatusColors } from './chunk-KRWALB24.js';
28
- export { AdminGuard, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from './chunk-VKIZUUPM.js';
39
+ export { AccessGuard, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from './chunk-7YXZFS56.js';
40
+ export { AccessKeys, useAccess } from './chunk-4O3VAALW.js';
41
+ export { ElevasisSystemsProvider, useElevasisSystems, useOptionalElevasisSystems } from './chunk-C6BDBZRO.js';
29
42
  export { InitializationContext, InitializationProvider, useInitialization } from './chunk-533DUEQY.js';
43
+ export { DEFAULT_SEMANTIC_ICON_REGISTRY, SemanticIcon, extendSemanticIconRegistry, getSemanticIconComponent, resolveSemanticIconComponent } from './chunk-566XWGPP.js';
30
44
  export { OrganizationContext, useOrganization } from './chunk-DD3CCMCZ.js';
31
45
  export { ProfileProvider, UserProfileService, useProfile, useUserProfile } from './chunk-2Q2JQSQO.js';
46
+ export { GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING } from './chunk-6ROXVZ3L.js';
32
47
  export { ElevasisServiceProvider, useElevasisServices } from './chunk-KJ3QUBNU.js';
33
48
  export { AuthProvider, useAuthContext } from './chunk-BRJ3QZ4E.js';
34
49
  import './chunk-I2KLQ2HA.js';
@@ -1461,6 +1461,51 @@ type Database = {
1461
1461
  }
1462
1462
  ];
1463
1463
  };
1464
+ deployment_organization_models: {
1465
+ Row: {
1466
+ created_at: string;
1467
+ deployment_id: string;
1468
+ model_hash: string | null;
1469
+ organization_id: string;
1470
+ organization_model: Json;
1471
+ schema_version: string;
1472
+ updated_at: string;
1473
+ };
1474
+ Insert: {
1475
+ created_at?: string;
1476
+ deployment_id: string;
1477
+ model_hash?: string | null;
1478
+ organization_id: string;
1479
+ organization_model: Json;
1480
+ schema_version?: string;
1481
+ updated_at?: string;
1482
+ };
1483
+ Update: {
1484
+ created_at?: string;
1485
+ deployment_id?: string;
1486
+ model_hash?: string | null;
1487
+ organization_id?: string;
1488
+ organization_model?: Json;
1489
+ schema_version?: string;
1490
+ updated_at?: string;
1491
+ };
1492
+ Relationships: [
1493
+ {
1494
+ foreignKeyName: "deployment_organization_models_deployment_id_fkey";
1495
+ columns: ["deployment_id"];
1496
+ isOneToOne: true;
1497
+ referencedRelation: "deployments";
1498
+ referencedColumns: ["id"];
1499
+ },
1500
+ {
1501
+ foreignKeyName: "deployment_organization_models_organization_id_fkey";
1502
+ columns: ["organization_id"];
1503
+ isOneToOne: false;
1504
+ referencedRelation: "organizations";
1505
+ referencedColumns: ["id"];
1506
+ }
1507
+ ];
1508
+ };
1464
1509
  deployments: {
1465
1510
  Row: {
1466
1511
  created_at: string;
@@ -2982,6 +3027,12 @@ type Database = {
2982
3027
  Args: never;
2983
3028
  Returns: boolean;
2984
3029
  };
3030
+ current_user_shares_org_with: {
3031
+ Args: {
3032
+ other_user_id: string;
3033
+ };
3034
+ Returns: boolean;
3035
+ };
2985
3036
  current_user_supabase_id: {
2986
3037
  Args: never;
2987
3038
  Returns: string;
@@ -3021,6 +3072,20 @@ type Database = {
3021
3072
  Args: never;
3022
3073
  Returns: string;
3023
3074
  };
3075
+ has_org_access: {
3076
+ Args: {
3077
+ action?: string;
3078
+ org_id: string;
3079
+ system_path: string;
3080
+ };
3081
+ Returns: boolean;
3082
+ } | {
3083
+ Args: {
3084
+ action?: string;
3085
+ system_path: string;
3086
+ };
3087
+ Returns: boolean;
3088
+ };
3024
3089
  has_org_permission: {
3025
3090
  Args: {
3026
3091
  org_id: string;
@@ -3104,24 +3169,6 @@ type Tables<DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema["Tables
3104
3169
 
3105
3170
  type SupabaseUserProfile = Tables<'users'>;
3106
3171
 
3107
- /**
3108
- * Multi-tenancy configuration types
3109
- *
3110
- * Config is stored in dedicated `config` columns (NOT nested in metadata):
3111
- * - organizations.config: Org-level config (no feature toggles -- all features available by default)
3112
- * - org_memberships.config: Per-user-per-org feature overrides
3113
- * - users.config: User-global config
3114
- */
3115
-
3116
- /**
3117
- * Per-user-per-org config (stored in org_memberships.config)
3118
- * Controls which features a specific member can access within their org.
3119
- * Keys are feature IDs from the organization model (e.g. crm, lead-gen, projects, seo).
3120
- */
3121
- interface MembershipFeatureConfig {
3122
- features?: Record<string, boolean>;
3123
- }
3124
-
3125
3172
  /**
3126
3173
  * Organization Membership types based on WorkOS API
3127
3174
  */
@@ -3158,7 +3205,6 @@ interface MembershipWithDetails extends OrganizationMembership {
3158
3205
  metadata?: Record<string, unknown>;
3159
3206
  config?: Record<string, unknown>;
3160
3207
  };
3161
- config?: MembershipFeatureConfig;
3162
3208
  }
3163
3209
 
3164
3210
  /**
@@ -538,7 +538,11 @@ declare const OrganizationModelSchema: z.ZodObject<{
538
538
  light: z.ZodOptional<z.ZodString>;
539
539
  dark: z.ZodOptional<z.ZodString>;
540
540
  }, z.core.$strip>>;
541
- }, z.core.$strip>>;
541
+ voice: z.ZodOptional<z.ZodString>;
542
+ tagline: z.ZodOptional<z.ZodString>;
543
+ values: z.ZodOptional<z.ZodArray<z.ZodString>>;
544
+ themePresetId: z.ZodOptional<z.ZodString>;
545
+ }, z.core.$loose>>;
542
546
  navigation: z.ZodDefault<z.ZodObject<{
543
547
  sidebar: z.ZodDefault<z.ZodObject<{
544
548
  primary: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodType<SidebarNode, unknown, z.core.$ZodTypeInternals<SidebarNode, unknown>>>>;
@@ -585,7 +589,11 @@ declare const OrganizationModelSchema: z.ZodObject<{
585
589
  }, z.core.$strip>>;
586
590
  }, z.core.$strip>>;
587
591
  clientBrief: z.ZodDefault<z.ZodString>;
588
- }, z.core.$strip>>;
592
+ organizationName: z.ZodOptional<z.ZodString>;
593
+ productName: z.ZodOptional<z.ZodString>;
594
+ shortName: z.ZodOptional<z.ZodString>;
595
+ description: z.ZodOptional<z.ZodString>;
596
+ }, z.core.$loose>>;
589
597
  customers: z.ZodDefault<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
590
598
  id: z.ZodString;
591
599
  order: z.ZodNumber;
@@ -1,17 +1,22 @@
1
- import { getKnowledgeIconToken, getKnowledgeGraphNodeCommand, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-K4UZU3TU.js';
2
- export { KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_TREE_GROUPS, getKnowledgeIconToken, getSharedOrganizationGraph } from '../chunk-K4UZU3TU.js';
3
- import { SemanticIcon, getSystem, SystemEntrySchema, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, SurfaceDefinitionSchema, RoleSchema, PolicySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-O2Q4VMRN.js';
4
- export { SemanticIcon, extendSemanticIconRegistry, getSemanticIconComponent, resolveSemanticIconComponent } from '../chunk-O2Q4VMRN.js';
5
- import { PageContainer } from '../chunk-LUYVRATI.js';
6
- import '../chunk-NYBEU5TE.js';
1
+ import { getKnowledgeIconToken, getKnowledgeGraphNodeCommand, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getPrimaryOntologyItemsForDomain, projectNavigationSurfaces, projectNavigationGroups, getOntologyDomainLabel, getKnowledgeDomainFolderCommand, getKnowledgeTreeFolderCommand, KNOWLEDGE_DOMAINS_WITH_PANELS } from '../chunk-P34FFSOX.js';
2
+ export { KNOWLEDGE_ICON_TOKEN_BY_KIND, KnowledgeSearchBar, KnowledgeTree, OM_TREE_GROUPS, getKnowledgeIconToken, getSharedOrganizationGraph } from '../chunk-P34FFSOX.js';
3
+ import { PageContainer } from '../chunk-DA6I5VEY.js';
4
+ import '../chunk-CLDCYJQT.js';
5
+ import '../chunk-X4WBGKJQ.js';
6
+ import '../chunk-IIMU5YAJ.js';
7
+ import { usePresetsContext } from '../chunk-6D4LCJ52.js';
8
+ import '../chunk-WF7CONXF.js';
7
9
  import '../chunk-WLOQ4IBG.js';
8
- import '../chunk-R3VCBZDC.js';
10
+ import '../chunk-A7IG36LB.js';
11
+ import '../chunk-NYBEU5TE.js';
9
12
  import '../chunk-DT3QYZVU.js';
10
13
  import '../chunk-2IFYDILW.js';
11
14
  import '../chunk-Q7DJKLEN.js';
15
+ import { SemanticIcon, getSystem, SystemEntrySchema, IdentityDomainSchema, WorkflowResourceEntrySchema, AgentResourceEntrySchema, IntegrationResourceEntrySchema, ScriptResourceEntrySchema, SurfaceDefinitionSchema, RoleSchema, PolicySchema, EntitySchema, ActionSchema, OntologyIdSchema, ontologyGraphNodeId, compileOrganizationOntology, parseOntologyId } from '../chunk-566XWGPP.js';
16
+ export { SemanticIcon, extendSemanticIconRegistry, getSemanticIconComponent, resolveSemanticIconComponent } from '../chunk-566XWGPP.js';
12
17
  import '../chunk-I2KLQ2HA.js';
13
18
  import { createContext, Children, isValidElement, cloneElement, useMemo, useContext, useRef, useState, useEffect } from 'react';
14
- import { Card, Text, SimpleGrid, Group, Stack, Alert, Tabs, Box, Table, CopyButton, Tooltip, ActionIcon, Title, Badge, Divider, Button, Paper, TableOfContents, ThemeIcon, UnstyledButton, List, Code, Progress } from '@mantine/core';
19
+ import { Card, Text, SimpleGrid, Group, Stack, Alert, Tabs, Box, Table, CopyButton, Tooltip, ActionIcon, Title, Badge, Divider, Button, Paper, TableOfContents, ThemeIcon, UnstyledButton, List, Code, Progress, Loader } from '@mantine/core';
15
20
  import { IconBook, IconCheck, IconCopy, IconExternalLink, IconCircleX, IconAlertTriangle, IconInfoCircle } from '@tabler/icons-react';
16
21
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
17
22
  import { Highlight, themes } from 'prism-react-renderer';
@@ -8873,8 +8878,47 @@ function SurfaceDescribeView({
8873
8878
  }
8874
8879
  );
8875
8880
  }
8881
+ function formatValue(value) {
8882
+ if (value === null || value === void 0) return "";
8883
+ if (typeof value === "string") return value;
8884
+ if (typeof value === "number" || typeof value === "boolean") return String(value);
8885
+ if (Array.isArray(value)) {
8886
+ const items = value.map(
8887
+ (item) => typeof item === "string" || typeof item === "number" || typeof item === "boolean" ? String(item) : JSON.stringify(item)
8888
+ );
8889
+ return items.join(", ");
8890
+ }
8891
+ return JSON.stringify(value, null, 2);
8892
+ }
8893
+ function AdditionalProperties({ domain, knownKeys }) {
8894
+ const knownSet = new Set(knownKeys);
8895
+ const extras = Object.entries(domain).filter(
8896
+ ([key, value]) => !knownSet.has(key) && value !== void 0 && value !== null && value !== ""
8897
+ );
8898
+ if (extras.length === 0) return null;
8899
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
8900
+ /* @__PURE__ */ jsx(Divider, {}),
8901
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Additional Properties" }),
8902
+ /* @__PURE__ */ jsx(Stack, { gap: "xs", children: extras.map(([key, value]) => /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: 8 }, children: [
8903
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140, flexShrink: 0 }, children: key }),
8904
+ /* @__PURE__ */ jsx(Text, { size: "sm", style: { flex: 1, whiteSpace: "pre-wrap", wordBreak: "break-word" }, children: formatValue(value) })
8905
+ ] }, key)) })
8906
+ ] });
8907
+ }
8908
+ var BRANDING_KNOWN_KEYS = [
8909
+ "organizationName",
8910
+ "productName",
8911
+ "shortName",
8912
+ "description",
8913
+ "logos",
8914
+ "voice",
8915
+ "tagline",
8916
+ "values",
8917
+ "themePresetId"
8918
+ ];
8876
8919
  function BrandingPanel({ model }) {
8877
8920
  const branding = model.branding;
8921
+ const presetsMap = usePresetsContext();
8878
8922
  if (!branding) {
8879
8923
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "sm", children: [
8880
8924
  /* @__PURE__ */ jsx(
@@ -8889,6 +8933,8 @@ function BrandingPanel({ model }) {
8889
8933
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No branding configured." })
8890
8934
  ] });
8891
8935
  }
8936
+ const resolvedPreset = branding.themePresetId ? presetsMap[branding.themePresetId] : void 0;
8937
+ const presetNotFound = branding.themePresetId !== void 0 && resolvedPreset === void 0;
8892
8938
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "md", children: [
8893
8939
  /* @__PURE__ */ jsx(
8894
8940
  KnowledgePageHeader,
@@ -8900,24 +8946,24 @@ function BrandingPanel({ model }) {
8900
8946
  }
8901
8947
  ),
8902
8948
  /* @__PURE__ */ jsx(Divider, {}),
8903
- /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
8904
- /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
8905
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Organization Name" }),
8906
- /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.organizationName })
8907
- ] }),
8908
- /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
8909
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Product Name" }),
8910
- /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.productName })
8911
- ] }),
8912
- /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
8913
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Short Name" }),
8914
- /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.shortName })
8915
- ] }),
8916
- branding.description && /* @__PURE__ */ jsxs(Group, { gap: "xs", align: "flex-start", children: [
8917
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Description" }),
8918
- /* @__PURE__ */ jsx(Text, { size: "sm", style: { flex: 1 }, children: branding.description })
8949
+ (branding.tagline || branding.voice) && /* @__PURE__ */ jsxs(Fragment, { children: [
8950
+ /* @__PURE__ */ jsx(Divider, {}),
8951
+ /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
8952
+ branding.tagline && /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
8953
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Tagline" }),
8954
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.tagline })
8955
+ ] }),
8956
+ branding.voice && /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
8957
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Voice" }),
8958
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: branding.voice })
8959
+ ] })
8919
8960
  ] })
8920
8961
  ] }),
8962
+ branding.values && branding.values.length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
8963
+ /* @__PURE__ */ jsx(Divider, {}),
8964
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Values" }),
8965
+ /* @__PURE__ */ jsx(Group, { gap: "xs", wrap: "wrap", children: branding.values.map((value) => /* @__PURE__ */ jsx(Badge, { variant: "light", size: "sm", children: value }, value)) })
8966
+ ] }),
8921
8967
  (branding.logos.light || branding.logos.dark) && /* @__PURE__ */ jsxs(Fragment, { children: [
8922
8968
  /* @__PURE__ */ jsx(Divider, {}),
8923
8969
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Logos" }),
@@ -8953,9 +8999,76 @@ function BrandingPanel({ model }) {
8953
8999
  }
8954
9000
  )
8955
9001
  ] })
8956
- ] })
9002
+ ] }),
9003
+ branding.themePresetId && /* @__PURE__ */ jsxs(Fragment, { children: [
9004
+ /* @__PURE__ */ jsx(Divider, {}),
9005
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Theme Preset" }),
9006
+ presetNotFound ? /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "sm", children: /* @__PURE__ */ jsxs(Text, { size: "sm", c: "dimmed", children: [
9007
+ "Preset not found:",
9008
+ " ",
9009
+ /* @__PURE__ */ jsx(Text, { component: "span", size: "sm", fw: 500, children: branding.themePresetId })
9010
+ ] }) }) : resolvedPreset ? /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
9011
+ resolvedPreset.label && /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
9012
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Name" }),
9013
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: resolvedPreset.label })
9014
+ ] }),
9015
+ resolvedPreset.description && /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
9016
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Description" }),
9017
+ /* @__PURE__ */ jsx(Text, { size: "sm", children: resolvedPreset.description })
9018
+ ] }),
9019
+ /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9020
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", fw: 500, tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Light scheme" }),
9021
+ /* @__PURE__ */ jsx(ThemeSwatchRow, { tokens: resolvedPreset.light })
9022
+ ] }),
9023
+ /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9024
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", fw: 500, tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Dark scheme" }),
9025
+ /* @__PURE__ */ jsx(ThemeSwatchRow, { tokens: resolvedPreset.dark })
9026
+ ] }),
9027
+ (resolvedPreset.framework?.fontFamily || resolvedPreset.framework?.headings?.fontFamily) && /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9028
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", fw: 500, tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Typography" }),
9029
+ resolvedPreset.framework?.fontFamily && /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
9030
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Body" }),
9031
+ /* @__PURE__ */ jsx(Text, { size: "sm", style: { fontFamily: resolvedPreset.framework.fontFamily }, children: resolvedPreset.framework.fontFamily })
9032
+ ] }),
9033
+ resolvedPreset.framework?.headings?.fontFamily && /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
9034
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, c: "dimmed", style: { minWidth: 140 }, children: "Headings" }),
9035
+ /* @__PURE__ */ jsx(Text, { size: "sm", style: { fontFamily: resolvedPreset.framework.headings.fontFamily }, children: resolvedPreset.framework.headings.fontFamily })
9036
+ ] })
9037
+ ] })
9038
+ ] }) : (
9039
+ // themePresetId present but still resolving — should not normally happen
9040
+ // because presetsMap is synchronous, but handle gracefully
9041
+ /* @__PURE__ */ jsx(Loader, { size: "sm" })
9042
+ )
9043
+ ] }),
9044
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: branding, knownKeys: BRANDING_KNOWN_KEYS })
8957
9045
  ] });
8958
9046
  }
9047
+ function ThemeSwatchRow({ tokens }) {
9048
+ const swatches = [
9049
+ { label: "Primary", color: tokens.primary ?? "" },
9050
+ { label: "Background", color: tokens.background ?? "" },
9051
+ { label: "Surface", color: tokens.surface ?? "" },
9052
+ { label: "Text", color: tokens.text ?? "" }
9053
+ ].filter((s) => s.color);
9054
+ if (swatches.length === 0) return null;
9055
+ return /* @__PURE__ */ jsx(Group, { gap: "sm", wrap: "wrap", children: swatches.map(({ label, color }) => /* @__PURE__ */ jsxs(Stack, { gap: 4, align: "center", style: { minWidth: 60 }, children: [
9056
+ /* @__PURE__ */ jsx(
9057
+ "div",
9058
+ {
9059
+ style: {
9060
+ width: 32,
9061
+ height: 32,
9062
+ borderRadius: 6,
9063
+ backgroundColor: color,
9064
+ border: "1px solid var(--color-border, rgba(0,0,0,0.12))"
9065
+ },
9066
+ title: color
9067
+ }
9068
+ ),
9069
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", children: label })
9070
+ ] }, label)) });
9071
+ }
8959
9072
  function CustomersPanel({ model, filterToItemId }) {
8960
9073
  const customers = model.customers;
8961
9074
  const segments = Object.values(customers).filter((segment) => !filterToItemId || segment.id === filterToItemId).sort((a, b) => a.order - b.order);
@@ -9100,6 +9213,22 @@ function GoalsPanel({ model, filterToItemId }) {
9100
9213
  ] });
9101
9214
  }
9102
9215
  var DAYS_OF_WEEK = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
9216
+ var IDENTITY_KNOWN_KEYS = [
9217
+ "organizationName",
9218
+ "productName",
9219
+ "shortName",
9220
+ "description",
9221
+ "mission",
9222
+ "vision",
9223
+ "legalName",
9224
+ "entityType",
9225
+ "jurisdiction",
9226
+ "industryCategory",
9227
+ "geographicFocus",
9228
+ "timeZone",
9229
+ "businessHours",
9230
+ "clientBrief"
9231
+ ];
9103
9232
  function capitalize(s) {
9104
9233
  return s.charAt(0).toUpperCase() + s.slice(1);
9105
9234
  }
@@ -9111,7 +9240,12 @@ function FieldRow({ label, value }) {
9111
9240
  }
9112
9241
  function IdentityPanel({ model }) {
9113
9242
  const identity = model.identity;
9114
- const hasAnyField = identity.mission || identity.vision || identity.legalName || identity.entityType || identity.jurisdiction || identity.industryCategory || identity.geographicFocus || identity.timeZone !== "UTC" || identity.clientBrief;
9243
+ const branding = model.branding;
9244
+ const organizationName = identity.organizationName ?? branding?.organizationName;
9245
+ const productName = identity.productName ?? branding?.productName;
9246
+ const shortName = identity.shortName ?? branding?.shortName;
9247
+ const description = identity.description ?? branding?.description;
9248
+ const hasAnyField = organizationName || productName || shortName || description || identity.mission || identity.vision || identity.legalName || identity.entityType || identity.jurisdiction || identity.industryCategory || identity.geographicFocus || identity.timeZone !== "UTC" || identity.clientBrief;
9115
9249
  if (!hasAnyField) {
9116
9250
  return /* @__PURE__ */ jsxs(Stack, { p: "md", gap: "sm", children: [
9117
9251
  /* @__PURE__ */ jsx(
@@ -9123,7 +9257,8 @@ function IdentityPanel({ model }) {
9123
9257
  copyCommand: getKnowledgeDomainFolderCommand("identity")
9124
9258
  }
9125
9259
  ),
9126
- /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No identity configured." })
9260
+ /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No identity configured." }),
9261
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS })
9127
9262
  ] });
9128
9263
  }
9129
9264
  const businessHoursRows = DAYS_OF_WEEK.map((day) => {
@@ -9142,6 +9277,15 @@ function IdentityPanel({ model }) {
9142
9277
  }
9143
9278
  ),
9144
9279
  /* @__PURE__ */ jsx(Divider, {}),
9280
+ (organizationName || productName || shortName || description) && /* @__PURE__ */ jsxs(Fragment, { children: [
9281
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Naming" }),
9282
+ /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9283
+ organizationName && /* @__PURE__ */ jsx(FieldRow, { label: "Organization Name", value: organizationName }),
9284
+ productName && /* @__PURE__ */ jsx(FieldRow, { label: "Product Name", value: productName }),
9285
+ shortName && /* @__PURE__ */ jsx(FieldRow, { label: "Short Name", value: shortName }),
9286
+ description && /* @__PURE__ */ jsx(FieldRow, { label: "Description", value: description })
9287
+ ] })
9288
+ ] }),
9145
9289
  /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
9146
9290
  identity.mission && /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
9147
9291
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Mission" }),
@@ -9184,7 +9328,8 @@ function IdentityPanel({ model }) {
9184
9328
  /* @__PURE__ */ jsx(Divider, {}),
9185
9329
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "dimmed", tt: "uppercase", style: { letterSpacing: "0.05em" }, children: "Client Brief" }),
9186
9330
  /* @__PURE__ */ jsx(Card, { withBorder: true, padding: "sm", style: { background: "var(--color-surface)" }, children: /* @__PURE__ */ jsx(Text, { size: "sm", style: { whiteSpace: "pre-wrap", lineHeight: 1.6 }, children: identity.clientBrief }) })
9187
- ] })
9331
+ ] }),
9332
+ /* @__PURE__ */ jsx(AdditionalProperties, { domain: identity, knownKeys: IDENTITY_KNOWN_KEYS })
9188
9333
  ] });
9189
9334
  }
9190
9335
  var SURFACE_TYPE_COLORS = {
@@ -1,7 +1,9 @@
1
- export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-LUYVRATI.js';
2
- import '../chunk-NYBEU5TE.js';
1
+ export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberParticles, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarProvider, SubshellLoader, SubshellNavList, SubshellSidebarLoader, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-DA6I5VEY.js';
2
+ export { SubshellNavItem } from '../chunk-X4WBGKJQ.js';
3
+ export { SubshellSidebarSection } from '../chunk-IIMU5YAJ.js';
3
4
  export { AmbientBloomGrid, AppBackground, CyberBackground, FilmGrain, FloatingMotes, FloatingOrbs, PerspectiveGrid, RadiantGlow, WaveBackground } from '../chunk-WLOQ4IBG.js';
4
- export { SubshellNavItem, SubshellSidebarSection } from '../chunk-R3VCBZDC.js';
5
+ export { SubshellContainer, SubshellContentContainer, SubshellRightSideContainer, SubshellSidebar } from '../chunk-A7IG36LB.js';
6
+ import '../chunk-NYBEU5TE.js';
5
7
  export { sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subshellNavItemIconSize, topbarHeight } from '../chunk-DT3QYZVU.js';
6
8
  import '../chunk-2IFYDILW.js';
7
9
  import '../chunk-Q7DJKLEN.js';
@@ -3,24 +3,6 @@ import { ReactNode } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { UseBoundStore, StoreApi } from 'zustand';
5
5
 
6
- /**
7
- * Multi-tenancy configuration types
8
- *
9
- * Config is stored in dedicated `config` columns (NOT nested in metadata):
10
- * - organizations.config: Org-level config (no feature toggles -- all features available by default)
11
- * - org_memberships.config: Per-user-per-org feature overrides
12
- * - users.config: User-global config
13
- */
14
-
15
- /**
16
- * Per-user-per-org config (stored in org_memberships.config)
17
- * Controls which features a specific member can access within their org.
18
- * Keys are feature IDs from the organization model (e.g. crm, lead-gen, projects, seo).
19
- */
20
- interface MembershipFeatureConfig {
21
- features?: Record<string, boolean>;
22
- }
23
-
24
6
  /**
25
7
  * Organization Membership types based on WorkOS API
26
8
  */
@@ -57,7 +39,6 @@ interface MembershipWithDetails extends OrganizationMembership {
57
39
  metadata?: Record<string, unknown>;
58
40
  config?: Record<string, unknown>;
59
41
  };
60
- config?: MembershipFeatureConfig;
61
42
  }
62
43
 
63
44
  /**