@elevasis/ui 1.24.3 → 1.25.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 (41) hide show
  1. package/dist/charts/index.js +2 -2
  2. package/dist/{chunk-H3MU3WTM.js → chunk-3EVTCVKR.js} +2 -2
  3. package/dist/{chunk-ZDKC3V7C.js → chunk-7RS6VTAV.js} +56 -57
  4. package/dist/{chunk-TQBM3OEW.js → chunk-BS4J2LAW.js} +1 -1
  5. package/dist/{chunk-JR2C4XAN.js → chunk-CYXZHBP4.js} +202 -295
  6. package/dist/{chunk-OH74INP2.js → chunk-FEZZ3IDU.js} +434 -314
  7. package/dist/{chunk-IAZT3VO6.js → chunk-G25YWGUL.js} +4 -1
  8. package/dist/{chunk-BGTZFEKR.js → chunk-HYYI4ZFT.js} +6 -252
  9. package/dist/{chunk-CTF6FS2M.js → chunk-L3GVDMCA.js} +211 -1
  10. package/dist/{chunk-VMMNFRAO.js → chunk-QNABH7YG.js} +3 -3
  11. package/dist/{chunk-JTUX5FDC.js → chunk-R565P6XC.js} +691 -2
  12. package/dist/{chunk-WY5IJI37.js → chunk-RIL2CDFE.js} +2 -2
  13. package/dist/{chunk-TML32XBW.js → chunk-RMPXGBNI.js} +2 -2
  14. package/dist/{chunk-UG5565XQ.js → chunk-US4JUSI3.js} +3 -3
  15. package/dist/components/index.d.ts +3005 -192
  16. package/dist/components/index.js +1539 -24
  17. package/dist/features/auth/index.d.ts +108 -9
  18. package/dist/features/dashboard/index.js +7 -7
  19. package/dist/features/monitoring/index.js +8 -8
  20. package/dist/features/operations/index.d.ts +8 -2
  21. package/dist/features/operations/index.js +52 -55
  22. package/dist/features/settings/index.d.ts +108 -9
  23. package/dist/features/settings/index.js +27 -10
  24. package/dist/hooks/index.d.ts +3279 -185
  25. package/dist/hooks/index.js +4 -4
  26. package/dist/hooks/published.d.ts +108 -9
  27. package/dist/hooks/published.js +3 -3
  28. package/dist/index.d.ts +3285 -187
  29. package/dist/index.js +5 -5
  30. package/dist/initialization/index.d.ts +108 -9
  31. package/dist/layout/index.d.ts +60 -3
  32. package/dist/layout/index.js +2 -2
  33. package/dist/profile/index.d.ts +108 -9
  34. package/dist/provider/index.d.ts +6 -2
  35. package/dist/provider/index.js +3 -3
  36. package/dist/provider/published.d.ts +6 -2
  37. package/dist/supabase/index.d.ts +210 -18
  38. package/dist/theme/index.d.ts +6 -2
  39. package/dist/theme/index.js +3 -3
  40. package/dist/types/index.d.ts +108 -9
  41. package/package.json +1 -1
