@elevasis/ui 2.51.1 → 2.52.1

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 (37) hide show
  1. package/dist/app/index.js +2 -2
  2. package/dist/auth/index.js +2 -2
  3. package/dist/charts/index.js +2 -2
  4. package/dist/{chunk-V3B26UZR.js → chunk-DQG7FEYZ.js} +617 -263
  5. package/dist/{chunk-7FPLLSHN.js → chunk-I3CFGE3N.js} +6 -0
  6. package/dist/components/index.d.ts +18 -5
  7. package/dist/components/index.js +2 -2
  8. package/dist/components/navigation/index.js +2 -2
  9. package/dist/execution/index.d.ts +2 -0
  10. package/dist/execution/index.js +1 -1
  11. package/dist/features/auth/index.js +3 -3
  12. package/dist/features/clients/index.js +2 -2
  13. package/dist/features/crm/index.js +2 -2
  14. package/dist/features/dashboard/index.js +2 -2
  15. package/dist/features/delivery/index.js +2 -2
  16. package/dist/features/knowledge/index.js +2 -2
  17. package/dist/features/lead-gen/index.js +2 -2
  18. package/dist/features/monitoring/index.d.ts +1 -1
  19. package/dist/features/monitoring/index.js +2 -2
  20. package/dist/features/monitoring/requests/index.js +3 -3
  21. package/dist/features/operations/index.js +2 -2
  22. package/dist/features/settings/index.js +2 -2
  23. package/dist/hooks/access/index.js +2 -2
  24. package/dist/hooks/delivery/index.js +2 -2
  25. package/dist/hooks/index.d.ts +1 -1
  26. package/dist/hooks/index.js +2 -2
  27. package/dist/hooks/published.d.ts +1 -1
  28. package/dist/hooks/published.js +2 -2
  29. package/dist/index.d.ts +20 -5
  30. package/dist/index.js +2 -2
  31. package/dist/knowledge/index.js +3 -3
  32. package/dist/layout/index.js +2 -2
  33. package/dist/organization/index.js +2 -2
  34. package/dist/provider/index.js +2 -2
  35. package/dist/provider/published.js +2 -2
  36. package/dist/types/index.d.ts +1 -1
  37. package/package.json +4 -4
@@ -10,7 +10,7 @@ import { SessionIdParamSchema, CreateSessionSchema, GetNotificationsQuerySchema,
10
10
  import { StyledMarkdown, ChatHeader, ChatSidebar } from './chunk-E6NSKXYN.js';
11
11
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
12
12
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger, useGraphHighlighting, calculateGraphHeight, GRAPH_CONSTANTS } from './chunk-HENXLGVD.js';
13
- import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-7FPLLSHN.js';
13
+ import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent, getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-I3CFGE3N.js';
14
14
  import { useProfile, useUserProfile, ProfileProvider } from './chunk-W2SFTXMT.js';
15
15
  import { LabelSchema, DescriptionSchema, PathSchema, ModelIdSchema, IconNameSchema, SystemLifecycleSchema, OntologyIdSchema, SystemPathSchema, ActionInvocationSchema, SystemIdSchema, NodeIdStringSchema, JsonValueSchema, SystemInterfaceRefSchema, EntitiesDomainSchema, ActionsDomainSchema, DEFAULT_ORGANIZATION_MODEL_ACTIONS, OntologyScopeSchema, DEFAULT_ONTOLOGY_SCOPE, SystemsDomainSchema, DEFAULT_ORGANIZATION_MODEL_SYSTEMS, defineEntities, defineActions, listAllSystems, listResolvedOntologyRecords, getErrorInfo, getErrorTitle, formatErrorMessage, getSystem, compileOrganizationOntology, isAPIClientError, getResourceIcon, formatTimeAgo, PAGE_SIZE_DEFAULT, STALE_TIME_MONITORING, STALE_TIME_DEFAULT, STALE_TIME_ADMIN, APIClientError, GC_TIME_MEDIUM, GC_TIME_SHORT, formatDateTime, LEAD_GEN_API_INTERFACE, computeInterfaceReadiness, getAllBuildTemplates, getLeadGenStageCatalog, formatDate, formatRelativeTime, getResourcesForSystem, ontologyGraphNodeId, parseOntologyId, getAllProspectingStages, getAllPipelines, getAllProjectStatuses, OAUTH_FLOW_TIMEOUT, devOnlyFor, requiresAdminFor, topLevel, parentOf, ancestorsOf, childrenOf, findById, findByPath, getSystemAncestors, resolveSystemConfig, defaultPathFor } from './chunk-XOPLS4S6.js';
16
16
  import { getTimeRangeLabel, getTimeRangeDates, formatBucketTime, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, debounce } from './chunk-FVOMKZ7S.js';
@@ -22,7 +22,7 @@ import { useAuthContext } from './chunk-BRJ3QZ4E.js';
22
22
  import { createContext, forwardRef, lazy, memo, useEffect, useRef, createElement, useContext, useLayoutEffect, useMemo, useState, cloneElement, useCallback, useId, Fragment as Fragment$1, Component, useDeferredValue, useEffectEvent, Suspense } from 'react';
23
23
  import { useQueryClient, useMutation, useQuery, QueryClientProvider, useQueries, QueryClient } from '@tanstack/react-query';
24
24
  import { z } from 'zod';
25
- import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconChevronRight, IconLayoutGrid, IconColumns, IconFileInvoice, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconShieldLock, IconActivity, IconTopologyStar3, IconApps, IconBriefcase, IconBuilding, IconBolt, IconSearch, IconChartBar, IconUsers, IconInfoCircle, IconMessagePlus, IconDatabase, IconGitBranch, IconDashboard, IconBuildingStore, IconPlug, IconTargetArrow, IconBook, IconArchive, IconSettings, IconTool, IconCalendar, IconNotes, IconChecklist, IconFlag, IconList, IconAddressBook, IconTarget, IconCode, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconMinus, IconTrendingUp, IconTrendingDown, IconAlertCircle, IconBan, IconInbox, IconHeartHandshake, IconUserOff, IconMailForward, IconBell, IconCalendarEvent, IconCalendarCancel, IconMessageReply, IconCircleCheck, IconCreditCard, IconArrowRight, IconPlus, IconDownload, IconChartLine, IconThumbDown, IconThumbUp, IconCircleX, IconFilterOff, IconArrowUpRight, IconExternalLink, IconChartPie, IconHeartbeat, IconCpu, IconCash, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconMoonStars, IconSun, IconFocus2, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconExclamationMark, IconCopy, IconPower, IconTag, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarTime, IconRobot, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconHistory, IconCurrencyDollar, IconTrophy, IconMessages, IconRestore, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconLayoutSidebarRightExpand, IconNote, IconTimeline, IconPalette, IconStar, IconUserCog, IconUsersGroup, IconBrandDropbox, IconBrandGoogleDrive, IconClockExclamation, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconCheckbox, IconPhone, IconStarFilled, IconScript, IconPlugConnected, IconCircleCheckFilled } from '@tabler/icons-react';
25
+ import { IconPlayerPlay, IconPlayerStop, IconArrowsSplit, IconSquare, IconBrain, IconFileText, IconLayoutSidebarLeftExpand, IconLayoutSidebarLeftCollapse, IconUser, IconLogout, IconChevronRight, IconLayoutGrid, IconColumns, IconFileInvoice, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconShieldLock, IconActivity, IconTopologyStar3, IconApps, IconBriefcase, IconBuilding, IconBolt, IconSearch, IconChartBar, IconUsers, IconInfoCircle, IconMessagePlus, IconDatabase, IconGitBranch, IconDashboard, IconBuildingStore, IconPlug, IconTargetArrow, IconBook, IconArchive, IconSettings, IconTool, IconCalendar, IconNotes, IconChecklist, IconFlag, IconList, IconAddressBook, IconTarget, IconCode, IconLock, IconShieldOff, IconChevronUp, IconChevronDown, IconSelector, IconTrash, IconMinus, IconTrendingUp, IconTrendingDown, IconAlertCircle, IconBan, IconInbox, IconHeartHandshake, IconUserOff, IconMailForward, IconBell, IconCalendarEvent, IconCalendarCancel, IconMessageReply, IconCircleCheck, IconCreditCard, IconArrowRight, IconPlus, IconDownload, IconChartLine, IconThumbDown, IconThumbUp, IconCircleX, IconFilterOff, IconArrowUpRight, IconExternalLink, IconChartPie, IconHeartbeat, IconCpu, IconCash, IconExclamationCircle, IconBug, IconChecks, IconCircle, IconCircleFilled, IconMoonStars, IconSun, IconFocus2, IconClockHour4, IconVersions, IconNetwork, IconSitemap, IconPencil, IconKey, IconExclamationMark, IconCopy, IconPower, IconTag, IconWebhook, IconReload, IconTerminal2, IconMessage, IconArrowLeft, IconCalendarRepeat, IconCalendarTime, IconRobot, IconDotsVertical, IconPlayerPause, IconCalendarDue, IconCalendarStats, IconCalendarOff, IconListCheck, IconFilter, IconCategory, IconHistory, IconCurrencyDollar, IconTrophy, IconMessages, IconRestore, IconSparkles, IconListDetails, IconLayoutDashboard, IconBuildingFactory2, IconFileDescription, IconRoute, IconHandStop, IconAdjustmentsHorizontal, IconCircleDashed, IconFolders, IconBraces, IconLayoutSidebarRightExpand, IconNote, IconTimeline, IconPalette, IconStar, IconUserCog, IconUsersGroup, IconBrandDropbox, IconBrandGoogleDrive, IconClockExclamation, IconArrowDown, IconUserX, IconUserCheck, IconFileOff, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconFolder, IconCheckbox, IconPhone, IconStarFilled, IconWand, IconScript, IconPlugConnected, IconCircleCheckFilled } from '@tabler/icons-react';
26
26
  import * as runtime from 'react/jsx-runtime';
