@elevasis/ui 2.7.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/{chunk-T6R3V4GW.js → chunk-4JPW5U5I.js} +8 -9
  2. package/dist/{chunk-V6Z2U6ZV.js → chunk-4PHPENKX.js} +3044 -1753
  3. package/dist/chunk-7M2VOCYN.js +1 -0
  4. package/dist/{chunk-VGBMSGYC.js → chunk-7PDDPNQS.js} +1 -1
  5. package/dist/{chunk-X4HUZINF.js → chunk-AQQYVAFK.js} +23 -15
  6. package/dist/{chunk-YIWLA2B6.js → chunk-C2OFFC7J.js} +0 -1
  7. package/dist/{chunk-Z5RHDI7T.js → chunk-CTWYIRKW.js} +1 -2
  8. package/dist/{chunk-IFH4L6CR.js → chunk-F5QSLYUB.js} +4 -6
  9. package/dist/{chunk-6FDGVZFL.js → chunk-KGEYEUR5.js} +1 -3
  10. package/dist/{chunk-SMJLS23U.js → chunk-NYMKWGKN.js} +18 -1
  11. package/dist/{chunk-SPMKW4VO.js → chunk-OPT74SGF.js} +96 -82
  12. package/dist/{chunk-HRIJZKFL.js → chunk-UE5QQDCR.js} +7 -8
  13. package/dist/{chunk-N6GYYWY3.js → chunk-YCHZ4U5V.js} +10 -2
  14. package/dist/{chunk-SBND6P3L.js → chunk-ZZ35VSNF.js} +1 -3
  15. package/dist/components/index.d.ts +147 -70
  16. package/dist/components/index.js +17 -17
  17. package/dist/features/auth/index.d.ts +3 -3
  18. package/dist/features/crm/index.d.ts +66 -6
  19. package/dist/features/crm/index.js +5 -5
  20. package/dist/features/dashboard/index.js +5 -5
  21. package/dist/features/delivery/index.d.ts +69 -5
  22. package/dist/features/delivery/index.js +5 -5
  23. package/dist/features/lead-gen/index.d.ts +66 -6
  24. package/dist/features/lead-gen/index.js +8 -8
  25. package/dist/features/monitoring/index.d.ts +20 -1
  26. package/dist/features/monitoring/index.js +6 -6
  27. package/dist/features/operations/index.d.ts +20 -1
  28. package/dist/features/operations/index.js +7 -7
  29. package/dist/features/seo/index.d.ts +20 -1
  30. package/dist/features/seo/index.js +1 -1
  31. package/dist/features/settings/index.d.ts +20 -1
  32. package/dist/features/settings/index.js +5 -5
  33. package/dist/hooks/index.d.ts +7735 -7720
  34. package/dist/hooks/index.js +4 -4
  35. package/dist/hooks/published.d.ts +3493 -47
  36. package/dist/hooks/published.js +3 -3
  37. package/dist/index.d.ts +1416 -1375
  38. package/dist/index.js +4 -4
  39. package/dist/layout/index.d.ts +60 -2
  40. package/dist/layout/index.js +1 -1
  41. package/dist/provider/index.d.ts +30 -4
  42. package/dist/provider/index.js +2 -2
  43. package/dist/provider/published.d.ts +20 -2
  44. package/dist/provider/published.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/chunk-TENLM2GN.js +0 -1303
package/dist/index.d.ts CHANGED
@@ -7,9 +7,9 @@ import { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
7
7
  import { z } from 'zod';
8
8
  import { Node, Edge, NodeMouseHandler } from '@xyflow/react';
9
9
  import { IconBrain } from '@tabler/icons-react';
10
+ import * as zustand_middleware from 'zustand/middleware';
10
11
  import * as zustand from 'zustand';
11
12
  import { UseBoundStore, StoreApi } from 'zustand';
12
- import * as zustand_middleware from 'zustand/middleware';
13
13
 
14
14
  /**
15
15
  * API module types
@@ -10097,19 +10097,37 @@ interface FeatureNavEntry {
10097
10097
  }
10098
10098
  type FeatureSidebarComponent = ComponentType;
10099
10099
  interface FeatureModule {
10100
+ /** Unique stable identifier for this feature (e.g. `'crm'`, `'delivery'`). */
10100
10101
  key: string;
10101
- label?: string;
10102
+ /** Feature key used for access-flag gating in the organization model. */
10102
10103
  accessFeatureKey: OrganizationModelFeatureKey;
10104
+ /**
10105
+ * Semantic domain identifiers contributed by this feature.
10106
+ * Merged with surface-derived domain IDs during resolution.
10107
+ */
10103
10108
  domainIds?: OrganizationModelSemanticDomain['id'][];
10109
+ /**
10110
+ * Capability identifiers contributed by this feature.
10111
+ * Merged into `ResolvedFeatureSemantics.capabilityIds` at resolution time.
10112
+ * Not queried at runtime — kept for semantic graph completeness so that
10113
+ * capability membership is fully represented in the resolved model even when
10114
+ * a surface does not declare it directly.
10115
+ */
10104
10116
  capabilityIds?: string[];
10117
+ /** Top-level navigation entry rendered in the app shell when this feature is enabled. */
10105
10118
  navEntry?: FeatureNavEntry;
10119
+ /** Sidebar component rendered when a matching subshell route is active. */
10106
10120
  sidebar?: FeatureSidebarComponent;
10121
+ /** Route path prefixes that activate this feature's sidebar and subshell context. */
10107
10122
  subshellRoutes?: string[];
10123
+ /**
10124
+ * Operations-only bridge surface connecting this feature to the organization graph.
10125
+ * Ignored by all other features. Only one manifest in the registry should set this.
10126
+ */
10108
10127
  organizationGraph?: OrganizationGraphFeatureBridge;
10109
10128
  }
10110
10129
  interface ResolvedFeatureAccess {
10111
10130
  featureKey: string;
10112
- label?: string;
10113
10131
  enabled: boolean;
10114
10132
  }
10115
10133
  interface ResolvedFeatureSemantics {
@@ -10252,88 +10270,13 @@ interface ElevasisUIProviderProps extends Omit<ElevasisCoreProviderProps, 'theme
10252
10270
  }
10253
10271
  declare function ElevasisUIProvider({ theme, children, ...coreProps }: ElevasisUIProviderProps): react_jsx_runtime.JSX.Element;
10254
10272
 