@@ -12,7 +12,6 @@ type Database = {
12
12
  Tables: {
13
13
  acq_companies: {
14
14
  Row: {
15
- attio_company_id: string | null;
16
15
  batch_id: string | null;
17
16
  category: string | null;
18
17
  category_pain: string | null;
@@ -36,7 +35,6 @@ type Database = {
36
35
  website: string | null;
37
36
  };
38
37
  Insert: {
39
- attio_company_id?: string | null;
40
38
  batch_id?: string | null;
41
39
  category?: string | null;
42
40
  category_pain?: string | null;
@@ -60,7 +58,6 @@ type Database = {
60
58
  website?: string | null;
61
59
  };
62
60
  Update: {
63
- attio_company_id?: string | null;
64
61
  batch_id?: string | null;
65
62
  category?: string | null;
66
63
  category_pain?: string | null;
@@ -95,7 +92,6 @@ type Database = {
95
92
  };
96
93
  acq_contacts: {
97
94
  Row: {
98
- attio_person_id: string | null;
99
95
  batch_id: string | null;
100
96
  brochure_first_viewed_at: string | null;
101
97
  brochure_view_count: number;
@@ -121,7 +117,6 @@ type Database = {
121
117
  updated_at: string;
122
118
  };
123
119
  Insert: {
124
- attio_person_id?: string | null;
125
120
  batch_id?: string | null;
126
121
  brochure_first_viewed_at?: string | null;
127
122
  brochure_view_count?: number;
@@ -147,7 +142,6 @@ type Database = {
147
142
  updated_at?: string;
148
143
  };
149
144
  Update: {
150
- attio_person_id?: string | null;
151
145
  batch_id?: string | null;
152
146
  brochure_first_viewed_at?: string | null;
153
147
  brochure_view_count?: number;
@@ -305,10 +299,117 @@ type Database = {
305
299
  }
306
300
  ];
307
301
  };
302
+ acq_deal_notes: {
303
+ Row: {
304
+ author_user_id: string | null;
305
+ body: string;
306
+ created_at: string;
307
+ deal_id: string;
308
+ id: string;
309
+ organization_id: string;
310
+ updated_at: string;
311
+ };
312
+ Insert: {
313
+ author_user_id?: string | null;
314
+ body: string;
315
+ created_at?: string;
316
+ deal_id: string;
317
+ id?: string;
318
+ organization_id: string;
319
+ updated_at?: string;
320
+ };
321
+ Update: {
322
+ author_user_id?: string | null;
323
+ body?: string;
324
+ created_at?: string;
325
+ deal_id?: string;
326
+ id?: string;
327
+ organization_id?: string;
328
+ updated_at?: string;
329
+ };
330
+ Relationships: [
331
+ {
332
+ foreignKeyName: "acq_deal_notes_deal_id_fkey";
333
+ columns: ["deal_id"];
334
+ isOneToOne: false;
335
+ referencedRelation: "acq_deals";
336
+ referencedColumns: ["id"];
337
+ },
338
+ {
339
+ foreignKeyName: "acq_deal_notes_organization_id_fkey";
340
+ columns: ["organization_id"];
341
+ isOneToOne: false;
342
+ referencedRelation: "organizations";
343
+ referencedColumns: ["id"];
344
+ }
345
+ ];
346
+ };
347
+ acq_deal_tasks: {
348
+ Row: {
349
+ assignee_user_id: string | null;
350
+ completed_at: string | null;
351
+ completed_by_user_id: string | null;
352
+ created_at: string;
353
+ created_by_user_id: string | null;
354
+ deal_id: string;
355
+ description: string | null;
356
+ due_at: string | null;
357
+ id: string;
358
+ kind: string;
359
+ organization_id: string;
360
+ title: string;
361
+ updated_at: string;
362
+ };
363
+ Insert: {
364
+ assignee_user_id?: string | null;
365
+ completed_at?: string | null;
366
+ completed_by_user_id?: string | null;
367
+ created_at?: string;
368
+ created_by_user_id?: string | null;
369
+ deal_id: string;
370
+ description?: string | null;
371
+ due_at?: string | null;
372
+ id?: string;
373
+ kind?: string;
374
+ organization_id: string;
375
+ title: string;
376
+ updated_at?: string;
377
+ };
378
+ Update: {
379
+ assignee_user_id?: string | null;
380
+ completed_at?: string | null;
381
+ completed_by_user_id?: string | null;
382
+ created_at?: string;
383
+ created_by_user_id?: string | null;
384
+ deal_id?: string;
385
+ description?: string | null;
386
+ due_at?: string | null;
387
+ id?: string;
388
+ kind?: string;
389
+ organization_id?: string;
390
+ title?: string;
391
+ updated_at?: string;
392
+ };
393
+ Relationships: [
394
+ {
395
+ foreignKeyName: "acq_deal_tasks_deal_id_fkey";
396
+ columns: ["deal_id"];
397
+ isOneToOne: false;
398
+ referencedRelation: "acq_deals";
399
+ referencedColumns: ["id"];
400
+ },
401
+ {
402
+ foreignKeyName: "acq_deal_tasks_organization_id_fkey";
403
+ columns: ["organization_id"];
404
+ isOneToOne: false;
405
+ referencedRelation: "organizations";
406
+ referencedColumns: ["id"];
407
+ }
408
+ ];
409
+ };
308
410
  acq_deals: {
309
411
  Row: {
310
412
  activity_log: Json;
311
- attio_deal_id: string;
312
413
  cached_stage: string | null;
313
414
  closed_lost_at: string | null;
314
415
  closed_lost_reason: string | null;
@@ -343,7 +444,6 @@ type Database = {
343
444
  };
344
445
  Insert: {
345
446
  activity_log?: Json;
346
- attio_deal_id: string;
347
447
  cached_stage?: string | null;
348
448
  closed_lost_at?: string | null;
349
449
  closed_lost_reason?: string | null;
@@ -378,7 +478,6 @@ type Database = {
378
478
  };
379
479
  Update: {
380
480
  activity_log?: Json;
381
- attio_deal_id?: string;
382
481
  cached_stage?: string | null;
383
482
  closed_lost_at?: string | null;
384
483
  closed_lost_reason?: string | null;
@@ -1,12 +1,12 @@
1
1
  import { ResourceHealthChart } from '../../chunk-LGKLC5MG.js';
2
- import { ExecutionStats } from '../../chunk-VMMNFRAO.js';
3
- import { HeroStatsRow, useCyberColors } from '../../chunk-UG5565XQ.js';
4
- import { CardHeader, EmptyState, PageTitleCaption, TabCountBadge, GlowDot } from '../../chunk-IAZT3VO6.js';
2
+ import { ExecutionStats } from '../../chunk-QNABH7YG.js';
3
+ import { HeroStatsRow, useCyberColors } from '../../chunk-US4JUSI3.js';
4
+ import { CardHeader, EmptyState, PageTitleCaption, TabCountBadge, GlowDot } from '../../chunk-G25YWGUL.js';
5
5
  import '../../chunk-3KMDHCAR.js';
6
6
  import '../../chunk-NNKKBSJN.js';
7
7
  import { AppShellCenteredContainer, AppShellLoader } from '../../chunk-WWEMNIHW.js';
8
8
  import '../../chunk-QJ2S46NI.js';
9
- import { useTimeRangeDates } from '../../chunk-JTUX5FDC.js';
9
+ import { useTimeRangeDates } from '../../chunk-R565P6XC.js';
10
10
  import { useDashboardMetrics, useResources, useUnresolvedErrors, useRecentExecutionsByResource, useCommandQueue, useScheduledTasks, useResourcesHealth } from '../../chunk-QDO6NF2I.js';
11
11
  import '../../chunk-NJJ3NQ7B.js';
12
12
  import { getTimeRangeDates } from '../../chunk-LXHZYSMQ.js';
@@ -17,10 +17,10 @@ import { ResourceStatusColors } from '../../chunk-ELJIFLCB.js';
17
17
  import '../../chunk-L4XXM55J.js';
18
18
  import '../../chunk-SLVC5OJ2.js';
19
19
  import '../../chunk-RNP5R5I3.js';
20
- import '../../chunk-TML32XBW.js';
20
+ import '../../chunk-RMPXGBNI.js';
21
21
  import '../../chunk-SZHARWKU.js';
22
- import '../../chunk-OH74INP2.js';
23
- import '../../chunk-JR2C4XAN.js';
22
+ import '../../chunk-FEZZ3IDU.js';
23
+ import '../../chunk-CYXZHBP4.js';
24
24
  import '../../chunk-R7WLWGPO.js';
25
25
  import '../../chunk-NVOCKXUQ.js';
26
26
  import '../../chunk-V7XHGJQZ.js';
@@ -1,15 +1,15 @@
1
- import { ExecutionLogsFilters, ExecutionLogsTable, ExecutionHealthCard, ErrorBreakdownTable, ErrorAnalysisCard, CostBreakdownCard, CostByModelTable, ActivityFilters, ActivityTable, ActivityCard, NotificationList } from '../../chunk-ZDKC3V7C.js';
1
+ import { ExecutionLogsFilters, ExecutionLogsTable, ExecutionHealthCard, ErrorBreakdownTable, ErrorAnalysisCard, CostBreakdownCard, CostByModelTable, ActivityFilters, ActivityTable, ActivityCard, NotificationList } from '../../chunk-7RS6VTAV.js';
2
2
  import '../../chunk-PDHTXPSF.js';
3
3
  import '../../chunk-LGKLC5MG.js';
4
- import '../../chunk-WY5IJI37.js';
4
+ import '../../chunk-RIL2CDFE.js';
5
5
  import { CustomModal } from '../../chunk-GBMNCNHX.js';
6
- import { CostTrendChart, ActivityTrendChart } from '../../chunk-UG5565XQ.js';
7
- import { PageTitleCaption, JsonViewer, EmptyState } from '../../chunk-IAZT3VO6.js';
6
+ import { CostTrendChart, ActivityTrendChart } from '../../chunk-US4JUSI3.js';
7
+ import { PageTitleCaption, JsonViewer, EmptyState } from '../../chunk-G25YWGUL.js';
8
8
  import '../../chunk-3KMDHCAR.js';
9
9
  import '../../chunk-NNKKBSJN.js';
10
10
  import { AppShellLoader } from '../../chunk-WWEMNIHW.js';
11
11
  import '../../chunk-QJ2S46NI.js';
12
- import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from '../../chunk-JTUX5FDC.js';
12
+ import { useExecutionLogsFilters, useTimeRangeDates, useActivityFilters } from '../../chunk-R565P6XC.js';
13
13
  import { usePaginationState, useExecutionLogs, useExecutionHealth, useErrorAnalysis, useErrorDetail, useResolveErrorsByExecution, useResources, useCostTrends, useCostSummary, useCostByModel, useCostBreakdown, useActivityTrend, useActivities, useNotifications, useMarkAllAsRead, useTestNotification } from '../../chunk-QDO6NF2I.js';
14
14
  import '../../chunk-NJJ3NQ7B.js';
15
15
  import { getTimeRangeDates } from '../../chunk-LXHZYSMQ.js';
@@ -19,10 +19,10 @@ import '../../chunk-XA34RETF.js';
19
19
  import '../../chunk-ELJIFLCB.js';
20
20
  import '../../chunk-L4XXM55J.js';
21
21
  import '../../chunk-RNP5R5I3.js';
22
- import '../../chunk-TML32XBW.js';
22
+ import '../../chunk-RMPXGBNI.js';
23
23
  import '../../chunk-SZHARWKU.js';
24
- import '../../chunk-OH74INP2.js';
25
- import '../../chunk-JR2C4XAN.js';
24
+ import '../../chunk-FEZZ3IDU.js';
25
+ import '../../chunk-CYXZHBP4.js';
26
26
  import '../../chunk-R7WLWGPO.js';
27
27
  import '../../chunk-NVOCKXUQ.js';
28
28
  import '../../chunk-V7XHGJQZ.js';
@@ -1538,8 +1538,14 @@ interface ResourceDetailPageProps {
1538
1538
  * `resourceDefinition` is threaded through so the execution panel does not refetch.
1539
1539
  */
1540
1540
  renderExecutionPanel: (args: ResourceDetailPageRenderExecutionPanelArgs) => ReactNode;
1541
- }
1542
- declare function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel }: ResourceDetailPageProps): react_jsx_runtime.JSX.Element;
1541
+ /** Override "Resources" back-link in the header. Defaults to `/operations/resources`. */
1542
+ onNavigateToResources?: () => void;
1543
+ /** Override "Go to Sessions" link in the header. Defaults to `/operations/sessions?agent=<resourceId>`. */
1544
+ onNavigateToSessions?: () => void;
1545
+ /** Override "Back to Operations" in the not-found state. Defaults to `/operations`. */
1546
+ onNavigateBack?: () => void;
1547
+ }
1548
+ declare function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel, onNavigateToResources, onNavigateToSessions, onNavigateBack }: ResourceDetailPageProps): react_jsx_runtime.JSX.Element;
1543
1549
 
1544
1550
  /**
1545
1551
  * Resource Registry type definitions
@@ -1,16 +1,16 @@
1
1
  import { ChatHeader, ChatSidebar } from '../../chunk-ROSMICXG.js';
2
- import { FormFieldRenderer, ResourceDefinitionSection, CommandQueueTaskRow, getIcon, ActionModal, CommandViewGraph, WorkflowExecutionLogs, AgentExecutionLogs, ResourceFilter, getExecutionStatusConfig, SessionMemory } from '../../chunk-BGTZFEKR.js';
2
+ import { FormFieldRenderer, ResourceDefinitionSection, CommandQueueTaskRow, getIcon, ActionModal, CommandViewGraph, WorkflowExecutionLogs, AgentExecutionLogs, ResourceFilter, getExecutionStatusConfig, SessionMemory } from '../../chunk-HYYI4ZFT.js';
3
3
  import { SubshellLoader, SubshellSidebarSection, PageContainer, CollapsibleSidebarGroup, SidebarListItem } from '../../chunk-AWT255UH.js';
4
- import { ResourceHealthPanel } from '../../chunk-WY5IJI37.js';
4
+ import { ResourceHealthPanel } from '../../chunk-RIL2CDFE.js';
5
5
  import { ConfirmationModal, CustomModal } from '../../chunk-GBMNCNHX.js';
6
- import { ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline } from '../../chunk-VMMNFRAO.js';
7
- import { useCyberColors, CyberDonut } from '../../chunk-UG5565XQ.js';
8
- import { PageTitleCaption, TabCountBadge, ResourceCard, ContextViewer, JsonViewer, APIErrorAlert, EmptyState, CardHeader } from '../../chunk-IAZT3VO6.js';
6
+ import { ExecutionStats, UnifiedWorkflowGraph, WorkflowExecutionTimeline, AgentExecutionVisualizer, AgentExecutionTimeline } from '../../chunk-QNABH7YG.js';
7
+ import { useCyberColors, CyberDonut } from '../../chunk-US4JUSI3.js';
8
+ import { PageTitleCaption, TabCountBadge, ResourceCard, ContextViewer, JsonViewer, APIErrorAlert, EmptyState, CardHeader } from '../../chunk-G25YWGUL.js';
9
9
  import '../../chunk-3KMDHCAR.js';
10
10
  import '../../chunk-NNKKBSJN.js';
11
11
  import { AppShellLoader } from '../../chunk-WWEMNIHW.js';
12
12
  import { topbarHeight } from '../../chunk-QJ2S46NI.js';
13
- import { useStatusFilter, useResourceSearch, useResourcesDomainFilters, filterByDomainFilters, useCommandViewDomainFilters } from '../../chunk-JTUX5FDC.js';
13
+ import { useStatusFilter, useResourceSearch, useResourcesDomainFilters, filterByDomainFilters, useCommandViewDomainFilters } from '../../chunk-R565P6XC.js';
14
14
  import { usePaginationState, useResources, useRecentExecutionsByResource, useExecuteAsync, useResourceDefinition, isSessionCapable, useDeleteTask, useCommandQueueTotals, useCommandQueue, useSubmitAction, useCommandViewData, useCommandViewStore, useCommandViewStats, useCalibrationProjects, useCalibrationProject, useAllCalibrationProjects, useResourceExecutions, useCheckpointTasks, useCalibrationSSE, useCalibrationRunFull, useExecuteRun, useGradeRun, useCalibrationRuns, useExecutionPanelState, useExecution, useDeleteSession, useCreateSession, useSessions, useSessionExecutions, useSession, calibrationKeys, useDeleteProject, useCreateProject } from '../../chunk-QDO6NF2I.js';
15
15
  import '../../chunk-NJJ3NQ7B.js';
16
16
  import '../../chunk-LXHZYSMQ.js';
@@ -21,10 +21,10 @@ import { ResourceStatusColors } from '../../chunk-ELJIFLCB.js';
21
21
  import '../../chunk-L4XXM55J.js';
22
22
  import '../../chunk-SLVC5OJ2.js';
23
23
  import '../../chunk-RNP5R5I3.js';
24
- import '../../chunk-TML32XBW.js';
24
+ import '../../chunk-RMPXGBNI.js';
25
25
  import '../../chunk-SZHARWKU.js';
26
- import '../../chunk-OH74INP2.js';
27
- import '../../chunk-JR2C4XAN.js';
26
+ import '../../chunk-FEZZ3IDU.js';
27
+ import '../../chunk-CYXZHBP4.js';
28
28
  import '../../chunk-R7WLWGPO.js';
29
29
  import '../../chunk-NVOCKXUQ.js';
30
30
  import '../../chunk-V7XHGJQZ.js';
@@ -246,7 +246,7 @@ function ResourcesPage({
246
246
  compact: true
247
247
  }
248
248
  ),
249
- style: isDormant ? { opacity: 0.7 } : void 0
249
+ style: isDormant ? { opacity: 0.4 } : void 0
250
250
  },
251
251
  resource.resourceId
252
252
  );
@@ -562,7 +562,9 @@ function ResourceHeader({
562
562
  connected,
563
563
  runningCount,
564
564
  sessionCapable,
565
- onRun
565
+ onRun,
566
+ onNavigateToResources,
567
+ onNavigateToSessions
566
568
  }) {
567
569
  const { currentMembership } = useOrganization();
568
570
  const organizationName = currentMembership?.organization?.name;
@@ -576,12 +578,11 @@ function ResourceHeader({
576
578
  color: "teal"
577
579
  });
578
580
  };
579
- const handleGoToSessions = () => {
580
- navigate({
581
- to: "/operations/sessions",
582
- search: { agent: resource.resourceId }
583
- });
584
- };
581
+ const handleGoToSessions = onNavigateToSessions ?? (() => navigate({
582
+ to: "/operations/sessions",
583
+ search: { agent: resource.resourceId }
584
+ }));
585
+ const handleGoToResources = onNavigateToResources ?? (() => navigate({ to: "/operations/resources" }));
585
586
  return /* @__PURE__ */ jsxs(Fragment, { children: [
586
587
  /* @__PURE__ */ jsx(
587
588
  PageTitleCaption,
@@ -617,18 +618,9 @@ function ResourceHeader({
617
618
  runningCount,
618
619
  " running"
619
620
  ] }),
620
- onRun && /* @__PURE__ */ jsx(Button, { size: "sm", variant: "filled", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 16 }), onClick: onRun, children: "Run" }),
621
+ onRun && /* @__PURE__ */ jsx(Button, { size: "xs", variant: "filled", leftSection: /* @__PURE__ */ jsx(IconPlayerPlay, { size: 16 }), onClick: onRun, children: "Run" }),
621
622
  type === "agent" && sessionCapable && /* @__PURE__ */ jsx(Button, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(IconMessage, { size: 16 }), onClick: handleGoToSessions, children: "Go to Sessions" }),
622
- /* @__PURE__ */ jsx(
623
- Button,
624
- {
625
- size: "sm",
626
- variant: "light",
627
- leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }),
628
- onClick: () => navigate({ to: "/operations/resources" }),
629
- children: "Resources"
630
- }
631
- )
623
+ /* @__PURE__ */ jsx(Button, { size: "xs", variant: "light", leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }), onClick: handleGoToResources, children: "Resources" })
632
624
  ] })