27
27
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
28
28
  import { createUseExternalEvents, Collapse, Paper, Stack, Text, Group, Badge, Box, HoverCard, UnstyledButton, Tooltip, ScrollArea, Menu, Avatar, useComputedColorScheme, ThemeIcon, Center, Card, Title, Checkbox, Modal, TextInput, Textarea, Loader, Alert, Button, Space, Table, Select, Code, Grid, Timeline, NumberFormatter, SimpleGrid, SegmentedControl, ActionIcon, Switch, Pagination, mergeThemeOverrides, MantineProvider, Divider, Popover, Indicator, Container, useMantineColorScheme, CopyButton, PasswordInput, Anchor, useMantineTheme, RangeSlider, Progress, Tabs, Breadcrumbs as Breadcrumbs$1, NumberInput, ColorSwatch, RingProgress, LoadingOverlay, Accordion, MultiSelect, useTree, Tree, Radio, Pill, Drawer, Chip, JsonInput, TagsInput, List } from '@mantine/core';
@@ -7070,6 +7070,7 @@ var activityTypeLabels = {
7070
7070
  credential_change: "Credential",
7071
7071
  credential_read: "Credential Read",
7072
7072
  api_key_change: "API Key",
7073
+ agent_access_grant_change: "Agent Grant",
7073
7074
  deployment_change: "Deployment",
7074
7075
  membership_change: "Membership"
7075
7076
  };
@@ -7139,6 +7140,7 @@ var activityTypeOptions = [
7139
7140
  { value: "credential_change", label: "Credential Changes" },
7140
7141
  { value: "credential_read", label: "Credential Reads" },
7141
7142
  { value: "api_key_change", label: "API Key Changes" },
7143
+ { value: "agent_access_grant_change", label: "Agent Grant Changes" },
7142
7144
  { value: "deployment_change", label: "Deployment Changes" },
7143
7145
  { value: "membership_change", label: "Membership Changes" }
7144
7146
  ];
@@ -9188,7 +9190,7 @@ function ElevasisCoreProvider({
9188
9190
  queryClient,
9189
9191
  apiUrl,
9190
9192
  onError,
9191
- notifications: notifications15,
9193
+ notifications: notifications16,
9192
9194
  crmActions,
9193
9195
  listActions,
9194
9196
  children
@@ -9201,14 +9203,14 @@ function ElevasisCoreProvider({
9201
9203
  const resolvedQueryClient = queryClient ?? getDefaultQueryClient();
9202
9204
  const resolvedCrmActions = crmActions ?? [];
9203
9205
  const resolvedListActions = listActions ?? EMPTY_LIST_ACTIONS;
9204
- const content = apiUrl ? /* @__PURE__ */ jsx(ServiceStack, { apiUrl, onError, notifications: notifications15, children }) : children;
9206
+ const content = apiUrl ? /* @__PURE__ */ jsx(ServiceStack, { apiUrl, onError, notifications: notifications16, children }) : children;
9205
9207
  const AuthInner = /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(LazyCoreAuthKitInner, { auth, children: content }) });
9206
9208
  return /* @__PURE__ */ jsx(QueryClientProvider, { client: resolvedQueryClient, children: /* @__PURE__ */ jsx(CrmActionsProvider, { actions: resolvedCrmActions, children: /* @__PURE__ */ jsx(ListActionsProvider, { registry: resolvedListActions, children: AuthInner }) }) });
9207
9209
  }
9208
9210
  function ServiceStack({
9209
9211
  apiUrl,
9210
9212
  onError,
9211
- notifications: notifications15,
9213
+ notifications: notifications16,
9212
9214
  children
9213
9215
  }) {
9214
9216
  const { getAccessToken } = useAuthContext();
@@ -9221,24 +9223,24 @@ function ServiceStack({
9221
9223
  getOrganizationId,
9222
9224
  isOrganizationReady: false,
9223
9225
  onError,
9224
- children: /* @__PURE__ */ jsx(ServiceStackInner, { apiUrl, orgIdRef, notifications: notifications15, children })
9226
+ children: /* @__PURE__ */ jsx(ServiceStackInner, { apiUrl, orgIdRef, notifications: notifications16, children })
9225
9227
  }
9226
9228
  );
9227
9229
  }
9228
9230
  function ServiceStackInner({
9229
9231
  apiUrl,
9230
9232
  orgIdRef,
9231
- notifications: notifications15,
9233
+ notifications: notifications16,
9232
9234
  children
9233
9235
  }) {
9234
9236
  const { apiRequest } = useApiClient(apiUrl);
9235
- const resolvedNotifications = notifications15 ?? consoleNotificationAdapter;
9237
+ const resolvedNotifications = notifications16 ?? consoleNotificationAdapter;
9236
9238
  return /* @__PURE__ */ jsx(ProfileProvider, { apiRequest, children: /* @__PURE__ */ jsx(OrganizationProvider, { apiRequest, children: /* @__PURE__ */ jsx(OrgServiceBridge, { orgIdRef, apiRequest, notifications: resolvedNotifications, children }) }) });
9237
9239
  }
9238
9240
  function OrgServiceBridge({
9239
9241
  orgIdRef,
9240
9242
  apiRequest,
9241
- notifications: notifications15,
9243
+ notifications: notifications16,
9242
9244
  children
9243
9245
  }) {
9244
9246
  const { currentWorkOSOrganizationId, isInitializing, isOrgRefreshing } = useOrganization();
@@ -9250,7 +9252,7 @@ function OrgServiceBridge({
9250
9252
  apiRequest,
9251
9253
  workOSOrganizationId: currentWorkOSOrganizationId,
9252
9254
  isReady,
9253
- children: /* @__PURE__ */ jsx(NotificationProvider, { adapter: notifications15, children: /* @__PURE__ */ jsx(InitializationProvider, { children }) })
9255
+ children: /* @__PURE__ */ jsx(NotificationProvider, { adapter: notifications16, children: /* @__PURE__ */ jsx(InitializationProvider, { children }) })
9254
9256
  }
9255
9257
  );
9256
9258
  }
@@ -13938,18 +13940,18 @@ function NotificationItem({ notification, onClose, onNavigate }) {
13938
13940
  }
13939
13941
  );
13940
13942
  }
13941
- function NotificationList({ notifications: notifications15, isLoading, onClose, onNavigate }) {
13943
+ function NotificationList({ notifications: notifications16, isLoading, onClose, onNavigate }) {
13942
13944
  if (isLoading) {
13943
13945
  return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) });
13944
13946
  }
13945
- if (notifications15.length === 0) {
13947
+ if (notifications16.length === 0) {
13946
13948
  return /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No notifications" }) });
13947
13949
  }
13948
- return /* @__PURE__ */ jsx(Stack, { gap: 0, children: notifications15.map((notification) => /* @__PURE__ */ jsx(NotificationItem, { notification, onClose, onNavigate }, notification.id)) });
13950
+ return /* @__PURE__ */ jsx(Stack, { gap: 0, children: notifications16.map((notification) => /* @__PURE__ */ jsx(NotificationItem, { notification, onClose, onNavigate }, notification.id)) });
13949
13951
  }
