@elevasis/ui 2.80.0 → 2.82.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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/api/index.js +3 -3
  4. package/dist/app/index.d.ts +32 -16
  5. package/dist/app/index.js +12 -10
  6. package/dist/auth/index.js +4 -4
  7. package/dist/charts/index.js +4 -4
  8. package/dist/{chunk-JDPPV2XI.js → chunk-2S5477QR.js} +17 -227
  9. package/dist/{chunk-U3GB5PDF.js → chunk-3OQVXI4C.js} +2 -2
  10. package/dist/{chunk-BXFZ676L.js → chunk-3PQMF4RP.js} +3 -3
  11. package/dist/{chunk-NGRRAYMO.js → chunk-3RYXJS2F.js} +3 -3
  12. package/dist/{chunk-XEO2UG4J.js → chunk-4C4IFMRP.js} +3 -3
  13. package/dist/{chunk-WOYW24U7.js → chunk-4TEVJRKQ.js} +1 -1
  14. package/dist/{chunk-6IWH757Q.js → chunk-5WNRTDEZ.js} +1 -1
  15. package/dist/{chunk-QQKYBGBX.js → chunk-6NIGO2LD.js} +3 -3
  16. package/dist/{chunk-KGUBFIMQ.js → chunk-7RS2NUC6.js} +10 -2
  17. package/dist/{chunk-NKMBW7WE.js → chunk-AA257QZO.js} +21 -10
  18. package/dist/{chunk-CIGWHY7C.js → chunk-DEZW7QDI.js} +15 -4
  19. package/dist/{chunk-SPH5WW44.js → chunk-ELQLU323.js} +5 -5
  20. package/dist/{chunk-6MWTTBBT.js → chunk-ER2HBKS7.js} +5 -5
  21. package/dist/{chunk-A32PJ2DO.js → chunk-G6VHIXWD.js} +1 -1
  22. package/dist/{chunk-T6AOVZAI.js → chunk-GH3UY2FM.js} +4 -4
  23. package/dist/{chunk-AKANHRQ5.js → chunk-GKTQEVSO.js} +3 -4
  24. package/dist/{chunk-MJIDC25O.js → chunk-HDITVHZT.js} +2 -2
  25. package/dist/{chunk-QSN7BWI3.js → chunk-HOX4CMYY.js} +1 -1
  26. package/dist/{chunk-ZU676PFP.js → chunk-I2JOA54D.js} +1 -1
  27. package/dist/{chunk-MMOR2HQZ.js → chunk-KQTI4RZN.js} +8 -8
  28. package/dist/{chunk-YSFLFD4U.js → chunk-LTRJZOHA.js} +1 -1
  29. package/dist/{chunk-7A25EJ4A.js → chunk-M5CRPFJA.js} +44 -30
  30. package/dist/{chunk-52G4B33T.js → chunk-NQSZ4UGG.js} +2 -2
  31. package/dist/{chunk-VKA4LQ7N.js → chunk-OWAEBFWH.js} +1 -1
  32. package/dist/{chunk-DFGQG32T.js → chunk-PJN6CMWZ.js} +1 -1
  33. package/dist/{chunk-3HMRK3RC.js → chunk-PNCJJE4Z.js} +1 -1
  34. package/dist/{chunk-I5SYS6DT.js → chunk-PTB575MP.js} +5 -5
  35. package/dist/{chunk-3UO2CJTR.js → chunk-PV64XFZY.js} +1 -1
  36. package/dist/{chunk-BG7VCCFB.js → chunk-RKTFFLVV.js} +1 -1
  37. package/dist/{chunk-HVNDBY42.js → chunk-ROC2TFPS.js} +2 -2
  38. package/dist/{chunk-VHK5J55Q.js → chunk-TAGPVICO.js} +8 -8
  39. package/dist/{chunk-W6QOWA3L.js → chunk-TCVMLAMC.js} +2 -2
  40. package/dist/{chunk-JZBMZLD3.js → chunk-VTUVB3J3.js} +1 -1
  41. package/dist/{chunk-Q6HRTWA6.js → chunk-XHJBDW2S.js} +1 -1
  42. package/dist/{chunk-2KXSFLU2.js → chunk-ZG3DARVR.js} +1 -1
  43. package/dist/{chunk-CSEADI37.js → chunk-ZYIGD2QY.js} +3 -3
  44. package/dist/components/index.d.ts +0 -14
  45. package/dist/components/index.js +39 -39
  46. package/dist/components/navigation/index.js +5 -5
  47. package/dist/features/auth/index.d.ts +1 -1
  48. package/dist/features/auth/index.js +6 -6
  49. package/dist/features/clients/index.js +7 -7
  50. package/dist/features/content/index.js +7 -7
  51. package/dist/features/crm/index.d.ts +0 -14
  52. package/dist/features/crm/index.js +10 -10
  53. package/dist/features/dashboard/index.js +6 -6
  54. package/dist/features/delivery/index.d.ts +0 -14
  55. package/dist/features/delivery/index.js +17 -17
  56. package/dist/features/knowledge/index.js +4 -4
  57. package/dist/features/lead-gen/index.d.ts +54 -16
  58. package/dist/features/lead-gen/index.js +11 -11
  59. package/dist/features/monitoring/index.js +8 -8
  60. package/dist/features/monitoring/requests/index.js +6 -6
  61. package/dist/features/operations/index.js +11 -11
  62. package/dist/features/seo/index.d.ts +105 -17
  63. package/dist/features/seo/index.js +7 -7
  64. package/dist/features/settings/index.d.ts +1 -1
  65. package/dist/features/settings/index.js +7 -7
  66. package/dist/hooks/access/index.js +4 -4
  67. package/dist/hooks/delivery/index.d.ts +0 -14
  68. package/dist/hooks/delivery/index.js +3 -3
  69. package/dist/hooks/published.d.ts +2 -16
  70. package/dist/hooks/published.js +15 -15
  71. package/dist/initialization/index.d.ts +1 -1
  72. package/dist/knowledge/index.d.ts +32 -16
  73. package/dist/knowledge/index.js +20 -7185
  74. package/dist/layout/index.js +8 -8
  75. package/dist/profile/index.d.ts +1 -1
  76. package/dist/provider/index.d.ts +39 -16
  77. package/dist/provider/index.js +4 -4
  78. package/dist/provider/published.d.ts +31 -15
  79. package/dist/provider/published.js +4 -4
  80. package/dist/sse/index.d.ts +7 -1
  81. package/dist/sse/index.js +22 -2
  82. package/dist/test-utils/index.d.ts +3 -1
  83. package/dist/test-utils/index.js +29 -6
  84. package/dist/types/index.d.ts +1 -15
  85. package/dist/utils/index.d.ts +9 -9
  86. package/dist/utils/index.js +1 -1
  87. package/dist/vite/index.js +2 -2
  88. package/dist/vite-plugin-knowledge/index.js +1 -1
  89. package/package.json +6 -6
  90. package/src/knowledge/README.md +32 -32
  91. package/dist/knowledge-search-index-YU6V3FTK.js +0 -1539
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Elevasis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,38 @@
1
+ # @elevasis/ui
2
+
3
+ React components and platform-aware hooks for building custom frontends on the Elevasis platform.
4
+ Published from `packages/ui` in the Elevasis monorepo, where it is named `@repo/ui`.
5
+
6
+ ## Install
7
+
8
+ ```sh
9
+ pnpm add @elevasis/ui
10
+ ```
11
+
12
+ Peer requirements follow the monorepo's single-version policy — React 19 and Mantine 8. Check
13
+ `peerDependencies` in `package.json` for the authoritative ranges.
14
+
15
+ ## Published surface
16
+
17
+ Roughly fifty subpaths, grouped by concern:
18
+
19
+ - **Provider and context** — `./provider`, `./provider/ui`, `./auth`, `./auth/context`, `./router`
20
+ - **Features** — `./features/*`, one entry per platform feature (`crm`, `knowledge`, `lead-gen`,
21
+ `settings`, and the rest)
22
+ - **Primitives** — `./components`, `./layout`, `./charts`, `./theme`, `./theme/presets`
23
+ - **Data and platform access** — `./hooks`, `./hooks/access`, `./api`, `./sse`, `./execution`
24
+ - **Build integration** — `./vite`, `./vite-plugin-knowledge`
25
+ - **Stylesheets** — `./components/index.css`, `./provider/index.css`, `./graph/index.css`
26
+ - **Testing** — `./test-utils`, `./test-utils/setup`, `./test-utils/setup-integration`
27
+
28
+ See `exports` in `package.json` for the complete list.
29
+
30
+ ## A note on `API_URL`
31
+
32
+ Constants in this package resolve at the **consumer's** build, not at ours. A shared component must
33
+ read `apiUrl` from `useElevasisServices()` rather than importing a build-time constant, or a tenant
34
+ build inlines the wrong value.
35
+
36
+ ## License
37
+
38
+ MIT — see [LICENSE](./LICENSE).
package/dist/api/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { createElevasisQueryClient } from '../chunk-A32PJ2DO.js';
2
- export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-KGUBFIMQ.js';
1
+ export { createElevasisQueryClient } from '../chunk-G6VHIXWD.js';
2
+ export { ApiClientProvider, useApiClient, useApiClientContext } from '../chunk-7RS2NUC6.js';
3
3
  import '../chunk-DD3CCMCZ.js';
