@elevasis/ui 2.18.0 → 2.20.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 (93) hide show
  1. package/dist/{CoreAuthKitInner-I32JCNE7.js → CoreAuthKitInner-QC62UHTZ.js} +1 -0
  2. package/dist/api/index.js +3 -2
  3. package/dist/app/index.js +6 -5
  4. package/dist/auth/context.js +1 -0
  5. package/dist/auth/index.js +1 -0
  6. package/dist/charts/index.js +4 -3
  7. package/dist/{chunk-LT33DSMO.js → chunk-2CFOFSSG.js} +4 -4
  8. package/dist/chunk-3JCMO7SD.js +14 -0
  9. package/dist/chunk-7XKCG5CT.js +125 -0
  10. package/dist/{chunk-SQPM2QDH.js → chunk-BHR7IV72.js} +3 -2
  11. package/dist/{chunk-DDZMBNTY.js → chunk-CTTY6FUT.js} +2 -2
  12. package/dist/chunk-DRQPEMJI.js +42 -0
  13. package/dist/{chunk-EY322HXF.js → chunk-FMFX4K6E.js} +19 -6
  14. package/dist/{chunk-UA36WILN.js → chunk-GP3AFJYG.js} +145 -211
  15. package/dist/{chunk-P6TC4K7I.js → chunk-GTYUP7MB.js} +4 -4
  16. package/dist/chunk-HJ4CJIWN.js +38 -0
  17. package/dist/chunk-I2KLQ2HA.js +19 -0
  18. package/dist/{chunk-B6FIIEFO.js → chunk-JR5WNTLA.js} +128 -117
  19. package/dist/{chunk-A2AZY5SF.js → chunk-LR5CRY5A.js} +1 -1
  20. package/dist/{chunk-GRGRBWIO.js → chunk-M7W7CGPL.js} +1 -1
  21. package/dist/{chunk-SS2UVUSG.js → chunk-MZFJWCPH.js} +73 -121
  22. package/dist/{chunk-P3TFNFZS.js → chunk-OUYH2SBS.js} +3 -3
  23. package/dist/{chunk-66VY5EMV.js → chunk-PJVG3ISO.js} +5 -5
  24. package/dist/{chunk-I3LQGLUC.js → chunk-Q4QJOSVS.js} +1 -1
  25. package/dist/{chunk-R73EHHPN.js → chunk-Q5HC6ENG.js} +18 -2
  26. package/dist/{chunk-VDM6DQES.js → chunk-R7OJCNL3.js} +1 -1
  27. package/dist/{chunk-6RWMRQN5.js → chunk-TIIPYB2Z.js} +1 -1
  28. package/dist/{chunk-34NQLV2W.js → chunk-TO7QXDBX.js} +3 -3
  29. package/dist/{chunk-WP3IYOVJ.js → chunk-YP6T426C.js} +107 -56
  30. package/dist/{chunk-FM6LSZ45.js → chunk-ZE2KQSHL.js} +4 -4
  31. package/dist/components/chat/index.js +1 -0
  32. package/dist/components/index.d.ts +218 -2808
  33. package/dist/components/index.js +26 -25
  34. package/dist/components/navigation/index.js +1 -0
  35. package/dist/execution/index.js +1 -0
  36. package/dist/features/auth/index.js +1 -0
  37. package/dist/features/crm/index.d.ts +54 -53
  38. package/dist/features/crm/index.js +12 -11
  39. package/dist/features/dashboard/index.js +13 -12
  40. package/dist/features/delivery/index.d.ts +2642 -2605
  41. package/dist/features/delivery/index.js +12 -11
  42. package/dist/features/lead-gen/index.js +12 -22
  43. package/dist/features/monitoring/index.js +14 -13
  44. package/dist/features/monitoring/requests/index.d.ts +38 -27
  45. package/dist/features/monitoring/requests/index.js +213 -106
  46. package/dist/features/operations/index.d.ts +8 -26
  47. package/dist/features/operations/index.js +16 -15
  48. package/dist/features/seo/index.js +1 -0
  49. package/dist/features/settings/index.d.ts +36 -37
  50. package/dist/features/settings/index.js +13 -12
  51. package/dist/graph/index.js +1 -0
  52. package/dist/hooks/delivery/index.d.ts +2712 -2699
  53. package/dist/hooks/delivery/index.js +3 -2
  54. package/dist/hooks/index.d.ts +1674 -4617
  55. package/dist/hooks/index.js +11 -10
  56. package/dist/hooks/operations/command-view/utils/transformCommandViewData.js +1 -0
  57. package/dist/hooks/published.d.ts +1674 -4617
  58. package/dist/hooks/published.js +11 -10
  59. package/dist/index.d.ts +773 -3635
  60. package/dist/index.js +12 -11
  61. package/dist/initialization/index.js +1 -0
  62. package/dist/layout/index.d.ts +14 -2
  63. package/dist/layout/index.js +2 -1
  64. package/dist/organization/index.js +1 -0
  65. package/dist/profile/index.js +1 -0
  66. package/dist/provider/ElevasisServiceContext.js +1 -0
  67. package/dist/provider/index.d.ts +320 -249
  68. package/dist/provider/index.js +9 -8
  69. package/dist/provider/published.d.ts +320 -249
  70. package/dist/provider/published.js +6 -5
  71. package/dist/router/context.js +1 -0
  72. package/dist/router/index.js +1 -0
  73. package/dist/sse/index.d.ts +1 -6
  74. package/dist/sse/index.js +1 -1
  75. package/dist/supabase/index.js +1 -0
  76. package/dist/test-utils/index.d.ts +117 -0
  77. package/dist/test-utils/index.js +136 -0
  78. package/dist/test-utils/setup-integration.d.ts +2 -0
  79. package/dist/test-utils/setup-integration.js +26 -0
  80. package/dist/test-utils/setup.d.ts +2 -0
  81. package/dist/test-utils/setup.js +47 -0
  82. package/dist/theme/index.js +3 -2
  83. package/dist/typeform/index.js +1 -0
  84. package/dist/typeform/schemas.js +1 -0
  85. package/dist/types/index.d.ts +1604 -2489
  86. package/dist/utils/index.d.ts +32 -1
  87. package/dist/utils/index.js +2 -1
  88. package/dist/zustand/index.d.ts +4 -8
  89. package/dist/zustand/index.js +2 -0
  90. package/package.json +33 -5
  91. package/src/test-utils/README.md +5 -0
  92. package/dist/chunk-ADSSLKKP.js +0 -10
  93. /package/dist/{chunk-GCBWGGI6.js → chunk-OD7GWIZS.js} +0 -0