13950
- function NotificationPanel({ notifications: notifications15, isLoading, onClose, onNavigate }) {
13952
+ function NotificationPanel({ notifications: notifications16, isLoading, onClose, onNavigate }) {
13951
13953
  const markAllAsRead = useMarkAllAsRead();
13952
- const hasUnread = notifications15.some((n) => !n.read);
13954
+ const hasUnread = notifications16.some((n) => !n.read);
13953
13955
  const handleMarkAllAsRead = async () => {
13954
13956
  await markAllAsRead.mutateAsync();
13955
13957
  };
@@ -13962,7 +13964,7 @@ function NotificationPanel({ notifications: notifications15, isLoading, onClose,
13962
13964
  /* @__PURE__ */ jsx(ScrollArea, { h: 400, type: "auto", children: /* @__PURE__ */ jsx(
13963
13965
  NotificationList,
13964
13966
  {
13965
- notifications: notifications15,
13967
+ notifications: notifications16,
13966
13968
  isLoading,
13967
13969
  onClose,
13968
13970
  onNavigate
@@ -13983,14 +13985,14 @@ function NotificationBell({ unreadCount, onNavigate }) {
13983
13985
  staleTime: 3e4
13984
13986
  });
13985
13987
  const { data, isLoading } = useNotifications({ limit: 20 });
13986
- const notifications15 = data?.notifications ?? [];
13988
+ const notifications16 = data?.notifications ?? [];
13987
13989
  const count = unreadCount ?? apiCount;
13988
13990
  return /* @__PURE__ */ jsxs(Popover, { opened, onChange: toggle, position: "bottom-end", width: 400, children: [
13989
13991
  /* @__PURE__ */ jsx(Tooltip, { label: "Notifications", disabled: opened, children: /* @__PURE__ */ jsx(Popover.Target, { children: /* @__PURE__ */ jsx(Indicator, { label: count > 99 ? "99+" : count, disabled: count === 0, size: 16, offset: 4, children: /* @__PURE__ */ jsx(ActionIcon, { variant: "subtle", size: "lg", onClick: toggle, children: /* @__PURE__ */ jsx(IconBell, { size: 20, color: "var(--color-text-subtle)" }) }) }) }) }),
13990
13992
  /* @__PURE__ */ jsx(Popover.Dropdown, { p: 0, children: /* @__PURE__ */ jsx(
13991
13993
  NotificationPanel,
13992
13994
  {
13993
- notifications: notifications15,
13995
+ notifications: notifications16,
13994
13996
  isLoading,
13995
13997
  onClose: close,
13996
13998
  onNavigate
@@ -16099,9 +16101,22 @@ var statusColorMap = {
16099
16101
  warning: "yellow"
16100
16102
  };
16101
16103
  var AgentIterationNode = memo(function AgentIterationNode2({ data, selected }) {
16102
- const { nodeType, label, iterationNumber, status, reasoningCount, actionCount, duration, isLive } = data;
16104
+ const {
16105
+ nodeType,
16106
+ label,
16107
+ iterationNumber,
16108
+ status,
16109
+ reasoningCount,
16110
+ actionCount,
16111
+ toolCallCount,
16112
+ failedToolCallCount,
16113
+ duration,
16114
+ isLive
16115
+ } = data;
16103
16116
  const colors = getStatusColors(status);
16104
16117
  const nodeColor = statusColorMap[status];
16118
+ const hasToolCalls = nodeType === "iteration" && toolCallCount !== void 0 && toolCallCount > 0;
16119
+ const hasFailedToolCalls = failedToolCallCount !== void 0 && failedToolCallCount > 0;
16105
16120
  return /* @__PURE__ */ jsxs(BaseNode, { color: nodeColor, selected, width: AGENT_CONSTANTS.NODE_WIDTH, children: [
16106
16121
  /* @__PURE__ */ jsxs(Box, { style: { display: "flex", flexDirection: "column", alignItems: "center" }, children: [
16107
16122
  /* @__PURE__ */ jsx(
@@ -16146,6 +16161,17 @@ var AgentIterationNode = memo(function AgentIterationNode2({ data, selected }) {
16146
16161
  " ",
16147
16162
  actionCount === 1 ? "action" : "actions"
16148
16163
  ] }),
16164
+ hasToolCalls && /* @__PURE__ */ jsxs(Group, { gap: 4, align: "center", wrap: "nowrap", children: [
16165
+ /* @__PURE__ */ jsxs(Text, { size: "xs", c: "dimmed", style: { whiteSpace: "nowrap" }, children: [
16166
+ toolCallCount,
16167
+ " ",
16168
+ toolCallCount === 1 ? "tool" : "tools"
16169
+ ] }),
16170
+ hasFailedToolCalls && /* @__PURE__ */ jsxs(Badge, { size: "xs", variant: "light", color: "red", px: 4, children: [
16171
+ failedToolCallCount,
16172
+ " failed"
16173
+ ] })
16174
+ ] }),
16149
16175
  duration !== void 0 && /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: formatDuration(duration) })
16150
16176
  ] })
16151
16177
  ] }),
@@ -16223,9 +16249,34 @@ var nodeTypes2 = {
16223
16249
  var edgeTypes2 = {
16224
16250
  agentIteration: AgentIterationEdge
16225
16251
  };
16252
+ var TERMINAL_STATUSES = /* @__PURE__ */ new Set(["completed", "failed", "warning"]);
16253
+ function hasAgentLifecycleLogs(execution) {
16254
+ return Boolean(
16255
+ execution?.executionLogs?.some((log) => {
16256
+ const context = log.context;
16257
+ return context?.type === "agent" && "lifecycle" in context;
16258
+ })
16259
+ );
16260
+ }
16261
+ function getUnavailableTraceMessage(execution, selectedExecutionId) {
16262
+ if (!selectedExecutionId) {
16263
+ return null;
16264
+ }
16265
+ if (execution?.isArchived) {
16266
+ return "Detailed trace unavailable for archived execution. Raw logs can be loaded below, but graph and detail rendering do not hydrate archived logs yet.";
16267
+ }
16268
+ if (execution && execution.executionLogs.length === 0 && TERMINAL_STATUSES.has(execution.status)) {
16269
+ return "Detailed trace unavailable. This terminal execution has no lifecycle logs available for graph rendering.";
16270
+ }
16271
+ if (execution && TERMINAL_STATUSES.has(execution.status) && !hasAgentLifecycleLogs(execution)) {
16272
+ return "Detailed trace unavailable. This run has no agent lifecycle context, so raw logs are shown below instead.";
16273
+ }
16274
+ return null;
16275
+ }
16226
16276
  function AgentExecutionVisualizer({
16227
16277
  resourceDefinition,
16228
16278
  iterationData,
16279
+ execution,
16229
16280
  selectedExecutionId,
16230
16281
  liveExecutions,
16231
16282
  selectedIterationId,
@@ -16259,6 +16310,10 @@ function AgentExecutionVisualizer({
16259
16310
  },
16260
16311
  [selectedIterationId, handleIterationSelect]
16261
16312
  );
16313
+ const unavailableTraceMessage = getUnavailableTraceMessage(execution, selectedExecutionId);
16314
+ if (unavailableTraceMessage) {
16315
+ return /* @__PURE__ */ jsx(EmptyVisualizer, { message: unavailableTraceMessage });
16316
+ }
16262
16317
  if (!iterationData || nodes.length === 0) {
16263
16318
  return /* @__PURE__ */ jsx(EmptyVisualizer, {});
16264
16319
  }
@@ -16292,6 +16347,21 @@ function AgentExecutionVisualizer({
16292
16347
  }
16293
16348
  ) }) });
16294
16349
  }
16350
+ function getSubActivityLabel(activity) {
16351
+ if (activity.type === "tool-call") {
16352
+ return "toolName" in activity.details && activity.details.toolName ? activity.details.toolName : activity.type;
16353
+ }
16354
+ if (activity.type === "action") {
16355
+ return "actionType" in activity.details && activity.details.actionType ? activity.details.actionType : activity.type;
16356
+ }
16357
+ return activity.type;
16358
+ }
16359
+ function getSubActivityStatus(activity) {
16360
+ if (activity.type === "tool-call" && "success" in activity.details) {
16361
+ return activity.details.success ? "completed" : "failed";
16362
+ }
16363
+ return "completed";
16364
+ }
16295
16365
  function AgentExecutionTimeline({ iterationData, selectedIterationId }) {
16296
16366
  const { initialization, iterations, completion } = iterationData;
16297
16367
  const executionStart = initialization.startTime;
@@ -16332,25 +16402,29 @@ function AgentExecutionTimeline({ iterationData, selectedIterationId }) {
16332
16402
  selectedNodeId: selectedIterationId
16333
16403
  }
16334
16404
  ),
16335
- iteration.subActivities.map((activity, activityIndex) => /* @__PURE__ */ jsx(
16336
- TimelineRow,
16337
- {
16338
- label: `${activity.type} (${formatDuration(activity.duration)})`,
16339
- bars: [
16340
- {
16341
- startTime: activity.startTime,
16342
- endTime: activity.endTime,
16343
- status: "completed",
16344
- nodeId: iteration.iterationNumber
16345
- }
16346
- ],
16347
- executionStart,
16348
- executionEnd,
16349
- indent: 1,
16350
- selectedNodeId: selectedIterationId
16351
- },
16352
- `${iteration.iterationNumber}-${activity.type}-${activity.startTime}-${activityIndex}`
16353
- ))
16405
+ iteration.subActivities.map((activity, activityIndex) => {
16406
+ const activityLabel = getSubActivityLabel(activity);
16407
+ const activityStatus = getSubActivityStatus(activity);
16408
+ return /* @__PURE__ */ jsx(
16409
+ TimelineRow,
16410
+ {
16411
+ label: `${activityLabel} (${formatDuration(activity.duration)})`,
16412
+ bars: [
16413
+ {
16414
+ startTime: activity.startTime,
16415
+ endTime: activity.endTime,
16416
+ status: activityStatus,
16417
+ nodeId: iteration.iterationNumber
16418
+ }
16419
+ ],
16420
+ executionStart,
16421
+ executionEnd,
16422
+ indent: 1,
16423
+ selectedNodeId: selectedIterationId
16424
+ },
16425
+ `${iteration.iterationNumber}-${activity.type}-${activity.startTime}-${activityIndex}`
16426
+ );
16427
+ })
16354
16428
  ] }, iteration.iterationNumber)),
16355
16429
  completion.startTime && completion.endTime && /* @__PURE__ */ jsx(
16356
16430
  TimelineRow,
@@ -16371,6 +16445,163 @@ function AgentExecutionTimeline({ iterationData, selectedIterationId }) {
16371
16445
  )
16372
16446
  ] });
16373
16447
  }
16448
+ function CollapsibleJsonSection({ title, data, defaultExpanded = false }) {
16449
+ const [isExpanded, setIsExpanded] = useState(defaultExpanded);
16450
+ const [isHovered, setIsHovered] = useState(false);
16451
+ return /* @__PURE__ */ jsxs(
16452
+ "div",
16453
+ {
16454
+ style: {
16455
+ borderRadius: "var(--mantine-radius-default)",
16456
+ backgroundColor: isHovered ? "var(--color-surface-hover, rgba(0,0,0,0.02))" : "transparent",
16457
+ transition: "background-color var(--duration-fast) var(--easing)"
16458
+ },
16459
+ children: [
16460
+ /* @__PURE__ */ jsxs(
16461
+ Group,
16462
+ {
16463
+ gap: 4,
16464
+ onClick: () => setIsExpanded(!isExpanded),
16465
+ onMouseEnter: () => setIsHovered(true),
16466
+ onMouseLeave: () => setIsHovered(false),
16467
+ style: {
16468
+ cursor: "pointer",
16469
+ padding: "0.375rem 0.5rem",
16470
+ userSelect: "none"
16471
+ },
16472
+ wrap: "nowrap",
16473
+ children: [
16474
+ /* @__PURE__ */ jsx(
16475
+ ActionIcon,
16476
+ {
16477
+ variant: "transparent",
16478
+ size: "xs",
16479
+ style: {
16480
+ transition: "transform var(--duration-fast) var(--easing)",
16481
+ transform: isExpanded ? "rotate(90deg)" : "rotate(0deg)"
16482
+ },
16483
+ children: /* @__PURE__ */ jsx(IconChevronRight, { size: 14 })
16484
+ }
16485
+ ),
16486
+ title
16487
+ ]
16488
+ }
16489
+ ),
16490
+ /* @__PURE__ */ jsx(Collapse, { in: isExpanded, children: /* @__PURE__ */ jsx(JsonViewer, { data }) })
16491
+ ]
16492
+ }
16493
+ );
16494
+ }
16495
+ function CollapsibleTextSection({ title, text }) {
16496
+ return /* @__PURE__ */ jsx(
16497
+ CollapsibleJsonSection,
16498
+ {
16499
+ title: /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, children: title }),
16500
+ data: text
16501
+ }
16502
+ );
16503
+ }
16504
+ function ActivityIcon({ activity }) {
16505
+ if (activity.type === "tool-call") {
16506
+ return /* @__PURE__ */ jsx(IconTool, { size: 16 });
16507
+ }
16508
+ if (activity.type === "action") {
16509
+ return /* @__PURE__ */ jsx(IconWand, { size: 16 });
16510
+ }
16511
+ return /* @__PURE__ */ jsx(IconBrain, { size: 16 });
16512
+ }
16513
+ function getActivityTitle(activity) {
16514
+ if (activity.type === "tool-call") {
16515
+ return "toolName" in activity.details && activity.details.toolName ? activity.details.toolName : "Tool call";
16516
+ }
16517
+ if (activity.type === "action") {
16518
+ return "actionType" in activity.details && activity.details.actionType ? activity.details.actionType : "Action";
16519
+ }
16520
+ return "Reasoning";
16521
+ }
16522
+ function ActivityBadge({ activity }) {
16523
+ if (activity.type !== "tool-call" || !("success" in activity.details)) {
16524
+ return /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: "gray", children: activity.type });
16525
+ }
16526
+ return activity.details.success ? /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: "green", leftSection: /* @__PURE__ */ jsx(IconCheck, { size: 12 }), children: "Success" }) : /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: "red", leftSection: /* @__PURE__ */ jsx(IconAlertCircle, { size: 12 }), children: "Error" });
16527
+ }
16528
+ function ActivityDetails({ activity }) {
16529
+ if (activity.type === "reasoning" && "output" in activity.details && typeof activity.details.output === "string" && activity.details.output) {
16530
+ return /* @__PURE__ */ jsx(CollapsibleTextSection, { title: "Reasoning", text: activity.details.output });
16531
+ }
16532
+ if (activity.type === "action" && "data" in activity.details && activity.details.data) {
16533
+ return /* @__PURE__ */ jsx(
16534
+ CollapsibleJsonSection,
16535
+ {
16536
+ title: /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, children: "Data" }),
16537
+ data: activity.details.data
16538
+ }
16539
+ );
16540
+ }
16541
+ if (activity.type !== "tool-call") {
16542
+ return null;
16543
+ }
16544
+ return /* @__PURE__ */ jsxs(Stack, { gap: 4, children: [
16545
+ "error" in activity.details && activity.details.error && /* @__PURE__ */ jsx(Text, { size: "xs", c: "var(--color-error)", children: activity.details.error }),
16546
+ "input" in activity.details && activity.details.input !== void 0 && /* @__PURE__ */ jsx(
16547
+ CollapsibleJsonSection,
16548
+ {
16549
+ title: /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, children: "Input" }),
16550
+ data: activity.details.input
16551
+ }
16552
+ ),
16553
+ "output" in activity.details && activity.details.output !== void 0 && /* @__PURE__ */ jsx(
16554
+ CollapsibleJsonSection,
16555
+ {
16556
+ title: /* @__PURE__ */ jsx(Text, { size: "xs", fw: 500, children: "Output" }),
16557
+ data: activity.details.output
16558
+ }
16559
+ )
16560
+ ] });
16561
+ }
16562
+ function ActivityRow({ activity }) {
16563
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, p: "xs", bg: "none", children: /* @__PURE__ */ jsxs(Stack, { gap: 6, children: [
16564
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", gap: "xs", wrap: "nowrap", children: [
16565
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", style: { minWidth: 0 }, children: [
16566
+ /* @__PURE__ */ jsx(ActivityIcon, { activity }),
16567
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 500, truncate: true, children: getActivityTitle(activity) })
16568
+ ] }),
16569
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
16570
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: formatDuration(activity.duration) }),
16571
+ /* @__PURE__ */ jsx(ActivityBadge, { activity })
16572
+ ] })
16573
+ ] }),
16574
+ /* @__PURE__ */ jsx(ActivityDetails, { activity })
16575
+ ] }) });
16576
+ }
16577
+ function AgentIterationDetailPanel({ iteration, totals }) {
16578
+ return /* @__PURE__ */ jsx(Paper, { withBorder: true, bg: "none", p: "sm", children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
16579
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", gap: "sm", children: [
16580
+ /* @__PURE__ */ jsxs("div", { children: [
16581
+ /* @__PURE__ */ jsx(Text, { fw: 600, children: iteration ? `Iteration ${iteration.iterationNumber} activity` : "Iteration activity" }),
16582
+ /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: iteration ? `${iteration.subActivities.length} ordered sub-activities` : "Select an iteration to inspect activity" })
16583
+ ] }),
16584
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
16585
+ /* @__PURE__ */ jsxs(Badge, { variant: "light", color: "blue", children: [
16586
+ totals.totalToolCalls,
16587
+ " tools"
16588
+ ] }),
16589
+ /* @__PURE__ */ jsxs(Badge, { variant: "light", color: totals.toolErrorCount > 0 ? "red" : "green", children: [
16590
+ totals.toolErrorCount,
16591
+ " errors"
16592
+ ] }),
16593
+ totals.totalDuration !== void 0 && /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", children: formatDuration(totals.totalDuration) })
16594
+ ] })
16595
+ ] }),
16596
+ iteration ? iteration.subActivities.length > 0 ? /* @__PURE__ */ jsx(Stack, { gap: "xs", children: iteration.subActivities.map((activity, index) => /* @__PURE__ */ jsx(
16597
+ ActivityRow,
16598
+ {
16599
+ activity
16600
+ },
16601
+ `${activity.type}-${activity.startTime}-${activity.endTime}-${index}`
16602
+ )) }) : /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "No reasoning, actions, or tool calls were captured for this iteration." }) : /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: "Select an iteration node to view reasoning, actions, and tool calls." })
16603
+ ] }) });
16604
+ }
16374
16605
  function FormFieldRenderer({ field, form, richTextRenderer }) {
16375
16606
  const commonProps = {
16376
16607
  label: field.label,
@@ -16837,53 +17068,6 @@ function ContentSections({ context, sections, titles }) {
16837
17068
  ] }, key);