10255
- declare function useCommandQueue({ status, limit, offset, humanCheckpoint, timeRange, priorityMin, priorityMax, }?: {
10256
- status?: TaskStatus$1;
10257
- limit?: number;
10258
- offset?: number;
10259
- humanCheckpoint?: string;
10260
- timeRange?: TimeRange;
10261
- priorityMin?: number;
10262
- priorityMax?: number;
10263
- }): _tanstack_react_query.UseQueryResult<{
10264
- createdAt: Date;
10265
- completedAt: Date | undefined;
10266
- expiresAt: Date | undefined;
10267
- id: string;
10268
- organizationId: string;
10269
- actions: ActionConfig[];
10270
- context: unknown;
10271
- selectedAction?: string;
10272
- actionPayload?: unknown;
10273
- description?: string;
10274
- priority: number;
10275
- humanCheckpoint?: string;
10276
- status: TaskStatus$1;
10277
- targetResourceId?: string;
10278
- targetResourceType?: "agent" | "workflow";
10279
- targetExecutionId?: string;
10280
- completedBy?: string;
10281
- idempotencyKey?: string | null;
10282
- originExecutionId: string;
10283
- originResourceType: OriginResourceType;
10284
- originResourceId: string;
10285
- }[], Error>;
10286
-
10287
- interface SubmitActionRequest {
10288
- taskId: string;
10289
- actionId: string;
10290
- payload?: unknown;
10291
- notes?: string;
10292
- }
10293
- interface OptimisticContext {
10294
- previousData: Map<readonly unknown[], Task[] | undefined>;
10295
- }
10296
- interface ExecutionErrorDetails {
10297
- message: string;
10298
- type: string;
10299
- severity: 'critical' | 'warning' | 'info';
10300
- category: 'llm' | 'tool' | 'workflow' | 'agent' | 'validation' | 'system';
10301
- details?: string;
10302
- }
10303
- interface SubmitActionResponse {
10304
- task: unknown;
10305
- execution?: {
10306
- executionId: string;
10307
- success: boolean;
10308
- data?: unknown;
10309
- error?: ExecutionErrorDetails;
10310
- };
10311
- }
10312
- declare function useSubmitAction(): _tanstack_react_query.UseMutationResult<SubmitActionResponse, Error, SubmitActionRequest, OptimisticContext>;
10313
-
10314
- declare function useDeleteTask$1(): _tanstack_react_query.UseMutationResult<void, Error, string, {
10315
- previousData: Map<readonly unknown[], Task[] | undefined>;
10316
- }>;
10317
-
10318
- interface UseCommandQueueTotalsOptions {
10319
- timeRange?: TimeRange;
10320
- priorityMin?: number;
10321
- priorityMax?: number;
10322
- /** When set, priorityCounts are scoped to this status only */
10323
- status?: 'pending' | 'completed' | 'expired';
10273
+ interface CreateTestFeaturesProviderOptions {
10274
+ organizationModel?: OrganizationModel;
10275
+ features?: FeatureModule[];
10324
10276
  }
10325
- /**
10326
- * Fetches command queue totals and checkpoint groupings
10327
- *
10328
- * Returns distinct human checkpoints with task counts and status breakdown.
10329
- * Used for sidebar grouping and donut charts (true totals, not paginated).
10330
- */
10331
- declare function useCommandQueueTotals({ timeRange, priorityMin, priorityMax, status }?: UseCommandQueueTotalsOptions): _tanstack_react_query.UseQueryResult<CheckpointListResponse, Error>;
10332
-
10333
- declare function usePatchTask(): _tanstack_react_query.UseMutationResult<Task, Error, {
10334
- taskId: string;
10335
- params: PatchTaskParams;
10336
- }, unknown>;
10277
+ declare function createTestFeaturesProvider({ organizationModel, features }?: CreateTestFeaturesProviderOptions): ({ children }: {
10278
+ children: ReactNode;
10279
+ }) => react_jsx_runtime.JSX.Element;
10337
10280
 
10338
10281
  /**
10339
10282
  * Query key factory for executions TanStack Query hooks.
@@ -10541,117 +10484,342 @@ declare function useExecuteWorkflow<TSchema extends z.ZodType>(options: UseExecu
10541
10484
  reset: () => void;
10542
10485
  };
10543
10486
 
10544
- interface UseActivitiesParams {
10545
- limit?: number;
10546
- offset?: number;
10547
- activityType?: ActivityType;
10548
- entityType?: string;
10549
- entityId?: string;
10550
- startDate?: string;
10551
- endDate?: string;
10552
- status?: string;
10553
- search?: string;
10554
- }
10555
- interface ListActivitiesResponse {
10556
- activities: Activity[];
10557
- total: number;
10487
+ interface UseScheduledTasksOptions {
10488
+ status?: 'active' | 'paused' | 'completed' | 'cancelled';
10489
+ targetResourceType?: 'agent' | 'workflow';
10558
10490
  }
10559
10491
  /**
10560
- * Fetch activities with filtering and pagination
10561
- *
10562
- * @example
10563
- * // Basic usage - fetch recent activities
10564
- * const { data, error, isLoading } = useActivities({ limit: 50 })
10492
+ * Dashboard hook for fetching scheduled tasks.
10493
+ * Simplified read-only hook that returns the schedules array directly.
10565
10494
  *
10566
- * @example
10567
- * // Filtered by type
10568
- * const { data } = useActivities({
10569
- * activityType: 'workflow_execution',
10570
- * limit: 20
10571
- * })
10495
+ * @param options - Optional filters for status and target resource type
10496
+ * @returns TanStack Query result with schedules array
10572
10497
  *
10573
10498
  * @example
10574
- * // Filtered by entity
10575
- * const { data } = useActivities({
10576
- * entityType: 'workflow',
10577
- * entityId: 'workflow-123'
10578
- * })
10499
+ * ```tsx
10500
+ * const { data: schedules, isLoading } = useScheduledTasks({ status: 'active' })
10501
+ * ```
10579
10502
  */
10580
- interface ActivityTrendResponse {
10581
- timestamps: Date[];
10582
- total: number;
10583
- }
10584
- type UseActivityTrendParams = Omit<UseActivitiesParams, 'limit' | 'offset' | 'search' | 'status'>;
10503
+ declare function useScheduledTasks(options?: UseScheduledTasksOptions): _tanstack_react_query.UseQueryResult<TaskSchedule[], Error>;
10504
+
10585
10505
  /**
10586
- * Fetch activity timestamps for the Activity Trend chart
10587
- *
10588
- * Uses /activities/trend endpoint which returns only occurred_at timestamps
10589
- * up to ANALYTICS_SAFETY_LIMIT (10,000), bypassing the MAX_PAGE_LIMIT cap.
10590
- * Provides accurate counts for any time range regardless of activity volume.
10506
+ * Query key factory for schedule cache management.
10507
+ * Provides type-safe, hierarchical keys for TanStack Query.
10508
+ * Uses organizationId (UUID) for tenant-scoped cache isolation.
10591
10509
  */
10592
- declare function useActivityTrend(params?: UseActivityTrendParams): _tanstack_react_query.UseQueryResult<ActivityTrendResponse, Error>;
10593
- declare function useActivities(params?: UseActivitiesParams): _tanstack_react_query.UseQueryResult<ListActivitiesResponse, Error>;
10594
-
10595
- interface UseExecutionLogsParams {
10596
- resourceId?: string;
10597
- status?: ExecutionStatus$1 | 'all';
10598
- resourceStatus?: 'dev' | 'prod' | 'all';
10599
- startDate?: number;
10600
- endDate?: number;
10510
+ declare const scheduleKeys: {
10511
+ all: (orgId: string | null) => readonly ["schedules", string | null];
10512
+ lists: (orgId: string | null) => readonly ["schedules", string | null, "list"];
10513
+ list: (orgId: string | null, filters?: ListSchedulesFilters) => readonly ["schedules", string | null, "list", ListSchedulesFilters | undefined];
10514
+ details: (orgId: string | null) => readonly ["schedules", string | null, "detail"];
10515
+ detail: (orgId: string | null, id: string) => readonly ["schedules", string | null, "detail", string];
10516
+ executions: (orgId: string | null, id: string) => readonly ["schedules", string | null, "detail", string, "executions"];
10517
+ };
10518
+ /**
10519
+ * Filters for list schedules query.
10520
+ * Mirrors ListSchedulesQuery from @repo/core but typed for UI consumption.
10521
+ */
10522
+ interface ListSchedulesFilters {
10523
+ status?: 'active' | 'paused' | 'completed' | 'cancelled';
10524
+ targetResourceType?: 'agent' | 'workflow';
10525
+ targetResourceId?: string;
10601
10526
  limit?: number;
10602
10527
  offset?: number;
10603
10528
  }
10604
- /**
10605
- * Response type for cross-resource execution list
10606
- * Matches backend ExecutionLogsPageResponse in apps/api/src/execution-engine/handlers.ts
10607
- */
10608
- interface ExecutionLogsPageResponse {
10609
- executions: Array<{
10610
- id: string;
10529
+
10530
+ interface CreateScheduleInput {
10531
+ name: string;
10532
+ description?: string;
10533
+ target: {
10534
+ resourceType: 'agent' | 'workflow';
10611
10535
  resourceId: string;
10612
- resourceName: string;
10613
- resourceType: 'workflow' | 'agent' | 'pipeline';
10614
- status: ExecutionStatus$1;
10615
- startTime: number;
10616
- endTime?: number;
10617
- duration?: number;
10618
- resourceStatus: 'dev' | 'prod';
10619
- resourceVersion?: string | null;
10620
- apiVersion?: string | null;
10621
- sdkVersion?: string | null;
10622
- }>;
10536
+ };
10537
+ scheduleConfig: TaskScheduleConfig;
10538
+ maxRetries?: number;
10539
+ idempotencyKey?: string;
10540
+ originExecutionId?: string;
10541
+ originResourceType?: 'agent' | 'workflow' | 'scheduler' | 'api';
10542
+ originResourceId?: string;
10543
+ }
10544
+ interface UpdateScheduleInput {
10545
+ id: string;
10546
+ name?: string;
10547
+ description?: string | null;
10548
+ scheduleConfig?: TaskScheduleConfig;
10549
+ maxRetries?: number;
10550
+ }
10551
+ /** List response using domain type for CC compatibility. */
10552
+ interface ListSchedulesResponse {
10553
+ schedules: TaskSchedule[];
10623
10554
  total: number;
10624
- hasMore: boolean;
10555
+ limit: number;
10556
+ offset: number;
10625
10557
  }
10626
10558
  /**
10627
- * Fetch execution logs across all resources with filtering and pagination
10559
+ * List schedules with optional filters.
10628
10560
  *
10629
- * @example
10630
- * // Basic usage - fetch recent executions
10631
- * const { data, error, isLoading } = useExecutionLogs({ limit: 50 })
10561
+ * @param filters - Optional filters for status, target resource, and pagination
10562
+ * @returns TanStack Query result with schedules array and pagination info
10632
10563
  *
10633
10564
  * @example
10634
- * // Filtered by status
10635
- * const { data } = useExecutionLogs({
10636
- * status: 'failed',
10637
- * limit: 20
10638
- * })
10565
+ * ```tsx
10566
+ * const { data, isLoading } = useListSchedules({ status: 'active', limit: 20 })
10567
+ * ```
10568
+ */
10569
+ declare function useListSchedules(filters?: ListSchedulesFilters): _tanstack_react_query.UseQueryResult<ListSchedulesResponse, Error>;
10570
+ /**
10571
+ * Get a single schedule by ID.
10572
+ *
10573
+ * @param id - Schedule UUID (undefined to disable query)
10574
+ * @returns TanStack Query result with schedule data
10639
10575
  *
10640
10576
  * @example
10641
- * // Filtered by resource and date range
10642
- * const { data } = useExecutionLogs({
10643
- * resourceId: 'workflow-123',
10644
- * startDate: Date.now() - 86400000, // Last 24 hours
10645
- * endDate: Date.now()
10646
- * })
10577
+ * ```tsx
10578
+ * const { data: schedule, isLoading } = useGetSchedule(scheduleId)
10579
+ * ```
10647
10580
  */
10648
- declare function useExecutionLogs(params?: UseExecutionLogsParams): _tanstack_react_query.UseQueryResult<ExecutionLogsPageResponse, Error>;
10649
-
10650
- interface UseNotificationsOptions {
10651
- limit?: number;
10652
- offset?: number;
10653
- }
10654
- declare function useNotifications({ limit, offset }?: UseNotificationsOptions): _tanstack_react_query.UseQueryResult<{
10581
+ declare function useGetSchedule(id: string | undefined): _tanstack_react_query.UseQueryResult<TaskSchedule, Error>;
10582
+ /**
10583
+ * Get execution history for a schedule.
10584
+ *
10585
+ * @param scheduleId - Schedule UUID (undefined to disable query)
10586
+ * @param options - Pagination options (limit, offset)
10587
+ * @returns TanStack Query result with execution history and pagination info
10588
+ *
10589
+ * @example
10590
+ * ```tsx
10591
+ * const { data } = useGetExecutionHistory(scheduleId, { limit: 10 })
10592
+ * ```
10593
+ */
10594
+ declare function useGetExecutionHistory(scheduleId: string | undefined, options?: {
10595
+ limit?: number;
10596
+ offset?: number;
10597
+ }): _tanstack_react_query.UseQueryResult<{
10598
+ executions: {
10599
+ id: string;
10600
+ createdAt: string;
10601
+ status: "completed" | "failed" | "running" | "cancelled";
10602
+ step: number | null;
10603
+ itemLabel: string | null;
10604
+ duration: number | null;
10605
+ error: string | null;
10606
+ }[];
10607
+ total: number;
10608
+ limit: number;
10609
+ offset: number;
10610
+ }, Error>;
10611
+ /**
10612
+ * Create a new schedule.
10613
+ *
10614
+ * @returns TanStack Mutation for creating schedules
10615
+ *
10616
+ * @example
10617
+ * ```tsx
10618
+ * const createSchedule = useCreateSchedule()
10619
+ *
10620
+ * createSchedule.mutate({
10621
+ * name: 'Daily Report',
10622
+ * target: { resourceType: 'workflow', resourceId: 'wf-123' },
10623
+ * scheduleConfig: { type: 'recurring', cron: '0 9 * * *', timezone: 'UTC', payload: {} }
10624
+ * })
10625
+ * ```
10626
+ */
10627
+ declare function useCreateSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, CreateScheduleInput, unknown>;
10628
+ /**
10629
+ * Update schedule fields (name, description, scheduleConfig, maxRetries).
10630
+ * Only active or paused schedules can be updated.
10631
+ *
10632
+ * @returns TanStack Mutation for updating schedules
10633
+ *
10634
+ * @example
10635
+ * ```tsx
10636
+ * const updateSchedule = useUpdateSchedule()
10637
+ *
10638
+ * updateSchedule.mutate({ id: 'schedule-123', name: 'Updated Name' })
10639
+ * ```
10640
+ */
10641
+ declare function useUpdateSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, UpdateScheduleInput, unknown>;
10642
+ /**
10643
+ * Update anchor datetime for relative schedules.
10644
+ * Only applicable to schedules with type: 'relative'.
10645
+ *
10646
+ * @returns TanStack Mutation for updating schedule anchor
10647
+ *
10648
+ * @example
10649
+ * ```tsx
10650
+ * const updateAnchor = useUpdateAnchor()
10651
+ *
10652
+ * updateAnchor.mutate({ id: 'schedule-123', anchorAt: '2026-02-01T09:00:00Z' })
10653
+ * ```
10654
+ */
10655
+ declare function useUpdateAnchor(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, {
10656
+ id: string;
10657
+ anchorAt: string;
10658
+ }, unknown>;
10659
+ /**
10660
+ * Pause a schedule.
10661
+ * Paused schedules will not execute until resumed.
10662
+ *
10663
+ * @returns TanStack Mutation for pausing schedules
10664
+ *
10665
+ * @example
10666
+ * ```tsx
10667
+ * const pauseSchedule = usePauseSchedule()
10668
+ * pauseSchedule.mutate('schedule-123')
10669
+ * ```
10670
+ */
10671
+ declare function usePauseSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
10672
+ /**
10673
+ * Resume a paused schedule.
10674
+ *
10675
+ * @returns TanStack Mutation for resuming schedules
10676
+ *
10677
+ * @example
10678
+ * ```tsx
10679
+ * const resumeSchedule = useResumeSchedule()
10680
+ * resumeSchedule.mutate('schedule-123')
10681
+ * ```
10682
+ */
10683
+ declare function useResumeSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
10684
+ /**
10685
+ * Cancel a schedule permanently (soft delete).
10686
+ * Sets status to 'cancelled' -- schedule remains in DB for history.
10687
+ * Cancelled schedules cannot be resumed.
10688
+ *
10689
+ * @returns TanStack Mutation for cancelling schedules
10690
+ *
10691
+ * @example
10692
+ * ```tsx
10693
+ * const cancelSchedule = useCancelSchedule()
10694
+ * cancelSchedule.mutate('schedule-123')
10695
+ * ```
10696
+ */
10697
+ declare function useCancelSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
10698
+ /**
10699
+ * Delete a schedule permanently (hard delete).
10700
+ * Removes schedule from database entirely.
10701
+ *
10702
+ * @returns TanStack Mutation for deleting schedules
10703
+ *
10704
+ * @example
10705
+ * ```tsx
10706
+ * const deleteSchedule = useDeleteSchedule()
10707
+ * deleteSchedule.mutate('schedule-123')
10708
+ * ```
10709
+ */
10710
+ declare function useDeleteSchedule(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
10711
+
10712
+ interface UseActivitiesParams {
10713
+ limit?: number;
10714
+ offset?: number;
10715
+ activityType?: ActivityType;
10716
+ entityType?: string;
10717
+ entityId?: string;
10718
+ startDate?: string;
10719
+ endDate?: string;
10720
+ status?: string;
10721
+ search?: string;
10722
+ }
10723
+ interface ListActivitiesResponse {
10724
+ activities: Activity[];
10725
+ total: number;
10726
+ }
10727
+ /**
10728
+ * Fetch activities with filtering and pagination
10729
+ *
10730
+ * @example
10731
+ * // Basic usage - fetch recent activities
10732
+ * const { data, error, isLoading } = useActivities({ limit: 50 })
10733
+ *
10734
+ * @example
10735
+ * // Filtered by type
10736
+ * const { data } = useActivities({
10737
+ * activityType: 'workflow_execution',
10738
+ * limit: 20
10739
+ * })
10740
+ *
10741
+ * @example
10742
+ * // Filtered by entity
10743
+ * const { data } = useActivities({
10744
+ * entityType: 'workflow',
10745
+ * entityId: 'workflow-123'
10746
+ * })
10747
+ */
10748
+ interface ActivityTrendResponse {
10749
+ timestamps: Date[];
10750
+ total: number;
10751
+ }
10752
+ type UseActivityTrendParams = Omit<UseActivitiesParams, 'limit' | 'offset' | 'search' | 'status'>;
10753
+ /**
10754
+ * Fetch activity timestamps for the Activity Trend chart
10755
+ *
10756
+ * Uses /activities/trend endpoint which returns only occurred_at timestamps
10757
+ * up to ANALYTICS_SAFETY_LIMIT (10,000), bypassing the MAX_PAGE_LIMIT cap.
10758
+ * Provides accurate counts for any time range regardless of activity volume.
10759
+ */
10760
+ declare function useActivityTrend(params?: UseActivityTrendParams): _tanstack_react_query.UseQueryResult<ActivityTrendResponse, Error>;
10761
+ declare function useActivities(params?: UseActivitiesParams): _tanstack_react_query.UseQueryResult<ListActivitiesResponse, Error>;
10762
+
10763
+ interface UseExecutionLogsParams {
10764
+ resourceId?: string;
10765
+ status?: ExecutionStatus$1 | 'all';
10766
+ resourceStatus?: 'dev' | 'prod' | 'all';
10767
+ startDate?: number;
10768
+ endDate?: number;
10769
+ limit?: number;
10770
+ offset?: number;
10771
+ }
10772
+ /**
10773
+ * Response type for cross-resource execution list
10774
+ * Matches backend ExecutionLogsPageResponse in apps/api/src/execution-engine/handlers.ts
10775
+ */
10776
+ interface ExecutionLogsPageResponse {
10777
+ executions: Array<{
10778
+ id: string;
10779
+ resourceId: string;
10780
+ resourceName: string;
10781
+ resourceType: 'workflow' | 'agent' | 'pipeline';
10782
+ status: ExecutionStatus$1;
10783
+ startTime: number;
10784
+ endTime?: number;
10785
+ duration?: number;
10786
+ resourceStatus: 'dev' | 'prod';
10787
+ resourceVersion?: string | null;
10788
+ apiVersion?: string | null;
10789
+ sdkVersion?: string | null;
10790
+ }>;
10791
+ total: number;
10792
+ hasMore: boolean;
10793
+ }
10794
+ /**
10795
+ * Fetch execution logs across all resources with filtering and pagination
10796
+ *
10797
+ * @example
10798
+ * // Basic usage - fetch recent executions
10799
+ * const { data, error, isLoading } = useExecutionLogs({ limit: 50 })
10800
+ *
10801
+ * @example
10802
+ * // Filtered by status
10803
+ * const { data } = useExecutionLogs({
10804
+ * status: 'failed',
10805
+ * limit: 20
10806
+ * })
10807
+ *
10808
+ * @example
10809
+ * // Filtered by resource and date range
10810
+ * const { data } = useExecutionLogs({
10811
+ * resourceId: 'workflow-123',
10812
+ * startDate: Date.now() - 86400000, // Last 24 hours
10813
+ * endDate: Date.now()
10814
+ * })
10815
+ */
10816
+ declare function useExecutionLogs(params?: UseExecutionLogsParams): _tanstack_react_query.UseQueryResult<ExecutionLogsPageResponse, Error>;
10817
+
10818
+ interface UseNotificationsOptions {
10819
+ limit?: number;
10820
+ offset?: number;
10821
+ }
10822
+ declare function useNotifications({ limit, offset }?: UseNotificationsOptions): _tanstack_react_query.UseQueryResult<{
10655
10823
  notifications: NotificationDTO[];
10656
10824
  total: number;
10657
10825
  }, Error>;
@@ -10689,65 +10857,6 @@ declare function useNotificationCount(args: UseNotificationCountArgs): {
10689
10857
  sseError: string | null | undefined;
10690
10858
  };
10691
10859
 
10692
- declare function useMarkAsRead(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
10693
-
10694
- declare function useMarkAllAsRead(): _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
10695
-
10696
- /**
10697
- * Hook that provides a standardized error notification handler
10698
- * for use in React Query mutation hooks.
10699
- *
10700
- * Delegates to the active NotificationAdapter so it works in any
10701
- * consumer (Mantine, Sonner, console fallback, etc.)
10702
- *
10703
- * @example
10704
- * ```typescript
10705
- * const mutation = useMutation({
10706
- * mutationFn: deleteApiKey,
10707
- * onError: useErrorNotification()
10708
- * })
10709
- * ```
10710
- */
10711
- declare function useErrorNotification(): (error: unknown) => void;
10712
-
10713
- /**
10714
- * Hook that provides a standardized success notification handler.
10715
- * Delegates to the active NotificationAdapter.
10716
- */
10717
- declare function useSuccessNotification(): (title: string, message: string) => void;
10718
-
10719
- /**
10720
- * Hook that provides a standardized warning notification handler.
10721
- * Delegates to the active NotificationAdapter.
10722
- */
10723
- declare function useWarningNotification(): (title: string, message: string) => void;
10724
-
10725
- /**
10726
- * Batch mark-as-read hook for notifications.
10727
- *
10728
- * Sends a DELETE request to `/notifications/batch` with the given IDs,
10729
- * which the API treats as a bulk mark-as-read operation.
10730
- *
10731
- * @param invalidateQueryKeys - Array of query key prefixes to invalidate on success
10732
- */
10733
- declare function useBatchDelete(invalidateQueryKeys: readonly (readonly unknown[])[]): _tanstack_react_query.UseMutationResult<void, Error, string[], unknown>;
10734
-
10735
- /**
10736
- * Mutation hook to send a test notification.
10737
- * On success, invalidates the notifications query cache.
10738
- * On error, shows an API error notification via the notification adapter.
10739
- *
10740
- * @returns TanStack Mutation for triggering test notifications
10741
- *
10742
- * @example
10743
- * ```tsx
10744
- * const testNotification = useTestNotification()
10745
- *
10746
- * testNotification.mutate()
10747
- * ```
10748
- */
10749
- declare function useTestNotification(): _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
10750
-
10751
10860
  /**
10752
10861
  * Query key factories for observability hooks.
10753
10862
  * Scoped by organizationId for cache isolation between tenants.
@@ -10899,255 +11008,89 @@ interface UseRecentExecutionsByResourceParams {
10899
11008
  */
10900
11009
  declare function useRecentExecutionsByResource({ timeRange, limit }: UseRecentExecutionsByResourceParams): _tanstack_react_query.UseQueryResult<RecentExecutionsByResourceResponse, Error>;
10901
11010
 
10902
- interface UseScheduledTasksOptions {
10903
- status?: 'active' | 'paused' | 'completed' | 'cancelled';
10904
- targetResourceType?: 'agent' | 'workflow';
10905
- }
11011
+ declare function useMarkAsRead(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11012
+
11013
+ declare function useMarkAllAsRead(): _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
11014
+
10906
11015
  /**
10907
- * Dashboard hook for fetching scheduled tasks.
10908
- * Simplified read-only hook that returns the schedules array directly.
11016
+ * Hook that provides a standardized error notification handler
11017
+ * for use in React Query mutation hooks.
10909
11018
  *
10910
- * @param options - Optional filters for status and target resource type
10911
- * @returns TanStack Query result with schedules array
11019
+ * Delegates to the active NotificationAdapter so it works in any
11020
+ * consumer (Mantine, Sonner, console fallback, etc.)
10912
11021
  *
10913
11022
  * @example
10914
- * ```tsx
10915
- * const { data: schedules, isLoading } = useScheduledTasks({ status: 'active' })
11023
+ * ```typescript
11024
+ * const mutation = useMutation({
11025
+ * mutationFn: deleteApiKey,
11026
+ * onError: useErrorNotification()
11027
+ * })
10916
11028
  * ```
10917
11029
  */
10918
- declare function useScheduledTasks(options?: UseScheduledTasksOptions): _tanstack_react_query.UseQueryResult<TaskSchedule[], Error>;
11030
+ declare function useErrorNotification(): (error: unknown) => void;
10919
11031
 
10920
11032
  /**
10921
- * Query key factory for schedule cache management.
10922
- * Provides type-safe, hierarchical keys for TanStack Query.
10923
- * Uses organizationId (UUID) for tenant-scoped cache isolation.
10924
- */
10925
- declare const scheduleKeys: {
10926
- all: (orgId: string | null) => readonly ["schedules", string | null];
10927
- lists: (orgId: string | null) => readonly ["schedules", string | null, "list"];
10928
- list: (orgId: string | null, filters?: ListSchedulesFilters) => readonly ["schedules", string | null, "list", ListSchedulesFilters | undefined];
10929
- details: (orgId: string | null) => readonly ["schedules", string | null, "detail"];
10930
- detail: (orgId: string | null, id: string) => readonly ["schedules", string | null, "detail", string];
10931
- executions: (orgId: string | null, id: string) => readonly ["schedules", string | null, "detail", string, "executions"];
10932
- };
10933
- /**
10934
- * Filters for list schedules query.
10935
- * Mirrors ListSchedulesQuery from @repo/core but typed for UI consumption.
11033
+ * Hook that provides a standardized success notification handler.
11034
+ * Delegates to the active NotificationAdapter.
10936
11035
  */
10937
- interface ListSchedulesFilters {
10938
- status?: 'active' | 'paused' | 'completed' | 'cancelled';
10939
- targetResourceType?: 'agent' | 'workflow';
10940
- targetResourceId?: string;
10941
- limit?: number;
10942
- offset?: number;
10943
- }
11036
+ declare function useSuccessNotification(): (title: string, message: string) => void;
10944
11037
 
10945
- interface CreateScheduleInput {
10946
- name: string;
10947
- description?: string;
10948
- target: {
10949
- resourceType: 'agent' | 'workflow';
10950
- resourceId: string;
10951
- };
10952
- scheduleConfig: TaskScheduleConfig;
10953
- maxRetries?: number;
10954
- idempotencyKey?: string;
10955
- originExecutionId?: string;
10956
- originResourceType?: 'agent' | 'workflow' | 'scheduler' | 'api';
10957
- originResourceId?: string;
10958
- }
10959
- interface UpdateScheduleInput {
10960
- id: string;
10961
- name?: string;
10962
- description?: string | null;
10963
- scheduleConfig?: TaskScheduleConfig;
10964
- maxRetries?: number;
10965
- }
10966
- /** List response using domain type for CC compatibility. */
10967
- interface ListSchedulesResponse {
10968
- schedules: TaskSchedule[];
10969
- total: number;
10970
- limit: number;
10971
- offset: number;
10972
- }
10973
- /**
10974
- * List schedules with optional filters.
10975
- *
10976
- * @param filters - Optional filters for status, target resource, and pagination
10977
- * @returns TanStack Query result with schedules array and pagination info
10978
- *
10979
- * @example
10980
- * ```tsx
10981
- * const { data, isLoading } = useListSchedules({ status: 'active', limit: 20 })
10982
- * ```
10983
- */
10984
- declare function useListSchedules(filters?: ListSchedulesFilters): _tanstack_react_query.UseQueryResult<ListSchedulesResponse, Error>;
10985
11038
  /**
10986
- * Get a single schedule by ID.
10987
- *
10988
- * @param id - Schedule UUID (undefined to disable query)
10989
- * @returns TanStack Query result with schedule data
10990
- *
10991
- * @example
10992
- * ```tsx
10993
- * const { data: schedule, isLoading } = useGetSchedule(scheduleId)
10994
- * ```
11039
+ * Hook that provides a standardized warning notification handler.
11040
+ * Delegates to the active NotificationAdapter.
10995
11041
  */
10996
- declare function useGetSchedule(id: string | undefined): _tanstack_react_query.UseQueryResult<TaskSchedule, Error>;
11042
+ declare function useWarningNotification(): (title: string, message: string) => void;
11043
+
10997
11044
  /**
10998
- * Get execution history for a schedule.
11045
+ * Batch mark-as-read hook for notifications.
10999
11046
  *
11000
- * @param scheduleId - Schedule UUID (undefined to disable query)
11001
- * @param options - Pagination options (limit, offset)
11002
- * @returns TanStack Query result with execution history and pagination info
11047
+ * Sends a DELETE request to `/notifications/batch` with the given IDs,
11048
+ * which the API treats as a bulk mark-as-read operation.
11003
11049
  *
11004
- * @example
11005
- * ```tsx
11006
- * const { data } = useGetExecutionHistory(scheduleId, { limit: 10 })
11007
- * ```
11050
+ * @param invalidateQueryKeys - Array of query key prefixes to invalidate on success
11008
11051
  */
11009
- declare function useGetExecutionHistory(scheduleId: string | undefined, options?: {
11010
- limit?: number;
11011
- offset?: number;
11012
- }): _tanstack_react_query.UseQueryResult<{
11013
- executions: {
11014
- id: string;
11015
- createdAt: string;
11016
- status: "completed" | "failed" | "running" | "cancelled";
11017
- step: number | null;
11018
- itemLabel: string | null;
11019
- duration: number | null;
11020
- error: string | null;
11021
- }[];
11022
- total: number;
11023
- limit: number;
11024
- offset: number;
11025
- }, Error>;
11052
+ declare function useBatchDelete(invalidateQueryKeys: readonly (readonly unknown[])[]): _tanstack_react_query.UseMutationResult<void, Error, string[], unknown>;
11053
+
11026
11054
  /**
11027
- * Create a new schedule.
11055
+ * Mutation hook to send a test notification.
11056
+ * On success, invalidates the notifications query cache.
11057
+ * On error, shows an API error notification via the notification adapter.
11028
11058
  *
11029
- * @returns TanStack Mutation for creating schedules
11059
+ * @returns TanStack Mutation for triggering test notifications
11030
11060
  *
11031
11061
  * @example
11032
11062
  * ```tsx
11033
- * const createSchedule = useCreateSchedule()
11063
+ * const testNotification = useTestNotification()
11034
11064
  *
11035
- * createSchedule.mutate({
11036
- * name: 'Daily Report',
11037
- * target: { resourceType: 'workflow', resourceId: 'wf-123' },
11038
- * scheduleConfig: { type: 'recurring', cron: '0 9 * * *', timezone: 'UTC', payload: {} }
11039
- * })
11065
+ * testNotification.mutate()
11040
11066
  * ```
11041
11067
  */
11042
- declare function useCreateSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, CreateScheduleInput, unknown>;
11068
+ declare function useTestNotification(): _tanstack_react_query.UseMutationResult<void, Error, void, unknown>;
11069
+
11070
+ interface SessionListItem {
11071
+ sessionId: string;
11072
+ resourceId: string;
11073
+ turnCount: number;
11074
+ isEnded: boolean;
11075
+ createdAt: Date;
11076
+ updatedAt: Date;
11077
+ }
11078
+ interface CreateSessionResponse {
11079
+ sessionId: string;
11080
+ resourceId: string;
11081
+ turnCount: number;
11082
+ createdAt: string;
11083
+ }
11043
11084
  /**
11044
- * Update schedule fields (name, description, scheduleConfig, maxRetries).
11045
- * Only active or paused schedules can be updated.
11046
- *
11047
- * @returns TanStack Mutation for updating schedules
11048
- *
11049
- * @example
11050
- * ```tsx
11051
- * const updateSchedule = useUpdateSchedule()
11052
- *
11053
- * updateSchedule.mutate({ id: 'schedule-123', name: 'Updated Name' })
11054
- * ```
11085
+ * Response type from the /api/dev/execution-engine/resources endpoint
11055
11086
  */
11056
- declare function useUpdateSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, UpdateScheduleInput, unknown>;
11087
+ interface ResourcesResponse {
11088
+ workflows: ResourceDefinition[];
11089
+ agents: ResourceDefinition[];
11090
+ pipelines: ResourceDefinition[];
11091
+ }
11057
11092
  /**
11058
- * Update anchor datetime for relative schedules.
11059
- * Only applicable to schedules with type: 'relative'.
11060
- *
11061
- * @returns TanStack Mutation for updating schedule anchor
11062
- *
11063
- * @example
11064
- * ```tsx
11065
- * const updateAnchor = useUpdateAnchor()
11066
- *
11067
- * updateAnchor.mutate({ id: 'schedule-123', anchorAt: '2026-02-01T09:00:00Z' })
11068
- * ```
11069
- */
11070
- declare function useUpdateAnchor(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, {
11071
- id: string;
11072
- anchorAt: string;
11073
- }, unknown>;
11074
- /**
11075
- * Pause a schedule.
11076
- * Paused schedules will not execute until resumed.
11077
- *
11078
- * @returns TanStack Mutation for pausing schedules
11079
- *
11080
- * @example
11081
- * ```tsx
11082
- * const pauseSchedule = usePauseSchedule()
11083
- * pauseSchedule.mutate('schedule-123')
11084
- * ```
11085
- */
11086
- declare function usePauseSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
11087
- /**
11088
- * Resume a paused schedule.
11089
- *
11090
- * @returns TanStack Mutation for resuming schedules
11091
- *
11092
- * @example
11093
- * ```tsx
11094
- * const resumeSchedule = useResumeSchedule()
11095
- * resumeSchedule.mutate('schedule-123')
11096
- * ```
11097
- */
11098
- declare function useResumeSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
11099
- /**
11100
- * Cancel a schedule permanently (soft delete).
11101
- * Sets status to 'cancelled' -- schedule remains in DB for history.
11102
- * Cancelled schedules cannot be resumed.
11103
- *
11104
- * @returns TanStack Mutation for cancelling schedules
11105
- *
11106
- * @example
11107
- * ```tsx
11108
- * const cancelSchedule = useCancelSchedule()
11109
- * cancelSchedule.mutate('schedule-123')
11110
- * ```
11111
- */
11112
- declare function useCancelSchedule(): _tanstack_react_query.UseMutationResult<TaskSchedule, Error, string, unknown>;
11113
- /**
11114
- * Delete a schedule permanently (hard delete).
11115
- * Removes schedule from database entirely.
11116
- *
11117
- * @returns TanStack Mutation for deleting schedules
11118
- *
11119
- * @example
11120
- * ```tsx
11121
- * const deleteSchedule = useDeleteSchedule()
11122
- * deleteSchedule.mutate('schedule-123')
11123
- * ```
11124
- */
11125
- declare function useDeleteSchedule(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11126
-
11127
- interface SessionListItem {
11128
- sessionId: string;
11129
- resourceId: string;
11130
- turnCount: number;
11131
- isEnded: boolean;
11132
- createdAt: Date;
11133
- updatedAt: Date;
11134
- }
11135
- interface CreateSessionResponse {
11136
- sessionId: string;
11137
- resourceId: string;
11138
- turnCount: number;
11139
- createdAt: string;
11140
- }
11141
- /**
11142
- * Response type from the /api/dev/execution-engine/resources endpoint
11143
- */
11144
- interface ResourcesResponse {
11145
- workflows: ResourceDefinition[];
11146
- agents: ResourceDefinition[];
11147
- pipelines: ResourceDefinition[];
11148
- }
11149
- /**
11150
- * Operations Service for fetching Execution Engine resources
11093
+ * Operations Service for fetching Execution Engine resources
11151
11094
  */
11152
11095
  declare class OperationsService {
11153
11096
  private apiRequest;
@@ -11196,113 +11139,6 @@ declare class OperationsService {
11196
11139
  archiveSession(sessionId: string): Promise<void>;
11197
11140
  }
11198
11141
 
11199
- /**
11200
- * Session-scoped query key factory.
11201
- * Organization identifier is always included for cache isolation.
11202
- */
11203
- declare const sessionsKeys: {
11204
- all: readonly ["sessions"];
11205
- sessions: (org: string, params?: {
11206
- resourceId?: string;
11207
- }) => readonly ["sessions", "list", string, {
11208
- resourceId?: string;
11209
- } | undefined];
11210
- session: (org: string, sessionId: string) => readonly ["sessions", "detail", string, string];
11211
- executions: (org: string, sessionId: string) => readonly ["sessions", string, string, "executions"];
11212
- execution: (org: string, sessionId: string, executionId: string) => readonly ["sessions", string, string, "executions", string];
11213
- messages: (org: string, sessionId: string) => readonly ["sessions", string, string, "messages"];
11214
- };
11215
-
11216
- interface SessionExecution {
11217
- executionId: string;
11218
- turnNumber: number;
11219
- status: string;
11220
- startedAt: string;
11221
- completedAt?: string;
11222
- duration?: number;
11223
- }
11224
- interface SessionExecutionsResponse {
11225
- sessionId: string;
11226
- executions: SessionExecution[];
11227
- }
11228
- interface GetMessagesResponse {
11229
- sessionId: string;
11230
- messages: Array<{
11231
- id: string;
11232
- role: 'user' | 'assistant';
11233
- messageType: MessageType;
11234
- text: string;
11235
- metadata?: MessageEvent;
11236
- turnNumber: number;
11237
- messageIndex?: number;
11238
- createdAt: string;
11239
- }>;
11240
- }
11241
- interface WebSocketState {
11242
- isConnected: boolean;
11243
- isProcessing: boolean;
11244
- error: string | null;
11245
- }
11246
-
11247
- /**
11248
- * Hook to fetch sessions list with optional filtering.
11249
- */
11250
- declare function useSessions(params?: {
11251
- resourceId?: string;
11252
- }, options?: {
11253
- enabled?: boolean;
11254
- }): _tanstack_react_query.UseQueryResult<SessionListItem[], Error>;
11255
- /**
11256
- * Hook to fetch a single session by ID.
11257
- */
11258
- declare function useSession(sessionId: string): _tanstack_react_query.UseQueryResult<SessionDTO, Error>;
11259
- /**
11260
- * Hook to create a new session.
11261
- */
11262
- declare function useCreateSession(): _tanstack_react_query.UseMutationResult<CreateSessionResponse, Error, string, unknown>;
11263
- /**
11264
- * Hook to delete a session.
11265
- */
11266
- declare function useDeleteSession(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11267
- /**
11268
- * Hook to archive a session.
11269
- */
11270
- declare function useArchiveSession(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11271
-
11272
- /**
11273
- * Hook to fetch all executions for a session, grouped by turn.
11274
- * Each turn creates one execution.
11275
- */
11276
- declare function useSessionExecutions(sessionId: string): _tanstack_react_query.UseQueryResult<SessionExecutionsResponse, Error>;
11277
- /**
11278
- * Hook to fetch a single execution detail for a session turn.
11279
- * Auto-refetches every 2 seconds while the execution is still running.
11280
- */
11281
- declare function useSessionExecution(sessionId: string, executionId: string): _tanstack_react_query.UseQueryResult<APIExecutionDetail$1, Error>;
11282
-
11283
- /**
11284
- * Hook to fetch message history for a session.
11285
- * Transforms ISO date strings to Date objects on the returned messages.
11286
- */
11287
- declare function useSessionMessages(sessionId: string): _tanstack_react_query.UseQueryResult<ChatMessage[], Error>;
11288
-
11289
- /**
11290
- * WebSocket hook for real-time agent chat sessions.
11291
- * Connects to backend WebSocket endpoint with authentication.
11292
- * Auto-reconnects with exponential backoff.
11293
- *
11294
- * @param sessionId - The session to connect to.
11295
- * @param apiUrl - Base URL of the API server (e.g. "https://api.example.com").
11296
- * Callers typically obtain this from their service configuration.
11297
- */
11298
- declare function useSessionWebSocket(sessionId: string, apiUrl: string): {
11299
- messages: ChatMessage[];
11300
- state: WebSocketState;
11301
- sendMessage: (text: string, pageContext?: Record<string, unknown>) => void;
11302
- clearError: () => void;
11303
- lastTokenUsage: SessionTokenUsage | null;
11304
- };
11305
-
11306
11142
  /**
11307
11143
  * Shared hook for pagination state management.
11308
11144
  * Encapsulates page state, offset calculation, and reset-on-filter-change.
@@ -11509,17 +11345,17 @@ interface FeatureAccessResult {
11509
11345
  * @example
11510
11346
  * ```typescript
11511
11347
  * // In your app's feature-access module
11512
- * import { createUseFeatureAccess } from '@repo/ui/hooks'
11348
+ * import { createFeatureAccessHook } from '@repo/ui/hooks'
11513
11349
  * import { useInitialization } from '@repo/ui/initialization'
11514
11350
  * import { useOrganization } from '@repo/ui/organization'
11515
11351
  *
11516
- * export const useFeatureAccess = createUseFeatureAccess({
11352
+ * export const useFeatureAccess = createFeatureAccessHook({
11517
11353
  * useInitialization,
11518
11354
  * useOrganization,
11519
11355
  * })
11520
11356
  * ```
11521
11357
  */
11522
- declare function createUseFeatureAccess({ useInitialization, useOrganization }: {
11358
+ declare function createFeatureAccessHook({ useInitialization, useOrganization }: {
11523
11359
  useInitialization: () => Pick<AppInitializationState, 'profile' | 'organizationReady'>;
11524
11360
  useOrganization: () => Pick<OrganizationContextValue, 'currentMembership'>;
11525
11361
  }): () => {
@@ -11530,6 +11366,21 @@ declare function createUseFeatureAccess({ useInitialization, useOrganization }:
11530
11366
  checkFeature: (featureKey: string) => FeatureAccessResult;
11531
11367
  isReady: boolean;
11532
11368
  };
11369
+ /**
11370
+ * @deprecated Use `createFeatureAccessHook` instead. This alias will be removed in a future release.
11371
+ */
11372
+ declare const createUseFeatureAccess: typeof createFeatureAccessHook;
11373
+
11374
+ /**
11375
+ * Authoritative source for feature-key aliases used in feature access resolution.
11376
+ *
11377
+ * These aliases map the legacy/UI-facing feature keys (e.g. "crm", "lead-gen",
11378
+ * "projects") to their canonical organization-model keys ("acquisition", "delivery").
11379
+ *
11380
+ * Both `createFeatureAccessHook` and `ElevasisFeaturesProvider` import from here
11381
+ * to ensure a single source of truth.
11382
+ */
11383
+ declare const FEATURE_KEY_ALIASES: Record<string, string>;
11533
11384
 
11534
11385
  interface UseSSEConnectionOptions {
11535
11386
  manager: SSEConnectionManagerLike;
@@ -11578,898 +11429,610 @@ declare function useSSEConnection({ manager, connectionKey, url, enabled, header
11578
11429
  error: string | null;
11579
11430
  };
11580
11431
 
11581
- interface ResourceSearchStore {
11582
- query: string;
11583
- set: (query: string) => void;
11584
- }
11585
- declare const useResourceSearch: zustand.UseBoundStore<zustand.StoreApi<ResourceSearchStore>>;
11586
-
11587
- type StatusFilter$1 = 'all' | 'dev' | 'prod';
11588
- interface StatusFilterStore {
11589
- value: StatusFilter$1;
11590
- set: (value: StatusFilter$1) => void;
11591
- }
11592
- declare const useStatusFilter: zustand.UseBoundStore<zustand.StoreApi<StatusFilterStore>>;
11593
-
11594
11432
  /**
11595
- * Tracks which resource cards are visible in the viewport using Intersection Observer.
11596
- * Returns a Set of visible resource IDs and a ref callback to attach to card elements.
11597
- *
11598
- * Cards must have a `data-resource-id` attribute to be tracked.
11433
+ * Session-scoped query key factory.
11434
+ * Organization identifier is always included for cache isolation.
11599
11435
  */
11600
- declare function useVisibleResources(): {
11601
- visibleIds: Set<string>;
11602
- setContainerRef: (node: HTMLDivElement | null) => void;
11436
+ declare const sessionsKeys: {
11437
+ all: readonly ["sessions"];
11438
+ sessions: (org: string, params?: {
11439
+ resourceId?: string;
11440
+ }) => readonly ["sessions", "list", string, {
11441
+ resourceId?: string;
11442
+ } | undefined];
11443
+ session: (org: string, sessionId: string) => readonly ["sessions", "detail", string, string];
11444
+ executions: (org: string, sessionId: string) => readonly ["sessions", string, string, "executions"];
11445
+ execution: (org: string, sessionId: string, executionId: string) => readonly ["sessions", string, string, "executions", string];
11446
+ messages: (org: string, sessionId: string) => readonly ["sessions", string, string, "messages"];
11603
11447
  };
11604
11448
 
11605
- type DomainFilterState = 'neutral' | 'include' | 'exclude';
11606
- interface DomainFiltersStore {
11607
- filters: Record<string, DomainFilterState>;
11608
- cycle: (domainId: string) => void;
11609
- reset: () => void;
11449
+ interface SessionExecution {
11450
+ executionId: string;
11451
+ turnNumber: number;
11452
+ status: string;
11453
+ startedAt: string;
11454
+ completedAt?: string;
11455
+ duration?: number;
11610
11456
  }
11611
- declare const useResourcesDomainFilters: zustand.UseBoundStore<Omit<zustand.StoreApi<DomainFiltersStore>, "setState" | "persist"> & {
11612
- setState(partial: DomainFiltersStore | Partial<DomainFiltersStore> | ((state: DomainFiltersStore) => DomainFiltersStore | Partial<DomainFiltersStore>), replace?: false | undefined): unknown;
11613
- setState(state: DomainFiltersStore | ((state: DomainFiltersStore) => DomainFiltersStore), replace: true): unknown;
11614
- persist: {
11615
- setOptions: (options: Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>) => void;
11616
- clearStorage: () => void;
11617
- rehydrate: () => Promise<void> | void;
11618
- hasHydrated: () => boolean;
11619
- onHydrate: (fn: (state: DomainFiltersStore) => void) => () => void;
11620
- onFinishHydration: (fn: (state: DomainFiltersStore) => void) => () => void;
11621
- getOptions: () => Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>;
11622
- };
11623
- }>;
11624
- declare const useCommandViewDomainFilters: zustand.UseBoundStore<Omit<zustand.StoreApi<DomainFiltersStore>, "setState" | "persist"> & {
11625
- setState(partial: DomainFiltersStore | Partial<DomainFiltersStore> | ((state: DomainFiltersStore) => DomainFiltersStore | Partial<DomainFiltersStore>), replace?: false | undefined): unknown;
11626
- setState(state: DomainFiltersStore | ((state: DomainFiltersStore) => DomainFiltersStore), replace: true): unknown;
11627
- persist: {
11628
- setOptions: (options: Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>) => void;
11629
- clearStorage: () => void;
11630
- rehydrate: () => Promise<void> | void;
11631
- hasHydrated: () => boolean;
11632
- onHydrate: (fn: (state: DomainFiltersStore) => void) => () => void;
11633
- onFinishHydration: (fn: (state: DomainFiltersStore) => void) => () => void;
11634
- getOptions: () => Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>;
11635
- };
11636
- }>;
11637
- declare function filterByDomainFilters(items: ResourceDefinition[], filters: Record<string, DomainFilterState>): ResourceDefinition[];
11638
-
11639
- /**
11640
- * Converts the global time range setting into startDate/endDate strings
11641
- * for use in data guide suggested params.
11642
- */
11643
- declare function useTimeRangeDates(timeRange: TimeRange): {
11644
- startDate: string;
11645
- endDate: string;
11646
- };
11647
-
11648
- interface ActivityFilters {
11649
- activityType?: ActivityType | 'all';
11650
- status?: ActivityStatus | 'all';
11651
- search?: string;
11457
+ interface SessionExecutionsResponse {
11458
+ sessionId: string;
11459
+ executions: SessionExecution[];
11652
11460
  }
11653
- declare function useActivityFilters(timeRange: TimeRange): {
11654
- filters: ActivityFilters;
11655
- updateFilter: <K extends keyof ActivityFilters>(key: K, value: ActivityFilters[K]) => void;
11656
- resetFilters: () => void;
11657
- getApiParams: () => {
11658
- activityType?: ActivityType;
11659
- startDate?: string;
11660
- status?: string;
11661
- search?: string;
11662
- };
11663
- };
11664
-
11665
- interface ExecutionLogsFilters {
11666
- resourceId: string | undefined;
11667
- status: 'all' | ExecutionStatus$1;
11668
- resourceStatus: 'all' | 'dev' | 'prod';
11461
+ interface GetMessagesResponse {
11462
+ sessionId: string;
11463
+ messages: Array<{
11464
+ id: string;
11465
+ role: 'user' | 'assistant';
11466
+ messageType: MessageType;
11467
+ text: string;
11468
+ metadata?: MessageEvent;
11469
+ turnNumber: number;
11470
+ messageIndex?: number;
11471
+ createdAt: string;
11472
+ }>;
11473
+ }
11474
+ interface WebSocketState {
11475
+ isConnected: boolean;
11476
+ isProcessing: boolean;
11477
+ error: string | null;
11669
11478
  }
11479
+
11670
11480
  /**
11671
- * Pure client-side state hook for execution log filtering.
11672
- * No data fetching -- manages filter state with reset capability.
11673
- *
11674
- * @param _timeRange - Time range context (reserved for future use)
11675
- * @returns filters state, updateFilter setter, and resetFilters utility
11676
- *
11677
- * @example
11678
- * ```tsx
11679
- * const { filters, updateFilter, resetFilters } = useExecutionLogsFilters(timeRange)
11680
- *
11681
- * updateFilter('status', 'failed')
11682
- * updateFilter('resourceId', 'wf-123')
11683
- * resetFilters()
11684
- * ```
11481
+ * Hook to fetch sessions list with optional filtering.
11685
11482
  */
11686
- declare function useExecutionLogsFilters(_timeRange: TimeRange): {
11687
- filters: ExecutionLogsFilters;
11688
- updateFilter: <K extends keyof ExecutionLogsFilters>(key: K, value: ExecutionLogsFilters[K]) => void;
11689
- resetFilters: () => void;
11690
- };
11483
+ declare function useSessions(params?: {
11484
+ resourceId?: string;
11485
+ }, options?: {
11486
+ enabled?: boolean;
11487
+ }): _tanstack_react_query.UseQueryResult<SessionListItem[], Error>;
11488
+ /**
11489
+ * Hook to fetch a single session by ID.
11490
+ */
11491
+ declare function useSession(sessionId: string): _tanstack_react_query.UseQueryResult<SessionDTO, Error>;
11492
+ /**
11493
+ * Hook to create a new session.
11494
+ */
11495
+ declare function useCreateSession(): _tanstack_react_query.UseMutationResult<CreateSessionResponse, Error, string, unknown>;
11496
+ /**
11497
+ * Hook to delete a session.
11498
+ */
11499
+ declare function useDeleteSession(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11500
+ /**
11501
+ * Hook to archive a session.
11502
+ */
11503
+ declare function useArchiveSession(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11691
11504
 
11692
11505
  /**
11693
- * Fetch organization members with membership details.
11694
- *
11695
- * Note: `organizationId` is passed as a parameter (not read from context)
11696
- * so consumers can query for a specific organization independently.
11697
- *
11698
- * @param organizationId - The organization to fetch members for
11699
- * @param params - Optional additional filters (reserved for future use)
11700
- * @returns TanStack Query result with MembershipWithDetails array
11506
+ * Hook to fetch all executions for a session, grouped by turn.
11507
+ * Each turn creates one execution.
11508
+ */
11509
+ declare function useSessionExecutions(sessionId: string): _tanstack_react_query.UseQueryResult<SessionExecutionsResponse, Error>;
11510
+ /**
11511
+ * Hook to fetch a single execution detail for a session turn.
11512
+ * Auto-refetches every 2 seconds while the execution is still running.
11513
+ */
11514
+ declare function useSessionExecution(sessionId: string, executionId: string): _tanstack_react_query.UseQueryResult<APIExecutionDetail$1, Error>;
11515
+
11516
+ /**
11517
+ * Hook to fetch message history for a session.
11518
+ * Transforms ISO date strings to Date objects on the returned messages.
11519
+ */
11520
+ declare function useSessionMessages(sessionId: string): _tanstack_react_query.UseQueryResult<ChatMessage[], Error>;
11521
+
11522
+ /**
11523
+ * WebSocket hook for real-time agent chat sessions.
11524
+ * Connects to backend WebSocket endpoint with authentication.
11525
+ * Auto-reconnects with exponential backoff.
11701
11526
  *
11702
- * @example
11703
- * ```tsx
11704
- * const { data: members, isLoading } = useOrganizationMembers(organizationId)
11705
- * ```
11527
+ * @param sessionId - The session to connect to.
11528
+ * @param apiUrl - Base URL of the API server (e.g. "https://api.example.com").
11529
+ * Callers typically obtain this from their service configuration.
11706
11530
  */
11707
- declare function useOrganizationMembers(organizationId: string, params?: Omit<ListMembershipsParams, 'organizationId'>): _tanstack_react_query.UseQueryResult<MembershipWithDetails[], Error>;
11531
+ declare function useSessionWebSocket(sessionId: string, apiUrl: string): {
11532
+ messages: ChatMessage[];
11533
+ state: WebSocketState;
11534
+ sendMessage: (text: string, pageContext?: Record<string, unknown>) => void;
11535
+ clearError: () => void;
11536
+ lastTokenUsage: SessionTokenUsage | null;
11537
+ };
11708
11538
 
11709
- interface CreateApiKeyRequest {
11710
- name: string;
11711
- }
11712
- interface CreateApiKeyResponse {
11539
+ declare function useCommandQueue({ status, limit, offset, humanCheckpoint, timeRange, priorityMin, priorityMax, }?: {
11540
+ status?: TaskStatus$1;
11541
+ limit?: number;
11542
+ offset?: number;
11543
+ humanCheckpoint?: string;
11544
+ timeRange?: TimeRange;
11545
+ priorityMin?: number;
11546
+ priorityMax?: number;
11547
+ }): _tanstack_react_query.UseQueryResult<{
11548
+ createdAt: Date;
11549
+ completedAt: Date | undefined;
11550
+ expiresAt: Date | undefined;
11713
11551
  id: string;
11714
- key: string;
11715
- message: string;
11552
+ organizationId: string;
11553
+ actions: ActionConfig[];
11554
+ context: unknown;
11555
+ selectedAction?: string;
11556
+ actionPayload?: unknown;
11557
+ description?: string;
11558
+ priority: number;
11559
+ humanCheckpoint?: string;
11560
+ status: TaskStatus$1;
11561
+ targetResourceId?: string;
11562
+ targetResourceType?: "agent" | "workflow";
11563
+ targetExecutionId?: string;
11564
+ completedBy?: string;
11565
+ idempotencyKey?: string | null;
11566
+ originExecutionId: string;
11567
+ originResourceType: OriginResourceType;
11568
+ originResourceId: string;
11569
+ }[], Error>;
11570
+
11571
+ interface SubmitActionRequest {
11572
+ taskId: string;
11573
+ actionId: string;
11574
+ payload?: unknown;
11575
+ notes?: string;
11716
11576
  }
11717
- interface ListApiKeysResponse {
11718
- keys: ApiKeyListItem[];
11577
+ interface OptimisticContext {
11578
+ previousData: Map<readonly unknown[], Task[] | undefined>;
11719
11579
  }
11720
- type ApiRequest$3 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
11721
- declare class ApiKeyService {
11722
- private apiRequest;
11723
- constructor(apiRequest: ApiRequest$3);
11724
- /**
11725
- * List API keys for the current organization
11726
- */
11727
- listApiKeys(): Promise<ApiKeyListItem[]>;
11728
- /**
11729
- * Create a new API key
11730
- */
11731
- createApiKey(data: CreateApiKeyRequest): Promise<CreateApiKeyResponse>;
11732
- /**
11733
- * Update an API key's name
11734
- */
11735
- updateApiKey(keyId: string, data: {
11736
- name: string;
11737
- }): Promise<void>;
11738
- /**
11739
- * Delete an API key
11740
- */
11741
- deleteApiKey(keyId: string): Promise<void>;
11580
+ interface ExecutionErrorDetails {
11581
+ message: string;
11582
+ type: string;
11583
+ severity: 'critical' | 'warning' | 'info';
11584
+ category: 'llm' | 'tool' | 'workflow' | 'agent' | 'validation' | 'system';
11585
+ details?: string;
11742
11586
  }
11587
+ interface SubmitActionResponse {
11588
+ task: unknown;
11589
+ execution?: {
11590
+ executionId: string;
11591
+ success: boolean;
11592
+ data?: unknown;
11593
+ error?: ExecutionErrorDetails;
11594
+ };
11595
+ }
11596
+ declare function useSubmitAction(): _tanstack_react_query.UseMutationResult<SubmitActionResponse, Error, SubmitActionRequest, OptimisticContext>;
11743
11597
 
11744
- declare function useListApiKeys(): _tanstack_react_query.UseQueryResult<ApiKeyListItem[], Error>;
11745
-
11746
- declare function useCreateApiKey(): _tanstack_react_query.UseMutationResult<CreateApiKeyResponse, Error, CreateApiKeyRequest, unknown>;
11598
+ declare function useDeleteTask$1(): _tanstack_react_query.UseMutationResult<void, Error, string, {
11599
+ previousData: Map<readonly unknown[], Task[] | undefined>;
11600
+ }>;
11747
11601
 
11748
- declare function useDeleteApiKey(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11602
+ interface UseCommandQueueTotalsOptions {
11603
+ timeRange?: TimeRange;
11604
+ priorityMin?: number;
11605
+ priorityMax?: number;
11606
+ /** When set, priorityCounts are scoped to this status only */
11607
+ status?: 'pending' | 'completed' | 'expired';
11608
+ }
11609
+ /**
11610
+ * Fetches command queue totals and checkpoint groupings
11611
+ *
11612
+ * Returns distinct human checkpoints with task counts and status breakdown.
11613
+ * Used for sidebar grouping and donut charts (true totals, not paginated).
11614
+ */
11615
+ declare function useCommandQueueTotals({ timeRange, priorityMin, priorityMax, status }?: UseCommandQueueTotalsOptions): _tanstack_react_query.UseQueryResult<CheckpointListResponse, Error>;
11749
11616
 
11750
- declare function useUpdateApiKey(): _tanstack_react_query.UseMutationResult<void, Error, {
11751
- keyId: string;
11752
- name: string;
11617
+ declare function usePatchTask(): _tanstack_react_query.UseMutationResult<Task, Error, {
11618
+ taskId: string;
11619
+ params: PatchTaskParams;
11753
11620
  }, unknown>;
11754
11621
 
11755
11622
  /**
11756
- * GET /api/credentials - List credentials
11623
+ * Query key factories for Operations TanStack Query hooks.
11624
+ *
11625
+ * Execution-related keys (executions, resources, definitions) use executionsKeys from @repo/ui.
11626
+ * Non-execution keys (workflows, agents, sessions) stay local in operationsKeys.
11757
11627
  */
11758
- declare const ListCredentialsResponseSchema = z.object({
11759
- credentials: z.array(
11760
- z.object({
11761
- id: UuidSchema,
11762
- name: z.string(),
11763
- type: z.string(),
11764
- provider: z.string().nullable(), // OAuth provider or null for non-OAuth
11765
- createdAt: z.string().datetime()
11766
- })
11767
- )
11768
- })
11769
11628
 
11770
- /** API response type for a single credential list item */
11771
- type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number]
11629
+ declare const operationsKeys: {
11630
+ all: readonly ["operations"];
11631
+ workflows: (org?: string) => readonly ["operations", "workflows", string | undefined];
11632
+ workflowDetails: (org?: string) => readonly ["operations", "workflows", string | undefined, "details"];
11633
+ workflow: (id: string, org?: string) => readonly ["operations", "workflows", string | undefined, string];
11634
+ agents: (org?: string) => readonly ["operations", "agents", string | undefined];
11635
+ agentDetails: (org?: string) => readonly ["operations", "agents", string | undefined, "details"];
11636
+ agent: (id: string, org?: string) => readonly ["operations", "agents", string | undefined, string];
11637
+ sessions: (org: string, params?: {
11638
+ resourceId?: string;
11639
+ }) => readonly ["operations", "sessions", string, {
11640
+ resourceId?: string;
11641
+ } | undefined];
11642
+ session: (org: string, sessionId: string) => readonly ["operations", "session", string, string];
11643
+ };
11772
11644
 
11773
- interface CreateCredentialRequest {
11774
- name: string;
11775
- type: string;
11776
- value: Record<string, unknown>;
11777
- }
11778
- interface CreateCredentialResponse {
11779
- id: string;
11780
- name: string;
11781
- type: string;
11782
- }
11783
- interface ListCredentialsResponse {
11784
- credentials: CredentialListItem[];
11785
- }
11786
- type ApiRequest$2 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
11787
- declare class CredentialService {
11788
- private apiRequest;
11789
- constructor(apiRequest: ApiRequest$2);
11790
- /**
11791
- * List credentials for the current organization
11792
- * Organization context is provided via workos-organization-id header
11793
- */
11794
- listCredentials(): Promise<CredentialListItem[]>;
11795
- /**
11796
- * Create a new credential
11797
- * Organization context is provided via workos-organization-id header
11798
- */
11799
- createCredential(data: CreateCredentialRequest): Promise<CreateCredentialResponse>;
11800
- /**
11801
- * Update a credential value or metadata
11802
- * Organization context is provided via workos-organization-id header
11803
- */
11804
- updateCredential(credentialId: string, updates: {
11805
- value?: Record<string, unknown>;
11806
- name?: string;
11807
- }): Promise<void>;
11645
+ declare function useExecutionLogSSE(resourceId: string, manager: SSEConnectionManagerLike, apiUrl: string): {
11646
+ liveExecutions: Set<string>;
11647
+ connected: boolean;
11648
+ error: string | null;
11649
+ runningCount: number;
11650
+ isLive: (executionId: string) => boolean;
11651
+ streamingLogs: Map<string, ExecutionLogMessage$1[]>;
11652
+ };
11653
+
11654
+ interface UseExecutionPanelStateOptions {
11655
+ resourceId: string;
11656
+ manager: SSEConnectionManagerLike;
11808
11657
  /**
11809
- * Delete a credential
11810
- * Organization context is provided via workos-organization-id header
11658
+ * Base URL of the API server (e.g. 'https://api.elevasis.io' or 'http://localhost:5170').
11659
+ * Provided by the consuming app -- the library does not read environment variables directly.
11811
11660
  */
11812
- deleteCredential(credentialId: string): Promise<void>;
11661
+ apiUrl: string;
11662
+ limit?: number;
11663
+ onConnectionStatus?: (connected: boolean, runningCount: number) => void;
11664
+ selectedId?: string | null;
11665
+ onSelectedIdChange?: (id: string | null) => void;
11813
11666
  }
11667
+ interface UseExecutionPanelStateReturn {
11668
+ executions: APIExecutionSummary$1[];
11669
+ isLoading: boolean;
11670
+ isFetched: boolean;
11671
+ selectedId: string | undefined;
11672
+ setSelectedId: (id: string | undefined) => void;
11673
+ resourceStatusFilter: ResourceStatus$1 | 'all';
11674
+ setResourceStatusFilter: (filter: ResourceStatus$1 | 'all') => void;
11675
+ liveExecutions: Set<string>;
11676
+ connected: boolean;
11677
+ runningCount: number;
11678
+ streamingLogs: Map<string, ExecutionLogMessage$1[]>;
11679
+ }
11680
+ /**
11681
+ * Shared execution panel state management hook
11682
+ * Handles execution list fetching, selection, auto-selection logic, and SSE integration
11683
+ *
11684
+ * @param options - Hook configuration options
11685
+ * @returns Execution panel state and controls
11686
+ *
11687
+ * @example
11688
+ * ```tsx
11689
+ * const {
11690
+ * executions,
11691
+ * selectedId,
11692
+ * setSelectedId,
11693
+ * liveExecutions,
11694
+ * connected
11695
+ * } = useExecutionPanelState({ resourceId, manager, onConnectionStatus })
11696
+ * ```
11697
+ */
11698
+ declare function useExecutionPanelState({ resourceId, manager, apiUrl, limit, onConnectionStatus, selectedId: controlledSelectedId, onSelectedIdChange }: UseExecutionPanelStateOptions): UseExecutionPanelStateReturn;
11814
11699
 
11815
- declare function useCredentials(): _tanstack_react_query.UseQueryResult<{
11816
- id: string;
11817
- name: string;
11818
- type: string;
11819
- provider: string | null;
11820
- createdAt: string;
11821
- }[], Error>;
11822
-
11823
- declare function useCreateCredential(): _tanstack_react_query.UseMutationResult<CreateCredentialResponse, Error, CreateCredentialRequest, unknown>;
11700
+ /**
11701
+ * Utilities for extracting typed properties from resource definitions
11702
+ */
11824
11703
 
11825
- declare function useDeleteCredential(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11704
+ /**
11705
+ * Extract sessionCapable from agent definition config
11706
+ * Returns true only for agents with explicit sessionCapable: true
11707
+ */
11708
+ declare function isSessionCapable(type: ResourceType$1, resourceDefinition: AIResourceDefinition | undefined): boolean;
11826
11709
 
11827
- interface UpdateCredentialParams {
11828
- credentialId: string;
11829
- updates: {
11830
- value?: Record<string, unknown>;
11831
- name?: string;
11710
+ interface DocFile {
11711
+ path: string;
11712
+ frontmatter: {
11713
+ title: string;
11714
+ order?: number;
11715
+ [key: string]: unknown;
11832
11716
  };
11717
+ compiledSource: string;
11833
11718
  }
11834
- declare function useUpdateCredential(): _tanstack_react_query.UseMutationResult<void, Error, UpdateCredentialParams, unknown>;
11835
-
11836
- type ApiRequest$1 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
11837
- declare class DeploymentService {
11838
- private apiRequest;
11839
- constructor(apiRequest: ApiRequest$1);
11840
- listDeployments(): Promise<Deployment[]>;
11841
- getDeployment(id: string): Promise<Deployment>;
11842
- activateDeployment(id: string): Promise<Deployment>;
11843
- deactivateDeployment(id: string): Promise<Deployment>;
11844
- deleteDeployment(id: string): Promise<void>;
11845
- }
11846
-
11847
- declare function useListDeployments(): _tanstack_react_query.UseQueryResult<Deployment[], Error>;
11719
+ /**
11720
+ * Fetches deployment documentation for the current organization.
11721
+ *
11722
+ * 1. Fetches all deployments via GET /api/deployments
11723
+ * 2. Auto-selects the latest active deployment (most recent by createdAt)
11724
+ * 3. Fetches docs for the selected deployment via GET /api/deployments/:id/docs
11725
+ *
11726
+ * @returns { files, isLoading, error, activeDeployment, activeDeployments }
11727
+ */
11728
+ declare function useDeploymentDocs(selectedDeploymentId?: string): {
11729
+ files: DocFile[];
11730
+ isLoading: boolean;
11731
+ error: Error | null;
11732
+ activeDeployment: Deployment;
11733
+ activeDeployments: Deployment[];
11734
+ };
11848
11735
 
11849
- declare function useActivateDeployment(): _tanstack_react_query.UseMutationResult<Deployment, Error, string, unknown>;
11850
- declare function useDeactivateDeployment(): _tanstack_react_query.UseMutationResult<Deployment, Error, string, unknown>;
11851
- declare function useDeleteDeployment(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11736
+ /**
11737
+ * Fetches Command View data for the current organization
11738
+ *
11739
+ * Uses pre-serialized data from the backend for instant responses.
11740
+ * Data includes workflows, agents, triggers, integrations, and relationship edges.
11741
+ *
11742
+ * @returns TanStack Query result with CommandViewData
11743
+ */
11744
+ declare function useCommandViewData(): _tanstack_react_query.UseQueryResult<CommandViewData, Error>;
11852
11745
 
11853
- type ApiRequest = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
11854
- declare class OrganizationMembershipService {
11855
- private apiRequest;
11856
- constructor(apiRequest: ApiRequest);
11857
- /**
11858
- * Get user's organization memberships
11859
- */
11860
- getUserMemberships(userId: string): Promise<MembershipWithDetails[]>;
11861
- /**
11862
- * Get organization members
11863
- */
11864
- getOrganizationMembers(organizationId: string): Promise<MembershipWithDetails[]>;
11865
- /**
11866
- * List memberships with filtering
11867
- */
11868
- listMemberships(params?: ListMembershipsParams): Promise<ListMembershipsResponse>;
11869
- /**
11870
- * Get a single membership by ID
11871
- */
11872
- getMembership(membershipId: string): Promise<MembershipWithDetails>;
11873
- /**
11874
- * Create a new organization membership
11875
- */
11876
- createMembership(data: CreateMembershipRequest): Promise<MembershipWithDetails>;
11877
- /**
11878
- * Update an existing membership
11879
- */
11880
- updateMembership(membershipId: string, data: UpdateMembershipRequest): Promise<MembershipWithDetails>;
11881
- /**
11882
- * Delete a membership
11883
- */
11884
- deleteMembership(membershipId: string): Promise<void>;
11885
- /**
11886
- * Deactivate a membership (soft delete)
11887
- */
11888
- deactivateMembership(membershipId: string): Promise<MembershipWithDetails>;
11889
- /**
11890
- * Reactivate a membership
11891
- */
11892
- reactivateMembership(membershipId: string): Promise<MembershipWithDetails>;
11746
+ interface UseCommandViewStatsOptions {
11747
+ enabled?: boolean;
11893
11748
  }
11749
+ /**
11750
+ * Fetches Command View stats for the current organization
11751
+ *
11752
+ * Returns execution statistics (counts only, no error details) for all resources
11753
+ * within the specified time range. Error details are fetched on-demand via useResourceErrors.
11754
+ *
11755
+ * @param timeRange - Time range for stats aggregation ('24h' or '7d')
11756
+ * @returns TanStack Query result with CommandViewStatsResponse
11757
+ */
11758
+ declare function useCommandViewStats(timeRange?: StatsTimeRange, options?: UseCommandViewStatsOptions): _tanstack_react_query.UseQueryResult<CommandViewStatsResponse, Error>;
11894
11759
 
11895
- declare function useUserMemberships(userId: string, params?: Omit<ListMembershipsParams, 'userId'>): _tanstack_react_query.UseQueryResult<MembershipWithDetails[], Error>;
11896
-
11897
- interface UpdateMemberConfigParams {
11898
- membershipId: string;
11899
- config: MembershipFeatureConfig;
11900
- }
11901
- declare function useUpdateMemberConfig(): _tanstack_react_query.UseMutationResult<unknown, Error, UpdateMemberConfigParams, unknown>;
11760
+ /**
11761
+ * Command View Types
11762
+ *
11763
+ * Frontend graph types for React Flow rendering.
11764
+ *
11765
+ * Backend API returns CommandViewData with separate arrays (workflows[], agents[], etc.)
11766
+ * Frontend transforms this to CommandViewGraph with unified nodes[] array.
11767
+ *
11768
+ * @see transformCommandViewData for the mapping logic
11769
+ * @see CommandViewData from @repo/core for backend type
11770
+ */
11902
11771
 
11903
- interface DeactivateMembershipMutationData {
11904
- membershipId: string;
11905
- userId?: string;
11906
- organizationId?: string;
11907
- }
11908
- declare function useDeactivateMembership(): _tanstack_react_query.UseMutationResult<MembershipWithDetails, Error, DeactivateMembershipMutationData, {
11909
- previousData: unknown;
11910
- }>;
11911
-
11912
- interface ReactivateMembershipMutationData {
11913
- membershipId: string;
11914
- userId?: string;
11915
- organizationId?: string;
11916
- }
11917
- declare function useReactivateMembership(): _tanstack_react_query.UseMutationResult<MembershipWithDetails, Error, ReactivateMembershipMutationData, {
11918
- previousData: unknown;
11919
- }>;
11920
-
11921
- declare function useListWebhookEndpoints(): _tanstack_react_query.UseQueryResult<{
11772
+ /**
11773
+ * Base resource node - common fields for all resources
11774
+ */
11775
+ interface BaseResourceNode {
11922
11776
  id: string;
11923
- organizationId: string;
11924
- key: string;
11925
11777
  name: string;
11926
- description: string | null;
11927
- resourceId: string | null;
11928
- status: "active" | "paused";
11929
- lastTriggeredAt: string | null;
11930
- requestCount: number;
11931
- createdAt: string;
11932
- updatedAt: string;
11933
- }[], Error>;
11934
-
11935
- declare function useCreateWebhookEndpoint(): _tanstack_react_query.UseMutationResult<{
11778
+ description: string;
11779
+ status: ResourceStatus$1;
11780
+ stats?: {
11781
+ totalRuns: number;
11782
+ successCount: number;
11783
+ failureCount: number;
11784
+ warningCount: number;
11785
+ lastRunAt: string | null;
11786
+ } | null;
11787
+ }
11788
+ /**
11789
+ * Agent node - autonomous AI agents
11790
+ */
11791
+ interface AgentNode extends BaseResourceNode {
11792
+ type: 'agent';
11793
+ modelProvider: string;
11794
+ modelId: string;
11795
+ toolCount: number;
11796
+ hasKnowledgeMap: boolean;
11797
+ hasMemory: boolean;
11798
+ }
11799
+ /**
11800
+ * Workflow node - multi-step orchestrations
11801
+ */
11802
+ interface WorkflowNode extends BaseResourceNode {
11803
+ type: 'workflow';
11804
+ stepCount: number;
11805
+ entryPoint: string;
11806
+ }
11807
+ /**
11808
+ * Integration node - external service connections
11809
+ */
11810
+ interface IntegrationNode extends BaseResourceNode {
11811
+ type: 'integration';
11812
+ provider: string;
11813
+ connectionStatus: 'connected' | 'disconnected' | 'error';
11814
+ credentialName?: string;
11815
+ }
11816
+ /**
11817
+ * Trigger node - what initiates executions
11818
+ */
11819
+ interface TriggerNode extends BaseResourceNode {
11820
+ type: 'trigger';
11821
+ triggerType: 'webhook' | 'schedule' | 'manual' | 'event';
11822
+ schedule?: string;
11823
+ webhookPath?: string;
11824
+ }
11825
+ /**
11826
+ * External resource node - third-party automation platforms
11827
+ */
11828
+ interface ExternalResourceNode extends BaseResourceNode {
11829
+ type: 'external';
11830
+ platform: 'n8n' | 'make' | 'zapier' | 'other';
11831
+ platformUrl?: string;
11832
+ externalId?: string;
11833
+ }
11834
+ /**
11835
+ * Human node - approval points requiring human decisions
11836
+ */
11837
+ interface HumanNode extends Omit<BaseResourceNode, 'stats'> {
11838
+ type: 'human';
11839
+ stats?: {
11840
+ pendingCount: number;
11841
+ completedCount: number;
11842
+ expiredCount: number;
11843
+ lastDecisionAt: string | null;
11844
+ } | null;
11845
+ }
11846
+ /**
11847
+ * Union type for all node types
11848
+ */
11849
+ type CommandViewNode = AgentNode | WorkflowNode | IntegrationNode | TriggerNode | ExternalResourceNode | HumanNode;
11850
+ /**
11851
+ * Relationship types between resources
11852
+ */
11853
+ type RelationshipType = 'triggers' | 'uses' | 'approval';
11854
+ /**
11855
+ * Edge representing a relationship
11856
+ */
11857
+ interface CommandViewEdge {
11936
11858
  id: string;
11937
- organizationId: string;
11938
- key: string;
11939
- name: string;
11940
- description: string | null;
11941
- resourceId: string | null;
11942
- status: "active" | "paused";
11943
- lastTriggeredAt: string | null;
11944
- requestCount: number;
11945
- createdAt: string;
11946
- updatedAt: string;
11947
- }, Error, {
11948
- name: string;
11949
- resourceId?: string | undefined;
11950
- description?: string | undefined;
11951
- }, unknown>;
11859
+ source: string;
11860
+ target: string;
11861
+ relationship: RelationshipType;
11862
+ label?: string;
11863
+ }
11864
+ /**
11865
+ * Complete graph data for visualization
11866
+ */
11867
+ interface CommandViewGraph {
11868
+ nodes: CommandViewNode[];
11869
+ edges: CommandViewEdge[];
11870
+ }
11952
11871
 
11953
- declare function useDeleteWebhookEndpoint(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
11872
+ type StatusFilter$1 = ResourceStatus$1 | 'all';
11954
11873
 
11874
+ interface CommandViewStore {
11875
+ statusFilter: StatusFilter$1;
11876
+ setStatusFilter: (v: StatusFilter$1) => void;
11877
+ showIntegrations: boolean;
11878
+ setShowIntegrations: (v: boolean) => void;
11879
+ fitViewOnFilter: boolean;
11880
+ setFitViewOnFilter: (v: boolean) => void;
11881
+ selectedNodeId: string | null;
11882
+ setSelectedNodeId: (id: string | null) => void;
11883
+ }
11955
11884
  /**
11956
- * POST /api/webhook-endpoints - Create a new webhook endpoint
11885
+ * Shared store for Command View filter/settings state.
11886
+ * Allows CommandViewPage (graph) and CommandViewSidebarContent (sidebar) to share state.
11957
11887
  *
11958
- * The `key` and `id` are generated server-side and not accepted in the request.
11888
+ * Persisted to localStorage: showIntegrations, fitViewOnFilter
11889
+ * Not persisted (reset on reload): statusFilter, selectedNodeId
11959
11890
  */
11960
- declare const CreateWebhookEndpointRequestSchema = z
11961
- .object({
11962
- /** User-facing label for the endpoint */
11963
- name: NonEmptyStringSchema,
11964
- /** Target workflow resourceId to invoke on inbound requests (can be set later) */
11965
- resourceId: NonEmptyStringSchema.optional(),
11966
- /** Optional description */
11967
- description: z.string().optional()
11968
- })
11969
- .strict()
11970
-
11971
- type CreateWebhookEndpointRequest = z.infer<typeof CreateWebhookEndpointRequestSchema>
11891
+ declare const useCommandViewStore: zustand.UseBoundStore<Omit<zustand.StoreApi<CommandViewStore>, "setState" | "persist"> & {
11892
+ setState(partial: CommandViewStore | Partial<CommandViewStore> | ((state: CommandViewStore) => CommandViewStore | Partial<CommandViewStore>), replace?: false | undefined): unknown;
11893
+ setState(state: CommandViewStore | ((state: CommandViewStore) => CommandViewStore), replace: true): unknown;
11894
+ persist: {
11895
+ setOptions: (options: Partial<zustand_middleware.PersistOptions<CommandViewStore, {
11896
+ showIntegrations: boolean;
11897
+ fitViewOnFilter: boolean;
11898
+ }, unknown>>) => void;
11899
+ clearStorage: () => void;
11900
+ rehydrate: () => Promise<void> | void;
11901
+ hasHydrated: () => boolean;
11902
+ onHydrate: (fn: (state: CommandViewStore) => void) => () => void;
11903
+ onFinishHydration: (fn: (state: CommandViewStore) => void) => () => void;
11904
+ getOptions: () => Partial<zustand_middleware.PersistOptions<CommandViewStore, {
11905
+ showIntegrations: boolean;
11906
+ fitViewOnFilter: boolean;
11907
+ }, unknown>>;
11908
+ };
11909
+ }>;
11972
11910
 
11973
11911
  /**
11974
- * PATCH /api/webhook-endpoints/:id - Update an existing webhook endpoint
11912
+ * useCommandViewLayout - Hook to convert CommandViewGraph to ReactFlow nodes/edges
11975
11913
  *
11976
- * At least one field must be provided.
11914
+ * Uses Dagre for automatic graph layout:
11915
+ * - Left-to-right flow (LR)
11916
+ * - Minimizes edge crossings
11917
+ * - Keeps connected nodes closer together
11918
+ *
11919
+ * Post-processes Dagre output to sort workflow chains by their minimum name prefix
11920
+ * (e.g., INB-01 chain above INB-02 chain, above INB-04 chain). Uses Union-Find
11921
+ * to identify connected components based on 'triggers' and 'approval' edges
11922
+ * (not 'uses' edges, which would connect everything through shared integrations).
11977
11923
  */
11978
- declare const UpdateWebhookEndpointRequestSchema = z
11979
- .object({
11980
- name: NonEmptyStringSchema.optional(),
11981
- description: z.string().optional(),
11982
- resourceId: NonEmptyStringSchema.optional(),
11983
- status: WebhookEndpointStatusSchema.optional()
11984
- })
11985
- .strict()
11986
- .refine(
11987
- (data) =>
11988
- data.name !== undefined ||
11989
- data.description !== undefined ||
11990
- data.resourceId !== undefined ||
11991
- data.status !== undefined,
11992
- { message: 'At least one field (name, description, resourceId, or status) must be provided' }
11993
- )
11994
-
11995
- type UpdateWebhookEndpointRequest = z.infer<typeof UpdateWebhookEndpointRequestSchema>
11996
11924
 
11997
11925
  /**
11998
- * Response shape for a single webhook endpoint.
11999
- * NOT strict — response schemas allow extra fields for forward compatibility.
11926
+ * Convert CommandViewGraph to ReactFlow nodes and edges with Dagre layout
12000
11927
  */
12001
- declare const WebhookEndpointResponseSchema = z.object({
12002
- id: UuidSchema,
12003
- organizationId: UuidSchema,
12004
- key: z.string(),
12005
- name: z.string(),
12006
- description: z.string().nullable(),
12007
- resourceId: z.string().nullable(),
12008
- status: WebhookEndpointStatusSchema,
12009
- lastTriggeredAt: z.string().datetime().nullable(),
12010
- requestCount: z.number().int().min(0),
12011
- createdAt: z.string().datetime(),
12012
- updatedAt: z.string().datetime()
12013
- })
12014
-
12015
- type WebhookEndpointResponse = z.infer<typeof WebhookEndpointResponseSchema>
11928
+ declare function useCommandViewLayout(graph: CommandViewGraph): {
11929
+ nodes: {
11930
+ id: string;
11931
+ type: string;
11932
+ position: {
11933
+ x: number;
11934
+ y: number;
11935
+ };
11936
+ data: Record<string, unknown>;
11937
+ }[];
11938
+ edges: Edge[];
11939
+ };
11940
+ /**
11941
+ * Get graph statistics
11942
+ */
11943
+ declare function useGraphStats(graph: CommandViewGraph): {
11944
+ agents: number;
11945
+ workflows: number;
11946
+ integrations: number;
11947
+ triggers: number;
11948
+ prodResources: number;
11949
+ devResources: number;
11950
+ connectedIntegrations: number;
11951
+ errorIntegrations: number;
11952
+ };
12016
11953
 
12017
- declare function useUpdateWebhookEndpoint(): _tanstack_react_query.UseMutationResult<{
12018
- id: string;
12019
- organizationId: string;
12020
- key: string;
12021
- name: string;
12022
- description: string | null;
12023
- resourceId: string | null;
12024
- status: "active" | "paused";
12025
- lastTriggeredAt: string | null;
12026
- requestCount: number;
12027
- createdAt: string;
12028
- updatedAt: string;
12029
- }, Error, {
12030
- endpointId: string;
12031
- data: UpdateWebhookEndpointRequest;
12032
- }, unknown>;
12033
-
12034
- interface ListWebhookEndpointsResponse {
12035
- data: WebhookEndpointResponse[];
12036
- count: number;
11954
+ interface UseCheckpointTasksOptions {
11955
+ checkpointId: string | null;
11956
+ enabled?: boolean;
12037
11957
  }
12038
- declare class WebhookEndpointService {
12039
- private apiRequest;
12040
- constructor(apiRequest: ReturnType<typeof useElevasisServices>['apiRequest']);
12041
- /**
12042
- * List webhook endpoints for the current organization
12043
- */
12044
- listEndpoints(): Promise<WebhookEndpointResponse[]>;
12045
- /**
12046
- * Create a new webhook endpoint
12047
- */
12048
- createEndpoint(data: CreateWebhookEndpointRequest): Promise<WebhookEndpointResponse>;
12049
- /**
12050
- * Update an existing webhook endpoint (e.g., toggle status, rename)
12051
- */
12052
- updateEndpoint(endpointId: string, data: UpdateWebhookEndpointRequest): Promise<WebhookEndpointResponse>;
12053
- /**
12054
- * Delete a webhook endpoint
12055
- */
12056
- deleteEndpoint(endpointId: string): Promise<void>;
11958
+ interface CheckpointTasksResponse {
11959
+ tasks: Task[];
12057
11960
  }
12058
-
12059
11961
  /**
12060
- * Query key factories for Operations TanStack Query hooks.
11962
+ * Fetches pending tasks for a specific human checkpoint (on-demand)
12061
11963
  *
12062
- * Execution-related keys (executions, resources, definitions) use executionsKeys from @repo/ui.
12063
- * Non-execution keys (workflows, agents, sessions) stay local in operationsKeys.
12064
- */
12065
-
12066
- declare const operationsKeys: {
12067
- all: readonly ["operations"];
12068
- workflows: (org?: string) => readonly ["operations", "workflows", string | undefined];
12069
- workflowDetails: (org?: string) => readonly ["operations", "workflows", string | undefined, "details"];
12070
- workflow: (id: string, org?: string) => readonly ["operations", "workflows", string | undefined, string];
12071
- agents: (org?: string) => readonly ["operations", "agents", string | undefined];
12072
- agentDetails: (org?: string) => readonly ["operations", "agents", string | undefined, "details"];
12073
- agent: (id: string, org?: string) => readonly ["operations", "agents", string | undefined, string];
12074
- sessions: (org: string, params?: {
12075
- resourceId?: string;
12076
- }) => readonly ["operations", "sessions", string, {
12077
- resourceId?: string;
12078
- } | undefined];
12079
- session: (org: string, sessionId: string) => readonly ["operations", "session", string, string];
12080
- };
12081
-
12082
- declare function useExecutionLogSSE(resourceId: string, manager: SSEConnectionManagerLike, apiUrl: string): {
12083
- liveExecutions: Set<string>;
12084
- connected: boolean;
12085
- error: string | null;
12086
- runningCount: number;
12087
- isLive: (executionId: string) => boolean;
12088
- streamingLogs: Map<string, ExecutionLogMessage$1[]>;
12089
- };
12090
-
12091
- interface UseExecutionPanelStateOptions {
12092
- resourceId: string;
12093
- manager: SSEConnectionManagerLike;
12094
- /**
12095
- * Base URL of the API server (e.g. 'https://api.elevasis.io' or 'http://localhost:5170').
12096
- * Provided by the consuming app -- the library does not read environment variables directly.
12097
- */
12098
- apiUrl: string;
12099
- limit?: number;
12100
- onConnectionStatus?: (connected: boolean, runningCount: number) => void;
12101
- selectedId?: string | null;
12102
- onSelectedIdChange?: (id: string | null) => void;
12103
- }
12104
- interface UseExecutionPanelStateReturn {
12105
- executions: APIExecutionSummary$1[];
12106
- isLoading: boolean;
12107
- isFetched: boolean;
12108
- selectedId: string | undefined;
12109
- setSelectedId: (id: string | undefined) => void;
12110
- resourceStatusFilter: ResourceStatus$1 | 'all';
12111
- setResourceStatusFilter: (filter: ResourceStatus$1 | 'all') => void;
12112
- liveExecutions: Set<string>;
12113
- connected: boolean;
12114
- runningCount: number;
12115
- streamingLogs: Map<string, ExecutionLogMessage$1[]>;
12116
- }
12117
- /**
12118
- * Shared execution panel state management hook
12119
- * Handles execution list fetching, selection, auto-selection logic, and SSE integration
11964
+ * Only fetches when:
11965
+ * - Organization is ready
11966
+ * - Checkpoint is selected
11967
+ * - enabled is true (default: true when checkpointId is set)
12120
11968
  *
12121
- * @param options - Hook configuration options
12122
- * @returns Execution panel state and controls
11969
+ * Returns top 10 pending tasks ordered by priority and creation date
12123
11970
  *
12124
- * @example
12125
- * ```tsx
12126
- * const {
12127
- * executions,
12128
- * selectedId,
12129
- * setSelectedId,
12130
- * liveExecutions,
12131
- * connected
12132
- * } = useExecutionPanelState({ resourceId, manager, onConnectionStatus })
12133
- * ```
12134
- */
12135
- declare function useExecutionPanelState({ resourceId, manager, apiUrl, limit, onConnectionStatus, selectedId: controlledSelectedId, onSelectedIdChange }: UseExecutionPanelStateOptions): UseExecutionPanelStateReturn;
12136
-
12137
- /**
12138
- * Utilities for extracting typed properties from resource definitions
12139
- */
12140
-
12141
- /**
12142
- * Extract sessionCapable from agent definition config
12143
- * Returns true only for agents with explicit sessionCapable: true
11971
+ * @param options - Checkpoint ID and enabled flag
11972
+ * @returns TanStack Query result with pending tasks
12144
11973
  */
12145
- declare function isSessionCapable(type: ResourceType$1, resourceDefinition: AIResourceDefinition | undefined): boolean;
11974
+ declare function useCheckpointTasks({ checkpointId, enabled }: UseCheckpointTasksOptions): _tanstack_react_query.UseQueryResult<CheckpointTasksResponse, Error>;
12146
11975
 
12147
- interface DocFile {
12148
- path: string;
12149
- frontmatter: {
12150
- title: string;
12151
- order?: number;
12152
- [key: string]: unknown;
12153
- };
12154
- compiledSource: string;
11976
+ interface UseResourceErrorsOptions {
11977
+ resourceId: string | null;
11978
+ timeRange: StatsTimeRange;
11979
+ hasFailures: boolean;
12155
11980
  }
12156
11981
  /**
12157
- * Fetches deployment documentation for the current organization.
12158
- *
12159
- * 1. Fetches all deployments via GET /api/deployments
12160
- * 2. Auto-selects the latest active deployment (most recent by createdAt)
12161
- * 3. Fetches docs for the selected deployment via GET /api/deployments/:id/docs
11982
+ * Fetches error details for a specific resource (on-demand)
12162
11983
  *
12163
- * @returns { files, isLoading, error, activeDeployment, activeDeployments }
12164
- */
12165
- declare function useDeploymentDocs(selectedDeploymentId?: string): {
12166
- files: DocFile[];
12167
- isLoading: boolean;
12168
- error: Error | null;
12169
- activeDeployment: Deployment;
12170
- activeDeployments: Deployment[];
12171
- };
12172
-
12173
- /**
12174
- * Fetches Command View data for the current organization
11984
+ * Only fetches when:
11985
+ * - Organization is ready
11986
+ * - Resource is selected
11987
+ * - Resource has failures (lazy loading pattern)
12175
11988
  *
12176
- * Uses pre-serialized data from the backend for instant responses.
12177
- * Data includes workflows, agents, triggers, integrations, and relationship edges.
11989
+ * Returns top 10 errors + total count for "showing X of Y" display
12178
11990
  *
12179
- * @returns TanStack Query result with CommandViewData
11991
+ * @param options - Resource ID, time range, and failure flag
11992
+ * @returns TanStack Query result with ResourceErrorsResponse
12180
11993
  */
12181
- declare function useCommandViewData(): _tanstack_react_query.UseQueryResult<CommandViewData, Error>;
11994
+ declare function useResourceErrors({ resourceId, timeRange, hasFailures }: UseResourceErrorsOptions): _tanstack_react_query.UseQueryResult<ResourceErrorsResponse, Error>;
12182
11995
 
12183
- interface UseCommandViewStatsOptions {
11996
+ interface UseResourceExecutionsOptions {
11997
+ resourceId: string | null;
11998
+ timeRange: StatsTimeRange;
12184
11999
  enabled?: boolean;
12185
12000
  }
12186
12001
  /**
12187
- * Fetches Command View stats for the current organization
12188
- *
12189
- * Returns execution statistics (counts only, no error details) for all resources
12190
- * within the specified time range. Error details are fetched on-demand via useResourceErrors.
12191
- *
12192
- * @param timeRange - Time range for stats aggregation ('24h' or '7d')
12193
- * @returns TanStack Query result with CommandViewStatsResponse
12194
- */
12195
- declare function useCommandViewStats(timeRange?: StatsTimeRange, options?: UseCommandViewStatsOptions): _tanstack_react_query.UseQueryResult<CommandViewStatsResponse, Error>;
12196
-
12197
- /**
12198
- * Command View Types
12002
+ * Fetches recent executions for a specific resource (on-demand)
12199
12003
  *
12200
- * Frontend graph types for React Flow rendering.
12004
+ * Only fetches when:
12005
+ * - Organization is ready
12006
+ * - Resource is selected
12007
+ * - enabled is true (default: true when resourceId is set)
12201
12008
  *
12202
- * Backend API returns CommandViewData with separate arrays (workflows[], agents[], etc.)
12203
- * Frontend transforms this to CommandViewGraph with unified nodes[] array.
12009
+ * Returns top 10 executions + total count for "showing X of Y" display
12204
12010
  *
12205
- * @see transformCommandViewData for the mapping logic
12206
- * @see CommandViewData from @repo/core for backend type
12011
+ * @param options - Resource ID, time range, and enabled flag
12012
+ * @returns TanStack Query result with ResourceExecutionsResponse
12207
12013
  */
12014
+ declare function useResourceExecutions({ resourceId, timeRange, enabled }: UseResourceExecutionsOptions): _tanstack_react_query.UseQueryResult<ResourceExecutionsResponse, Error>;
12208
12015
 
12209
12016
  /**
12210
- * Base resource node - common fields for all resources
12211
- */
12212
- interface BaseResourceNode {
12213
- id: string;
12214
- name: string;
12215
- description: string;
12216
- status: ResourceStatus$1;
12217
- stats?: {
12218
- totalRuns: number;
12219
- successCount: number;
12220
- failureCount: number;
12221
- warningCount: number;
12222
- lastRunAt: string | null;
12223
- } | null;
12224
- }
12225
- /**
12226
- * Agent node - autonomous AI agents
12017
+ * Query key factory for calibration hooks.
12018
+ * Ensures consistent, organization-scoped cache isolation.
12227
12019
  */
12228
- interface AgentNode extends BaseResourceNode {
12229
- type: 'agent';
12230
- modelProvider: string;
12231
- modelId: string;
12232
- toolCount: number;
12233
- hasKnowledgeMap: boolean;
12234
- hasMemory: boolean;
12235
- }
12020
+ declare const calibrationKeys: {
12021
+ all: readonly ["calibration"];
12022
+ projects: (org: string) => readonly ["calibration", "projects", string];
12023
+ projectsByResource: (org: string, resourceId: string, resourceType: string) => readonly ["calibration", "projects", string, string, string];
12024
+ project: (org: string, projectId: string) => readonly ["calibration", "project", string, string];
12025
+ runs: (org: string, projectId: string) => readonly ["calibration", "runs", string, string];
12026
+ run: (org: string, runId: string) => readonly ["calibration", "run", string, string];
12027
+ runFull: (org: string, runId: string) => readonly ["calibration", "run-full", string, string];
12028
+ };
12029
+
12236
12030
  /**
12237
- * Workflow node - multi-step orchestrations
12031
+ * Fetch all calibration projects for the organization (unified view)
12238
12032
  */
12239
- interface WorkflowNode extends BaseResourceNode {
12240
- type: 'workflow';
12241
- stepCount: number;
12242
- entryPoint: string;
12243
- }
12033
+ declare function useAllCalibrationProjects(): _tanstack_react_query.UseQueryResult<CalibrationProject[], Error>;
12244
12034
  /**
12245
- * Integration node - external service connections
12246
- */
12247
- interface IntegrationNode extends BaseResourceNode {
12248
- type: 'integration';
12249
- provider: string;
12250
- connectionStatus: 'connected' | 'disconnected' | 'error';
12251
- credentialName?: string;
12252
- }
12253
- /**
12254
- * Trigger node - what initiates executions
12255
- */
12256
- interface TriggerNode extends BaseResourceNode {
12257
- type: 'trigger';
12258
- triggerType: 'webhook' | 'schedule' | 'manual' | 'event';
12259
- schedule?: string;
12260
- webhookPath?: string;
12261
- }
12262
- /**
12263
- * External resource node - third-party automation platforms
12264
- */
12265
- interface ExternalResourceNode extends BaseResourceNode {
12266
- type: 'external';
12267
- platform: 'n8n' | 'make' | 'zapier' | 'other';
12268
- platformUrl?: string;
12269
- externalId?: string;
12270
- }
12271
- /**
12272
- * Human node - approval points requiring human decisions
12273
- */
12274
- interface HumanNode extends Omit<BaseResourceNode, 'stats'> {
12275
- type: 'human';
12276
- stats?: {
12277
- pendingCount: number;
12278
- completedCount: number;
12279
- expiredCount: number;
12280
- lastDecisionAt: string | null;
12281
- } | null;
12282
- }
12283
- /**
12284
- * Union type for all node types
12285
- */
12286
- type CommandViewNode = AgentNode | WorkflowNode | IntegrationNode | TriggerNode | ExternalResourceNode | HumanNode;
12287
- /**
12288
- * Relationship types between resources
12289
- */
12290
- type RelationshipType = 'triggers' | 'uses' | 'approval';
12291
- /**
12292
- * Edge representing a relationship
12293
- */
12294
- interface CommandViewEdge {
12295
- id: string;
12296
- source: string;
12297
- target: string;
12298
- relationship: RelationshipType;
12299
- label?: string;
12300
- }
12301
- /**
12302
- * Complete graph data for visualization
12303
- */
12304
- interface CommandViewGraph {
12305
- nodes: CommandViewNode[];
12306
- edges: CommandViewEdge[];
12307
- }
12308
-
12309
- type StatusFilter = ResourceStatus$1 | 'all';
12310
-
12311
- interface CommandViewStore {
12312
- statusFilter: StatusFilter;
12313
- setStatusFilter: (v: StatusFilter) => void;
12314
- showIntegrations: boolean;
12315
- setShowIntegrations: (v: boolean) => void;
12316
- fitViewOnFilter: boolean;
12317
- setFitViewOnFilter: (v: boolean) => void;
12318
- selectedNodeId: string | null;
12319
- setSelectedNodeId: (id: string | null) => void;
12320
- }
12321
- /**
12322
- * Shared store for Command View filter/settings state.
12323
- * Allows CommandViewPage (graph) and CommandViewSidebarContent (sidebar) to share state.
12324
- *
12325
- * Persisted to localStorage: showIntegrations, fitViewOnFilter
12326
- * Not persisted (reset on reload): statusFilter, selectedNodeId
12327
- */
12328
- declare const useCommandViewStore: zustand.UseBoundStore<Omit<zustand.StoreApi<CommandViewStore>, "setState" | "persist"> & {
12329
- setState(partial: CommandViewStore | Partial<CommandViewStore> | ((state: CommandViewStore) => CommandViewStore | Partial<CommandViewStore>), replace?: false | undefined): unknown;
12330
- setState(state: CommandViewStore | ((state: CommandViewStore) => CommandViewStore), replace: true): unknown;
12331
- persist: {
12332
- setOptions: (options: Partial<zustand_middleware.PersistOptions<CommandViewStore, {
12333
- showIntegrations: boolean;
12334
- fitViewOnFilter: boolean;
12335
- }, unknown>>) => void;
12336
- clearStorage: () => void;
12337
- rehydrate: () => Promise<void> | void;
12338
- hasHydrated: () => boolean;
12339
- onHydrate: (fn: (state: CommandViewStore) => void) => () => void;
12340
- onFinishHydration: (fn: (state: CommandViewStore) => void) => () => void;
12341
- getOptions: () => Partial<zustand_middleware.PersistOptions<CommandViewStore, {
12342
- showIntegrations: boolean;
12343
- fitViewOnFilter: boolean;
12344
- }, unknown>>;
12345
- };
12346
- }>;
12347
-
12348
- /**
12349
- * useCommandViewLayout - Hook to convert CommandViewGraph to ReactFlow nodes/edges
12350
- *
12351
- * Uses Dagre for automatic graph layout:
12352
- * - Left-to-right flow (LR)
12353
- * - Minimizes edge crossings
12354
- * - Keeps connected nodes closer together
12355
- *
12356
- * Post-processes Dagre output to sort workflow chains by their minimum name prefix
12357
- * (e.g., INB-01 chain above INB-02 chain, above INB-04 chain). Uses Union-Find
12358
- * to identify connected components based on 'triggers' and 'approval' edges
12359
- * (not 'uses' edges, which would connect everything through shared integrations).
12360
- */
12361
-
12362
- /**
12363
- * Convert CommandViewGraph to ReactFlow nodes and edges with Dagre layout
12364
- */
12365
- declare function useCommandViewLayout(graph: CommandViewGraph): {
12366
- nodes: {
12367
- id: string;
12368
- type: string;
12369
- position: {
12370
- x: number;
12371
- y: number;
12372
- };
12373
- data: Record<string, unknown>;
12374
- }[];
12375
- edges: Edge[];
12376
- };
12377
- /**
12378
- * Get graph statistics
12379
- */
12380
- declare function useGraphStats(graph: CommandViewGraph): {
12381
- agents: number;
12382
- workflows: number;
12383
- integrations: number;
12384
- triggers: number;
12385
- prodResources: number;
12386
- devResources: number;
12387
- connectedIntegrations: number;
12388
- errorIntegrations: number;
12389
- };
12390
-
12391
- interface UseCheckpointTasksOptions {
12392
- checkpointId: string | null;
12393
- enabled?: boolean;
12394
- }
12395
- interface CheckpointTasksResponse {
12396
- tasks: Task[];
12397
- }
12398
- /**
12399
- * Fetches pending tasks for a specific human checkpoint (on-demand)
12400
- *
12401
- * Only fetches when:
12402
- * - Organization is ready
12403
- * - Checkpoint is selected
12404
- * - enabled is true (default: true when checkpointId is set)
12405
- *
12406
- * Returns top 10 pending tasks ordered by priority and creation date
12407
- *
12408
- * @param options - Checkpoint ID and enabled flag
12409
- * @returns TanStack Query result with pending tasks
12410
- */
12411
- declare function useCheckpointTasks({ checkpointId, enabled }: UseCheckpointTasksOptions): _tanstack_react_query.UseQueryResult<CheckpointTasksResponse, Error>;
12412
-
12413
- interface UseResourceErrorsOptions {
12414
- resourceId: string | null;
12415
- timeRange: StatsTimeRange;
12416
- hasFailures: boolean;
12417
- }
12418
- /**
12419
- * Fetches error details for a specific resource (on-demand)
12420
- *
12421
- * Only fetches when:
12422
- * - Organization is ready
12423
- * - Resource is selected
12424
- * - Resource has failures (lazy loading pattern)
12425
- *
12426
- * Returns top 10 errors + total count for "showing X of Y" display
12427
- *
12428
- * @param options - Resource ID, time range, and failure flag
12429
- * @returns TanStack Query result with ResourceErrorsResponse
12430
- */
12431
- declare function useResourceErrors({ resourceId, timeRange, hasFailures }: UseResourceErrorsOptions): _tanstack_react_query.UseQueryResult<ResourceErrorsResponse, Error>;
12432
-
12433
- interface UseResourceExecutionsOptions {
12434
- resourceId: string | null;
12435
- timeRange: StatsTimeRange;
12436
- enabled?: boolean;
12437
- }
12438
- /**
12439
- * Fetches recent executions for a specific resource (on-demand)
12440
- *
12441
- * Only fetches when:
12442
- * - Organization is ready
12443
- * - Resource is selected
12444
- * - enabled is true (default: true when resourceId is set)
12445
- *
12446
- * Returns top 10 executions + total count for "showing X of Y" display
12447
- *
12448
- * @param options - Resource ID, time range, and enabled flag
12449
- * @returns TanStack Query result with ResourceExecutionsResponse
12450
- */
12451
- declare function useResourceExecutions({ resourceId, timeRange, enabled }: UseResourceExecutionsOptions): _tanstack_react_query.UseQueryResult<ResourceExecutionsResponse, Error>;
12452
-
12453
- /**
12454
- * Query key factory for calibration hooks.
12455
- * Ensures consistent, organization-scoped cache isolation.
12456
- */
12457
- declare const calibrationKeys: {
12458
- all: readonly ["calibration"];
12459
- projects: (org: string) => readonly ["calibration", "projects", string];
12460
- projectsByResource: (org: string, resourceId: string, resourceType: string) => readonly ["calibration", "projects", string, string, string];
12461
- project: (org: string, projectId: string) => readonly ["calibration", "project", string, string];
12462
- runs: (org: string, projectId: string) => readonly ["calibration", "runs", string, string];
12463
- run: (org: string, runId: string) => readonly ["calibration", "run", string, string];
12464
- runFull: (org: string, runId: string) => readonly ["calibration", "run-full", string, string];
12465
- };
12466
-
12467
- /**
12468
- * Fetch all calibration projects for the organization (unified view)
12469
- */
12470
- declare function useAllCalibrationProjects(): _tanstack_react_query.UseQueryResult<CalibrationProject[], Error>;
12471
- /**
12472
- * Fetch calibration projects for a specific resource
12035
+ * Fetch calibration projects for a specific resource
12473
12036
  */
12474
12037
  declare function useCalibrationProjects(resourceId: string, resourceType: 'agent' | 'workflow'): _tanstack_react_query.UseQueryResult<CalibrationProject[], Error>;
12475
12038
  declare function useCalibrationProject(projectId: string): _tanstack_react_query.UseQueryResult<CalibrationProject, Error>;
@@ -13219,6 +12782,484 @@ declare function useUpdateContact(contactId: string): _tanstack_react_query.UseM
13219
12782
  }, unknown>;
13220
12783
  declare function useDeleteContacts(): _tanstack_react_query.UseMutationResult<void, Error, string[], unknown>;
13221
12784
 
12785
+ interface CreateApiKeyRequest {
12786
+ name: string;
12787
+ }
12788
+ interface CreateApiKeyResponse {
12789
+ id: string;
12790
+ key: string;
12791
+ message: string;
12792
+ }
12793
+ interface ListApiKeysResponse {
12794
+ keys: ApiKeyListItem[];
12795
+ }
12796
+ type ApiRequest$3 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
12797
+ declare class ApiKeyService {
12798
+ private apiRequest;
12799
+ constructor(apiRequest: ApiRequest$3);
12800
+ /**
12801
+ * List API keys for the current organization
12802
+ */
12803
+ listApiKeys(): Promise<ApiKeyListItem[]>;
12804
+ /**
12805
+ * Create a new API key
12806
+ */
12807
+ createApiKey(data: CreateApiKeyRequest): Promise<CreateApiKeyResponse>;
12808
+ /**
12809
+ * Update an API key's name
12810
+ */
12811
+ updateApiKey(keyId: string, data: {
12812
+ name: string;
12813
+ }): Promise<void>;
12814
+ /**
12815
+ * Delete an API key
12816
+ */
12817
+ deleteApiKey(keyId: string): Promise<void>;
12818
+ }
12819
+
12820
+ declare function useListApiKeys(): _tanstack_react_query.UseQueryResult<ApiKeyListItem[], Error>;
12821
+
12822
+ declare function useCreateApiKey(): _tanstack_react_query.UseMutationResult<CreateApiKeyResponse, Error, CreateApiKeyRequest, unknown>;
12823
+
12824
+ declare function useDeleteApiKey(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
12825
+
12826
+ declare function useUpdateApiKey(): _tanstack_react_query.UseMutationResult<void, Error, {
12827
+ keyId: string;
12828
+ name: string;
12829
+ }, unknown>;
12830
+
12831
+ /**
12832
+ * GET /api/credentials - List credentials
12833
+ */
12834
+ declare const ListCredentialsResponseSchema = z.object({
12835
+ credentials: z.array(
12836
+ z.object({
12837
+ id: UuidSchema,
12838
+ name: z.string(),
12839
+ type: z.string(),
12840
+ provider: z.string().nullable(), // OAuth provider or null for non-OAuth
12841
+ createdAt: z.string().datetime()
12842
+ })
12843
+ )
12844
+ })
12845
+
12846
+ /** API response type for a single credential list item */
12847
+ type CredentialListItem = z.infer<typeof ListCredentialsResponseSchema>['credentials'][number]
12848
+
12849
+ interface CreateCredentialRequest {
12850
+ name: string;
12851
+ type: string;
12852
+ value: Record<string, unknown>;
12853
+ }
12854
+ interface CreateCredentialResponse {
12855
+ id: string;
12856
+ name: string;
12857
+ type: string;
12858
+ }
12859
+ interface ListCredentialsResponse {
12860
+ credentials: CredentialListItem[];
12861
+ }
12862
+ type ApiRequest$2 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
12863
+ declare class CredentialService {
12864
+ private apiRequest;
12865
+ constructor(apiRequest: ApiRequest$2);
12866
+ /**
12867
+ * List credentials for the current organization
12868
+ * Organization context is provided via workos-organization-id header
12869
+ */
12870
+ listCredentials(): Promise<CredentialListItem[]>;
12871
+ /**
12872
+ * Create a new credential
12873
+ * Organization context is provided via workos-organization-id header
12874
+ */
12875
+ createCredential(data: CreateCredentialRequest): Promise<CreateCredentialResponse>;
12876
+ /**
12877
+ * Update a credential value or metadata
12878
+ * Organization context is provided via workos-organization-id header
12879
+ */
12880
+ updateCredential(credentialId: string, updates: {
12881
+ value?: Record<string, unknown>;
12882
+ name?: string;
12883
+ }): Promise<void>;
12884
+ /**
12885
+ * Delete a credential
12886
+ * Organization context is provided via workos-organization-id header
12887
+ */
12888
+ deleteCredential(credentialId: string): Promise<void>;
12889
+ }
12890
+
12891
+ declare function useCredentials(): _tanstack_react_query.UseQueryResult<{
12892
+ id: string;
12893
+ name: string;
12894
+ type: string;
12895
+ provider: string | null;
12896
+ createdAt: string;
12897
+ }[], Error>;
12898
+
12899
+ declare function useCreateCredential(): _tanstack_react_query.UseMutationResult<CreateCredentialResponse, Error, CreateCredentialRequest, unknown>;
12900
+
12901
+ declare function useDeleteCredential(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
12902
+
12903
+ interface UpdateCredentialParams {
12904
+ credentialId: string;
12905
+ updates: {
12906
+ value?: Record<string, unknown>;
12907
+ name?: string;
12908
+ };
12909
+ }
12910
+ declare function useUpdateCredential(): _tanstack_react_query.UseMutationResult<void, Error, UpdateCredentialParams, unknown>;
12911
+
12912
+ type ApiRequest$1 = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
12913
+ declare class DeploymentService {
12914
+ private apiRequest;
12915
+ constructor(apiRequest: ApiRequest$1);
12916
+ listDeployments(): Promise<Deployment[]>;
12917
+ getDeployment(id: string): Promise<Deployment>;
12918
+ activateDeployment(id: string): Promise<Deployment>;
12919
+ deactivateDeployment(id: string): Promise<Deployment>;
12920
+ deleteDeployment(id: string): Promise<void>;
12921
+ }
12922
+
12923
+ declare function useListDeployments(): _tanstack_react_query.UseQueryResult<Deployment[], Error>;
12924
+
12925
+ declare function useActivateDeployment(): _tanstack_react_query.UseMutationResult<Deployment, Error, string, unknown>;
12926
+ declare function useDeactivateDeployment(): _tanstack_react_query.UseMutationResult<Deployment, Error, string, unknown>;
12927
+ declare function useDeleteDeployment(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
12928
+
12929
+ type ApiRequest = <T>(endpoint: string, options?: RequestInit) => Promise<T>;
12930
+ declare class OrganizationMembershipService {
12931
+ private apiRequest;
12932
+ constructor(apiRequest: ApiRequest);
12933
+ /**
12934
+ * Get user's organization memberships
12935
+ */
12936
+ getUserMemberships(userId: string): Promise<MembershipWithDetails[]>;
12937
+ /**
12938
+ * Get organization members
12939
+ */
12940
+ getOrganizationMembers(organizationId: string): Promise<MembershipWithDetails[]>;
12941
+ /**
12942
+ * List memberships with filtering
12943
+ */
12944
+ listMemberships(params?: ListMembershipsParams): Promise<ListMembershipsResponse>;
12945
+ /**
12946
+ * Get a single membership by ID
12947
+ */
12948
+ getMembership(membershipId: string): Promise<MembershipWithDetails>;
12949
+ /**
12950
+ * Create a new organization membership
12951
+ */
12952
+ createMembership(data: CreateMembershipRequest): Promise<MembershipWithDetails>;
12953
+ /**
12954
+ * Update an existing membership
12955
+ */
12956
+ updateMembership(membershipId: string, data: UpdateMembershipRequest): Promise<MembershipWithDetails>;
12957
+ /**
12958
+ * Delete a membership
12959
+ */
12960
+ deleteMembership(membershipId: string): Promise<void>;
12961
+ /**
12962
+ * Deactivate a membership (soft delete)
12963
+ */
12964
+ deactivateMembership(membershipId: string): Promise<MembershipWithDetails>;
12965
+ /**
12966
+ * Reactivate a membership
12967
+ */
12968
+ reactivateMembership(membershipId: string): Promise<MembershipWithDetails>;
12969
+ }
12970
+
12971
+ declare function useUserMemberships(userId: string, params?: Omit<ListMembershipsParams, 'userId'>): _tanstack_react_query.UseQueryResult<MembershipWithDetails[], Error>;
12972
+
12973
+ interface UpdateMemberConfigParams {
12974
+ membershipId: string;
12975
+ config: MembershipFeatureConfig;
12976
+ }
12977
+ declare function useUpdateMemberConfig(): _tanstack_react_query.UseMutationResult<unknown, Error, UpdateMemberConfigParams, unknown>;
12978
+
12979
+ interface DeactivateMembershipMutationData {
12980
+ membershipId: string;
12981
+ userId?: string;
12982
+ organizationId?: string;
12983
+ }
12984
+ declare function useDeactivateMembership(): _tanstack_react_query.UseMutationResult<MembershipWithDetails, Error, DeactivateMembershipMutationData, {
12985
+ previousData: unknown;
12986
+ }>;
12987
+
12988
+ interface ReactivateMembershipMutationData {
12989
+ membershipId: string;
12990
+ userId?: string;
12991
+ organizationId?: string;
12992
+ }
12993
+ declare function useReactivateMembership(): _tanstack_react_query.UseMutationResult<MembershipWithDetails, Error, ReactivateMembershipMutationData, {
12994
+ previousData: unknown;
12995
+ }>;
12996
+
12997
+ declare function useListWebhookEndpoints(): _tanstack_react_query.UseQueryResult<{
12998
+ id: string;
12999
+ organizationId: string;
13000
+ key: string;
13001
+ name: string;
13002
+ description: string | null;
13003
+ resourceId: string | null;
13004
+ status: "active" | "paused";
13005
+ lastTriggeredAt: string | null;
13006
+ requestCount: number;
13007
+ createdAt: string;
13008
+ updatedAt: string;
13009
+ }[], Error>;
13010
+
13011
+ declare function useCreateWebhookEndpoint(): _tanstack_react_query.UseMutationResult<{
13012
+ id: string;
13013
+ organizationId: string;
13014
+ key: string;
13015
+ name: string;
13016
+ description: string | null;
13017
+ resourceId: string | null;
13018
+ status: "active" | "paused";
13019
+ lastTriggeredAt: string | null;
13020
+ requestCount: number;
13021
+ createdAt: string;
13022
+ updatedAt: string;
13023
+ }, Error, {
13024
+ name: string;
13025
+ resourceId?: string | undefined;
13026
+ description?: string | undefined;
13027
+ }, unknown>;
13028
+
13029
+ declare function useDeleteWebhookEndpoint(): _tanstack_react_query.UseMutationResult<void, Error, string, unknown>;
13030
+
13031
+ /**
13032
+ * POST /api/webhook-endpoints - Create a new webhook endpoint
13033
+ *
13034
+ * The `key` and `id` are generated server-side and not accepted in the request.
13035
+ */
13036
+ declare const CreateWebhookEndpointRequestSchema = z
13037
+ .object({
13038
+ /** User-facing label for the endpoint */
13039
+ name: NonEmptyStringSchema,
13040
+ /** Target workflow resourceId to invoke on inbound requests (can be set later) */
13041
+ resourceId: NonEmptyStringSchema.optional(),
13042
+ /** Optional description */
13043
+ description: z.string().optional()
13044
+ })
13045
+ .strict()
13046
+
13047
+ type CreateWebhookEndpointRequest = z.infer<typeof CreateWebhookEndpointRequestSchema>
13048
+
13049
+ /**
13050
+ * PATCH /api/webhook-endpoints/:id - Update an existing webhook endpoint
13051
+ *
13052
+ * At least one field must be provided.
13053
+ */
13054
+ declare const UpdateWebhookEndpointRequestSchema = z
13055
+ .object({
13056
+ name: NonEmptyStringSchema.optional(),
13057
+ description: z.string().optional(),
13058
+ resourceId: NonEmptyStringSchema.optional(),
13059
+ status: WebhookEndpointStatusSchema.optional()
13060
+ })
13061
+ .strict()
13062
+ .refine(
13063
+ (data) =>
13064
+ data.name !== undefined ||
13065
+ data.description !== undefined ||
13066
+ data.resourceId !== undefined ||
13067
+ data.status !== undefined,
13068
+ { message: 'At least one field (name, description, resourceId, or status) must be provided' }
13069
+ )
13070
+
13071
+ type UpdateWebhookEndpointRequest = z.infer<typeof UpdateWebhookEndpointRequestSchema>
13072
+
13073
+ /**
13074
+ * Response shape for a single webhook endpoint.
13075
+ * NOT strict — response schemas allow extra fields for forward compatibility.
13076
+ */
13077
+ declare const WebhookEndpointResponseSchema = z.object({
13078
+ id: UuidSchema,
13079
+ organizationId: UuidSchema,
13080
+ key: z.string(),
13081
+ name: z.string(),
13082
+ description: z.string().nullable(),
13083
+ resourceId: z.string().nullable(),
13084
+ status: WebhookEndpointStatusSchema,
13085
+ lastTriggeredAt: z.string().datetime().nullable(),
13086
+ requestCount: z.number().int().min(0),
13087
+ createdAt: z.string().datetime(),
13088
+ updatedAt: z.string().datetime()
13089
+ })
13090
+
13091
+ type WebhookEndpointResponse = z.infer<typeof WebhookEndpointResponseSchema>
13092
+
13093
+ declare function useUpdateWebhookEndpoint(): _tanstack_react_query.UseMutationResult<{
13094
+ id: string;
13095
+ organizationId: string;
13096
+ key: string;
13097
+ name: string;
13098
+ description: string | null;
13099
+ resourceId: string | null;
13100
+ status: "active" | "paused";
13101
+ lastTriggeredAt: string | null;
13102
+ requestCount: number;
13103
+ createdAt: string;
13104
+ updatedAt: string;
13105
+ }, Error, {
13106
+ endpointId: string;
13107
+ data: UpdateWebhookEndpointRequest;
13108
+ }, unknown>;
13109
+
13110
+ interface ListWebhookEndpointsResponse {
13111
+ data: WebhookEndpointResponse[];
13112
+ count: number;
13113
+ }
13114
+ declare class WebhookEndpointService {
13115
+ private apiRequest;
13116
+ constructor(apiRequest: ReturnType<typeof useElevasisServices>['apiRequest']);
13117
+ /**
13118
+ * List webhook endpoints for the current organization
13119
+ */
13120
+ listEndpoints(): Promise<WebhookEndpointResponse[]>;
13121
+ /**
13122
+ * Create a new webhook endpoint
13123
+ */
13124
+ createEndpoint(data: CreateWebhookEndpointRequest): Promise<WebhookEndpointResponse>;
13125
+ /**
13126
+ * Update an existing webhook endpoint (e.g., toggle status, rename)
13127
+ */
13128
+ updateEndpoint(endpointId: string, data: UpdateWebhookEndpointRequest): Promise<WebhookEndpointResponse>;
13129
+ /**
13130
+ * Delete a webhook endpoint
13131
+ */
13132
+ deleteEndpoint(endpointId: string): Promise<void>;
13133
+ }
13134
+
13135
+ interface ResourceSearchStore {
13136
+ query: string;
13137
+ set: (query: string) => void;
13138
+ }
13139
+ declare const useResourceSearch: zustand.UseBoundStore<zustand.StoreApi<ResourceSearchStore>>;
13140
+
13141
+ type StatusFilter = 'all' | 'dev' | 'prod';
13142
+ interface StatusFilterStore {
13143
+ value: StatusFilter;
13144
+ set: (value: StatusFilter) => void;
13145
+ }
13146
+ declare const useStatusFilter: zustand.UseBoundStore<zustand.StoreApi<StatusFilterStore>>;
13147
+
13148
+ /**
13149
+ * Tracks which resource cards are visible in the viewport using Intersection Observer.
13150
+ * Returns a Set of visible resource IDs and a ref callback to attach to card elements.
13151
+ *
13152
+ * Cards must have a `data-resource-id` attribute to be tracked.
13153
+ */
13154
+ declare function useVisibleResources(): {
13155
+ visibleIds: Set<string>;
13156
+ setContainerRef: (node: HTMLDivElement | null) => void;
13157
+ };
13158
+
13159
+ type DomainFilterState = 'neutral' | 'include' | 'exclude';
13160
+ interface DomainFiltersStore {
13161
+ filters: Record<string, DomainFilterState>;
13162
+ cycle: (domainId: string) => void;
13163
+ reset: () => void;
13164
+ }
13165
+ declare const useResourcesDomainFilters: zustand.UseBoundStore<Omit<zustand.StoreApi<DomainFiltersStore>, "setState" | "persist"> & {
13166
+ setState(partial: DomainFiltersStore | Partial<DomainFiltersStore> | ((state: DomainFiltersStore) => DomainFiltersStore | Partial<DomainFiltersStore>), replace?: false | undefined): unknown;
13167
+ setState(state: DomainFiltersStore | ((state: DomainFiltersStore) => DomainFiltersStore), replace: true): unknown;
13168
+ persist: {
13169
+ setOptions: (options: Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>) => void;
13170
+ clearStorage: () => void;
13171
+ rehydrate: () => Promise<void> | void;
13172
+ hasHydrated: () => boolean;
13173
+ onHydrate: (fn: (state: DomainFiltersStore) => void) => () => void;
13174
+ onFinishHydration: (fn: (state: DomainFiltersStore) => void) => () => void;
13175
+ getOptions: () => Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>;
13176
+ };
13177
+ }>;
13178
+ declare const useCommandViewDomainFilters: zustand.UseBoundStore<Omit<zustand.StoreApi<DomainFiltersStore>, "setState" | "persist"> & {
13179
+ setState(partial: DomainFiltersStore | Partial<DomainFiltersStore> | ((state: DomainFiltersStore) => DomainFiltersStore | Partial<DomainFiltersStore>), replace?: false | undefined): unknown;
13180
+ setState(state: DomainFiltersStore | ((state: DomainFiltersStore) => DomainFiltersStore), replace: true): unknown;
13181
+ persist: {
13182
+ setOptions: (options: Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>) => void;
13183
+ clearStorage: () => void;
13184
+ rehydrate: () => Promise<void> | void;
13185
+ hasHydrated: () => boolean;
13186
+ onHydrate: (fn: (state: DomainFiltersStore) => void) => () => void;
13187
+ onFinishHydration: (fn: (state: DomainFiltersStore) => void) => () => void;
13188
+ getOptions: () => Partial<zustand_middleware.PersistOptions<DomainFiltersStore, DomainFiltersStore, unknown>>;
13189
+ };
13190
+ }>;
13191
+ declare function filterByDomainFilters(items: ResourceDefinition[], filters: Record<string, DomainFilterState>): ResourceDefinition[];
13192
+
13193
+ /**
13194
+ * Converts the global time range setting into startDate/endDate strings
13195
+ * for use in data guide suggested params.
13196
+ */
13197
+ declare function useTimeRangeDates(timeRange: TimeRange): {
13198
+ startDate: string;
13199
+ endDate: string;
13200
+ };
13201
+
13202
+ interface ActivityFilters {
13203
+ activityType?: ActivityType | 'all';
13204
+ status?: ActivityStatus | 'all';
13205
+ search?: string;
13206
+ }
13207
+ declare function useActivityFilters(timeRange: TimeRange): {
13208
+ filters: ActivityFilters;
13209
+ updateFilter: <K extends keyof ActivityFilters>(key: K, value: ActivityFilters[K]) => void;
13210
+ resetFilters: () => void;
13211
+ getApiParams: () => {
13212
+ activityType?: ActivityType;
13213
+ startDate?: string;
13214
+ status?: string;
13215
+ search?: string;
13216
+ };
13217
+ };
13218
+
13219
+ interface ExecutionLogsFilters {
13220
+ resourceId: string | undefined;
13221
+ status: 'all' | ExecutionStatus$1;
13222
+ resourceStatus: 'all' | 'dev' | 'prod';
13223
+ }
13224
+ /**
13225
+ * Pure client-side state hook for execution log filtering.
13226
+ * No data fetching -- manages filter state with reset capability.
13227
+ *
13228
+ * @param _timeRange - Time range context (reserved for future use)
13229
+ * @returns filters state, updateFilter setter, and resetFilters utility
13230
+ *
13231
+ * @example
13232
+ * ```tsx
13233
+ * const { filters, updateFilter, resetFilters } = useExecutionLogsFilters(timeRange)
13234
+ *
13235
+ * updateFilter('status', 'failed')
13236
+ * updateFilter('resourceId', 'wf-123')
13237
+ * resetFilters()
13238
+ * ```
13239
+ */
13240
+ declare function useExecutionLogsFilters(_timeRange: TimeRange): {
13241
+ filters: ExecutionLogsFilters;
13242
+ updateFilter: <K extends keyof ExecutionLogsFilters>(key: K, value: ExecutionLogsFilters[K]) => void;
13243
+ resetFilters: () => void;
13244
+ };
13245
+
13246
+ /**
13247
+ * Fetch organization members with membership details.
13248
+ *
13249
+ * Note: `organizationId` is passed as a parameter (not read from context)
13250
+ * so consumers can query for a specific organization independently.
13251
+ *
13252
+ * @param organizationId - The organization to fetch members for
13253
+ * @param params - Optional additional filters (reserved for future use)
13254
+ * @returns TanStack Query result with MembershipWithDetails array
13255
+ *
13256
+ * @example
13257
+ * ```tsx
13258
+ * const { data: members, isLoading } = useOrganizationMembers(organizationId)
13259
+ * ```
13260
+ */
13261
+ declare function useOrganizationMembers(organizationId: string, params?: Omit<ListMembershipsParams, 'organizationId'>): _tanstack_react_query.UseQueryResult<MembershipWithDetails[], Error>;
13262
+
13222
13263
  declare const projectKeys: {
13223
13264
  all: readonly ["projects"];
13224
13265
  lists: () => readonly ["projects", "list"];
@@ -13946,5 +13987,5 @@ declare function InitializationProvider({ children }: {
13946
13987
  children: ReactNode;
13947
13988
  }): react.FunctionComponentElement<react.ProviderProps<AppInitializationState | null>>;
13948
13989
 
13949
- export { AGENT_CONSTANTS, APIClientError, API_URL, AdminGuard, ApiClientProvider, ApiKeyService, AppearanceProvider, AuthProvider, CONTAINER_CONSTANTS, CredentialService, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, DeploymentService, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, ElevasisUIProvider, FeatureShell, GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, GRAPH_CONSTANTS, InitializationContext, InitializationProvider, LIMIT_ACTIVITY_FEED, NotificationProvider, OAUTH_FLOW_TIMEOUT, OAUTH_POPUP_CHECK_INTERVAL, OperationsService, OrganizationContext, OrganizationMembershipService, OrganizationProvider, OrganizationSwitcher, PAGE_SIZE_DEFAULT, PresetsProvider, ProfileProvider, ProtectedRoute, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, RouterProvider, SHARED_VIZ_CONSTANTS, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING, STATUS_COLORS, ScrollToTop, TIMELINE_CONSTANTS, TOKEN_VAR_MAP, TanStackRouterBridge, UserProfileService, WORKFLOW_CONSTANTS, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, WebhookEndpointService, acquisitionListKeys, calculateBarPosition, calculateGraphHeight, calibrationKeys, companyKeys, componentThemes, contactKeys, createCssVariablesResolver, createOrganizationsSlice, createUseAppInitialization, createUseFeatureAccess, createUseOrgInitialization, createUseOrganizations, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, formatChartAxisDate, formatDate, formatDateTime, formatDuration, formatErrorMessage, formatRelativeTime, formatTimeAgo, generateShades, getEdgeColor, getEdgeOpacity, getErrorInfo, getErrorTitle, getPreset, getResourceColor, getResourceIcon, getResourceStatusColor, getStatusColors, getStatusIcon, isAPIClientError, isSessionCapable, mantineThemeOverride, milestoneKeys, noteKeys, observabilityKeys, operationsKeys, PRESETS as presets, projectKeys, restoreConsole, scheduleKeys, sessionsKeys, shouldAnimateEdge, sortData, suppressKnownWarnings, taskKeys, useActivateDeployment, useActivities, useActivityFilters, useActivityTrend, useAgentIterationData, useAllCalibrationProjects, useApiClient, useApiClientContext, useAppearance, useArchiveSession, useArchivedLogs, useAuthContext, useAvailablePresets, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useConnectionHighlight, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateProject$1 as useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteProject$1 as useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask$1 as useDeleteTask, useDeleteWebhookEndpoint, useDeploymentDocs, useDirectedChainHighlighting, useElevasisFeatures, useElevasisServices, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionPath, useExecutions, useFitViewTrigger, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphHighlighting, useGraphStats, useInitialization, useList, useListApiKeys, useListDeployments, useListExecutions, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMergedExecution, useMilestones, useNodeSelection, useNotificationAdapter, useNotificationCount as useNotificationCountSSE, useNotifications, useOptionalElevasisFeatures, useOrganization, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePresetsContext, useProfile, useProject, useProjectNotes, useProjects, useReactFlowAgent, useReactivateMembership, useRecentExecutionsByResource, useSessionCheck as useRefocusSessionCheck, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRouterContext, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTimelineData, useTopFailingResources, useUnifiedWorkflowLayout, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateMemberConfig, useUpdateMilestone, useUpdateProject$1 as useUpdateProject, useUpdateSchedule, useUpdateWebhookEndpoint, useUserMemberships, useUserProfile, useVisibleResources, useWarningNotification, useWorkflowStepsLayout, validateEmail };
13950
- export type { AcqCompanyWithCount, AcqContactWithCompany, AcqDealNote, AcqDealTask, AcqDealTaskKind, ActivityFilters, ActivityTrendResponse, AdminGuardProps, AgentIterationEdgeData, AgentIterationNodeData, AgentStatus, ApiClientContextValue, ApiClientProviderProps, ApiErrorDetails, ApiKeyConfig, AppInitializationState, AppShellOverrides, AppearanceConfig, AuthConfig, AuthContextValue, AuthKitConfig, BulkDeleteExecutionsParams, BulkDeleteExecutionsResult, BusinessImpactMetrics, CalibrationProgress, CancelExecutionParams, CancelExecutionResult, ChatMessage, ColorShadesTuple, CreateApiKeyRequest, CreateApiKeyResponse, CreateCredentialRequest, CreateCredentialResponse, CreateScheduleInput, CreateSessionResponse, CredentialListItem, DealDetail, DeleteExecutionParams, Deployment, DirectedChainHighlightingOptions, DirectedChainHighlightingResult, DocFile, EdgeColorOptions, EdgeOpacityOptions, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, ErrorDistributionItem, ErrorDistributionParams, ErrorFilters, ErrorTrendsParams, ExecuteAsyncParams, ExecuteAsyncResult, ExecutionErrorDetails, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogsFilters, ExecutionLogsPageResponse, ExecutionPathState, ExecutionStatus$1 as ExecutionStatus, FailingResource, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureSidebarComponent, FrameworkThemeOverrides, GetMessagesResponse, GlowIntensity, GraphHeightOptions, GraphHighlightingResult, GraphMode, GraphThemeColors, InitializationError, LinkProps, ListActivitiesResponse, ListApiKeysResponse, ListCredentialsResponse, ListSchedulesFilters, ListSchedulesResponse, ListWebhookEndpointsResponse, MembershipWithDetails, MessageEvent, MessageType, NodeColorType, NotificationAdapter, OrganizationContextValue, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, OrganizationsActions, OrganizationsSlice, OrganizationsState, PresetEntry, PresetName, ProfileContextValue, ProtectedRouteProps, ResolvedFeatureAccess, ResolvedFeatureModule, ResolvedFeatureSemantics, ResolvedShellModel, ResolvedShellNavItem, ResolvedShellRouteMatch, ResourcesResponse, RetryExecutionParams, RouterAdapter, SessionDTO, SessionExecution, SessionExecutionsResponse, SessionListItem, SessionTokenUsage, ShellNavPlacement, ShellNavSource, ShellRouteMatchStatus, ShellRuntime, SortDirection, SortState, StatusColorScheme, StatusFilter$1 as StatusFilter, StatusIconColors, StepExecutionData, SubmitActionRequest, SubmitActionResponse, SupabaseUserProfile, TablerIcon, TaskSchedule, ThemePreset, TimelineBarProps, TimelineContainerProps, TimelineRowProps, TopFailingResourcesParams, UnifiedWorkflowEdgeData, UnifiedWorkflowNodeData, UpdateScheduleInput, UseActivitiesParams, UseActivityTrendParams, UseApiClientReturn, UseBatchedResourcesHealthParams, UseCalibrationSSEOptions, UseExecuteWorkflowOptions, UseExecuteWorkflowParams, UseExecutionHealthParams, UseExecutionLogsParams, UseExecutionPanelStateOptions, UseExecutionPanelStateReturn, UseNotificationCountArgs, UseOrgInitializationReturn, UseOrganizationsReturn, UseResourcesHealthParams, UseSSEConnectionOptions, UseScheduledTasksOptions, UseUserProfileReturn, WebSocketState, WithSchemes, WorkflowEdgeType, WorkflowStepEdgeData, WorkflowStepNodeData, WorkflowStepsLayoutInput };
13990
+ export { AGENT_CONSTANTS, APIClientError, API_URL, AdminGuard, ApiClientProvider, ApiKeyService, AppearanceProvider, AuthProvider, CONTAINER_CONSTANTS, CredentialService, DEBOUNCE_FILTER, DEBOUNCE_SLIDER, DeploymentService, ElevasisCoreProvider, ElevasisFeaturesProvider, ElevasisServiceProvider, ElevasisUIProvider, FEATURE_KEY_ALIASES, FeatureShell, GC_TIME_LONG, GC_TIME_MEDIUM, GC_TIME_SHORT, GRAPH_CONSTANTS, InitializationContext, InitializationProvider, LIMIT_ACTIVITY_FEED, NotificationProvider, OAUTH_FLOW_TIMEOUT, OAUTH_POPUP_CHECK_INTERVAL, OperationsService, OrganizationContext, OrganizationMembershipService, OrganizationProvider, OrganizationSwitcher, PAGE_SIZE_DEFAULT, PresetsProvider, ProfileProvider, ProtectedRoute, REFETCH_INTERVAL_DASHBOARD, REFETCH_INTERVAL_REALTIME, REFETCH_INTERVAL_RUNNING, REFETCH_INTERVAL_RUNNING_FAST, RouterProvider, SHARED_VIZ_CONSTANTS, SSE_CLOSE_GRACE_PERIOD, SSE_TOKEN_REFRESH_DELAY, STALE_TIME_ADMIN, STALE_TIME_DEFAULT, STALE_TIME_MONITORING, STATUS_COLORS, ScrollToTop, TIMELINE_CONSTANTS, TOKEN_VAR_MAP, TanStackRouterBridge, UserProfileService, WORKFLOW_CONSTANTS, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, WebhookEndpointService, acquisitionListKeys, calculateBarPosition, calculateGraphHeight, calibrationKeys, companyKeys, componentThemes, contactKeys, createCssVariablesResolver, createFeatureAccessHook, createOrganizationsSlice, createTestFeaturesProvider, createUseAppInitialization, createUseFeatureAccess, createUseOrgInitialization, createUseOrganizations, dealKeys, dealNoteKeys, dealTaskKeys, executionsKeys, filterByDomainFilters, formatChartAxisDate, formatDate, formatDateTime, formatDuration, formatErrorMessage, formatRelativeTime, formatTimeAgo, generateShades, getEdgeColor, getEdgeOpacity, getErrorInfo, getErrorTitle, getPreset, getResourceColor, getResourceIcon, getResourceStatusColor, getStatusColors, getStatusIcon, isAPIClientError, isSessionCapable, mantineThemeOverride, milestoneKeys, noteKeys, observabilityKeys, operationsKeys, PRESETS as presets, projectKeys, restoreConsole, scheduleKeys, sessionsKeys, shouldAnimateEdge, sortData, suppressKnownWarnings, taskKeys, useActivateDeployment, useActivities, useActivityFilters, useActivityTrend, useAgentIterationData, useAllCalibrationProjects, useApiClient, useApiClientContext, useAppearance, useArchiveSession, useArchivedLogs, useAuthContext, useAvailablePresets, useBatchDelete, useBatchTelemetry, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCalibrationProject, useCalibrationProjects, useCalibrationRun, useCalibrationRunFull, useCalibrationRuns, useCalibrationSSE, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewDomainFilters, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCompanies, useCompany, useCompleteDealTask, useConnectionHighlight, useContact, useContacts, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateApiKey, useCreateCompany, useCreateContact, useCreateCredential, useCreateDealNote, useCreateDealTask, useCreateProject as useCreateDeliveryProject, useCreateList, useCreateMilestone, useCreateNote, useCreateProject$1 as useCreateProject, useCreateRun, useCreateSchedule, useCreateSession, useCreateWebhookEndpoint, useCredentials, useDashboardMetrics, useDeactivateDeployment, useDeactivateMembership, useDealDetail, useDealNotes, useDealTasks, useDealTasksDue, useDeals, useDeleteApiKey, useDeleteCompanies, useDeleteContacts, useDeleteCredential, useDeleteDeal, useDeleteProject as useDeleteDeliveryProject, useDeleteTask as useDeleteDeliveryTask, useDeleteDeployment, useDeleteExecution, useDeleteList, useDeleteMilestone, useDeleteProject$1 as useDeleteProject, useDeleteRun, useDeleteSchedule, useDeleteSession, useDeleteTask$1 as useDeleteTask, useDeleteWebhookEndpoint, useDeploymentDocs, useDirectedChainHighlighting, useElevasisFeatures, useElevasisServices, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAsync, useExecuteRun, useExecuteWorkflow, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionLogsFilters, useExecutionPanelState, useExecutionPath, useExecutions, useFitViewTrigger, useGetExecutionHistory, useGetSchedule, useGradeRun, useGraphHighlighting, useGraphStats, useInitialization, useList, useListApiKeys, useListDeployments, useListExecutions, useListProgress, useListSchedules, useListWebhookEndpoints, useLists, useListsTelemetry, useMarkAllAsRead, useMarkAsRead, useMergedExecution, useMilestones, useNodeSelection, useNotificationAdapter, useNotificationCount as useNotificationCountSSE, useNotifications, useOptionalElevasisFeatures, useOrganization, useOrganizationMembers, usePaginationState, usePatchTask, usePauseSchedule, usePresetsContext, useProfile, useProject, useProjectNotes, useProjects, useReactFlowAgent, useReactivateMembership, useRecentExecutionsByResource, useSessionCheck as useRefocusSessionCheck, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResourceSearch, useResources, useResourcesDomainFilters, useResourcesHealth, useResumeSchedule, useRetryExecution, useRouterContext, useSSEConnection, useScheduledTasks, useSession, useSessionCheck, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useStableAccessToken, useStatusFilter, useSubmitAction, useSuccessNotification, useSyncDealStage, useTableSelection, useTableSort, useTasks, useTestNotification, useTimeRangeDates, useTimelineData, useTopFailingResources, useUnifiedWorkflowLayout, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateApiKey, useUpdateCompany, useUpdateContact, useUpdateCredential, useUpdateProject as useUpdateDeliveryProject, useUpdateList, useUpdateListConfig, useUpdateMemberConfig, useUpdateMilestone, useUpdateProject$1 as useUpdateProject, useUpdateSchedule, useUpdateWebhookEndpoint, useUserMemberships, useUserProfile, useVisibleResources, useWarningNotification, useWorkflowStepsLayout, validateEmail };
13991
+ export type { AcqCompanyWithCount, AcqContactWithCompany, AcqDealNote, AcqDealTask, AcqDealTaskKind, ActivityFilters, ActivityTrendResponse, AdminGuardProps, AgentIterationEdgeData, AgentIterationNodeData, AgentStatus, ApiClientContextValue, ApiClientProviderProps, ApiErrorDetails, ApiKeyConfig, AppInitializationState, AppShellOverrides, AppearanceConfig, AuthConfig, AuthContextValue, AuthKitConfig, BulkDeleteExecutionsParams, BulkDeleteExecutionsResult, BusinessImpactMetrics, CalibrationProgress, CancelExecutionParams, CancelExecutionResult, ChatMessage, ColorShadesTuple, CreateApiKeyRequest, CreateApiKeyResponse, CreateCredentialRequest, CreateCredentialResponse, CreateScheduleInput, CreateSessionResponse, CreateTestFeaturesProviderOptions, CredentialListItem, DealDetail, DeleteExecutionParams, Deployment, DirectedChainHighlightingOptions, DirectedChainHighlightingResult, DocFile, EdgeColorOptions, EdgeOpacityOptions, ElevasisCoreProviderProps, ElevasisCoreThemeConfig, ElevasisFeaturesContextValue, ElevasisFeaturesProviderProps, ElevasisServiceContextValue, ElevasisServiceProviderProps, ElevasisThemeConfig, ElevasisTokenOverrides, ErrorDistributionItem, ErrorDistributionParams, ErrorFilters, ErrorTrendsParams, ExecuteAsyncParams, ExecuteAsyncResult, ExecutionErrorDetails, ExecutionHistoryItem, ExecutionHistoryResponse, ExecutionLogsFilters, ExecutionLogsPageResponse, ExecutionPathState, ExecutionStatus$1 as ExecutionStatus, FailingResource, FeatureAccessResult, FeatureModule, FeatureNavEntry, FeatureNavLink, FeatureSidebarComponent, FrameworkThemeOverrides, GetMessagesResponse, GlowIntensity, GraphHeightOptions, GraphHighlightingResult, GraphMode, GraphThemeColors, InitializationError, LinkProps, ListActivitiesResponse, ListApiKeysResponse, ListCredentialsResponse, ListSchedulesFilters, ListSchedulesResponse, ListWebhookEndpointsResponse, MembershipWithDetails, MessageEvent, MessageType, NodeColorType, NotificationAdapter, OrganizationContextValue, OrganizationGraphContextValue, OrganizationGraphFeatureBridge, OrganizationsActions, OrganizationsSlice, OrganizationsState, PresetEntry, PresetName, ProfileContextValue, ProtectedRouteProps, ResolvedFeatureAccess, ResolvedFeatureModule, ResolvedFeatureSemantics, ResolvedShellModel, ResolvedShellNavItem, ResolvedShellRouteMatch, ResourcesResponse, RetryExecutionParams, RouterAdapter, SessionDTO, SessionExecution, SessionExecutionsResponse, SessionListItem, SessionTokenUsage, ShellNavPlacement, ShellNavSource, ShellRouteMatchStatus, ShellRuntime, SortDirection, SortState, StatusColorScheme, StatusFilter, StatusIconColors, StepExecutionData, SubmitActionRequest, SubmitActionResponse, SupabaseUserProfile, TablerIcon, TaskSchedule, ThemePreset, TimelineBarProps, TimelineContainerProps, TimelineRowProps, TopFailingResourcesParams, UnifiedWorkflowEdgeData, UnifiedWorkflowNodeData, UpdateScheduleInput, UseActivitiesParams, UseActivityTrendParams, UseApiClientReturn, UseBatchedResourcesHealthParams, UseCalibrationSSEOptions, UseExecuteWorkflowOptions, UseExecuteWorkflowParams, UseExecutionHealthParams, UseExecutionLogsParams, UseExecutionPanelStateOptions, UseExecutionPanelStateReturn, UseNotificationCountArgs, UseOrgInitializationReturn, UseOrganizationsReturn, UseResourcesHealthParams, UseSSEConnectionOptions, UseScheduledTasksOptions, UseUserProfileReturn, WebSocketState, WithSchemes, WorkflowEdgeType, WorkflowStepEdgeData, WorkflowStepNodeData, WorkflowStepsLayoutInput };