@@ -1,32 +1,32 @@
1
1
  import { ChatHeader, ChatSidebar } from './chunk-ROSMICXG.js';
2
- import { SubshellLoader } from './chunk-ADSSLKKP.js';
3
- import { BaseNode, useGraphTheme, BaseEdge, FormFieldRenderer, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-66VY5EMV.js';
4
- import { ResourceHealthPanel } from './chunk-FM6LSZ45.js';
5
- import { useCyberColors, CyberDonut } from './chunk-DDZMBNTY.js';
2
+ import { SubshellSidebarLoader, SubshellLoader } from './chunk-3JCMO7SD.js';
3
+ import { BaseNode, useGraphTheme, BaseEdge, FormFieldRenderer, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, GraphBackground, GraphFitViewButton, GraphFitViewHandler } from './chunk-PJVG3ISO.js';
4
+ import { ResourceHealthPanel } from './chunk-ZE2KQSHL.js';
5
+ import { useCyberColors, CyberDonut } from './chunk-CTTY6FUT.js';
6
6
  import { AppShellLoader } from './chunk-M25JL54Z.js';
7
7
  import { PageContainer } from './chunk-BZZCNLT6.js';
8
8
  import { SubshellSidebarSection } from './chunk-IIMU5YAJ.js';
9
9
  import { CustomModal, ConfirmationModal } from './chunk-GBMNCNHX.js';
10
10
  import { getResourceStatusColor, useTimelineData, useAgentIterationData, getStatusIcon } from './chunk-E4WQGJNS.js';
11
- import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, useExecuteAsync, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions } from './chunk-EY322HXF.js';
12
- import { showApiErrorNotification, showSuccessNotification } from './chunk-GRGRBWIO.js';
11
+ import { useErrorDetail, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, useCommandQueueTotals, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, useExecuteAsync, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useExecutionPanelState, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, useBulkDeleteExecutions } from './chunk-FMFX4K6E.js';
12
+ import { showApiErrorNotification, showSuccessNotification } from './chunk-M7W7CGPL.js';
13
13
  import { useGraphHighlighting, calculateGraphHeight, Graph_module_css_default, GRAPH_CONSTANTS } from './chunk-22UVE3RA.js';