16838
17069
  }) });
16839
17070
  }
16840
- function CollapsibleJsonSection({ title, data, defaultExpanded = false }) {
16841
- const [isExpanded, setIsExpanded] = useState(defaultExpanded);
16842
- const [isHovered, setIsHovered] = useState(false);
16843
- return /* @__PURE__ */ jsxs(
16844
- "div",
16845
- {
16846
- style: {
16847
- borderRadius: "var(--mantine-radius-default)",
16848
- backgroundColor: isHovered ? "var(--color-surface-hover, rgba(0,0,0,0.02))" : "transparent",
16849
- transition: "background-color var(--duration-fast) var(--easing)"
16850
- },
16851
- children: [
16852
- /* @__PURE__ */ jsxs(
16853
- Group,
16854
- {
16855
- gap: 4,
16856
- onClick: () => setIsExpanded(!isExpanded),
16857
- onMouseEnter: () => setIsHovered(true),
16858
- onMouseLeave: () => setIsHovered(false),
16859
- style: {
16860
- cursor: "pointer",
16861
- padding: "0.375rem 0.5rem",
16862
- userSelect: "none"
16863
- },
16864
- wrap: "nowrap",
16865
- children: [
16866
- /* @__PURE__ */ jsx(
16867
- ActionIcon,
16868
- {
16869
- variant: "transparent",
16870
- size: "xs",
16871
- style: {
16872
- transition: "transform var(--duration-fast) var(--easing)",
16873
- transform: isExpanded ? "rotate(90deg)" : "rotate(0deg)"
16874
- },
16875
- children: /* @__PURE__ */ jsx(IconChevronRight, { size: 14 })
16876
- }
16877
- ),
16878
- title
16879
- ]
16880
- }
16881
- ),
16882
- /* @__PURE__ */ jsx(Collapse, { in: isExpanded, children: /* @__PURE__ */ jsx(JsonViewer, { data }) })
16883
- ]
16884
- }
16885
- );
16886
- }
16887
17071
  function ContractDisplay({ contract, defaultExpanded = false }) {
16888
17072
  return /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
16889
17073
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, style: { fontFamily: "var(--mantine-font-family-headings)" }, children: "Contract" }),
@@ -19468,7 +19652,8 @@ function ResourceHeader({
19468
19652
  organizationName: organizationNameProp,
19469
19653
  onRun,
19470
19654
  onNavigateToResources,
19471
- onNavigateToSessions
19655
+ onNavigateToSessions,
19656
+ publicAccessControl
19472
19657
  }) {
19473
19658
  const { currentMembership } = useOrganization();
19474
19659
  const organizationName = organizationNameProp ?? currentMembership?.organization?.name;
@@ -19523,6 +19708,7 @@ function ResourceHeader({
19523
19708
  " running"
19524
19709
  ] }),
19525
19710
  onRun && /* @__PURE__ */ jsx(Button, { size: "xs", variant: "filled", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 16 }), onClick: onRun, children: "Run" }),
19711
+ publicAccessControl,
19526
19712
  type === "agent" && sessionCapable && /* @__PURE__ */ jsx(Button, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(IconMessage, { size: 16 }), onClick: handleGoToSessions, children: "Agent Sessions" }),
19527
19713
  /* @__PURE__ */ jsx(Button, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }), onClick: handleGoToResources, children: "Resources" })
19528
19714
  ] })
@@ -34720,186 +34906,258 @@ function ProjectDetailPage({ projectId, onBack, backLabel = "Projects" }) {
34720
34906
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "notes", children: "Notes" }),
34721
34907
  /* @__PURE__ */ jsx(Tabs.Tab, { value: "activity", children: "Activity" })