4
- import '../chunk-CIGWHY7C.js';
4
+ import '../chunk-DEZW7QDI.js';
5
5
  import '../chunk-6XBZPKMI.js';
6
6
  import '../chunk-7ZUXA2NW.js';
7
7
  import '../chunk-34B3ACOZ.js';
@@ -2777,13 +2777,6 @@ type Database = {
2777
2777
  referencedRelation: "users";
2778
2778
  referencedColumns: ["id"];
2779
2779
  },
2780
- {
2781
- foreignKeyName: "prj_notes_milestone_id_fkey";
2782
- columns: ["milestone_id"];
2783
- isOneToOne: false;
2784
- referencedRelation: "prj_milestones";
2785
- referencedColumns: ["id"];
2786
- },
2787
2780
  {
2788
2781
  foreignKeyName: "prj_notes_organization_id_fkey";
2789
2782
  columns: ["organization_id"];
@@ -2797,13 +2790,6 @@ type Database = {
2797
2790
  isOneToOne: false;
2798
2791
  referencedRelation: "prj_projects";
2799
2792
  referencedColumns: ["id"];
2800
- },
2801
- {
2802
- foreignKeyName: "prj_notes_task_id_fkey";
2803
- columns: ["task_id"];
2804
- isOneToOne: false;
2805
- referencedRelation: "prj_tasks";
2806
- referencedColumns: ["id"];
2807
2793
  }
2808
2794
  ];
2809
2795
  };
@@ -3721,7 +3707,7 @@ type Database = {
3721
3707
  /**
3722
3708
  * Concrete row shapes for the published Supabase tables.
3723
3709
  *
3724
- * GENERATED by `scripts/gen-published-rows.mjs`do not hand-edit; re-run the script instead.
3710
+ * @generated by packages/core/scripts/gen-published-rows.mjs — DO NOT EDIT. Re-run `pnpm gen:published-rows`.
3725
3711
  *
3726
3712
  * These were `Tables<'users'>` / `TablesInsert<...>` aliases in `./index.ts`. Each one indexes
3727
3713
  * into the generated `Database` type, and a published `.d.ts` that references `Database` makes
@@ -5424,6 +5410,27 @@ interface SSEConnectionManagerLike {
5424
5410
 
5425
5411
  type TablerIconComponent = typeof IconBrain;
5426
5412
 
5413
+ /**
5414
+ * Props every compiled knowledge-node body component accepts. Matches the
5415
+ * shape emitted by `generateKnowledgeBodies()` (`packages/sdk/src/node/knowledge-bodies-codegen.ts`)
5416
+ * for each `_generated/knowledge-bodies.tsx` this project produces.
5417
+ */
5418
+ interface KnowledgeBodyProps {
5419
+ /** MDX component allowlist merged from the nearest `KnowledgeMDXProvider`. */
5420
+ components?: Record<string, ComponentType>;
5421
+ }
5422
+ /**
5423
+ * Map of knowledge node id -> compiled MDX body component.
5424
+ *
5425
+ * Each consumer generates its own corpus at build time (via `knowledgePlugin()`)
5426
+ * and supplies it as the required `knowledgeBodies` prop on `ElevasisSystemsProvider`
5427
+ * / `ElevasisAuthenticatedShell`, instead of `@repo/ui` compiling a fixed corpus
5428
+ * into its published bundle. See `knowledge-corpus-injection.mdx` for the full
5429
+ * rationale -- this type is the generated file's own shape, named so consumers
5430
+ * and tests can reference it without importing from `_generated/`.
5431
+ */
5432
+ type KnowledgeBodiesMap = Record<string, ComponentType<KnowledgeBodyProps>>;
5433
+
5427
5434
  type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
5428
5435
  knowledge?: OrganizationModel['knowledge'];
5429
5436
  };