14
14
  import { useMergedExecution } from './chunk-3ZMAGTWF.js';
15
- import { useOptionalElevasisFeatures, useElevasisFeatures } from './chunk-A2AZY5SF.js';
15
+ import { useOptionalElevasisFeatures, useElevasisFeatures } from './chunk-LR5CRY5A.js';
16
16
  import { SubshellContentContainer } from './chunk-RX4UWZZR.js';
17
- import { JsonViewer, CardHeader, PageTitleCaption, CollapsibleSection, TabCountBadge, ResourceCard, ContextViewer, EmptyState, APIErrorAlert } from './chunk-SQPM2QDH.js';
17
+ import { JsonViewer, CardHeader, PageTitleCaption, CollapsibleSection, TabCountBadge, ResourceCard, ContextViewer, EmptyState, APIErrorAlert } from './chunk-BHR7IV72.js';
18
18
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
19
19
  import { NavigationButton } from './chunk-NYBEU5TE.js';
20
20
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
21
21
  import { useAppearance } from './chunk-QJ2KCHKX.js';
22
22
  import { topbarHeight } from './chunk-DT3QYZVU.js';
23
- import { getErrorInfo, formatErrorMessage, getResourceIcon, formatRelativeTime, DOMAIN_MAP, getNodeId, PAGE_SIZE_DEFAULT, debounce } from './chunk-GCBWGGI6.js';
23
+ import { getErrorInfo, formatErrorMessage, getResourceIcon, formatRelativeTime, DOMAIN_MAP, getNodeId, PAGE_SIZE_DEFAULT, debounce } from './chunk-OD7GWIZS.js';
24
24
  import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-KRWALB24.js';
25
25
  import { useInitialization } from './chunk-DK2HVHCY.js';
26
26
  import { useOrganization } from './chunk-DD3CCMCZ.js';
27
27
  import { z } from 'zod';
28
- import { Stack, Group, Text, Badge, Title, Textarea, Alert, Button, ActionIcon, Collapse, Card, ThemeIcon, SimpleGrid, Divider, Paper, Space, CopyButton, Center, Tooltip, Code, Menu, useMantineTheme, UnstyledButton, Select, RangeSlider, Loader, Box, Progress, Tabs, Pagination, TextInput, Modal, LoadingOverlay, SegmentedControl, Switch, ScrollArea, MultiSelect } from '@mantine/core';
29
- import { IconBrain, IconFileText, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconCode, IconAlertCircle, IconChevronRight, IconTool, IconSettings, IconCpu, IconClockHour4, IconVersions, IconPlayerPlay, IconNetwork, IconSitemap, IconCopy, IconPlayerStop, IconReload, IconTrash, IconTerminal2, IconBug, IconChevronDown, IconMessage, IconArrowLeft, IconRobot, IconGitBranch, IconDotsVertical, IconFilter, IconCircleCheck, IconCategory, IconDatabase, IconApps, IconRoute, IconAdjustmentsHorizontal, IconSearch, IconCircleX, IconCircleDashed, IconExternalLink, IconTopologyStar3, IconInfoCircle, IconPlus, IconLayoutSidebarRightExpand, IconNote, IconArchive, IconDownload, IconTimeline, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconHistory } from '@tabler/icons-react';
28
+ import { Stack, Group, Text, Badge, Title, Textarea, Alert, Button, ActionIcon, Collapse, Card, ThemeIcon, SimpleGrid, Divider, Paper, Space, CopyButton, Center, Tooltip, Code, Menu, useMantineTheme, UnstyledButton, Select, RangeSlider, Box, Progress, Tabs, Pagination, TextInput, Modal, LoadingOverlay, Loader, SegmentedControl, Switch, ScrollArea, MultiSelect } from '@mantine/core';
29
+ import { IconBrain, IconFileText, IconMail, IconSend, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconCode, IconAlertCircle, IconChevronRight, IconTool, IconSettings, IconCpu, IconClockHour4, IconVersions, IconPlayerPlay, IconNetwork, IconSitemap, IconCopy, IconPlayerStop, IconReload, IconTrash, IconTerminal2, IconBug, IconChevronDown, IconMessage, IconArrowLeft, IconRobot, IconGitBranch, IconDotsVertical, IconFilter, IconCircleCheck, IconCategory, IconDatabase, IconApps, IconRoute, IconAdjustmentsHorizontal, IconSearch, IconCircleX, IconCircleDashed, IconExternalLink, IconFolders, IconBraces, IconBolt, IconTopologyStar3, IconInfoCircle, IconPlus, IconLayoutSidebarRightExpand, IconNote, IconArchive, IconDownload, IconTimeline, IconActivityHeartbeat, IconClockPause, IconArrowsMaximize, IconShare2, IconHistory } from '@tabler/icons-react';
30
30
  import { useForm } from '@mantine/form';