34722
34908
  ] }),
34723
- /* @__PURE__ */ jsx(Tabs.Panel, { value: "status", pt: "md", children: milestones.length === 0 ? /* @__PURE__ */ jsx(Text, { c: "dimmed", size: "sm", children: "No milestones yet." }) : /* @__PURE__ */ jsx(
34724
- Timeline,
34725
- {
34726
- active: activeMilestoneIndex,
34727
- bulletSize: 20,
34728
- lineWidth: 3,
34729
- color: "var(--color-primary)",
34730
- styles: {
34731
- itemBullet: {
34732
- borderColor: "transparent",
34733
- backgroundColor: "transparent",
34734
- padding: 0,
34735
- zIndex: 3,
34736
- overflow: "visible",
34737
- display: "flex",
34738
- alignItems: "center",
34739
- justifyContent: "center"
34740
- },
34741
- item: {
34742
- "--_item-border-color": "color-mix(in srgb, var(--color-primary) 22%, transparent)",
34743
- paddingBottom: "var(--mantine-spacing-xl)"
34744
- },
34745
- itemTitle: {
34746
- color: "var(--color-text)"
34909
+ /* @__PURE__ */ jsxs(Tabs.Panel, { value: "status", pt: "md", children: [
34910
+ milestones.length === 0 ? /* @__PURE__ */ jsx(Text, { c: "dimmed", size: "sm", children: "No milestones yet." }) : /* @__PURE__ */ jsx(
34911
+ Timeline,
34912
+ {
34913
+ active: activeMilestoneIndex,
34914
+ bulletSize: 20,
34915
+ lineWidth: 3,
34916
+ color: "var(--color-primary)",
34917
+ styles: {
34918
+ itemBullet: {
34919
+ borderColor: "transparent",
34920
+ backgroundColor: "transparent",
34921
+ padding: 0,
34922
+ zIndex: 3,
34923
+ overflow: "visible",
34924
+ display: "flex",
34925
+ alignItems: "center",
34926
+ justifyContent: "center"
34927
+ },
34928
+ item: {
34929
+ "--_item-border-color": "color-mix(in srgb, var(--color-primary) 22%, transparent)",
34930
+ paddingBottom: "var(--mantine-spacing-xl)"
34931
+ },
34932
+ itemTitle: {
34933
+ color: "var(--color-text)"
34934
+ },
34935
+ itemBody: {
34936
+ marginTop: 0
34937
+ }
34747
34938
  },
34748
- itemBody: {
34749
- marginTop: 0
34750
- }
34751
- },
34752
- children: milestones.map((milestone) => {
34753
- const milestoneTasks = tasks.filter((task) => task.milestone_id === milestone.id);
34754
- const checklistItems = parseChecklist2(milestone);
34755
- const completedChecklistItems = checklistItems.filter((item) => item.completed).length;
34756
- return /* @__PURE__ */ jsx(
34757
- Timeline.Item,
34758
- {
34759
- bullet: renderMilestoneBullet(milestone.status),
34760
- title: /* @__PURE__ */ jsx("div", {}),
34761
- children: /* @__PURE__ */ jsx(
34762
- Paper,
34763
- {
34764
- p: "lg",
34765
- radius: "md",
34766
- style: {
34767
- background: "transparent",
34768
- border: "none",
34769
- borderTop: "1px solid var(--color-border)",
34770
- borderRight: "1px solid var(--color-border)",
34771
- borderBottom: "1px solid var(--color-border)",
34772
- boxShadow: "none",
34773
- position: "relative",
34774
- overflow: "hidden"
34775
- },
34776
- children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
34777
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
34778
- /* @__PURE__ */ jsxs(Stack, { gap: 6, style: { flex: 1, minWidth: 260 }, children: [
34939
+ children: milestones.map((milestone) => {
34940
+ const milestoneTasks = tasks.filter((task) => task.milestone_id === milestone.id);
34941
+ const checklistItems = parseChecklist2(milestone);
34942
+ const completedChecklistItems = checklistItems.filter((item) => item.completed).length;
34943
+ return /* @__PURE__ */ jsx(
34944
+ Timeline.Item,
34945
+ {
34946
+ bullet: renderMilestoneBullet(milestone.status),
34947
+ title: /* @__PURE__ */ jsx("div", {}),
34948
+ children: /* @__PURE__ */ jsx(
34949
+ Paper,
34950
+ {
34951
+ p: "lg",
34952
+ radius: "md",
34953
+ style: {
34954
+ background: "transparent",
34955
+ border: "none",
34956
+ borderTop: "1px solid var(--color-border)",
34957
+ borderRight: "1px solid var(--color-border)",
34958
+ borderBottom: "1px solid var(--color-border)",
34959
+ boxShadow: "none",
34960
+ position: "relative",
34961
+ overflow: "hidden"
34962
+ },
34963
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
34964
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
34965
+ /* @__PURE__ */ jsxs(Stack, { gap: 6, style: { flex: 1, minWidth: 260 }, children: [
34966
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
34967
+ /* @__PURE__ */ jsx(Text, { fw: 700, size: "lg", c: "var(--color-text)", children: milestone.name }),
34968
+ /* @__PURE__ */ jsx(
34969
+ Badge,
34970
+ {
34971
+ variant: "light",
34972
+ color: milestoneStatusColors[milestone.status || ""] || "gray",
34973
+ size: "sm",
34974
+ styles: {
34975
+ root: {
34976
+ letterSpacing: "0.02em"
34977
+ }
34978
+ },
34979
+ children: formatStatusLabel(milestone.status || "unknown")
34980
+ }
34981
+ )
34982
+ ] }),
34983
+ milestone.description && /* @__PURE__ */ jsx(Text, { size: "sm", c: "var(--color-text-dimmed)", maw: 900, children: milestone.description })
34984
+ ] }),
34779
34985
  /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
34780
- /* @__PURE__ */ jsx(Text, { fw: 700, size: "lg", c: "var(--color-text)", children: milestone.name }),
34781
- /* @__PURE__ */ jsx(
34986
+ milestone.due_date && /* @__PURE__ */ jsxs(
34987
+ Badge,
34988
+ {
34989
+ variant: "outline",
34990
+ size: "md",
34991
+ styles: {
34992
+ root: {
34993
+ borderColor: "var(--border-primary-subtle)",
34994
+ backgroundColor: "var(--surface-primary-faint)"
34995
+ }
34996
+ },
34997
+ children: [
34998
+ "Due ",
34999
+ formatDate(milestone.due_date)
35000
+ ]
35001
+ }
35002
+ ),
35003
+ /* @__PURE__ */ jsxs(
35004
+ Badge,
35005
+ {
35006
+ variant: "outline",
35007
+ size: "md",
35008
+ styles: {
35009
+ root: {
35010
+ borderColor: "var(--border-primary-soft)",
35011
+ backgroundColor: "var(--color-surface)"
35012
+ }
35013
+ },
35014
+ children: [
35015
+ completedChecklistItems,
35016
+ "/",
35017
+ checklistItems.length,
35018
+ " complete"
35019
+ ]
35020
+ }
35021
+ ),
35022
+ milestoneTasks.length > 0 && /* @__PURE__ */ jsxs(
34782
35023
  Badge,
34783
35024
  {
34784
- variant: "light",
34785
- color: milestoneStatusColors[milestone.status || ""] || "gray",
34786
- size: "sm",
35025
+ variant: "outline",
35026
+ size: "md",
34787
35027
  styles: {
34788
35028
  root: {
34789
- letterSpacing: "0.02em"
35029
+ borderColor: "var(--border-primary-soft)",
35030
+ backgroundColor: "var(--color-surface)"
34790
35031
  }
34791
35032
  },
34792
- children: formatStatusLabel(milestone.status || "unknown")
35033
+ children: [
35034
+ milestoneTasks.length,
35035
+ " tasks"
35036
+ ]
34793
35037
  }
34794
35038
  )
34795
- ] }),
34796
- milestone.description && /* @__PURE__ */ jsx(Text, { size: "sm", c: "var(--color-text-dimmed)", maw: 900, children: milestone.description })
35039
+ ] })
34797
35040
  ] }),
35041
+ /* @__PURE__ */ jsx(MilestoneChecklist, { milestone }),
35042
+ milestoneTasks.length > 0 && /* @__PURE__ */ jsx(Stack, { gap: "sm", children: milestoneTasks.map((task) => /* @__PURE__ */ jsx(
35043
+ Card,
35044
+ {
35045
+ p: "sm",
35046
+ radius: "md",
35047
+ style: {
35048
+ border: "1px solid var(--border-primary-faint)",
35049
+ backgroundColor: "color-mix(in srgb, var(--color-surface-hover) 70%, var(--color-surface))",
35050
+ boxShadow: "var(--standard-box-shadow)"
35051
+ },
35052
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
35053
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", justify: "space-between", align: "flex-start", wrap: "wrap", children: [
35054
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "var(--color-text)", children: task.name }),
35055
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
35056
+ /* @__PURE__ */ jsx(
35057
+ Badge,
35058
+ {
35059
+ variant: "light",
35060
+ color: taskTypeColors[task.type || ""] || "gray",
35061
+ size: "xs",
35062
+ children: formatStatusLabel(task.type || "other")
35063
+ }
35064
+ ),
35065
+ /* @__PURE__ */ jsx(
35066
+ Badge,
35067
+ {
35068
+ variant: "light",
35069
+ color: taskStatusColors[task.status || ""] || "gray",
35070
+ size: "xs",
35071
+ children: formatStatusLabel(task.status || "pending")
35072
+ }
35073
+ )
35074
+ ] })
35075
+ ] }),
35076
+ /* @__PURE__ */ jsx(ResumeContextView, { task })
35077
+ ] })
35078
+ },
35079
+ task.id
35080
+ )) })
35081
+ ] })
35082
+ }
35083
+ )
35084
+ },
35085
+ milestone.id
35086
+ );
35087
+ })
35088
+ }
35089
+ ),
35090
+ (() => {
35091
+ const unassignedTasks = tasks.filter((task) => task.milestone_id == null);
35092
+ if (unassignedTasks.length === 0) return null;
35093
+ return /* @__PURE__ */ jsx(
35094
+ Paper,
35095
+ {
35096
+ p: "lg",
35097
+ radius: "md",
35098
+ mt: "xl",
35099
+ style: {
35100
+ border: "1px solid var(--color-border)",
35101
+ borderRadius: "var(--mantine-radius-default)"
35102
+ },
35103
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
35104
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
35105
+ /* @__PURE__ */ jsx(Text, { fw: 700, size: "lg", c: "var(--color-text)", children: "Unassigned" }),
35106
+ /* @__PURE__ */ jsx(Badge, { variant: "light", color: "gray", size: "sm", styles: { root: { letterSpacing: "0.02em" } }, children: "No milestone" }),
35107
+ /* @__PURE__ */ jsxs(
35108
+ Badge,
35109
+ {
35110
+ variant: "outline",
35111
+ size: "md",
35112
+ styles: {
35113
+ root: {
35114
+ borderColor: "var(--border-primary-soft)",
35115
+ backgroundColor: "var(--color-surface)"
35116
+ }
35117
+ },
35118
+ children: [
35119
+ unassignedTasks.length,
35120
+ " tasks"
35121
+ ]
35122
+ }
35123
+ )
35124
+ ] }),
35125
+ /* @__PURE__ */ jsx(Stack, { gap: "sm", children: unassignedTasks.map((task) => /* @__PURE__ */ jsx(
35126
+ Card,
35127
+ {
35128
+ p: "sm",
35129
+ radius: "md",
35130
+ style: {
35131
+ border: "1px solid var(--border-primary-faint)",
35132
+ backgroundColor: "color-mix(in srgb, var(--color-surface-hover) 70%, var(--color-surface))",
35133
+ boxShadow: "var(--standard-box-shadow)"
35134
+ },
35135
+ children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
35136
+ /* @__PURE__ */ jsxs(Group, { gap: "xs", justify: "space-between", align: "flex-start", wrap: "wrap", children: [
35137
+ /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "var(--color-text)", children: task.name }),
34798
35138
  /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
34799
- milestone.due_date && /* @__PURE__ */ jsxs(
34800
- Badge,
34801
- {
34802
- variant: "outline",
34803
- size: "md",
34804
- styles: {
34805
- root: {
34806
- borderColor: "var(--border-primary-subtle)",
34807
- backgroundColor: "var(--surface-primary-faint)"
34808
- }
34809
- },
34810
- children: [
34811
- "Due ",
34812
- formatDate(milestone.due_date)
34813
- ]
34814
- }
34815
- ),
34816
- /* @__PURE__ */ jsxs(
34817
- Badge,
34818
- {
34819
- variant: "outline",
34820
- size: "md",
34821
- styles: {
34822
- root: {
34823
- borderColor: "var(--border-primary-soft)",
34824
- backgroundColor: "var(--color-surface)"
34825
- }
34826
- },
34827
- children: [
34828
- completedChecklistItems,
34829
- "/",
34830
- checklistItems.length,
34831
- " complete"
34832
- ]
34833
- }
34834
- ),
34835
- milestoneTasks.length > 0 && /* @__PURE__ */ jsxs(
35139
+ /* @__PURE__ */ jsx(Badge, { variant: "light", color: taskTypeColors[task.type || ""] || "gray", size: "xs", children: formatStatusLabel(task.type || "other") }),
35140
+ /* @__PURE__ */ jsx(
34836
35141
  Badge,
34837
35142
  {
34838
- variant: "outline",
34839
- size: "md",
34840
- styles: {
34841
- root: {
34842
- borderColor: "var(--border-primary-soft)",
34843
- backgroundColor: "var(--color-surface)"
34844
- }
34845
- },
34846
- children: [
34847
- milestoneTasks.length,
34848
- " tasks"
34849
- ]
35143
+ variant: "light",
35144
+ color: taskStatusColors[task.status || ""] || "gray",
35145
+ size: "xs",
35146
+ children: formatStatusLabel(task.status || "pending")
34850
35147
  }
34851
35148
  )
34852
35149
  ] })
34853
35150
  ] }),
34854
- /* @__PURE__ */ jsx(MilestoneChecklist, { milestone }),
34855
- milestoneTasks.length > 0 && /* @__PURE__ */ jsx(Stack, { gap: "sm", children: milestoneTasks.map((task) => /* @__PURE__ */ jsx(
34856
- Card,
34857
- {
34858
- p: "sm",
34859
- radius: "md",
34860
- style: {
34861
- border: "1px solid var(--border-primary-faint)",
34862
- backgroundColor: "color-mix(in srgb, var(--color-surface-hover) 70%, var(--color-surface))",
34863
- boxShadow: "var(--standard-box-shadow)"
34864
- },
34865
- children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
34866
- /* @__PURE__ */ jsxs(Group, { gap: "xs", justify: "space-between", align: "flex-start", wrap: "wrap", children: [
34867
- /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "var(--color-text)", children: task.name }),
34868
- /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
34869
- /* @__PURE__ */ jsx(
34870
- Badge,
34871
- {
34872
- variant: "light",
34873
- color: taskTypeColors[task.type || ""] || "gray",
34874
- size: "xs",
34875
- children: formatStatusLabel(task.type || "other")
34876
- }
34877
- ),
34878
- /* @__PURE__ */ jsx(
34879
- Badge,
34880
- {
34881
- variant: "light",
34882
- color: taskStatusColors[task.status || ""] || "gray",
34883
- size: "xs",
34884
- children: formatStatusLabel(task.status || "pending")
34885
- }
34886
- )
34887
- ] })
34888
- ] }),
34889
- /* @__PURE__ */ jsx(ResumeContextView, { task })
34890
- ] })
34891
- },
34892
- task.id
34893
- )) })
35151
+ /* @__PURE__ */ jsx(ResumeContextView, { task })
34894
35152
  ] })