633
625
  ] })
634
626
  ] });
@@ -639,10 +631,11 @@ function ResourceErrorState({ error }) {
639
631
  /* @__PURE__ */ jsx(Text, { size: "sm", c: "dimmed", children: error.message })
640
632
  ] }) }) });
641
633
  }
642
- function ResourceNotFoundState({ type, resourceId }) {
634
+ function ResourceNotFoundState({ type, resourceId, onNavigateBack }) {
643
635
  const navigate = useNavigate();
644
636
  const { currentMembership } = useOrganization();
645
637
  const orgName = currentMembership?.organization?.name || "current organization";
638
+ const handleBack = onNavigateBack ?? (() => navigate({ to: "/operations", search: { type: void 0 } }));
646
639
  return /* @__PURE__ */ jsx(Stack, { children: /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Stack, { align: "center", children: [
647
640
  /* @__PURE__ */ jsx(Text, { size: "lg", c: "dimmed", fw: 500, children: "Resource not found" }),
648
641
  /* @__PURE__ */ jsxs(Text, { size: "sm", c: "dimmed", ta: "center", children: [
@@ -655,15 +648,7 @@ function ResourceNotFoundState({ type, resourceId }) {
655
648
  "."
656
649
  ] }),
657
650
  /* @__PURE__ */ jsx(Text, { size: "xs", c: "dimmed", ta: "center", children: "This resource may exist in a different organization. Try switching organizations or returning to the overview." }),
658
- /* @__PURE__ */ jsx(
659
- Button,
660
- {
661
- variant: "light",
662
- leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }),
663
- onClick: () => navigate({ to: "/operations", search: { type: void 0 } }),
664
- children: "Back to Operations"
665
- }
666
- )
651
+ /* @__PURE__ */ jsx(Button, { variant: "light", leftSection: /* @__PURE__ */ jsx(IconArrowLeft, { size: 16 }), onClick: handleBack, children: "Back to Operations" })
667
652
  ] }) }) });