31
31
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
32
32
  import { memo, useState, useMemo, useRef, useCallback, useEffect, useDeferredValue, useEffectEvent } from 'react';
@@ -1108,8 +1108,16 @@ function ActionModal({
1108
1108
  {}
1109
1109
  );
1110
1110
  };
1111
+ const fieldDefaults = (action.form?.fields || []).reduce(
1112
+ (acc, field) => {
1113
+ acc[field.name] = field.defaultValue ?? "";
1114
+ return acc;
1115
+ },
1116
+ {}
1117
+ );
1111
1118
  const form = useForm({
1112
1119
  initialValues: {
1120
+ ...fieldDefaults,
1113
1121
  ...getInitialValuesFromContext(),
1114
1122
  ...action.payloadTemplate || {},
1115
1123
  notes: ""
@@ -3000,7 +3008,7 @@ function CommandQueueSidebarMiddle({
3000
3008
  });
3001
3009
  return /* @__PURE__ */ jsxs(Fragment, { children: [
3002
3010
  /* @__PURE__ */ jsx(SubshellSidebarSection, { icon: IconCategory, label: "Checkpoint Groups", withTopBorder: true }),
3003
- /* @__PURE__ */ jsx(Stack, { gap: "xs", p: "sm", style: { flex: 1, overflowY: "auto" }, children: isLoading ? /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
3011
+ /* @__PURE__ */ jsx(Stack, { gap: "xs", p: "sm", style: { flex: 1, overflowY: "auto" }, children: isLoading ? /* @__PURE__ */ jsx(SubshellSidebarLoader, {}) : /* @__PURE__ */ jsxs(Fragment, { children: [
3004
3012
  /* @__PURE__ */ jsx(
3005
3013
  CheckpointGroup,
3006
3014
  {
@@ -3485,7 +3493,7 @@ function ResourcesSidebar({ timeRange }) {
3485
3493
  return { donutSuccessCount: success, donutFailedCount: failed };
3486
3494
  }, [executionData, domainFilteredResources]);
3487
3495
  if (!organizationReady || isResourcesLoading) {
3488
- return /* @__PURE__ */ jsx(Box, { style: { flex: 1, minHeight: 0, padding: theme.spacing.sm }, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
3496
+ return /* @__PURE__ */ jsx(SubshellSidebarLoader, {});
3489
3497
  }
3490
3498
  if (error) {
3491
3499
  return /* @__PURE__ */ jsxs(Box, { style: { flex: 1, minHeight: 0, padding: theme.spacing.sm }, children: [
@@ -4137,6 +4145,8 @@ function CommandQueueDetailPage({
4137
4145
  const [confirmAction, setConfirmAction] = useState(null);
4138
4146
  const [deleteConfirmOpened, setDeleteConfirmOpened] = useState(false);
4139
4147
  const [contextView, setContextView] = useState("formatted");
4148
+ const [actionsView, setActionsView] = useState("formatted");
4149
+ const [payloadView, setPayloadView] = useState("formatted");
4140
4150
  const [submitResultError, setSubmitResultError] = useState(null);
4141
4151
  const { data: taskList, isLoading } = useCommandQueue();
4142
4152
  const task = taskList?.tasks.find((t) => t.id === taskId);
@@ -4239,7 +4249,28 @@ function CommandQueueDetailPage({
4239
4249
  ] })
4240
4250
  ] }),
4241
4251
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "xs", children: [
4242
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Resources" }),
4252
+ /* @__PURE__ */ jsx(
4253
+ CardHeader,
4254
+ {
4255
+ icon: /* @__PURE__ */ jsx(IconFolders, { size: 18 }),
4256
+ title: "Resources",
4257
+ rightSection: /* @__PURE__ */ jsx(
4258
+ Button,
4259
+ {
4260
+ variant: "light",
4261
+ color: "var(--color-primary)",
4262
+ size: "xs",
4263
+ leftSection: /* @__PURE__ */ jsx(IconExternalLink, { size: 14 }),
4264
+ onClick: () => window.open(
4265
+ `/operations/resources/${task.originResourceType}/${task.originResourceId}?exec=${task.originExecutionId}`,
4266
+ "_blank",
4267
+ "noopener,noreferrer"
4268
+ ),
4269
+ children: "View Origin Execution"
4270
+ }
4271
+ )
4272
+ }
4273
+ ),
4243
4274
  /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 2, md: 3 }, spacing: "xs", children: [
4244
4275
  /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "nowrap", children: [
4245
4276
  /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", style: { flexShrink: 0 }, children: "Task ID" }),
@@ -4363,50 +4394,56 @@ function CommandQueueDetailPage({
4363
4394
  }
4364
4395
  ) })
4365
4396
  ] })
4366
- ] }),
4367
- /* @__PURE__ */ jsx(Group, { justify: "flex-end", children: /* @__PURE__ */ jsx(
4368
- Button,
4369
- {
4370
- variant: "light",
4371
- color: "var(--color-primary)",
4372
- size: "sm",
4373
- leftSection: /* @__PURE__ */ jsx(IconExternalLink, { size: 14 }),
4374
- onClick: () => window.open(
4375
- `/operations/resources/${task.originResourceType}/${task.originResourceId}?exec=${task.originExecutionId}`,
4376
- "_blank",
4377
- "noopener,noreferrer"
4378
- ),
4379
- children: "View Origin Execution"
4380
- }
4381
- ) })
4397
+ ] })
4382
4398
  ] }) }),
4383
4399
  /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
4384
- /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "center", children: [
4385
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Context" }),
4386
- /* @__PURE__ */ jsx(
4387
- SegmentedControl,
4388
- {
4389
- value: contextView,
4390
- onChange: (v) => setContextView(v),
4391
- size: "xs",
4392
- data: [
4393
- { label: "Formatted", value: "formatted" },
4394
- { label: "JSON", value: "json" }
4395
- ]
4396
- }
4397
- )
4398
- ] }),
4400
+ /* @__PURE__ */ jsx(
4401
+ CardHeader,
4402
+ {
4403
+ icon: /* @__PURE__ */ jsx(IconBraces, { size: 18 }),
4404
+ title: "Context",
4405
+ rightSection: /* @__PURE__ */ jsx(
4406
+ SegmentedControl,
4407
+ {
4408
+ value: contextView,
4409
+ onChange: (v) => setContextView(v),
4410
+ size: "xs",
4411
+ data: [
4412
+ { label: "Formatted", value: "formatted" },
4413
+ { label: "JSON", value: "json" }
4414
+ ]
4415
+ }
4416
+ )
4417
+ }
4418
+ ),
4399
4419
  contextView === "formatted" ? /* @__PURE__ */ jsx(ContextViewer, { data: task.context }) : /* @__PURE__ */ jsx(JsonViewer, { data: task.context })
4400
4420
  ] }) }),