34895
- }
34896
- )
34897
- },
34898
- milestone.id
34899
- );
34900
- })
34901
- }
34902
- ) }),
35153
+ },
35154
+ task.id
35155
+ )) })
35156
+ ] })
35157
+ }
35158
+ );
35159
+ })()
35160
+ ] }),
34903
35161
  /* @__PURE__ */ jsx(Tabs.Panel, { value: "notes", pt: "md", children: /* @__PURE__ */ jsx(NotesTabContent, { notes, onAddNote: () => setAddNoteOpen(true) }) }),
34904
35162
  /* @__PURE__ */ jsx(Tabs.Panel, { value: "activity", pt: "md", children: /* @__PURE__ */ jsx(ProjectActivityTimeline, { projectId }) })
34905
35163
  ] })
@@ -36075,6 +36333,77 @@ function ResourceNotFoundState2({ type, resourceId, onNavigateBack }) {
36075
36333
  /* @__PURE__ */ jsx(Button, { variant: "light", leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }), onClick: handleBack, children: "Back to Operations" })
36076
36334
  ] }) }) });
36077
36335
  }
36336
+ function publicUrlForSlug(slug) {
36337
+ const path = `/public/agents/${encodeURIComponent(slug)}`;
36338
+ if (typeof window === "undefined") return path;
36339
+ return new URL(path, window.location.origin).toString();
36340
+ }
36341
+ function AgentPublicAccessControls({ resourceId }) {
36342
+ const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
36343
+ const queryClient = useQueryClient();
36344
+ const queryKey = ["operations", "agent-public-access", workOSOrganizationId, resourceId];
36345
+ const grantsQuery = useQuery({
36346
+ queryKey,
36347
+ queryFn: async () => apiRequest(
36348
+ `/agent-access-grants?resourceId=${encodeURIComponent(resourceId)}&includeDisabled=true`
36349
+ ),
36350
+ enabled: isReady
36351
+ });
36352
+ const activeGrant = useMemo(
36353
+ () => grantsQuery.data?.grants.find((grant) => !grant.isDisabled) ?? null,
36354
+ [grantsQuery.data?.grants]
36355
+ );
36356
+ const publicUrl = activeGrant ? publicUrlForSlug(activeGrant.slug) : null;
36357
+ const setPublicMutation = useMutation({
36358
+ mutationFn: (isPublic2) => apiRequest(
36359
+ `/agent-access-grants/resources/${encodeURIComponent(resourceId)}/public`,
36360
+ {
36361
+ method: "PUT",
36362
+ body: JSON.stringify({ public: isPublic2 })
36363
+ }
36364
+ ),
36365
+ onSuccess: async (_result, isPublic2) => {
36366
+ await queryClient.invalidateQueries({ queryKey });
36367
+ notifications.show({
36368
+ message: isPublic2 ? "Agent is public" : "Agent is private",
36369
+ color: isPublic2 ? "teal" : "gray"
36370
+ });
36371
+ },
36372
+ onError: (error) => {
36373
+ notifications.show({
36374
+ message: error instanceof Error ? error.message : "Unable to update public access",
36375
+ color: "red"
36376
+ });
36377
+ }
36378
+ });
36379
+ const isPending = grantsQuery.isLoading || setPublicMutation.isPending;
36380
+ const isPublic = Boolean(activeGrant);
36381
+ return /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
36382
+ /* @__PURE__ */ jsx(
36383
+ Switch,
36384
+ {
36385
+ size: "sm",
36386
+ label: isPublic ? "Public" : "Private",
36387
+ checked: isPublic,
36388
+ disabled: isPending,
36389
+ onChange: (event) => setPublicMutation.mutate(event.currentTarget.checked)
36390
+ }
36391
+ ),
36392
+ publicUrl && /* @__PURE__ */ jsx(
36393
+ Button,
36394
+ {
36395
+ component: "a",
36396
+ href: publicUrl,
36397
+ target: "_blank",
36398
+ rel: "noreferrer",
36399
+ size: "xs",
36400
+ variant: "light",
36401
+ leftSection: /* @__PURE__ */ jsx(IconExternalLink, { size: 16 }),
36402
+ children: "Public URL"
36403
+ }
36404
+ )
36405
+ ] });
36406
+ }
36078
36407
  function ResourceDetailPage({
36079
36408
  type,
36080
36409
  resourceId,
@@ -36134,7 +36463,8 @@ function ResourceDetailPage({
36134
36463
  sessionCapable,
36135
36464
  onRun: () => setRunOpened(true),
36136
36465
  onNavigateToResources,
36137
- onNavigateToSessions
36466
+ onNavigateToSessions,
36467
+ publicAccessControl: type === "agent" ? /* @__PURE__ */ jsx(AgentPublicAccessControls, { resourceId }) : null
36138
36468
  }
36139
36469
  ),
36140
36470
  /* @__PURE__ */ jsx(ResourceHealthPanel, { resourceId, resourceType: type, timeRange }),
@@ -43624,6 +43954,26 @@ function AgentExecutionPanel({
43624
43954
  const executionStreamingLogs = selectedId ? streamingLogs.get(selectedId) : void 0;
43625
43955
  const mergedExecution = useMergedExecution(selectedExecution, executionStreamingLogs);
43626
43956
  const iterationData = useAgentIterationData(mergedExecution, resourceDefinition);
43957
+ const selectedIteration = typeof selectedIterationId === "number" ? iterationData?.iterations.find((iteration) => iteration.iterationNumber === selectedIterationId) ?? null : null;
43958
+ const iterationTotals = useMemo(() => {
43959
+ const iterations = iterationData?.iterations ?? [];
43960
+ let totalToolCalls = 0;
43961
+ let toolErrorCount = 0;
43962
+ for (const iteration of iterations) {
43963
+ for (const activity of iteration.subActivities) {
43964
+ if (activity.type !== "tool-call") continue;
43965
+ totalToolCalls += 1;
43966
+ if ("success" in activity.details && !activity.details.success) {
43967
+ toolErrorCount += 1;
43968
+ }
43969
+ }
43970
+ }
43971
+ return {
43972
+ totalToolCalls,
43973
+ toolErrorCount,
43974
+ totalDuration: iterationData?.totalDuration
43975
+ };
43976
+ }, [iterationData]);
43627
43977
  if (isLoading) {
43628
43978
  return /* @__PURE__ */ jsx(Center, { h: "100%", p: "lg", children: /* @__PURE__ */ jsx(Loader, { size: "md" }) });
43629
43979
  }
@@ -43633,6 +43983,7 @@ function AgentExecutionPanel({
43633
43983
  {
43634
43984
  resourceDefinition,
43635
43985
  iterationData,
43986
+ execution: mergedExecution,
43636
43987
  selectedExecutionId: selectedId,
43637
43988
  liveExecutions,
43638
43989
  selectedIterationId,
@@ -43648,17 +43999,20 @@ function AgentExecutionPanel({
43648
43999
  overflow: "hidden",
43649
44000
  padding: theme.spacing.sm
43650
44001
  },
43651
- children: /* @__PURE__ */ jsx(
43652
- AgentExecutionLogs,
43653
- {
43654
- resourceId,
43655
- executionId: selectedId,
43656
- execution: mergedExecution,
43657
- selectedIterationId,
43658
- iterationData,
43659
- onExecutionDeleted: () => setSelectedId(void 0)
43660
- }
43661
- )
44002
+ children: /* @__PURE__ */ jsxs(Stack, { h: "100%", gap: "sm", children: [
44003
+ iterationData && /* @__PURE__ */ jsx(AgentIterationDetailPanel, { iteration: selectedIteration, totals: iterationTotals }),
44004
+ /* @__PURE__ */ jsx("div", { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ jsx(
44005
+ AgentExecutionLogs,
44006
+ {
44007
+ resourceId,
44008
+ executionId: selectedId,
44009
+ execution: mergedExecution,
44010
+ selectedIterationId,
44011
+ iterationData,
44012
+ onExecutionDeleted: () => setSelectedId(void 0)
44013
+ }
44014
+ ) })
44015
+ ] })
43662
44016
  }
43663
44017
  )
43664
44018
  ] });
@@ -46023,15 +46377,15 @@ function ActivityFeed({
46023
46377
  function NotificationCenter({ pageSize = 20 }) {
46024
46378
  const { page, setPage, offset, totalPages } = usePaginationState(pageSize);
46025
46379
  const { data, isLoading } = useNotifications({ limit: pageSize, offset });
46026
- const notifications15 = data?.notifications ?? [];
46380
+ const notifications16 = data?.notifications ?? [];
46027
46381
  const markAllAsRead = useMarkAllAsRead();
46028
- const hasUnread = notifications15.some((n) => !n.read);
46382
+ const hasUnread = notifications16.some((n) => !n.read);
46029
46383
  const handleMarkAllAsRead = async () => {
46030
46384
  await markAllAsRead.mutateAsync();
46031
46385
  };
46032
46386
  return /* @__PURE__ */ jsxs(Fragment, { children: [
46033
46387
  hasUnread && /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(Button, { variant: "light", size: "sm", onClick: handleMarkAllAsRead, loading: markAllAsRead.isPending, children: "Mark all as read" }) }),
46034
- /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(NotificationList, { notifications: notifications15, isLoading }) }),
46388
+ /* @__PURE__ */ jsx(Paper, { children: /* @__PURE__ */ jsx(NotificationList, { notifications: notifications16, isLoading }) }),
46035
46389
  totalPages(data?.total ?? 0) > 1 && /* @__PURE__ */ jsx(Group, { justify: "flex-start", children: /* @__PURE__ */ jsx(Pagination, { value: page, onChange: setPage, total: totalPages(data?.total ?? 0), size: "sm", boundaries: 1 }) })
46036
46390
  ] });
46037
46391
  }
@@ -51038,4 +51392,4 @@ function useAccess(key) {
51038
51392
  };
51039
51393
  }