@@ -5497,6 +5504,13 @@ interface ElevasisSystemsProviderProps {
5497
5504
  /** Registered topbar action modules. OM node presence controls visibility; module supplies behavior. */
5498
5505
  topbarActions?: TopbarActionModule[];
5499
5506
  organizationModel?: ElevasisOrganizationModel;
5507
+ /**
5508
+ * Compiled knowledge-node body components for this consumer's own corpus.
5509
+ * Required, not defaulted: a missing corpus must fail to compile at the
5510
+ * provider mount rather than render a blank panel at runtime. See
5511
+ * `knowledge-corpus-injection.mdx`.
5512
+ */
5513
+ knowledgeBodies: KnowledgeBodiesMap;
5500
5514
  timeRange?: TimeRange;
5501
5515
  operationsApiUrl?: string;
5502
5516
  operationsSSEManager?: SSEConnectionManagerLike;
@@ -5539,6 +5553,8 @@ interface ElevasisAuthenticatedShellRenderContext {
5539
5553
  interface ElevasisAuthenticatedShellProps {
5540
5554
  systems: SystemModule[];
5541
5555
  organizationModel: OrganizationModel;
5556
+ /** Compiled knowledge-node body components for this consumer's own corpus. See `ElevasisSystemsProviderProps.knowledgeBodies`. */
5557
+ knowledgeBodies: ElevasisSystemsProviderProps['knowledgeBodies'];
5542
5558
  logos?: ElevasisAuthenticatedShellLogoConfig;
5543
5559
  topbar?: ReactNode | ((context: ElevasisAuthenticatedShellRenderContext) => ReactNode);
5544
5560
  children?: ReactNode;
@@ -5560,7 +5576,7 @@ interface ElevasisAuthenticatedShellProps {
5560
5576
  onError?: AppErrorBoundaryProps['onError'];
5561
5577
  sidebarLinks?: (links: ShellSidebarLinkGroup[]) => ShellSidebarLinkGroup[];
5562
5578
  }
5563
- declare function ElevasisAuthenticatedShell({ systems, organizationModel, logos, topbar, children, fullScreenPaths, fullScreenPathPrefixes, readyMode, accountPath, signOutReturnTo, appVersion, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, isDev, errorFallback, onError, sidebarLinks }: ElevasisAuthenticatedShellProps): react_jsx_runtime.JSX.Element;
5579
+ declare function ElevasisAuthenticatedShell({ systems, organizationModel, knowledgeBodies, logos, topbar, children, fullScreenPaths, fullScreenPathPrefixes, readyMode, accountPath, signOutReturnTo, appVersion, timeRange, operationsApiUrl, operationsSSEManager, deliveryApiUrl, deliverySSEManager, disabledSubsectionPaths, isDev, errorFallback, onError, sidebarLinks }: ElevasisAuthenticatedShellProps): react_jsx_runtime.JSX.Element;
5564
5580
 
5565
5581
  export { ElevasisAuthenticatedShell, createElevasisApp };
5566
5582
  export type { ElevasisAppConfig, ElevasisAppStoreConfig, ElevasisAuthenticatedShellLogoConfig, ElevasisAuthenticatedShellProps, ElevasisAuthenticatedShellRenderContext };
package/dist/app/index.js CHANGED
@@ -1,16 +1,16 @@
1
- import { AppErrorBoundary } from '../chunk-QSN7BWI3.js';
2
- import { SidebarProvider, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer } from '../chunk-BG7VCCFB.js';
3
- import '../chunk-WOYW24U7.js';
4
- import '../chunk-3UO2CJTR.js';
5
- import '../chunk-JZBMZLD3.js';
6
- import '../chunk-Q6HRTWA6.js';
1
+ import { AppErrorBoundary } from '../chunk-HOX4CMYY.js';
2
+ import { SidebarProvider, AppShellContainer, Sidebar, AppShellRightSideContainer, AppShellRightSideOuterContainer } from '../chunk-RKTFFLVV.js';
3
+ import '../chunk-4TEVJRKQ.js';
4
+ import '../chunk-PV64XFZY.js';
5
+ import '../chunk-VTUVB3J3.js';
6
+ import '../chunk-XHJBDW2S.js';
7
7
  import '../chunk-BZZCNLT6.js';
8
- import { useSessionCheck, ElevasisSystemsProvider, useElevasisSystems, SystemShell, ElevasisUIProvider } from '../chunk-7A25EJ4A.js';
8
+ import { useSessionCheck, ElevasisSystemsProvider, useElevasisSystems, SystemShell, ElevasisUIProvider } from '../chunk-M5CRPFJA.js';
9
9
  import '../chunk-4WLAVUPS.js';
10
10
  import '../chunk-RXZ3XDBM.js';
11
- import '../chunk-KGUBFIMQ.js';
11
+ import '../chunk-7RS2NUC6.js';
12
12
  import '../chunk-L7BZZ4SI.js';
13
- import '../chunk-3HMRK3RC.js';
13
+ import '../chunk-PNCJJE4Z.js';
14
14
  import '../chunk-62GVNH5U.js';
15
15
  import { useInitialization } from '../chunk-P45GQ3ZW.js';
16
16
  import '../chunk-IIMC4TRH.js';
@@ -21,7 +21,7 @@ import '../chunk-YJ437RDY.js';
21
21
  import '../chunk-DD3CCMCZ.js';
22
22
  import '../chunk-RNP5R5I3.js';
23
23
  import '../chunk-RT4KRGZT.js';
24
- import '../chunk-CIGWHY7C.js';
24
+ import '../chunk-DEZW7QDI.js';
25
25
  import '../chunk-6XBZPKMI.js';
26
26
  import '../chunk-7ZUXA2NW.js';
27
27
  import '../chunk-BI5VDO2K.js';
@@ -126,6 +126,7 @@ function renderTopbar(topbar, context) {
126
126
  function ElevasisAuthenticatedShell({
127
127
  systems,
128
128
  organizationModel,
129
+ knowledgeBodies,
129
130
  logos,
130
131
  topbar,
131
132
  children,
@@ -164,6 +165,7 @@ function ElevasisAuthenticatedShell({
164
165
  {
165
166
  systems,
166
167
  organizationModel,
168
+ knowledgeBodies,
167
169
  timeRange,
168
170
  operationsApiUrl,
169
171
  operationsSSEManager,
@@ -1,9 +1,9 @@
1
- export { AccessGuard, AccessKeys, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-7A25EJ4A.js';
1
+ export { AccessGuard, AccessKeys, ProtectedRoute, useSessionCheck as useRefocusSessionCheck, useSessionCheck, useStableAccessToken } from '../chunk-M5CRPFJA.js';
2
2
  import '../chunk-4WLAVUPS.js';
3
3
  import '../chunk-RXZ3XDBM.js';
4
- import '../chunk-KGUBFIMQ.js';
4
+ import '../chunk-7RS2NUC6.js';
5
5
  import '../chunk-L7BZZ4SI.js';
6
- import '../chunk-3HMRK3RC.js';
6
+ import '../chunk-PNCJJE4Z.js';
7
7
  import '../chunk-62GVNH5U.js';
8
8
  import '../chunk-P45GQ3ZW.js';
9
9
  import '../chunk-IIMC4TRH.js';
@@ -14,7 +14,7 @@ import '../chunk-YJ437RDY.js';
14
14
  import '../chunk-DD3CCMCZ.js';
15
15
  import '../chunk-RNP5R5I3.js';
16
16
  import '../chunk-RT4KRGZT.js';
17
- import '../chunk-CIGWHY7C.js';
17
+ import '../chunk-DEZW7QDI.js';
18
18
  import '../chunk-6XBZPKMI.js';
19
19
  import '../chunk-7ZUXA2NW.js';
20
20
  import '../chunk-BI5VDO2K.js';
@@ -1,9 +1,9 @@
1
- export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-7A25EJ4A.js';
1
+ export { ActivityTrendChart, ChartFrame, CombinedTrendChart, CostTrendChart, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, HeroStatsRow, getSeriesColor, useCyberColors } from '../chunk-M5CRPFJA.js';
2
2
  import '../chunk-4WLAVUPS.js';
3
3
  import '../chunk-RXZ3XDBM.js';
4
- import '../chunk-KGUBFIMQ.js';
4
+ import '../chunk-7RS2NUC6.js';
5
5
  import '../chunk-L7BZZ4SI.js';
6
- import '../chunk-3HMRK3RC.js';
6
+ import '../chunk-PNCJJE4Z.js';
7
7
  import '../chunk-62GVNH5U.js';
8
8
  import '../chunk-P45GQ3ZW.js';
9
9
  import '../chunk-IIMC4TRH.js';
@@ -14,7 +14,7 @@ import '../chunk-YJ437RDY.js';
14
14
  import '../chunk-DD3CCMCZ.js';
15
15
  import '../chunk-RNP5R5I3.js';
16
16
  import '../chunk-RT4KRGZT.js';
17
- import '../chunk-CIGWHY7C.js';
17
+ import '../chunk-DEZW7QDI.js';
18
18
  import '../chunk-6XBZPKMI.js';
19
19
  import '../chunk-7ZUXA2NW.js';
20
20
  import '../chunk-BI5VDO2K.js';
@@ -1,31 +1,31 @@
1
- import { SubshellLoader } from './chunk-WOYW24U7.js';
2
- import { CollapsibleJsonSection, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, AgentIterationDetailPanel } from './chunk-QQKYBGBX.js';
3
- import { useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useSessionMessages, useSessionWebSocket, useSessionExecutions } from './chunk-U3GB5PDF.js';
4
- import { findNavigationSurfaceForSystem, getSystemApiInterfaceReadiness } from './chunk-DFGQG32T.js';
1
+ import { SubshellLoader } from './chunk-4TEVJRKQ.js';
2
+ import { CollapsibleJsonSection, ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline, AgentIterationDetailPanel } from './chunk-6NIGO2LD.js';
3
+ import { useCommandViewData, useCommandViewStats, useCommandViewStore, useResourceExecutions, useCheckpointTasks, useSessionMessages, useSessionWebSocket, useSessionExecutions } from './chunk-3OQVXI4C.js';
4
+ import { findNavigationSurfaceForSystem, getSystemApiInterfaceReadiness } from './chunk-PJN6CMWZ.js';
5
5
  import { FormFieldRenderer } from './chunk-3MEXPLWT.js';
6
6
  import { ChatInterface, ChatHeader } from './chunk-SNZDFCOQ.js';
7
7
  import { mergeSessionMessages } from './chunk-QFGNRKIE.js';
8
- import { ResourceHealthPanel } from './chunk-6IWH757Q.js';
9
- import { AppShellLoader } from './chunk-3UO2CJTR.js';
8
+ import { ResourceHealthPanel } from './chunk-5WNRTDEZ.js';
9
+ import { AppShellLoader } from './chunk-PV64XFZY.js';
10
10
  import { Graph_module_css_default } from './chunk-HENXLGVD.js';
11
11
  import { PageContainer } from './chunk-BZZCNLT6.js';
12
- import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, resolveSemanticIconComponent, CustomModal, useAppearance, useErrorDetail, JsonViewer, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, ConfirmationModal, PageTitleCaption, CollapsibleSection, useResolvedTimeRange, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, TabCountBadge, ResourceCard, useResourceDefinition, isSessionCapable, useOptionalElevasisSystems, useDeleteTask, useCommandQueue, useSubmitAction, useCommandQueueTask, ContextViewer, useElevasisSystems, buildOrganizationGraph, EmptyState, useExecutionPanelState, useSessions, SessionListItem, useDeleteSession, useEndSession, useCreateSession, topbarHeight, useSession, getSessionView, SubshellContentContainer, ORGANIZATION_NODE_ID, collectResourceFilterFacets, SemanticIcon, useSystemsViewState, aggregateSystemMetrics, useSystemHealth, ORGANIZATION_GRAPH_NODE_KIND_ORDER, formatResourceAttribution, SYSTEM_RESOURCE_KINDS, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-7A25EJ4A.js';
13
- import { showApiErrorNotification, showSuccessNotification } from './chunk-3HMRK3RC.js';
12
+ import { DEFAULT_ORGANIZATION_GRAPH_FILTERS, resolveSemanticIconComponent, CustomModal, useAppearance, useErrorDetail, JsonViewer, useExecution, useArchivedLogs, useDeleteExecution, useRetryExecution, useCancelExecution, ConfirmationModal, PageTitleCaption, CollapsibleSection, useResolvedTimeRange, useStatusFilter, useResourceSearch, useResourcesDomainFilters, usePaginationState, useResources, useRecentExecutionsByResource, filterByDomainFilters, TabCountBadge, ResourceCard, useResourceDefinition, isSessionCapable, useOptionalElevasisSystems, useDeleteTask, useCommandQueue, useSubmitAction, useCommandQueueTask, ContextViewer, useElevasisSystems, buildOrganizationGraph, EmptyState, useExecutionPanelState, useSessions, SessionListItem, useDeleteSession, useEndSession, useCreateSession, topbarHeight, useSession, getSessionView, SubshellContentContainer, ORGANIZATION_NODE_ID, collectResourceFilterFacets, SemanticIcon, useSystemsViewState, aggregateSystemMetrics, useSystemHealth, ORGANIZATION_GRAPH_NODE_KIND_ORDER, formatResourceAttribution, SYSTEM_RESOURCE_KINDS, ORGANIZATION_GRAPH_NODE_KIND_LABELS, ORGANIZATION_GRAPH_EDGE_KIND_LABELS, ORGANIZATION_GRAPH_NODE_KIND_DETAIL_LABELS, ORGANIZATION_GRAPH_NODE_KIND_MEANINGS, ORGANIZATION_GRAPH_EDGE_KIND_MEANINGS } from './chunk-M5CRPFJA.js';
13
+ import { showApiErrorNotification, showSuccessNotification } from './chunk-PNCJJE4Z.js';
14
14
  import { CardHeader } from './chunk-62GVNH5U.js';
15
15
  import { useInitialization } from './chunk-P45GQ3ZW.js';
16
16
  import { StyledMarkdown } from './chunk-3KMDHCAR.js';
17
17
  import { getResourceStatusColor, useMergedExecution, useTimelineData, useAgentIterationData } from './chunk-2HXDI4RY.js';
18
18
  import { useOrganization } from './chunk-DD3CCMCZ.js';
19
- import { getErrorInfo, formatErrorMessage, getResourceIcon, formatRelativeTime, PAGE_SIZE_DEFAULT, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-CIGWHY7C.js';
19
+ import { getErrorInfo, formatErrorMessage, getResourceIcon, formatRelativeTime, PAGE_SIZE_DEFAULT, listAllSystems, getSystem, compileOrganizationOntology, getSystemAncestors } from './chunk-DEZW7QDI.js';
20
20
  import { ResourceStatusColors, toWorkflowLogMessages } from './chunk-7ZUXA2NW.js';
21
21
  import { useElevasisServices } from './chunk-BI5VDO2K.js';
22
22
  import { useRouterContext } from './chunk-Q7DJKLEN.js';
23
23
  import { Stack, Title, Text, Textarea, Alert, Group, Button, Card, ThemeIcon, Badge, SimpleGrid, Collapse, Divider, Paper, ActionIcon, Space, CopyButton, Center, Tooltip, Code, Menu, Progress, Tabs, Pagination, Loader, SegmentedControl, Box, Select, useMantineTheme, Modal, LoadingOverlay, ScrollArea, Switch, Breadcrumbs, Anchor, Checkbox, UnstyledButton, NumberInput, MultiSelect, TextInput, Accordion, Table } from '@mantine/core';
24
- import { IconMail, IconSend, IconFileText, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconAlertCircle, IconTool, IconSettings, IconCpu, IconClockHour4, IconVersions, IconBrain, IconChevronRight, IconSitemap, IconCopy, IconPlayerStop, IconReload, IconTrash, IconTerminal2, IconBug, IconChevronDown, IconPlayerPlay, IconMessage, IconArrowLeft, IconRobot, IconGitBranch, IconDotsVertical, IconDatabase, IconApps, IconRoute, IconExternalLink, IconFolders, IconBraces, IconBolt, IconTopologyStar3, IconInfoCircle, IconPlus, IconTimeline, IconNote, IconArchive, IconDownload, IconActivityHeartbeat, IconCircleCheck, IconClockPause, IconArrowsMaximize, IconCircleX, IconCircleDashed, IconShare2, IconFolder, IconSearch, IconBookmark, IconBookmarkPlus, IconArrowRight, IconScript, IconPlugConnected } from '@tabler/icons-react';
24
+ import { IconMail, IconSend, IconFileText, IconClock, IconArrowUp, IconMessageCircle, IconRocket, IconEye, IconEdit, IconAlertTriangle, IconRefresh, IconX, IconCheck, IconAlertCircle, IconTool, IconSettings, IconCpu, IconClockHour4, IconVersions, IconBrain, IconChevronRight, IconSitemap, IconCopy, IconPlayerStop, IconReload, IconTrash, IconTerminal2, IconBug, IconChevronDown, IconPlayerPlay, IconMessage, IconArrowLeft, IconRobot, IconGitBranch, IconDotsVertical, IconDatabase, IconApps, IconRoute, IconExternalLink, IconFolders, IconBraces, IconBolt, IconTopologyStar3, IconInfoCircle, IconPlus, IconTimeline, IconNote, IconArchive, IconDownload, IconActivityHeartbeat, IconCircleCheck, IconClockPause, IconArrowsMaximize, IconCircleX, IconCircleDashed, IconShare2, IconFolder, IconSearch, IconArrowRight, IconScript, IconPlugConnected } from '@tabler/icons-react';
25
25
  import { useForm } from '@mantine/form';
26
26
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
27
27
  import { useState, useMemo, useRef, useCallback, useEffect, useDeferredValue, useEffectEvent } from 'react';
28
- import { useClipboard, useDisclosure } from '@mantine/hooks';
28
+ import { useClipboard } from '@mantine/hooks';
29
29
  import { notifications } from '@mantine/notifications';
30
30
  import { useNavigate } from '@tanstack/react-router';
31
31
  import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
@@ -7623,203 +7623,6 @@ function expandAroundGraph(graph, request, options = {}) {
7623
7623
  message: summaryMessages[0] ?? ""
7624
7624
  };
7625
7625
  }
7626
- var expansionRecipeKeys = {
7627
- all: ["expansion-recipes"],
7628
- lists: () => [...expansionRecipeKeys.all, "list"],
7629
- list: (orgId) => [...expansionRecipeKeys.all, "list", orgId]
7630
- };
7631
- function useSavedExpansionRecipes() {
7632
- const { apiRequest, isReady, workOSOrganizationId } = useElevasisServices();
7633
- return useQuery({
7634
- queryKey: expansionRecipeKeys.list(workOSOrganizationId),
7635
- queryFn: async () => {
7636
- const data = await apiRequest("/command-view/expansion-recipes");
7637
- return data;
7638
- },
7639
- enabled: isReady
7640
- });
7641
- }
7642
- function useCreateSavedRecipe() {
7643
- const { apiRequest, workOSOrganizationId } = useElevasisServices();
7644
- const queryClient = useQueryClient();
7645
- return useMutation({
7646
- mutationFn: async (body) => {
7647
- const data = await apiRequest("/command-view/expansion-recipes", {
7648
- method: "POST",
7649
- body: JSON.stringify(body)
7650
- });
7651
- return data;
7652
- },
7653
- onSuccess: () => {
7654
- queryClient.invalidateQueries({ queryKey: expansionRecipeKeys.list(workOSOrganizationId) });
7655
- },
7656
- onError: (error) => {
7657
- showApiErrorNotification(error);
7658
- }
7659
- });
7660
- }
7661
- function useDeleteSavedRecipe() {
7662
- const { apiRequest, workOSOrganizationId } = useElevasisServices();
7663
- const queryClient = useQueryClient();
7664
- return useMutation({
7665
- mutationFn: async (id) => {
7666
- await apiRequest(`/command-view/expansion-recipes/${id}`, {
7667
- method: "DELETE"
7668
- });
7669
- },
7670
- onSuccess: () => {
7671
- queryClient.invalidateQueries({ queryKey: expansionRecipeKeys.list(workOSOrganizationId) });
7672
- },
7673
- onError: (error) => {
7674
- showApiErrorNotification(error);
7675
- }
7676
- });
7677
- }
7678
- var MIN_NAME_LENGTH = 1;
7679
- var MAX_NAME_LENGTH = 80;
7680
- function validateRecipeName(name) {
7681
- const trimmed = name.trim();
7682
- if (trimmed.length < MIN_NAME_LENGTH) {
7683
- return "Recipe name is required.";
7684
- }
7685
- if (trimmed.length > MAX_NAME_LENGTH) {
7686
- return `Recipe name must be at most ${MAX_NAME_LENGTH} characters.`;
7687
- }
7688
- return null;
7689
- }
7690
- var BUILT_IN_PRESETS = [
7691
- { value: "coverage", label: "Coverage" },
7692
- { value: "operational-dependencies", label: "Operational dependencies" },
7693
- { value: "org-context", label: "Org context" },
7694
- { value: "impact-path", label: "Impact path" }
7695
- ];
7696
- function SavedRecipesMenu({ currentValue, hasSelectedNode, onLoadPreset, onLoadRecipe }) {
7697
- const { data: savedRecipes, isLoading } = useSavedExpansionRecipes();
7698
- const createMutation = useCreateSavedRecipe();
7699
- const deleteMutation = useDeleteSavedRecipe();
7700
- const [saveModalOpened, { open: openSaveModal, close: closeSaveModal }] = useDisclosure(false);
7701
- const [recipeName, setRecipeName] = useState("");
7702
- const [nameError, setNameError] = useState(null);
7703
- function handleSaveClick() {
7704
- setRecipeName("");
7705
- setNameError(null);
7706
- openSaveModal();
7707
- }
7708
- async function handleSaveConfirm() {
7709
- const error = validateRecipeName(recipeName);
7710
- if (error) {
7711
- setNameError(error);
7712
- return;
7713
- }
7714
- await createMutation.mutateAsync({
7715
- name: recipeName.trim(),
7716
- recipe: currentValue
7717
- });
7718
- closeSaveModal();
7719
- setRecipeName("");
7720
- setNameError(null);
7721
- }
7722
- function handleLoadRecipe(recipe) {
7723
- const value = recipe.recipe;
7724
- onLoadRecipe(value);
7725
- }
7726
- function handleDeleteRecipe(id, event) {
7727
- event.stopPropagation();
7728
- deleteMutation.mutate(id);
7729
- }
7730
- return /* @__PURE__ */ jsxs(Fragment, { children: [
7731
- /* @__PURE__ */ jsxs(Menu, { shadow: "md", width: 260, position: "bottom-start", transitionProps: { duration: 0 }, children: [
7732
- /* @__PURE__ */ jsx(Menu.Target, { children: /* @__PURE__ */ jsx(Button, { size: "xs", variant: "light", rightSection: /* @__PURE__ */ jsx(IconChevronDown, { size: 12 }), children: "Recipes" }) }),
7733
- /* @__PURE__ */ jsxs(Menu.Dropdown, { children: [
7734
- /* @__PURE__ */ jsx(Menu.Label, { children: "Built-in" }),
7735
- BUILT_IN_PRESETS.map((preset) => /* @__PURE__ */ jsx(
7736
- Menu.Item,
7737
- {
7738
- leftSection: /* @__PURE__ */ jsx(IconBookmark, { size: 14 }),
7739
- onClick: () => onLoadPreset(preset.value),
7740
- children: preset.label
7741
- },
7742
- preset.value
7743
- )),
7744
- /* @__PURE__ */ jsx(Menu.Divider, {}),
7745
- /* @__PURE__ */ jsx(Menu.Label, { children: /* @__PURE__ */ jsxs(Group, { justify: "space-between", gap: "xs", children: [
7746
- /* @__PURE__ */ jsx("span", { children: "Saved" }),
7747
- /* @__PURE__ */ jsx(Tooltip, { label: "Save current configuration", position: "right", withArrow: true, children: /* @__PURE__ */ jsx(
7748
- ActionIcon,
7749
- {
7750
- size: "xs",
7751
- variant: "subtle",
7752
- disabled: !hasSelectedNode,
7753
- onClick: (e) => {
7754
- e.stopPropagation();
7755
- handleSaveClick();
7756
- },
7757
- "aria-label": "Save current recipe",
7758
- children: /* @__PURE__ */ jsx(IconBookmarkPlus, { size: 12 })
7759
- }
7760
- ) })
7761
- ] }) }),
7762
- isLoading ? /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxs(Group, { gap: "xs", children: [
7763
- /* @__PURE__ */ jsx(Loader, { size: "xs" }),
7764
- /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "Loading\u2026" })
7765
- ] }) }) : !savedRecipes || savedRecipes.length === 0 ? /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: "No saved recipes yet" }) }) : savedRecipes.map((recipe) => /* @__PURE__ */ jsx(
7766
- Menu.Item,
7767
- {
7768
- leftSection: /* @__PURE__ */ jsx(IconBookmark, { size: 14 }),
7769
- rightSection: /* @__PURE__ */ jsx(
7770
- ActionIcon,
7771
- {
7772
- size: "xs",
7773
- variant: "subtle",
7774
- color: "red",
7775
- onClick: (e) => handleDeleteRecipe(recipe.id, e),
7776
- loading: deleteMutation.isPending && deleteMutation.variables === recipe.id,
7777
- "aria-label": `Delete recipe ${recipe.name}`,
7778
- children: /* @__PURE__ */ jsx(IconTrash, { size: 12 })
7779
- }
7780
- ),
7781
- onClick: () => handleLoadRecipe(recipe),
7782
- children: /* @__PURE__ */ jsx(Text, { size: "sm", truncate: true, children: recipe.name })
7783
- },
7784
- recipe.id
7785
- )),
7786
- /* @__PURE__ */ jsx(Menu.Item, { leftSection: /* @__PURE__ */ jsx(IconBookmarkPlus, { size: 14 }), disabled: !hasSelectedNode, onClick: handleSaveClick, children: "Save current configuration\u2026" })
7787
- ] })
7788
- ] }),
7789
- /* @__PURE__ */ jsx(
7790
- Modal,
7791
- {
7792
- opened: saveModalOpened,
7793
- onClose: closeSaveModal,
7794
- title: "Save recipe",
7795
- size: "sm",
7796
- withinPortal: false,
7797
- transitionProps: { duration: 0 },
7798
- children: /* @__PURE__ */ jsxs(Stack, { gap: "md", children: [
7799
- /* @__PURE__ */ jsx(
7800
- TextInput,
7801
- {
7802
- label: "Recipe name",
7803
- placeholder: "e.g. Billing service deps",
7804
- value: recipeName,
7805
- onChange: (e) => {
7806
- setRecipeName(e.currentTarget.value);
7807
- if (nameError) setNameError(null);
7808
- },
7809
- error: nameError,
7810
- maxLength: MAX_NAME_LENGTH,
7811
- "data-autofocus": true
7812
- }
7813
- ),
7814
- /* @__PURE__ */ jsxs(Group, { justify: "flex-end", gap: "xs", children: [
7815
- /* @__PURE__ */ jsx(Button, { variant: "subtle", onClick: closeSaveModal, disabled: createMutation.isPending, children: "Cancel" }),
7816
- /* @__PURE__ */ jsx(Button, { onClick: handleSaveConfirm, loading: createMutation.isPending, children: "Save" })
7817
- ] })
7818
- ] })
7819
- }
7820
- )
7821
- ] });
7822
- }
7823
7626
  var PRESET_OPTIONS = [
7824
7627
  { value: "coverage", label: "Coverage" },
7825
7628
  { value: "operational-dependencies", label: "Operational dependencies" },
@@ -7881,31 +7684,18 @@ function ExpandAroundPanel({
7881
7684
  const disabled = !selectedNode;
7882
7685
  const canApply = Boolean(result && result.expandedNodeIds.length > 0);
7883
7686
  const rootIsTooBroad = selectedNode?.kind === "organization" && !value.preset;
7884
- const handleLoadPreset = (preset) => updateValue(value, "preset", preset, onChange);
7885
- const handleLoadRecipe = (recipeValue) => onChange(recipeValue);
7886
7687
  return /* @__PURE__ */ jsx(Paper, { withBorder: true, radius: "md", p: "sm", children: /* @__PURE__ */ jsxs(Stack, { gap: "sm", children: [
7887
7688
  /* @__PURE__ */ jsxs(Group, { justify: "space-between", align: "flex-start", wrap: "wrap", children: [
7888
7689
  /* @__PURE__ */ jsxs(Stack, { gap: 2, children: [
7889
7690
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 800, children: "Expand Around" }),
7890
7691
  /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", children: selectedNode ? `Preview typed graph context around ${selectedNode.label}.` : "Select a graph node to preview nearby operational context." })
7891
7692
  ] }),
7892
- /* @__PURE__ */ jsxs(Group, { gap: "xs", wrap: "wrap", children: [
7893
- /* @__PURE__ */ jsx(
7894
- SavedRecipesMenu,
7895
- {
7896
- currentValue: value,
7897
- hasSelectedNode: !disabled,
7898
- onLoadPreset: handleLoadPreset,
7899
- onLoadRecipe: handleLoadRecipe
7900
- }
7901
- ),
7902
- appliedNodeCount > 0 || appliedEdgeCount > 0 ? /* @__PURE__ */ jsxs(Badge, { variant: "light", color: "blue", children: [
7903
- appliedNodeCount,
7904
- " nodes / ",
7905
- appliedEdgeCount,
7906
- " edges applied"
7907
- ] }) : null
7908
- ] })
7693
+ /* @__PURE__ */ jsx(Group, { gap: "xs", wrap: "wrap", children: appliedNodeCount > 0 || appliedEdgeCount > 0 ? /* @__PURE__ */ jsxs(Badge, { variant: "light", color: "blue", children: [
7694
+ appliedNodeCount,
7695
+ " nodes / ",
7696
+ appliedEdgeCount,
7697
+ " edges applied"
7698
+ ] }) : null })
7909
7699
  ] }),
7910
7700
  /* @__PURE__ */ jsxs(SimpleGrid, { cols: { base: 1, sm: 2 }, spacing: "sm", children: [
7911
7701
  /* @__PURE__ */ jsx(
@@ -1,8 +1,8 @@
1
1
  import { createLiveTempMessageIdentity } from './chunk-QFGNRKIE.js';
2
- import { sessionsKeys, isExecutionInFlight } from './chunk-7A25EJ4A.js';
2
+ import { sessionsKeys, isExecutionInFlight } from './chunk-M5CRPFJA.js';
3
3
  import { SessionIdParamSchema, ExecutionIdParamsSchema, WebSocketSessionTurnSchema } from './chunk-IIMC4TRH.js';
4
4
  import { useOrganization } from './chunk-DD3CCMCZ.js';
5
- import { STALE_TIME_MONITORING, STALE_TIME_DEFAULT } from './chunk-CIGWHY7C.js';
5
+ import { STALE_TIME_MONITORING, STALE_TIME_DEFAULT } from './chunk-DEZW7QDI.js';
6
6
  import { REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY } from './chunk-6XBZPKMI.js';
7
7
  import { useElevasisServices } from './chunk-BI5VDO2K.js';
8
8
  import { useAuthContext } from './chunk-BRJ3QZ4E.js';
@@ -1,7 +1,7 @@
1
- import { useNotificationAdapter } from './chunk-7A25EJ4A.js';
2
- import { showApiErrorNotification } from './chunk-3HMRK3RC.js';
1
+ import { useNotificationAdapter } from './chunk-M5CRPFJA.js';
2
+ import { showApiErrorNotification } from './chunk-PNCJJE4Z.js';
3
3
  import { OrganizationContext } from './chunk-DD3CCMCZ.js';
4
- import { GC_TIME_MEDIUM, STALE_TIME_DEFAULT, GC_TIME_SHORT, STALE_TIME_MONITORING } from './chunk-CIGWHY7C.js';
4
+ import { GC_TIME_MEDIUM, STALE_TIME_DEFAULT, GC_TIME_SHORT, STALE_TIME_MONITORING } from './chunk-DEZW7QDI.js';
5
5
  import { useElevasisServices } from './chunk-BI5VDO2K.js';
6
6
  import { PageLimitSchema } from './chunk-34B3ACOZ.js';
7
7
  import { useContext } from 'react';
@@ -1,6 +1,6 @@
1
- import { acquisitionListKeys } from './chunk-7A25EJ4A.js';
2
- import { showApiErrorNotification, showSuccessNotification } from './chunk-3HMRK3RC.js';
3
- import { APIClientError, buildQueryString } from './chunk-CIGWHY7C.js';
1
+ import { acquisitionListKeys } from './chunk-M5CRPFJA.js';
2
+ import { showApiErrorNotification, showSuccessNotification } from './chunk-PNCJJE4Z.js';
3
+ import { APIClientError, buildQueryString } from './chunk-DEZW7QDI.js';
4
4
  import { useElevasisServices } from './chunk-BI5VDO2K.js';
5
5
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
6
6
  import { z } from 'zod';
@@ -1,6 +1,6 @@
1
- import { deriveActions } from './chunk-NGRRAYMO.js';
2
- import { acquisitionListKeys, useNotificationAdapter } from './chunk-7A25EJ4A.js';
3
- import { showApiErrorNotification, showSuccessNotification } from './chunk-3HMRK3RC.js';
1
+ import { deriveActions } from './chunk-3RYXJS2F.js';
2
+ import { acquisitionListKeys, useNotificationAdapter } from './chunk-M5CRPFJA.js';
3
+ import { showApiErrorNotification, showSuccessNotification } from './chunk-PNCJJE4Z.js';
4
4
  import { useElevasisServices } from './chunk-BI5VDO2K.js';
5
5
  import { CredentialNameSchema, UuidSchema } from './chunk-34B3ACOZ.js';
6
6
  import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
@@ -1,4 +1,4 @@
1
- import { useAppearance } from './chunk-7A25EJ4A.js';
1
+ import { useAppearance } from './chunk-M5CRPFJA.js';
2
2
  import { Center } from '@mantine/core';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
@@ -1,4 +1,4 @@
1
- import { useResolvedTimeRange, useCyberColors, useResourcesHealth, EmptyState, CyberLegendItem, CyberAreaChart } from './chunk-7A25EJ4A.js';
1
+ import { useResolvedTimeRange, useCyberColors, useResourcesHealth, EmptyState, CyberLegendItem, CyberAreaChart } from './chunk-M5CRPFJA.js';
2
2
  import { CardHeader } from './chunk-62GVNH5U.js';
3
3
  import { getTimeRangeDates, formatBucketTime } from './chunk-6XBZPKMI.js';
4
4
  import { Paper, Center, Loader, Group } from '@mantine/core';
@@ -1,15 +1,15 @@
1
1
  import { useScheduledTasks } from './chunk-WDABHUIL.js';
2
2
  import { ZodFormRenderer } from './chunk-3MEXPLWT.js';
3
3
  import { ResourceHealthChart } from './chunk-LGKLC5MG.js';
4
- import { AppShellCenteredContainer, AppShellLoader } from './chunk-3UO2CJTR.js';
4
+ import { AppShellCenteredContainer, AppShellLoader } from './chunk-PV64XFZY.js';
5
5
  import { useTimeRangeDates } from './chunk-YQQ5GRUR.js';
6
6
  import { Graph_module_css_default, useDirectedChainHighlighting, useNodeSelection, useFitViewTrigger } from './chunk-HENXLGVD.js';
7
- import { useCyberColors, GlowDot, JsonViewer, useExecuteResource, EmptyState, useResolvedTimeRange, useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, PageTitleCaption, HeroStatsRow, useCommandQueue, TabCountBadge, useResourcesHealth, TERMINAL_EXECUTION_STATUSES } from './chunk-7A25EJ4A.js';
7
+ import { useCyberColors, GlowDot, JsonViewer, useExecuteResource, EmptyState, useResolvedTimeRange, useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, PageTitleCaption, HeroStatsRow, useCommandQueue, TabCountBadge, useResourcesHealth, TERMINAL_EXECUTION_STATUSES } from './chunk-M5CRPFJA.js';
8
8
  import { glassBase } from './chunk-4WLAVUPS.js';
9
9
  import { CardHeader } from './chunk-62GVNH5U.js';
10
10
  import { useInitialization } from './chunk-P45GQ3ZW.js';
11
11
  import { STATUS_COLORS, getStatusIcon, formatDuration, getStatusColors, AGENT_CONSTANTS, shouldAnimateEdge, TIMELINE_CONSTANTS, calculateBarPosition, CONTAINER_CONSTANTS, useExecutionPath, useUnifiedWorkflowLayout, WORKFLOW_CONSTANTS, useReactFlowAgent } from './chunk-2HXDI4RY.js';
12
- import { formatTimeAgo, formatRelativeTime } from './chunk-CIGWHY7C.js';
12
+ import { formatTimeAgo, formatRelativeTime } from './chunk-DEZW7QDI.js';
13
13
  import { getTimeRangeDates } from './chunk-6XBZPKMI.js';
14
14
  import { ResourceStatusColors } from './chunk-7ZUXA2NW.js';
15
15
  import { memo, useMemo, useEffect, useState, useCallback, Fragment } from 'react';