4401
4421
  (task.status === "pending" || task.status === "failed") && task.actions.length > 0 && /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
4402
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Actions" }),
4403
- /* @__PURE__ */ jsx(Group, { gap: "sm", children: task.actions.map((action) => {
4422
+ /* @__PURE__ */ jsx(
4423
+ CardHeader,
4424
+ {
4425
+ icon: /* @__PURE__ */ jsx(IconBolt, { size: 18 }),
4426
+ title: "Actions",
4427
+ rightSection: /* @__PURE__ */ jsx(
4428
+ SegmentedControl,
4429
+ {
4430
+ value: actionsView,
4431
+ onChange: (v) => setActionsView(v),
4432
+ size: "xs",
4433
+ data: [
4434
+ { label: "Formatted", value: "formatted" },
4435
+ { label: "JSON", value: "json" }
4436
+ ]
4437
+ }
4438
+ )
4439
+ }
4440
+ ),
4441
+ actionsView === "formatted" ? /* @__PURE__ */ jsx(Group, { gap: "sm", children: task.actions.map((action) => {
4404
4442
  const Icon = getIcon(action.icon);
4405
- const variant = "light";
4406
4443
  return /* @__PURE__ */ jsx(
4407
4444
  Button,
4408
4445
  {
4409
- variant,
4446
+ variant: "light",
4410
4447
  color: action.color || (action.type === "danger" ? "red" : "blue"),
4411
4448
  leftSection: Icon ? /* @__PURE__ */ jsx(Icon, { size: 16 }) : null,
4412
4449
  loading: isPending,
@@ -4417,10 +4454,24 @@ function CommandQueueDetailPage({
4417
4454
  },
4418
4455
  action.id
4419
4456
  );
4420
- }) })
4457
+ }) }) : /* @__PURE__ */ jsx(JsonViewer, { data: task.actions })
4421
4458
  ] }) }),