668
653
  }
669
654
  function ExecuteWorkflowModal({
@@ -829,7 +814,15 @@ function ResourceExecuteDialog({ opened, onClose, resource, onViewExecution }) {
829
814
  }
830
815
  );
831
816
  }
832
- function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel }) {
817
+ function ResourceDetailPage({
818
+ type,
819
+ resourceId,
820
+ timeRange,
821
+ renderExecutionPanel,
822
+ onNavigateToResources,
823
+ onNavigateToSessions,
824
+ onNavigateBack
825
+ }) {
833
826
  const { organizationReady } = useInitialization();
834
827
  const { data, isLoading, error } = useResources();
835
828
  const [connected, setConnected] = useState(false);
@@ -856,22 +849,11 @@ function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel
856
849
  return /* @__PURE__ */ jsx(ResourceErrorState, { error });
857
850
  }
858
851
  if (!resource) {
859
- return /* @__PURE__ */ jsx(ResourceNotFoundState, { type, resourceId });
852
+ return /* @__PURE__ */ jsx(ResourceNotFoundState, { type, resourceId, onNavigateBack });
860
853
  }
861
854
  const validResource = resource;
862
855
  const sessionCapable = isSessionCapable(type, resourceDefinition);
863
- return /* @__PURE__ */ jsxs(Stack, { children: [
864
- /* @__PURE__ */ jsx(
865
- ResourceHeader,
866
- {
867
- resource: validResource,
868
- type,
869
- connected,
870
- runningCount,
871
- sessionCapable,
872
- onRun: () => setRunOpened(true)
873
- }
874
- ),
856
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
875
857
  /* @__PURE__ */ jsx(
876
858
  ResourceExecuteDialog,
877
859
  {
@@ -885,8 +867,23 @@ function ResourceDetailPage({ type, resourceId, timeRange, renderExecutionPanel
885
867
  }
886
868
  }
887
869
  ),
888
- /* @__PURE__ */ jsx(ResourceHealthPanel, { resourceId, resourceType: type, timeRange }),
889
- resourceDefinition && /* @__PURE__ */ jsx(ResourceDefinitionSection, { resourceDefinition }),
870
+ /* @__PURE__ */ jsxs(Stack, { children: [
871
+ /* @__PURE__ */ jsx(
872
+ ResourceHeader,
873
+ {
874
+ resource: validResource,
875
+ type,
876
+ connected,
877
+ runningCount,
878
+ sessionCapable,
879
+ onRun: () => setRunOpened(true),
880
+ onNavigateToResources,
881
+ onNavigateToSessions
882
+ }
883
+ ),
884
+ /* @__PURE__ */ jsx(ResourceHealthPanel, { resourceId, resourceType: type, timeRange }),
885
+ resourceDefinition && /* @__PURE__ */ jsx(ResourceDefinitionSection, { resourceDefinition })
886
+ ] }),
890
887
  /* @__PURE__ */ jsx(
891
888
  Paper,
892
889
  {
@@ -948,7 +945,7 @@ function CommandQueuePage({
948
945
  }, [tasks.length, isLoadingTasks]);
949
946
  if (isLoadingCheckpoints || !organizationReady) return /* @__PURE__ */ jsx(AppShellLoader, {});
950
947
  const totalTasks = checkpointData?.total ?? 0;
951
- return /* @__PURE__ */ jsxs(Fragment, { children: [
948
+ return /* @__PURE__ */ jsxs(Stack, { children: [
952
949
  /* @__PURE__ */ jsx(PageTitleCaption, { title: "Command Queue", caption: "Human-in-the-loop approval system for agent/workflow actions" }),
953
950
  /* @__PURE__ */ jsx(Stack, { gap: "xs", children: isLoadingTasks ? /* @__PURE__ */ jsx(AppShellLoader, {}) : tasks.length === 0 ? /* @__PURE__ */ jsx(Card, { withBorder: true, children: /* @__PURE__ */ jsx(Text, { ta: "center", c: "dimmed", children: "No tasks found" }) }) : tasks.map((task) => /* @__PURE__ */ jsx(
954
951
  CommandQueueTaskRow,
@@ -12,7 +12,6 @@ type Database = {
12
12
  Tables: {
13
13
  acq_companies: {
14
14
  Row: {
15
- attio_company_id: string | null;
16
15
  batch_id: string | null;
17
16
  category: string | null;
18
17
  category_pain: string | null;
@@ -36,7 +35,6 @@ type Database = {
36
35
  website: string | null;
37
36
  };
38
37
  Insert: {
39
- attio_company_id?: string | null;
40
38
  batch_id?: string | null;
41
39
  category?: string | null;
42
40
  category_pain?: string | null;
@@ -60,7 +58,6 @@ type Database = {
60
58
  website?: string | null;
61
59
  };
62
60
  Update: {
63
- attio_company_id?: string | null;
64
61
  batch_id?: string | null;
65
62
  category?: string | null;
66
63
  category_pain?: string | null;
@@ -95,7 +92,6 @@ type Database = {
95
92
  };
96
93
  acq_contacts: {
97
94
  Row: {
98
- attio_person_id: string | null;
99
95
  batch_id: string | null;
100
96
  brochure_first_viewed_at: string | null;
101
97
  brochure_view_count: number;
@@ -121,7 +117,6 @@ type Database = {
121
117
  updated_at: string;
122
118
  };
123
119
  Insert: {
124
- attio_person_id?: string | null;
125
120
  batch_id?: string | null;
126
121
  brochure_first_viewed_at?: string | null;
127
122
  brochure_view_count?: number;
@@ -147,7 +142,6 @@ type Database = {
147
142
  updated_at?: string;
148
143
  };
149
144
  Update: {
150
- attio_person_id?: string | null;
151
145
  batch_id?: string | null;
152
146
  brochure_first_viewed_at?: string | null;
153
147
  brochure_view_count?: number;
@@ -305,10 +299,117 @@ type Database = {
305
299
  }
306
300
  ];
307
301
  };
302
+ acq_deal_notes: {
303
+ Row: {
304
+ author_user_id: string | null;
305
+ body: string;
306
+ created_at: string;
307
+ deal_id: string;
308
+ id: string;
309
+ organization_id: string;
310
+ updated_at: string;
311
+ };
312
+ Insert: {
313
+ author_user_id?: string | null;
314
+ body: string;
315
+ created_at?: string;
316
+ deal_id: string;
317
+ id?: string;
318
+ organization_id: string;
319
+ updated_at?: string;
320
+ };
321
+ Update: {
322
+ author_user_id?: string | null;
323
+ body?: string;
324
+ created_at?: string;
325
+ deal_id?: string;
326
+ id?: string;
327
+ organization_id?: string;
328
+ updated_at?: string;
329
+ };
330
+ Relationships: [
331
+ {
332
+ foreignKeyName: "acq_deal_notes_deal_id_fkey";
333
+ columns: ["deal_id"];
334
+ isOneToOne: false;
335
+ referencedRelation: "acq_deals";
336
+ referencedColumns: ["id"];
337
+ },
338
+ {
339
+ foreignKeyName: "acq_deal_notes_organization_id_fkey";
340
+ columns: ["organization_id"];
341
+ isOneToOne: false;
342
+ referencedRelation: "organizations";
343
+ referencedColumns: ["id"];
344
+ }
345
+ ];
346
+ };
347
+ acq_deal_tasks: {
348
+ Row: {
349
+ assignee_user_id: string | null;
350
+ completed_at: string | null;
351
+ completed_by_user_id: string | null;
352
+ created_at: string;
353
+ created_by_user_id: string | null;
354
+ deal_id: string;
355
+ description: string | null;
356
+ due_at: string | null;
357
+ id: string;
358
+ kind: string;
359
+ organization_id: string;
360
+ title: string;
361
+ updated_at: string;
362
+ };
363
+ Insert: {
364
+ assignee_user_id?: string | null;
365
+ completed_at?: string | null;
366
+ completed_by_user_id?: string | null;
367
+ created_at?: string;
368
+ created_by_user_id?: string | null;
369
+ deal_id: string;
370
+ description?: string | null;
371
+ due_at?: string | null;
372
+ id?: string;
373
+ kind?: string;
374
+ organization_id: string;
375
+ title: string;
376
+ updated_at?: string;
377
+ };
378
+ Update: {
379
+ assignee_user_id?: string | null;
380
+ completed_at?: string | null;
381
+ completed_by_user_id?: string | null;
382
+ created_at?: string;
383
+ created_by_user_id?: string | null;
384
+ deal_id?: string;
385
+ description?: string | null;
386
+ due_at?: string | null;
387
+ id?: string;
388
+ kind?: string;
389
+ organization_id?: string;
390
+ title?: string;
391
+ updated_at?: string;
392
+ };
393
+ Relationships: [
394
+ {
395
+ foreignKeyName: "acq_deal_tasks_deal_id_fkey";
396
+ columns: ["deal_id"];
397
+ isOneToOne: false;
398
+ referencedRelation: "acq_deals";
399
+ referencedColumns: ["id"];
400
+ },
401
+ {
402
+ foreignKeyName: "acq_deal_tasks_organization_id_fkey";
403
+ columns: ["organization_id"];
404
+ isOneToOne: false;
405
+ referencedRelation: "organizations";
406
+ referencedColumns: ["id"];
407
+ }
408
+ ];
409
+ };
308
410
  acq_deals: {
309
411
  Row: {
310
412
  activity_log: Json;
311
- attio_deal_id: string;
312
413
  cached_stage: string | null;
313
414
  closed_lost_at: string | null;
314
415
  closed_lost_reason: string | null;
@@ -343,7 +444,6 @@ type Database = {
343
444
  };
344
445
  Insert: {
345
446
  activity_log?: Json;
346
- attio_deal_id: string;
347
447
  cached_stage?: string | null;
348
448
  closed_lost_at?: string | null;
349
449
  closed_lost_reason?: string | null;
@@ -378,7 +478,6 @@ type Database = {
378
478
  };
379
479
  Update: {
380
480
  activity_log?: Json;
381
- attio_deal_id?: string;
382
481
  cached_stage?: string | null;
383
482
  closed_lost_at?: string | null;
384
483
  closed_lost_reason?: string | null;