51040
51394
 
51041
- export { APIErrorAlert, AbsoluteScheduleForm, AccessGuard, AccessKeys, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, ActivityTimeline, ActivityTrendChart, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, AgentResourceEntrySchema, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppErrorBoundary, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceContext, AppearanceProvider, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, CenteredErrorState, ChartFrame, Checklist, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CollapsibleSidebarGroup, CombinedTrendChart, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CostTrendChart, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmActionsProvider, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, CyberParticles, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DEFAULT_SEMANTIC_ICON_REGISTRY, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EMPTY_LIST_ACTIONS, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, ElevasisCoreProvider, ElevasisLoader, ElevasisSystemsProvider, ElevasisUIProvider, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ErrorReportCard, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FILTERABLE_DOMAIN_KEYS, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, HeroStatsRow, IdentityDomainSchema, IntegrationResourceEntrySchema, JsonViewer, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KanbanBoard, KnowledgeSearchBar, KnowledgeTree, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LinksGroup, ListActionsProvider, ListBuilderIndexPage, ListBuilderPage, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyRolesPage, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, NotificationProvider, OAuthConnectModal, OAuthIntegrationsCard, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationProvider, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PageContainer, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, PolicySchema, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProtectedRoute, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, RequestActionIcon, RequestModal, ResourceCard, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RoleSchema, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, ScriptResourceEntrySchema, SemanticIcon, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, Sidebar, SidebarContext, SidebarProvider, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SurfaceDefinitionSchema, SystemOpsView, SystemShell, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, Topbar, TopbarActions, TopbarContainer, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, Vignette, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, WorkflowResourceEntrySchema, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, buildErrorReport, buildKnowledgeOmTreeData, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createTestSystemsProvider, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, extendSemanticIconRegistry, filterByDomainFilters, findKnowledgeTreeNodeByValue, findListActionByAction, findOmTreeGroup, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getConceptDefinition, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getKnowledgeDomainFolderCommand, getKnowledgeGraphNodeCommand, getKnowledgeIconToken, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getKnowledgeTreeFolderCommand, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getListActionWorkflowId, getLogLevelConfig, getOntologyDomainLabel, getPrimaryOntologyItemsForDomain, getResourceFilterFacetIds, getSemanticIconComponent, getSeriesColor, getSharedOrganizationGraph, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, knowledgeManifest, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, normaliseConceptKey, noteKeys, noteTypeColors, observabilityKeys, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectNavigationGroups, projectNavigationSurfaces, projectStatusColors, requestTopbarActionManifest, requestsKeys, resolveBuildPlanSteps, resolveBuildState, resolveSemanticIconComponent, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, subsidebarWidth, taskKeys, taskStatusColors, taskTypeColors, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useAppearance, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBreadcrumbs, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTask, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmActions, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useCyberColors, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useElevasisSystems, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListActions, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationAdapter, useNotificationCount, useNotifications, useOptionalElevasisSystems, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResolvedOrganizationModel, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSidebar, useSidebarCollapse, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSubmitRequest, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };
51395
+ export { APIErrorAlert, AbsoluteScheduleForm, AccessGuard, AccessKeys, AccountSettings, ActionModal, ActivityCard, ActivityFeed, ActivityFeedWidget, ActivityFilters, ActivityLog, ActivityTable, ActivityTimeline, ActivityTrendChart, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionPanel, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationDetailPanel, AgentIterationEdge, AgentIterationNode, AgentResourceEntrySchema, AgentSessionGroup, AllTasksPage, ApiKeyDisplayModal, ApiKeyList, ApiKeyService, ApiKeySettings, AppErrorBoundary, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, AppearanceContext, AppearanceProvider, AppearanceSettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, Breadcrumbs, BusinessImpactCard, CRM_ITEMS, CenteredErrorState, ChartFrame, Checklist, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CollapsibleSidebarGroup, CombinedTrendChart, CommandQueueDetailPage, CommandQueuePage, CommandQueueShell, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewPage, CompanyDetailPage, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContactDetailPage, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, ConversationThread, CostAnalytics, CostBreakdownCard, CostByModelTable, CostMetricsCard, CostTrendChart, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateDeliveryEntityModal, CreateRoleModal, CreateScheduleModal, CreateWebhookEndpointModal, CredentialList, CredentialService, CredentialSettings, CrmActionsProvider, CrmOverview, CrmSettingsPage, CrmSidebar, CrmSidebarMiddle, CrmSidebarTop, CustomModal, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, CyberParticles, DEAL_STAGES, DEAL_STAGE_COLORS, DEAL_STAGE_OPTIONS, DEFAULT_KANBAN_CONFIG, DEFAULT_SEMANTIC_ICON_REGISTRY, DELIVERY_COMMUNICATION_ITEMS, DELIVERY_PROJECT_ITEMS, DELIVERY_WORK_ITEMS, Dashboard, DashboardOperationsOverview, DealDetailPage, DealKanbanCard, DealsListPage, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentService, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, EMPTY_LIST_ACTIONS, EditApiKeyModal, EditCredentialModal, EditWebhookEndpointModal, ElevasisCoreProvider, ElevasisLoader, ElevasisSystemsProvider, ElevasisUIProvider, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorDetailsModal, ErrorReportCard, ExecuteWorkflowModal, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealth, ExecutionHealthCard, ExecutionLogsFilters, ExecutionLogsPage, ExecutionLogsTable, ExecutionPanel, ExecutionStats, ExecutionStatusBadge, FILTERABLE_DOMAIN_KEYS, FeatureUnavailableState, FilterBar, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, HealthStatusCard, HeroStatsRow, IdentityDomainSchema, IntegrationResourceEntrySchema, JsonViewer, KNOWLEDGE_DOMAINS_WITH_PANELS, KNOWLEDGE_ICON_TOKEN_BY_KIND, KanbanBoard, KnowledgeSearchBar, KnowledgeTree, LEAD_GEN_ITEMS, LEAD_GEN_ROUTE_LINKS, LeadGenCompaniesPage, LeadGenContactsPage, LeadGenListDetailPage, LeadGenListsPage, LeadGenOverviewPage, LeadGenRouteShell, LeadGenSidebar, LeadGenSidebarMiddle, LeadGenSidebarTop, LinksGroup, ListActionsProvider, ListBuilderIndexPage, ListBuilderPage, ListSkeleton, LogEntry, LogGroup, MdxRenderer, MemberAccessModal, MembershipStatusBadge, MetricsStrip, MilestoneTimeline, MyRolesPage, MyTasksPanel, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NoAccessState, NotificationBell, NotificationCenter, NotificationItem, NotificationList, NotificationPanel, NotificationProvider, OAuthConnectModal, OAuthIntegrationsCard, OM_NESTED_TREE_GROUPS, OM_TREE_GROUPS, ORPHAN_STAGE_ORDER, OperationsOverview, OperationsService, OperationsSidebar, OperationsSidebarMiddle, OperationsSidebarTop, OrgMembersList, OrganizationGraphPage, OrganizationMembershipService, OrganizationMembershipsList, OrganizationProvider, OrganizationSettings, OrganizationSwitcher, OrganizationSwitcherConnected, PIPELINE_FUNNEL_ORDER, PageContainer, PageNotFound, PageTitleCaption, PermissionMatrix, PipelineFunnelWidget, PolicySchema, ProjectDetailPage, ProjectsListPage, ProjectsSidebar, ProjectsSidebarMiddle, ProjectsSidebarTop, ProtectedRoute, QuickCreateActions, RecentExecutionsByResource, RecurringScheduleForm, RelativeScheduleForm, RequestActionIcon, RequestModal, ResourceCard, ResourceDefinitionSection, ResourceDetailPage, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, ResourceOverview, ResourcesPage, ResourcesSidebar, RichTextEditor, RoleBadge, RoleSchema, RunResourceButton, SAVED_VIEW_PRESETS, SavedViewsPanel, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, ScriptResourceEntrySchema, SemanticIcon, SessionChatArea, SessionChatInterface, SessionChatPage, SessionDetailsSidebar, SessionExecutionLogs, SessionHeader, SessionListItem, SessionMemory, SessionsPage, SessionsSidebar, Sidebar, SidebarContext, SidebarProvider, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StatusBadge, StepConfigForm, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellNavList, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarLoader, SurfaceDefinitionSchema, SystemOpsView, SystemShell, TabCountBadge, TabSection, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, Topbar, TopbarActions, TopbarContainer, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, UnresolvedErrorsTeaser, UpcomingMilestonesPage, Vignette, VisualizerContainer, WebhookEndpointList, WebhookEndpointService, WebhookEndpointSettings, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionPanel, WorkflowExecutionTimeline, WorkflowResourceEntrySchema, ZodFormRenderer, acquisitionListKeys, aggregateSystemMetrics, buildErrorReport, buildKnowledgeOmTreeData, calculateProgress, clientsKeys, collectResourceFilterFacets, companyKeys, contactKeys, createOrganizationsSlice, createTestSystemsProvider, createUseOrgInitialization, createUseOrganizations, crmManifest, crmPrioritySettingsKeys, dealKeys, dealNoteKeys, dealTaskKeys, deliveryManifest, deriveBusinessProgress, executionsKeys, extendSemanticIconRegistry, filterByDomainFilters, findKnowledgeTreeNodeByValue, findListActionByAction, findOmTreeGroup, formatDate3 as formatDate, formatDealStageLabel, formatResourceAttribution, formatStatusLabel, getConceptDefinition, getEnrichmentColor, getEnrichmentStatus, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getKnowledgeDomainFolderCommand, getKnowledgeGraphNodeCommand, getKnowledgeIconToken, getKnowledgeNodeReadCommand, getKnowledgeOntologyProjection, getKnowledgeTreeFolderCommand, getLeadGenApiInterfaceReadiness, getLeadGenExportWorkflowId, getListActionWorkflowId, getLogLevelConfig, getOntologyDomainLabel, getPrimaryOntologyItemsForDomain, getResourceFilterFacetIds, getSemanticIconComponent, getSeriesColor, getSharedOrganizationGraph, getStateKeyColor, getStatusColor4 as getStatusColor, getStepActionLabel, iconMap, isLeadGenExportAction, isSessionCapable, knowledgeManifest, labelResourceFilterFacet, leadGenArtifactKeys, leadGenListCompanyKeys, leadGenListMemberKeys, leadGenManifest, mdxComponents, milestoneKeys, milestoneStatusColors, monitoringManifest, normaliseConceptKey, noteKeys, noteTypeColors, observabilityKeys, operationsKeys, operationsManifest, projectActivityKeys, projectKeys, projectNavigationGroups, projectNavigationSurfaces, projectStatusColors, requestTopbarActionManifest, requestsKeys, resolveBuildPlanSteps, resolveBuildState, resolveSemanticIconComponent, scheduleKeys, sessionsKeys, settingsManifest, showApiErrorNotification, showAuthError, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, sortData, sortStageKeys, subsidebarWidth, taskKeys, taskStatusColors, taskTypeColors, useAccess, useActivateDeployment, useActivities, useActivitiesRealtime, useActivityFilters, useActivityTrend, useAddCompaniesToList, useAddContactsToList, useAppearance, useArchiveSession, useArchivedLogs, useArtifacts, useAssignRole, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBreadcrumbs, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useClient, useClientStatus, useClients, useCommandQueue, useCommandQueueTask, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompanyFacets, useCompleteDealTask, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateArtifact, useCreateClient, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateList, useCreateMilestone, useCreateNote, useCreateOrgRole, useCreateProject, useCreateSchedule, useCreateSession, useCreateTask, useCreateWebhookEndpoint, useCredentials, useCrmActions, useCrmPipelineSummary, useCrmPrioritySettings, useCrmQuickMetrics, useCyberColors, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDealsLookup, useDealsSummary, useDeleteApiKey, useDeleteClient, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteLists, useDeleteMilestone, useDeleteOrgRole, useDeleteProject, useDeleteRequest, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeleteTask2, useDeleteWebhookEndpoint, useDeriveActions, useEffectivePermissions, useElevasisSystems, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAction, useExecuteAsync, useExecuteResource, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionSSE, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphBackgroundStyles, useGraphTheme, useInFlightExecutions, useLeadGenConfig, useList, useListActions, useListApiKeys, useListDeployments, useListExecutions, useListMember, useListMembers, useListProgress, useListRecords, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMilestones, useNewKnowledgeMapLayout, useNotificationAdapter, useNotificationCount, useNotifications, useOptionalElevasisSystems, useOrgRoles, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePermissionCatalog, useProject, useProjectActivities, useProjectMilestones, useProjectNotes, useProjectRealtime, useProjectTasks, useProjects, useReactivateMembership, useRecentCrmActivity, useRecentExecutionsByResource, useRemoveCompaniesFromList, useRequest, useRequestsList, useResetCrmPrioritySettings, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResolvedOrganizationModel, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRevokeRole, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSidebar, useSidebarCollapse, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSubmitRequest, useSuccessNotification, useSystemHealth, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTopFailingResources, useTransitionItem, useTransitionListCompany, useTransitionListMember, useTransitionState, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateClient, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateCrmPrioritySettings, useUpdateList, useUpdateListConfig, useUpdateListStatus, useUpdateMilestone, useUpdateOrgRole, useUpdateProject, useUpdateRequestStatus, useUpdateSchedule, useUpdateTask, useUpdateWebhookEndpoint, useUserMemberships, useVerifyCredential, useVisibleResources, useWarningNotification, useWorkflowExecution };