4422
4459
  task.selectedAction && /* @__PURE__ */ jsx(Paper, { withBorder: true, children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
4423
- /* @__PURE__ */ jsx(Title, { order: 3, children: "Action" }),
4460
+ /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "center", children: [
4461
+ /* @__PURE__ */ jsx(Title, { order: 3, children: "Action" }),
4462
+ task.actionPayload != null && (typeof task.actionPayload !== "object" || Object.keys(task.actionPayload).length > 0) && /* @__PURE__ */ jsx(
4463
+ SegmentedControl,
4464
+ {
4465
+ value: payloadView,
4466
+ onChange: (v) => setPayloadView(v),
4467
+ size: "xs",
4468
+ data: [
4469
+ { label: "Formatted", value: "formatted" },
4470
+ { label: "JSON", value: "json" }
4471
+ ]
4472
+ }
4473
+ )
4474
+ ] }),
4424
4475
  /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
4425
4476
  /* @__PURE__ */ jsx(ThemeIcon, { size: "sm", variant: "light", color: "green", radius: "xl", children: /* @__PURE__ */ jsx(IconCheck, { size: 12 }) }),
4426
4477
  /* @__PURE__ */ jsxs(Text, { fw: 600, size: "sm", style: { fontFamily: "var(--mantine-font-family-headings)" }, children: [
@@ -4429,7 +4480,7 @@ function CommandQueueDetailPage({
4429
4480
  ] }),
4430
4481
  task.targetExecutionId && /* @__PURE__ */ jsx(Badge, { size: "xs", variant: "light", color: "cyan", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 10 }), children: "Executed" })
4431
4482
  ] }),
4432
- task.actionPayload !== void 0 && task.actionPayload !== null && /* @__PURE__ */ jsx(JsonViewer, { data: task.actionPayload, maxHeight: 200 }),
4483
+ task.actionPayload != null && (typeof task.actionPayload !== "object" || Object.keys(task.actionPayload).length > 0) && (payloadView === "formatted" ? /* @__PURE__ */ jsx(ContextViewer, { data: task.actionPayload }) : /* @__PURE__ */ jsx(JsonViewer, { data: task.actionPayload, maxHeight: 200 })),
4433
4484
  task.completedAt && /* @__PURE__ */ jsxs(Text, { size: "xs", children: [
4434
4485
  "Completed ",
4435
4486
  formatDate(task.completedAt),
@@ -7840,7 +7891,7 @@ function CommandViewSidebarContent({ timeRange }) {
7840
7891
  ];
7841
7892
  const centerValueColor = totalExecutions === 0 ? "var(--mantine-color-dimmed)" : successRate >= 95 ? colors.green : successRate >= 80 ? colors.yellow : colors.red;
7842
7893
  if (isLoading && !data) {
7843
- return /* @__PURE__ */ jsx(Box, { style: { flex: 1, minHeight: 0, padding: theme.spacing.sm }, children: /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, {}) }) });
7894
+ return /* @__PURE__ */ jsx(SubshellSidebarLoader, {});
7844
7895
  }
7845
7896
  return /* @__PURE__ */ jsxs(
7846
7897
  Box,
@@ -9034,9 +9085,9 @@ function SessionsSidebar({
9034
9085
  const hasResourcesData = agents.length > 0;
9035
9086
  const hasSessionsData = agentSessions.length > 0;
9036
9087
  const isInitialLoading = !isReady || !organizationReady || isResourcesLoading && !hasResourcesData || isSessionView && (isCurrentSessionLoading || isSessionsLoading) && !hasSessionsData;
9037
- return /* @__PURE__ */ jsxs(Box, { style: { flex: 1, minHeight: 0, padding: theme.spacing.sm }, children: [
9088
+ return /* @__PURE__ */ jsxs(Box, { style: { flex: 1, minHeight: 0, padding: theme.spacing.sm, display: "flex", flexDirection: "column" }, children: [
9038
9089
  /* @__PURE__ */ jsx(Text, { size: "xs", fw: 600, c: "dimmed", tt: "uppercase", mb: "md", children: isSessionView ? "Sessions" : "Agents" }),
9039
- /* @__PURE__ */ jsx(ScrollArea, { style: { height: "100%" }, scrollbarSize: 8, children: isInitialLoading ? /* @__PURE__ */ jsx(Center, { p: "xl", children: /* @__PURE__ */ jsx(Loader, { size: "sm" }) }) : isSessionView ? agentSessions.length > 0 ? /* @__PURE__ */ jsx(Stack, { gap: "xs", children: agentSessions.map((session) => /* @__PURE__ */ jsx(
9090
+ /* @__PURE__ */ jsx(ScrollArea, { style: { flex: 1, minHeight: 0 }, scrollbarSize: 8, children: isInitialLoading ? /* @__PURE__ */ jsx(SubshellSidebarLoader, {}) : isSessionView ? agentSessions.length > 0 ? /* @__PURE__ */ jsx(Stack, { gap: "xs", children: agentSessions.map((session) => /* @__PURE__ */ jsx(
9040
9091
  SessionListItem,
9041
9092
  {
9042
9093
  session,
@@ -9180,7 +9231,7 @@ var ExecutionLogsSidebar = () => {
9180
9231
  const filteredExecutions = filter === "all" ? executions : executions.filter((exec) => exec.resourceStatus === filter);
9181
9232
  const totalExecutions = total;
9182
9233
  if (isLoading || !isFetched) {
9183
- return /* @__PURE__ */ jsx(Center, { style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ jsx(Loader, { size: "md" }) });
9234
+ return /* @__PURE__ */ jsx(SubshellSidebarLoader, {});
9184
9235
  }
9185
9236
  if (!resourceId) {
9186
9237
  return /* @__PURE__ */ jsx(Box, { p: "sm", style: { flex: 1, minHeight: 0 }, children: /* @__PURE__ */ jsx(APIErrorAlert, { error: new Error("Resource ID not found in current operations route.") }) });
@@ -1,7 +1,7 @@
1
- import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-DDZMBNTY.js';
2
- import { useResourcesHealth } from './chunk-EY322HXF.js';
3
- import { CardHeader, EmptyState } from './chunk-SQPM2QDH.js';
4
- import { getTimeRangeDates, formatBucketTime } from './chunk-GCBWGGI6.js';
1
+ import { useCyberColors, CyberLegendItem, CyberAreaChart } from './chunk-CTTY6FUT.js';
2
+ import { useResourcesHealth } from './chunk-FMFX4K6E.js';
3
+ import { CardHeader, EmptyState } from './chunk-BHR7IV72.js';
4
+ import { getTimeRangeDates, formatBucketTime } from './chunk-OD7GWIZS.js';
5
5
  import { Paper, Center, Loader, Group } from '@mantine/core';
6
6
  import { IconActivity, IconChartBar } from '@tabler/icons-react';
7
7
  import { useMemo } from 'react';
@@ -1,2 +1,3 @@
1
1
  export { ChatHeader, ChatInputArea, ChatInterface, ChatSidebar, MessageBubble, ProcessingIndicator } from '../../chunk-ROSMICXG.js';
2
2
  import '../../chunk-3KMDHCAR.js';
3
+ import '../../chunk-I2KLQ2HA.js';