@elevasis/ui 1.3.1 → 1.3.2
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.
- package/dist/api/index.js +1 -1
- package/dist/auth/guards/AdminGuard.d.ts +32 -0
- package/dist/auth/guards/AdminGuard.d.ts.map +1 -0
- package/dist/auth/guards/ProtectedRoute.d.ts +60 -0
- package/dist/auth/guards/ProtectedRoute.d.ts.map +1 -0
- package/dist/auth/guards/__tests__/AdminGuard.test.d.ts +12 -0
- package/dist/auth/guards/__tests__/AdminGuard.test.d.ts.map +1 -0
- package/dist/auth/guards/__tests__/ProtectedRoute.test.d.ts +14 -0
- package/dist/auth/guards/__tests__/ProtectedRoute.test.d.ts.map +1 -0
- package/dist/auth/index.d.ts +14 -174
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +1 -1
- package/dist/{chunk-A3MCANC6.js → chunk-6IX5JZEH.js} +110 -50
- package/dist/chunk-GIFAF5ZS.js +313 -0
- package/dist/chunk-JQLT6HBI.js +850 -0
- package/dist/chunk-LFYO3MDC.js +58 -0
- package/dist/{chunk-72HOBFMP.js → chunk-LTQAAIGE.js} +3 -3
- package/dist/{chunk-JBFFCZI4.js → chunk-U34YGJQB.js} +1 -93
- package/dist/components/index.d.ts +1 -1353
- package/dist/components/index.js +1 -20
- package/dist/components/navigation/index.d.ts +2 -32
- package/dist/components/navigation/index.js +1 -29
- package/dist/execution/index.d.ts +63 -231
- package/dist/execution/index.js +1 -4
- package/dist/graph/index.css +0 -1
- package/dist/graph/index.d.ts +4 -203
- package/dist/graph/index.js +1 -1
- package/dist/hooks/command-queue/index.d.ts +7 -0
- package/dist/hooks/command-queue/index.d.ts.map +1 -0
- package/dist/hooks/command-queue/useCommandQueue.d.ts +33 -0
- package/dist/hooks/command-queue/useCommandQueue.d.ts.map +1 -0
- package/dist/hooks/command-queue/useCommandQueueTotals.d.ts +17 -0
- package/dist/hooks/command-queue/useCommandQueueTotals.d.ts.map +1 -0
- package/dist/hooks/command-queue/useDeleteTask.d.ts +5 -0
- package/dist/hooks/command-queue/useDeleteTask.d.ts.map +1 -0
- package/dist/hooks/command-queue/usePatchTask.d.ts +6 -0
- package/dist/hooks/command-queue/usePatchTask.d.ts.map +1 -0
- package/dist/hooks/command-queue/useSubmitAction.d.ts +29 -0
- package/dist/hooks/command-queue/useSubmitAction.d.ts.map +1 -0
- package/dist/hooks/executions/index.d.ts +16 -0
- package/dist/hooks/executions/index.d.ts.map +1 -0
- package/dist/hooks/executions/useBulkDeleteExecutions.d.ts +15 -0
- package/dist/hooks/executions/useBulkDeleteExecutions.d.ts.map +1 -0
- package/dist/hooks/executions/useCancelExecution.d.ts +20 -0
- package/dist/hooks/executions/useCancelExecution.d.ts.map +1 -0
- package/dist/hooks/executions/useDeleteExecution.d.ts +13 -0
- package/dist/hooks/executions/useDeleteExecution.d.ts.map +1 -0
- package/dist/hooks/executions/useExecuteAsync.d.ts +21 -0
- package/dist/hooks/executions/useExecuteAsync.d.ts.map +1 -0
- package/dist/hooks/executions/useExecution.d.ts +10 -0
- package/dist/hooks/executions/useExecution.d.ts.map +1 -0
- package/dist/hooks/executions/useExecutions.d.ts +16 -0
- package/dist/hooks/executions/useExecutions.d.ts.map +1 -0
- package/dist/hooks/executions/useResourceDefinition.d.ts +9 -0
- package/dist/hooks/executions/useResourceDefinition.d.ts.map +1 -0
- package/dist/hooks/executions/useResources.d.ts +15 -0
- package/dist/hooks/executions/useResources.d.ts.map +1 -0
- package/dist/hooks/executions/useRetryExecution.d.ts +16 -0
- package/dist/hooks/executions/useRetryExecution.d.ts.map +1 -0
- package/dist/hooks/feature-access/createUseFeatureAccess.d.ts +44 -0
- package/dist/hooks/feature-access/createUseFeatureAccess.d.ts.map +1 -0
- package/dist/hooks/feature-access/index.d.ts +2 -0
- package/dist/hooks/feature-access/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +11 -4554
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2 -4
- package/dist/hooks/monitoring/index.d.ts +9 -0
- package/dist/hooks/monitoring/index.d.ts.map +1 -0
- package/dist/hooks/monitoring/useActivities.d.ts +52 -0
- package/dist/hooks/monitoring/useActivities.d.ts.map +1 -0
- package/dist/hooks/monitoring/useCostSummary.d.ts +7 -0
- package/dist/hooks/monitoring/useCostSummary.d.ts.map +1 -0
- package/dist/hooks/monitoring/useExecutionHealth.d.ts +10 -0
- package/dist/hooks/monitoring/useExecutionHealth.d.ts.map +1 -0
- package/dist/hooks/monitoring/useExecutionLogs.d.ts +56 -0
- package/dist/hooks/monitoring/useExecutionLogs.d.ts.map +1 -0
- package/dist/hooks/monitoring/useNotifications.d.ts +11 -0
- package/dist/hooks/monitoring/useNotifications.d.ts.map +1 -0
- package/dist/hooks/notifications/index.d.ts +8 -0
- package/dist/hooks/notifications/index.d.ts.map +1 -0
- package/dist/hooks/notifications/useMarkAllAsRead.d.ts +2 -0
- package/dist/hooks/notifications/useMarkAllAsRead.d.ts.map +1 -0
- package/dist/hooks/notifications/useMarkAsRead.d.ts +2 -0
- package/dist/hooks/notifications/useMarkAsRead.d.ts.map +1 -0
- package/dist/hooks/notifications/useNotificationCount.d.ts +8 -0
- package/dist/hooks/notifications/useNotificationCount.d.ts.map +1 -0
- package/dist/hooks/observability/index.d.ts +19 -0
- package/dist/hooks/observability/index.d.ts.map +1 -0
- package/dist/hooks/observability/useBusinessImpact.d.ts +9 -0
- package/dist/hooks/observability/useBusinessImpact.d.ts.map +1 -0
- package/dist/hooks/observability/useCostBreakdown.d.ts +10 -0
- package/dist/hooks/observability/useCostBreakdown.d.ts.map +1 -0
- package/dist/hooks/observability/useCostByModel.d.ts +3 -0
- package/dist/hooks/observability/useCostByModel.d.ts.map +1 -0
- package/dist/hooks/observability/useCostTrends.d.ts +3 -0
- package/dist/hooks/observability/useCostTrends.d.ts.map +1 -0
- package/dist/hooks/observability/useDashboardMetrics.d.ts +3 -0
- package/dist/hooks/observability/useDashboardMetrics.d.ts.map +1 -0
- package/dist/hooks/observability/useErrorAnalysis.d.ts +7 -0
- package/dist/hooks/observability/useErrorAnalysis.d.ts.map +1 -0
- package/dist/hooks/observability/useErrorDetails.d.ts +20 -0
- package/dist/hooks/observability/useErrorDetails.d.ts.map +1 -0
- package/dist/hooks/observability/useErrorDistribution.d.ts +12 -0
- package/dist/hooks/observability/useErrorDistribution.d.ts.map +1 -0
- package/dist/hooks/observability/useErrorTrends.d.ts +12 -0
- package/dist/hooks/observability/useErrorTrends.d.ts.map +1 -0
- package/dist/hooks/observability/useResolveError.d.ts +17 -0
- package/dist/hooks/observability/useResolveError.d.ts.map +1 -0
- package/dist/hooks/observability/useTopFailingResources.d.ts +13 -0
- package/dist/hooks/observability/useTopFailingResources.d.ts.map +1 -0
- package/dist/hooks/published.d.ts +19 -4279
- package/dist/hooks/published.d.ts.map +1 -0
- package/dist/hooks/published.js +367 -4
- package/dist/hooks/scheduling/index.d.ts +5 -0
- package/dist/hooks/scheduling/index.d.ts.map +1 -0
- package/dist/hooks/scheduling/useSchedules.d.ts +185 -0
- package/dist/hooks/scheduling/useSchedules.d.ts.map +1 -0
- package/dist/hooks/sessions/index.d.ts +8 -0
- package/dist/hooks/sessions/index.d.ts.map +1 -0
- package/dist/hooks/sessions/useSessionExecutions.d.ts +13 -0
- package/dist/hooks/sessions/useSessionExecutions.d.ts.map +1 -0
- package/dist/hooks/sessions/useSessionMessages.d.ts +7 -0
- package/dist/hooks/sessions/useSessionMessages.d.ts.map +1 -0
- package/dist/hooks/sessions/useSessions.d.ts +26 -0
- package/dist/hooks/sessions/useSessions.d.ts.map +1 -0
- package/dist/index.css +0 -118
- package/dist/index.d.ts +15 -7889
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1119 -24
- package/dist/initialization/InitializationProvider.d.ts +48 -0
- package/dist/initialization/InitializationProvider.d.ts.map +1 -0
- package/dist/initialization/hooks/useAppInitialization.d.ts +32 -0
- package/dist/initialization/hooks/useAppInitialization.d.ts.map +1 -0
- package/dist/initialization/index.d.ts +22 -2361
- package/dist/initialization/index.d.ts.map +1 -0
- package/dist/initialization/index.js +1 -1
- package/dist/organization/context/OrganizationProvider.d.ts +20 -0
- package/dist/organization/context/OrganizationProvider.d.ts.map +1 -0
- package/dist/organization/hooks/useOrgInitialization.d.ts +56 -0
- package/dist/organization/hooks/useOrgInitialization.d.ts.map +1 -0
- package/dist/organization/index.d.ts +21 -283
- package/dist/organization/index.d.ts.map +1 -0
- package/dist/organization/index.js +3 -3
- package/dist/profile/context/ProfileProvider.d.ts +27 -0
- package/dist/profile/context/ProfileProvider.d.ts.map +1 -0
- package/dist/profile/hooks/useUserProfile.d.ts +31 -0
- package/dist/profile/hooks/useUserProfile.d.ts.map +1 -0
- package/dist/profile/index.d.ts +14 -2290
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/provider/CoreAuthKitInner.d.ts +12 -0
- package/dist/provider/CoreAuthKitInner.d.ts.map +1 -0
- package/dist/provider/ElevasisCoreProvider.d.ts +39 -0
- package/dist/provider/ElevasisCoreProvider.d.ts.map +1 -0
- package/dist/provider/ElevasisServiceContext.d.ts +31 -0
- package/dist/provider/ElevasisServiceContext.d.ts.map +1 -0
- package/dist/provider/__tests__/CoreAuthKitInner.test.d.ts +2 -0
- package/dist/provider/__tests__/CoreAuthKitInner.test.d.ts.map +1 -0
- package/dist/provider/__tests__/ElevasisCoreProvider.test.d.ts +2 -0
- package/dist/provider/__tests__/ElevasisCoreProvider.test.d.ts.map +1 -0
- package/dist/provider/index.d.ts +7 -372
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/index.js +6 -6
- package/dist/provider/published.d.ts +9 -263
- package/dist/provider/published.d.ts.map +1 -0
- package/dist/provider/published.js +5 -5
- package/dist/provider/types.d.ts +190 -0
- package/dist/provider/types.d.ts.map +1 -0
- package/dist/sdk-barrel.d.ts +20 -0
- package/dist/sdk-barrel.d.ts.map +1 -0
- package/dist/supabase/index.d.ts +0 -255
- package/dist/theme/cssVariables.d.ts +12 -0
- package/dist/theme/cssVariables.d.ts.map +1 -0
- package/dist/theme/index.d.ts +4 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/presets/__tests__/getPreset.test.d.ts +2 -0
- package/dist/theme/presets/__tests__/getPreset.test.d.ts.map +1 -0
- package/dist/theme/presets/abyss.d.ts +3 -0
- package/dist/theme/presets/abyss.d.ts.map +1 -0
- package/dist/theme/presets/abyss.js +54 -0
- package/dist/theme/presets/aurora.d.ts +8 -0
- package/dist/theme/presets/aurora.d.ts.map +1 -0
- package/dist/theme/presets/aurora.js +59 -0
- package/dist/theme/presets/canopy.d.ts +3 -0
- package/dist/theme/presets/canopy.d.ts.map +1 -0
- package/dist/theme/presets/canopy.js +58 -0
- package/dist/theme/presets/cyber-flux.d.ts +8 -0
- package/dist/theme/presets/cyber-flux.d.ts.map +1 -0
- package/dist/theme/presets/cyber-strike.d.ts +9 -0
- package/dist/theme/presets/cyber-strike.d.ts.map +1 -0
- package/dist/theme/presets/cyber-void.d.ts +8 -0
- package/dist/theme/presets/cyber-void.d.ts.map +1 -0
- package/dist/theme/presets/cyber-volt.d.ts +8 -0
- package/dist/theme/presets/cyber-volt.d.ts.map +1 -0
- package/dist/theme/presets/default.d.ts +4 -0
- package/dist/theme/presets/default.d.ts.map +1 -0
- package/dist/theme/presets/ember.d.ts +8 -0
- package/dist/theme/presets/ember.d.ts.map +1 -0
- package/dist/theme/presets/ember.js +63 -0
- package/dist/theme/presets/honey.d.ts +3 -0
- package/dist/theme/presets/honey.d.ts.map +1 -0
- package/dist/theme/presets/honey.js +62 -0
- package/dist/theme/presets/index.d.ts +6 -0
- package/dist/theme/presets/index.d.ts.map +1 -0
- package/dist/theme/presets/midnight.d.ts +8 -0
- package/dist/theme/presets/midnight.d.ts.map +1 -0
- package/dist/theme/presets/midnight.js +68 -0
- package/dist/theme/presets/obsidian.d.ts +3 -0
- package/dist/theme/presets/obsidian.d.ts.map +1 -0
- package/dist/theme/presets/obsidian.js +56 -0
- package/dist/theme/presets/regal.d.ts +8 -0
- package/dist/theme/presets/regal.d.ts.map +1 -0
- package/dist/theme/presets/rose-gold.d.ts +8 -0
- package/dist/theme/presets/rose-gold.d.ts.map +1 -0
- package/dist/theme/presets/slate.d.ts +3 -0
- package/dist/theme/presets/slate.d.ts.map +1 -0
- package/dist/theme/presets/slate.js +56 -0
- package/dist/theme/presets/tactical.d.ts +8 -0
- package/dist/theme/presets/tactical.d.ts.map +1 -0
- package/dist/theme/presets/types.d.ts +26 -0
- package/dist/theme/presets/types.d.ts.map +1 -0
- package/dist/theme/presets/types.js +1 -0
- package/dist/utils/index.d.ts +1 -22
- package/dist/utils/index.js +1 -1
- package/package.json +67 -51
- package/dist/chunk-3KMDHCAR.js +0 -52
- package/dist/chunk-6BJOYF6E.js +0 -8
- package/dist/chunk-BLO4SISK.js +0 -113
- package/dist/chunk-HUWJXLLF.js +0 -681
- package/dist/chunk-JVAZHVNV.js +0 -110
- package/dist/chunk-JYSYHVLU.js +0 -379
- package/dist/chunk-NE36BUGQ.js +0 -146
- package/dist/chunk-O3PY6B6E.js +0 -749
- package/dist/chunk-OXVOHOP3.js +0 -661
- package/dist/chunk-PSLKGOBZ.js +0 -58
- package/dist/chunk-RJCA5672.js +0 -1664
- package/dist/chunk-TMFCNFLW.js +0 -107
- package/dist/chunk-TN3PU2WK.js +0 -748
- package/dist/chunk-TZPAA4RC.js +0 -1461
- package/dist/chunk-W7ZBF5AA.js +0 -1
- package/dist/chunk-YZ6GTZXL.js +0 -48
- package/dist/components/command-queue/index.css +0 -53
- package/dist/components/command-queue/index.d.ts +0 -204
- package/dist/components/command-queue/index.js +0 -12
- package/dist/components/forms/index.d.ts +0 -56
- package/dist/components/forms/index.js +0 -2
- package/dist/components/index.css +0 -443
- package/dist/components/monitoring/index.d.ts +0 -66
- package/dist/components/monitoring/index.js +0 -2
- package/dist/components/notifications/index.d.ts +0 -52
- package/dist/components/notifications/index.js +0 -5
- package/dist/components/resource-definition/index.css +0 -388
- package/dist/components/resource-definition/index.d.ts +0 -301
- package/dist/components/resource-definition/index.js +0 -3
- package/dist/display/index.css +0 -53
- package/dist/display/index.d.ts +0 -606
- package/dist/display/index.js +0 -7
- package/dist/execution/index.css +0 -388
- package/dist/provider/index.css +0 -61
- package/dist/{chunk-TYV5NJV2.js → chunk-BUZONXAW.js} +0 -0
- package/dist/{chunk-UMXDDEAG.js → chunk-SFF5MJEI.js} +1 -1
- /package/dist/{chunk-NXHL23JW.js → chunk-XXDDMASA.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../src/hooks/published.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,cAAc,CAAA;AAG5B,cAAc,cAAc,CAAA;AAG5B,cAAc,cAAc,CAAA;AAG5B,cAAc,iBAAiB,CAAA;AAG/B,cAAc,iBAAiB,CAAA;AAG/B,cAAc,YAAY,CAAA;AAG1B,cAAc,SAAS,CAAA;AAGvB,cAAc,kBAAkB,CAAA;AAGhC,cAAc,OAAO,CAAA;AAGrB,cAAc,YAAY,CAAA"}
|
package/dist/hooks/published.js
CHANGED
|
@@ -1,8 +1,371 @@
|
|
|
1
|
-
|
|
1
|
+
import { OperationsService, SessionIdParamSchema, ExecutionIdParamsSchema, WebSocketSessionTurnSchema } from '../chunk-6IX5JZEH.js';
|
|
2
|
+
export { OperationsService, createUseFeatureAccess, executionsKeys, observabilityKeys, scheduleKeys, sortData, useActivities, useActivityTrend, useBatchDelete, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useErrorTrends, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogs, useExecutions, useGetExecutionHistory, useGetSchedule, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePauseSchedule, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResources, useResumeSchedule, useRetryExecution, useSSEConnection, useSortedData, useSuccessNotification, useTableSelection, useTableSort, useTopFailingResources, useUnresolveError, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from '../chunk-6IX5JZEH.js';
|
|
2
3
|
import '../chunk-JGJSZ3UE.js';
|
|
3
|
-
export { useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications } from '../chunk-BLO4SISK.js';
|
|
4
4
|
import '../chunk-TIRMFDM4.js';
|
|
5
5
|
import '../chunk-4VGWQ5AN.js';
|
|
6
6
|
import '../chunk-FWZJH3TL.js';
|
|
7
|
-
import '../chunk-KA7LO7U5.js';
|
|
8
|
-
import '../chunk-
|
|
7
|
+
import { useElevasisServices } from '../chunk-KA7LO7U5.js';
|
|
8
|
+
import { useOrganization } from '../chunk-DD3CCMCZ.js';
|
|
9
|
+
import { useAuthContext } from '../chunk-7PLEQFHO.js';
|
|
10
|
+
import { useQuery, useQueryClient, useMutation } from '@tanstack/react-query';
|
|
11
|
+
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
12
|
+
|
|
13
|
+
// src/hooks/sessions/queryKeys.ts
|
|
14
|
+
var sessionsKeys = {
|
|
15
|
+
all: ["sessions"],
|
|
16
|
+
sessions: (org, params) => [...sessionsKeys.all, "list", org, params],
|
|
17
|
+
session: (org, sessionId) => [...sessionsKeys.all, "detail", org, sessionId],
|
|
18
|
+
executions: (org, sessionId) => [...sessionsKeys.all, org, sessionId, "executions"],
|
|
19
|
+
execution: (org, sessionId, executionId) => [...sessionsKeys.all, org, sessionId, "executions", executionId],
|
|
20
|
+
messages: (org, sessionId) => [...sessionsKeys.all, org, sessionId, "messages"]
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
// src/hooks/sessions/constants.ts
|
|
24
|
+
var REFETCH_INTERVAL_RUNNING = 2e3;
|
|
25
|
+
var WS_RECONNECT_BASE_DELAY = 1e3;
|
|
26
|
+
var WS_RECONNECT_MAX_DELAY = 3e4;
|
|
27
|
+
var WS_MAX_RETRIES_BEFORE_ERROR = 3;
|
|
28
|
+
function useSessions(params, options) {
|
|
29
|
+
const { apiRequest, isReady } = useElevasisServices();
|
|
30
|
+
const { currentMembership } = useOrganization();
|
|
31
|
+
const organizationName = currentMembership?.organization?.name;
|
|
32
|
+
return useQuery({
|
|
33
|
+
queryKey: sessionsKeys.sessions(organizationName || "", params),
|
|
34
|
+
queryFn: async () => {
|
|
35
|
+
const service = new OperationsService(apiRequest);
|
|
36
|
+
return service.listSessions(params);
|
|
37
|
+
},
|
|
38
|
+
enabled: isReady && (options?.enabled ?? true)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function useSession(sessionId) {
|
|
42
|
+
const { apiRequest, isReady } = useElevasisServices();
|
|
43
|
+
const { currentMembership } = useOrganization();
|
|
44
|
+
const organizationName = currentMembership?.organization?.name;
|
|
45
|
+
return useQuery({
|
|
46
|
+
queryKey: sessionsKeys.session(organizationName || "", sessionId),
|
|
47
|
+
queryFn: () => {
|
|
48
|
+
const service = new OperationsService(apiRequest);
|
|
49
|
+
return service.getSession(sessionId);
|
|
50
|
+
},
|
|
51
|
+
enabled: isReady && !!sessionId
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
function useCreateSession() {
|
|
55
|
+
const { apiRequest } = useElevasisServices();
|
|
56
|
+
const { currentMembership } = useOrganization();
|
|
57
|
+
const organizationName = currentMembership?.organization?.name;
|
|
58
|
+
const queryClient = useQueryClient();
|
|
59
|
+
return useMutation({
|
|
60
|
+
mutationFn: async (resourceId) => {
|
|
61
|
+
const service = new OperationsService(apiRequest);
|
|
62
|
+
return service.createSession(resourceId);
|
|
63
|
+
},
|
|
64
|
+
onSuccess: () => {
|
|
65
|
+
queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(organizationName || "") });
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
function useDeleteSession() {
|
|
70
|
+
const { apiRequest } = useElevasisServices();
|
|
71
|
+
const { currentMembership } = useOrganization();
|
|
72
|
+
const organizationName = currentMembership?.organization?.name;
|
|
73
|
+
const queryClient = useQueryClient();
|
|
74
|
+
return useMutation({
|
|
75
|
+
mutationFn: async (sessionId) => {
|
|
76
|
+
SessionIdParamSchema.parse({ sessionId });
|
|
77
|
+
await apiRequest(`/sessions/${sessionId}`, {
|
|
78
|
+
method: "DELETE"
|
|
79
|
+
});
|
|
80
|
+
},
|
|
81
|
+
onSuccess: (_, sessionId) => {
|
|
82
|
+
queryClient.removeQueries({
|
|
83
|
+
queryKey: sessionsKeys.session(organizationName || "", sessionId)
|
|
84
|
+
});
|
|
85
|
+
queryClient.invalidateQueries({
|
|
86
|
+
queryKey: sessionsKeys.sessions(organizationName || "")
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
function useArchiveSession() {
|
|
92
|
+
const { apiRequest } = useElevasisServices();
|
|
93
|
+
const { currentMembership } = useOrganization();
|
|
94
|
+
const organizationName = currentMembership?.organization?.name;
|
|
95
|
+
const queryClient = useQueryClient();
|
|
96
|
+
return useMutation({
|
|
97
|
+
mutationFn: (sessionId) => {
|
|
98
|
+
const service = new OperationsService(apiRequest);
|
|
99
|
+
return service.archiveSession(sessionId);
|
|
100
|
+
},
|
|
101
|
+
onSuccess: () => {
|
|
102
|
+
queryClient.invalidateQueries({ queryKey: sessionsKeys.sessions(organizationName || "") });
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function useSessionExecutions(sessionId) {
|
|
107
|
+
const { apiRequest, isReady } = useElevasisServices();
|
|
108
|
+
const { currentSupabaseOrganizationId } = useOrganization();
|
|
109
|
+
return useQuery({
|
|
110
|
+
queryKey: sessionsKeys.executions(currentSupabaseOrganizationId || "", sessionId),
|
|
111
|
+
queryFn: async () => {
|
|
112
|
+
SessionIdParamSchema.parse({ sessionId });
|
|
113
|
+
return apiRequest(`/sessions/${sessionId}/executions`, {
|
|
114
|
+
method: "GET"
|
|
115
|
+
});
|
|
116
|
+
},
|
|
117
|
+
enabled: isReady && !!sessionId,
|
|
118
|
+
staleTime: 0
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function useSessionExecution(sessionId, executionId) {
|
|
122
|
+
const { apiRequest, isReady } = useElevasisServices();
|
|
123
|
+
const { currentSupabaseOrganizationId } = useOrganization();
|
|
124
|
+
return useQuery({
|
|
125
|
+
queryKey: sessionsKeys.execution(currentSupabaseOrganizationId || "", sessionId, executionId),
|
|
126
|
+
queryFn: async () => {
|
|
127
|
+
ExecutionIdParamsSchema.parse({ sessionId, executionId });
|
|
128
|
+
return apiRequest(`/sessions/${sessionId}/executions/${executionId}`, {
|
|
129
|
+
method: "GET"
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
enabled: isReady && !!sessionId && !!executionId,
|
|
133
|
+
refetchInterval: (query) => {
|
|
134
|
+
const data = query.state.data;
|
|
135
|
+
const shouldRefetch = data?.status === "running";
|
|
136
|
+
return shouldRefetch ? REFETCH_INTERVAL_RUNNING : false;
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
function useSessionMessages(sessionId) {
|
|
141
|
+
const { apiRequest, isReady } = useElevasisServices();
|
|
142
|
+
const { currentSupabaseOrganizationId } = useOrganization();
|
|
143
|
+
return useQuery({
|
|
144
|
+
queryKey: sessionsKeys.messages(currentSupabaseOrganizationId || "", sessionId),
|
|
145
|
+
queryFn: async () => {
|
|
146
|
+
SessionIdParamSchema.parse({ sessionId });
|
|
147
|
+
const response = await apiRequest(`/sessions/${sessionId}/messages`, {
|
|
148
|
+
method: "GET"
|
|
149
|
+
});
|
|
150
|
+
const messages = response.messages.map((msg) => ({
|
|
151
|
+
...msg,
|
|
152
|
+
createdAt: new Date(msg.createdAt)
|
|
153
|
+
}));
|
|
154
|
+
return messages;
|
|
155
|
+
},
|
|
156
|
+
enabled: isReady && !!sessionId,
|
|
157
|
+
staleTime: 0
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function formatMessageEvent(event) {
|
|
161
|
+
switch (event.type) {
|
|
162
|
+
case "user_message":
|
|
163
|
+
return event.text;
|
|
164
|
+
case "assistant_message":
|
|
165
|
+
return event.text;
|
|
166
|
+
case "agent:started":
|
|
167
|
+
return "\u{1F916} Agent started reasoning";
|
|
168
|
+
case "agent:reasoning":
|
|
169
|
+
return `\u{1F4AD} Reasoning (Iteration ${event.iteration})`;
|
|
170
|
+
case "agent:tool_call":
|
|
171
|
+
return `\u{1F527} Tool: ${event.toolName}`;
|
|
172
|
+
case "agent:tool_result":
|
|
173
|
+
return event.success ? "\u2705 Tool Result" : "\u26A0\uFE0F Tool Result (Failed)";
|
|
174
|
+
case "agent:completed":
|
|
175
|
+
return "\u2705 Agent completed";
|
|
176
|
+
case "agent:error":
|
|
177
|
+
return `\u274C Agent error: ${event.error}`;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
function getWsUrl(apiUrl) {
|
|
181
|
+
const url = new URL(apiUrl);
|
|
182
|
+
const protocol = url.protocol === "https:" ? "wss:" : "ws:";
|
|
183
|
+
return `${protocol}//${url.host}`;
|
|
184
|
+
}
|
|
185
|
+
function useSessionWebSocket(sessionId, apiUrl) {
|
|
186
|
+
const [messages, setMessages] = useState([]);
|
|
187
|
+
const [state, setState] = useState({
|
|
188
|
+
isConnected: false,
|
|
189
|
+
isProcessing: false,
|
|
190
|
+
error: null
|
|
191
|
+
});
|
|
192
|
+
const [lastTokenUsage, setLastTokenUsage] = useState(null);
|
|
193
|
+
const wsRef = useRef(null);
|
|
194
|
+
const retryCountRef = useRef(0);
|
|
195
|
+
const reconnectTimeoutRef = useRef(null);
|
|
196
|
+
const { getAccessToken } = useAuthContext();
|
|
197
|
+
const { currentWorkOSOrganizationId, currentSupabaseOrganizationId } = useOrganization();
|
|
198
|
+
const queryClient = useQueryClient();
|
|
199
|
+
const getAccessTokenRef = useRef(getAccessToken);
|
|
200
|
+
getAccessTokenRef.current = getAccessToken;
|
|
201
|
+
const currentWorkOSOrgIdRef = useRef(currentWorkOSOrganizationId);
|
|
202
|
+
currentWorkOSOrgIdRef.current = currentWorkOSOrganizationId;
|
|
203
|
+
const queryClientRef = useRef(queryClient);
|
|
204
|
+
queryClientRef.current = queryClient;
|
|
205
|
+
const currentSupabaseOrgIdRef = useRef(currentSupabaseOrganizationId);
|
|
206
|
+
currentSupabaseOrgIdRef.current = currentSupabaseOrganizationId;
|
|
207
|
+
const connect = useCallback(async () => {
|
|
208
|
+
if (!currentWorkOSOrgIdRef.current) {
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (wsRef.current?.readyState === WebSocket.OPEN || wsRef.current?.readyState === WebSocket.CONNECTING) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const token = await getAccessTokenRef.current();
|
|
215
|
+
if (!token) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const orgId = currentWorkOSOrgIdRef.current;
|
|
219
|
+
const wsUrl = `${getWsUrl(apiUrl)}/ws/sessions/${sessionId}?token=${token}&orgId=${orgId}`;
|
|
220
|
+
const ws = new WebSocket(wsUrl);
|
|
221
|
+
ws.onopen = () => {
|
|
222
|
+
setState((prev) => ({ ...prev, isConnected: true, error: null }));
|
|
223
|
+
retryCountRef.current = 0;
|
|
224
|
+
const supabaseOrgId = currentSupabaseOrgIdRef.current;
|
|
225
|
+
if (supabaseOrgId) {
|
|
226
|
+
queryClientRef.current.invalidateQueries({
|
|
227
|
+
queryKey: sessionsKeys.messages(supabaseOrgId, sessionId)
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
ws.onmessage = (event) => {
|
|
232
|
+
try {
|
|
233
|
+
const data = JSON.parse(event.data);
|
|
234
|
+
if (data.type && data.type !== "turn:complete" && data.type !== "error") {
|
|
235
|
+
const tempMessage = {
|
|
236
|
+
id: `temp-${Date.now()}`,
|
|
237
|
+
role: data.type === "user_message" ? "user" : "assistant",
|
|
238
|
+
messageType: data.type,
|
|
239
|
+
text: formatMessageEvent(data),
|
|
240
|
+
// Format based on type
|
|
241
|
+
metadata: data.type.startsWith("agent:") ? data : void 0,
|
|
242
|
+
turnNumber: 999999,
|
|
243
|
+
// High placeholder so temp messages sort to bottom
|
|
244
|
+
messageIndex: Date.now(),
|
|
245
|
+
// Use timestamp for unique ordering
|
|
246
|
+
createdAt: /* @__PURE__ */ new Date()
|
|
247
|
+
};
|
|
248
|
+
setMessages((prev) => [...prev, tempMessage]);
|
|
249
|
+
} else if (data.type === "turn:complete") {
|
|
250
|
+
if (data.tokenUsage) {
|
|
251
|
+
setLastTokenUsage(data.tokenUsage);
|
|
252
|
+
}
|
|
253
|
+
setState((prev) => ({ ...prev, isProcessing: false }));
|
|
254
|
+
const supabaseOrgId = currentSupabaseOrgIdRef.current;
|
|
255
|
+
if (supabaseOrgId) {
|
|
256
|
+
queryClientRef.current.invalidateQueries({
|
|
257
|
+
queryKey: sessionsKeys.messages(supabaseOrgId, sessionId)
|
|
258
|
+
});
|
|
259
|
+
queryClientRef.current.invalidateQueries({
|
|
260
|
+
queryKey: sessionsKeys.executions(supabaseOrgId, sessionId)
|
|
261
|
+
});
|
|
262
|
+
queryClientRef.current.invalidateQueries({
|
|
263
|
+
queryKey: sessionsKeys.session(supabaseOrgId, sessionId)
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
} else if (data.type === "error") {
|
|
267
|
+
setState((prev) => ({
|
|
268
|
+
...prev,
|
|
269
|
+
error: data.error,
|
|
270
|
+
isProcessing: false
|
|
271
|
+
}));
|
|
272
|
+
}
|
|
273
|
+
} catch (error) {
|
|
274
|
+
console.error("Failed to parse WebSocket message:", error);
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
ws.onerror = () => {
|
|
278
|
+
};
|
|
279
|
+
ws.onclose = (event) => {
|
|
280
|
+
setState((prev) => ({ ...prev, isConnected: false }));
|
|
281
|
+
if (!event.wasClean && retryCountRef.current >= WS_MAX_RETRIES_BEFORE_ERROR) {
|
|
282
|
+
setState((prev) => ({
|
|
283
|
+
...prev,
|
|
284
|
+
error: "Unable to connect to session. Retrying..."
|
|
285
|
+
}));
|
|
286
|
+
}
|
|
287
|
+
const terminalCodes = [1003, 1008];
|
|
288
|
+
if (terminalCodes.includes(event.code) || event.code >= 4e3) {
|
|
289
|
+
setState((prev) => ({
|
|
290
|
+
...prev,
|
|
291
|
+
error: `Connection rejected (code ${event.code})`
|
|
292
|
+
}));
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const delay = Math.min(WS_RECONNECT_BASE_DELAY * Math.pow(2, retryCountRef.current), WS_RECONNECT_MAX_DELAY);
|
|
296
|
+
retryCountRef.current += 1;
|
|
297
|
+
reconnectTimeoutRef.current = setTimeout(() => {
|
|
298
|
+
connect();
|
|
299
|
+
}, delay);
|
|
300
|
+
};
|
|
301
|
+
wsRef.current = ws;
|
|
302
|
+
}, [sessionId, apiUrl]);
|
|
303
|
+
useEffect(() => {
|
|
304
|
+
retryCountRef.current = 0;
|
|
305
|
+
if (currentWorkOSOrgIdRef.current) {
|
|
306
|
+
connect();
|
|
307
|
+
}
|
|
308
|
+
return () => {
|
|
309
|
+
if (reconnectTimeoutRef.current) {
|
|
310
|
+
clearTimeout(reconnectTimeoutRef.current);
|
|
311
|
+
}
|
|
312
|
+
if (wsRef.current) {
|
|
313
|
+
wsRef.current.close();
|
|
314
|
+
wsRef.current = null;
|
|
315
|
+
}
|
|
316
|
+
};
|
|
317
|
+
}, [sessionId, currentWorkOSOrganizationId, connect]);
|
|
318
|
+
const sendMessage = useCallback(
|
|
319
|
+
(text, pageContext) => {
|
|
320
|
+
const trimmed = text.trim();
|
|
321
|
+
if (!trimmed) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
if (!wsRef.current || state.isProcessing) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
if (wsRef.current.readyState !== WebSocket.OPEN) {
|
|
328
|
+
setState((prev) => ({
|
|
329
|
+
...prev,
|
|
330
|
+
error: "WebSocket not connected"
|
|
331
|
+
}));
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
const userMessage = {
|
|
335
|
+
id: `temp-${Date.now()}`,
|
|
336
|
+
role: "user",
|
|
337
|
+
messageType: "user_message",
|
|
338
|
+
text: trimmed,
|
|
339
|
+
turnNumber: 999999,
|
|
340
|
+
// High placeholder so temp messages sort to bottom
|
|
341
|
+
messageIndex: Date.now(),
|
|
342
|
+
// Use timestamp for unique ordering
|
|
343
|
+
createdAt: /* @__PURE__ */ new Date()
|
|
344
|
+
};
|
|
345
|
+
setMessages((prev) => [...prev, userMessage]);
|
|
346
|
+
const input = { message: trimmed };
|
|
347
|
+
if (pageContext) {
|
|
348
|
+
input.pageContext = pageContext;
|
|
349
|
+
}
|
|
350
|
+
const message = WebSocketSessionTurnSchema.parse({
|
|
351
|
+
type: "session:turn",
|
|
352
|
+
input
|
|
353
|
+
});
|
|
354
|
+
wsRef.current.send(JSON.stringify(message));
|
|
355
|
+
setState((prev) => ({ ...prev, isProcessing: true, error: null }));
|
|
356
|
+
},
|
|
357
|
+
[state.isProcessing, sessionId]
|
|
358
|
+
);
|
|
359
|
+
const clearError = useCallback(() => {
|
|
360
|
+
setState((prev) => ({ ...prev, error: null }));
|
|
361
|
+
}, []);
|
|
362
|
+
return {
|
|
363
|
+
messages,
|
|
364
|
+
state,
|
|
365
|
+
sendMessage,
|
|
366
|
+
clearError,
|
|
367
|
+
lastTokenUsage
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
export { REFETCH_INTERVAL_RUNNING, WS_MAX_RETRIES_BEFORE_ERROR, WS_RECONNECT_BASE_DELAY, WS_RECONNECT_MAX_DELAY, sessionsKeys, useArchiveSession, useCreateSession, useDeleteSession, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { scheduleKeys } from './queryKeys';
|
|
2
|
+
export type { ListSchedulesFilters } from './queryKeys';
|
|
3
|
+
export { useListSchedules, useGetSchedule, useGetExecutionHistory, useCreateSchedule, useUpdateSchedule, useUpdateAnchor, usePauseSchedule, useResumeSchedule, useCancelSchedule, useDeleteSchedule } from './useSchedules';
|
|
4
|
+
export type { CreateScheduleInput, UpdateScheduleInput, ListSchedulesResponse, ExecutionHistoryItem, ExecutionHistoryResponse, TaskSchedule } from './useSchedules';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/scheduling/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,EACb,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { TaskSchedule, TaskScheduleConfig, ExecutionHistoryItem, ExecutionHistoryResponse } from '@repo/core';
|
|
2
|
+
import type { ListSchedulesFilters } from './queryKeys';
|
|
3
|
+
export interface CreateScheduleInput {
|
|
4
|
+
name: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
target: {
|
|
7
|
+
resourceType: 'agent' | 'workflow';
|
|
8
|
+
resourceId: string;
|
|
9
|
+
};
|
|
10
|
+
scheduleConfig: TaskScheduleConfig;
|
|
11
|
+
maxRetries?: number;
|
|
12
|
+
idempotencyKey?: string;
|
|
13
|
+
originExecutionId?: string;
|
|
14
|
+
originResourceType?: 'agent' | 'workflow' | 'scheduler' | 'api';
|
|
15
|
+
originResourceId?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface UpdateScheduleInput {
|
|
18
|
+
id: string;
|
|
19
|
+
name?: string;
|
|
20
|
+
description?: string | null;
|
|
21
|
+
scheduleConfig?: TaskScheduleConfig;
|
|
22
|
+
maxRetries?: number;
|
|
23
|
+
}
|
|
24
|
+
/** List response using domain type for CC compatibility. */
|
|
25
|
+
export interface ListSchedulesResponse {
|
|
26
|
+
schedules: TaskSchedule[];
|
|
27
|
+
total: number;
|
|
28
|
+
limit: number;
|
|
29
|
+
offset: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* List schedules with optional filters.
|
|
33
|
+
*
|
|
34
|
+
* @param filters - Optional filters for status, target resource, and pagination
|
|
35
|
+
* @returns TanStack Query result with schedules array and pagination info
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* const { data, isLoading } = useListSchedules({ status: 'active', limit: 20 })
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare function useListSchedules(filters?: ListSchedulesFilters): import("@tanstack/react-query").UseQueryResult<ListSchedulesResponse, Error>;
|
|
43
|
+
/**
|
|
44
|
+
* Get a single schedule by ID.
|
|
45
|
+
*
|
|
46
|
+
* @param id - Schedule UUID (undefined to disable query)
|
|
47
|
+
* @returns TanStack Query result with schedule data
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* const { data: schedule, isLoading } = useGetSchedule(scheduleId)
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function useGetSchedule(id: string | undefined): import("@tanstack/react-query").UseQueryResult<TaskSchedule, Error>;
|
|
55
|
+
/**
|
|
56
|
+
* Get execution history for a schedule.
|
|
57
|
+
*
|
|
58
|
+
* @param scheduleId - Schedule UUID (undefined to disable query)
|
|
59
|
+
* @param options - Pagination options (limit, offset)
|
|
60
|
+
* @returns TanStack Query result with execution history and pagination info
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```tsx
|
|
64
|
+
* const { data } = useGetExecutionHistory(scheduleId, { limit: 10 })
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function useGetExecutionHistory(scheduleId: string | undefined, options?: {
|
|
68
|
+
limit?: number;
|
|
69
|
+
offset?: number;
|
|
70
|
+
}): import("@tanstack/react-query").UseQueryResult<{
|
|
71
|
+
executions: {
|
|
72
|
+
id: string;
|
|
73
|
+
createdAt: string;
|
|
74
|
+
status: "completed" | "failed" | "running" | "cancelled";
|
|
75
|
+
step: number | null;
|
|
76
|
+
itemLabel: string | null;
|
|
77
|
+
duration: number | null;
|
|
78
|
+
error: string | null;
|
|
79
|
+
}[];
|
|
80
|
+
total: number;
|
|
81
|
+
limit: number;
|
|
82
|
+
offset: number;
|
|
83
|
+
}, Error>;
|
|
84
|
+
/**
|
|
85
|
+
* Create a new schedule.
|
|
86
|
+
*
|
|
87
|
+
* @returns TanStack Mutation for creating schedules
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```tsx
|
|
91
|
+
* const createSchedule = useCreateSchedule()
|
|
92
|
+
*
|
|
93
|
+
* createSchedule.mutate({
|
|
94
|
+
* name: 'Daily Report',
|
|
95
|
+
* target: { resourceType: 'workflow', resourceId: 'wf-123' },
|
|
96
|
+
* scheduleConfig: { type: 'recurring', cron: '0 9 * * *', timezone: 'UTC', payload: {} }
|
|
97
|
+
* })
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare function useCreateSchedule(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, CreateScheduleInput, unknown>;
|
|
101
|
+
/**
|
|
102
|
+
* Update schedule fields (name, description, scheduleConfig, maxRetries).
|
|
103
|
+
* Only active or paused schedules can be updated.
|
|
104
|
+
*
|
|
105
|
+
* @returns TanStack Mutation for updating schedules
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```tsx
|
|
109
|
+
* const updateSchedule = useUpdateSchedule()
|
|
110
|
+
*
|
|
111
|
+
* updateSchedule.mutate({ id: 'schedule-123', name: 'Updated Name' })
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export declare function useUpdateSchedule(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, UpdateScheduleInput, unknown>;
|
|
115
|
+
/**
|
|
116
|
+
* Update anchor datetime for relative schedules.
|
|
117
|
+
* Only applicable to schedules with type: 'relative'.
|
|
118
|
+
*
|
|
119
|
+
* @returns TanStack Mutation for updating schedule anchor
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```tsx
|
|
123
|
+
* const updateAnchor = useUpdateAnchor()
|
|
124
|
+
*
|
|
125
|
+
* updateAnchor.mutate({ id: 'schedule-123', anchorAt: '2026-02-01T09:00:00Z' })
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare function useUpdateAnchor(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, {
|
|
129
|
+
id: string;
|
|
130
|
+
anchorAt: string;
|
|
131
|
+
}, unknown>;
|
|
132
|
+
/**
|
|
133
|
+
* Pause a schedule.
|
|
134
|
+
* Paused schedules will not execute until resumed.
|
|
135
|
+
*
|
|
136
|
+
* @returns TanStack Mutation for pausing schedules
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```tsx
|
|
140
|
+
* const pauseSchedule = usePauseSchedule()
|
|
141
|
+
* pauseSchedule.mutate('schedule-123')
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
export declare function usePauseSchedule(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, string, unknown>;
|
|
145
|
+
/**
|
|
146
|
+
* Resume a paused schedule.
|
|
147
|
+
*
|
|
148
|
+
* @returns TanStack Mutation for resuming schedules
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```tsx
|
|
152
|
+
* const resumeSchedule = useResumeSchedule()
|
|
153
|
+
* resumeSchedule.mutate('schedule-123')
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
export declare function useResumeSchedule(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, string, unknown>;
|
|
157
|
+
/**
|
|
158
|
+
* Cancel a schedule permanently (soft delete).
|
|
159
|
+
* Sets status to 'cancelled' -- schedule remains in DB for history.
|
|
160
|
+
* Cancelled schedules cannot be resumed.
|
|
161
|
+
*
|
|
162
|
+
* @returns TanStack Mutation for cancelling schedules
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```tsx
|
|
166
|
+
* const cancelSchedule = useCancelSchedule()
|
|
167
|
+
* cancelSchedule.mutate('schedule-123')
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
export declare function useCancelSchedule(): import("@tanstack/react-query").UseMutationResult<TaskSchedule, Error, string, unknown>;
|
|
171
|
+
/**
|
|
172
|
+
* Delete a schedule permanently (hard delete).
|
|
173
|
+
* Removes schedule from database entirely.
|
|
174
|
+
*
|
|
175
|
+
* @returns TanStack Mutation for deleting schedules
|
|
176
|
+
*
|
|
177
|
+
* @example
|
|
178
|
+
* ```tsx
|
|
179
|
+
* const deleteSchedule = useDeleteSchedule()
|
|
180
|
+
* deleteSchedule.mutate('schedule-123')
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export declare function useDeleteSchedule(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
|
|
184
|
+
export type { ExecutionHistoryItem, ExecutionHistoryResponse, TaskSchedule };
|
|
185
|
+
//# sourceMappingURL=useSchedules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSchedules.d.ts","sourceRoot":"","sources":["../../../src/hooks/scheduling/useSchedules.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAGlH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAMvD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE;QACN,YAAY,EAAE,OAAO,GAAG,UAAU,CAAA;QAClC,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,cAAc,EAAE,kBAAkB,CAAA;IAClC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAA;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,4DAA4D;AAC5D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,oBAAoB,gFAoB9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,uEAWpD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;UAiBnH;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,yGAiBhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,yGAqBhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe;QAKgB,MAAM;cAAY,MAAM;YAgBtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,4FAiB/B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,4FAiBhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,4FAiBhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,oFAchC;AAGD,YAAY,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './queryKeys';
|
|
2
|
+
export * from './types';
|
|
3
|
+
export * from './constants';
|
|
4
|
+
export * from './useSessions';
|
|
5
|
+
export * from './useSessionExecutions';
|
|
6
|
+
export * from './useSessionMessages';
|
|
7
|
+
export * from './useSessionWebSocket';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/sessions/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { APIExecutionDetail } from '@repo/core';
|
|
2
|
+
import type { SessionExecutionsResponse } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Hook to fetch all executions for a session, grouped by turn.
|
|
5
|
+
* Each turn creates one execution.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useSessionExecutions(sessionId: string): import("@tanstack/react-query").UseQueryResult<SessionExecutionsResponse, Error>;
|
|
8
|
+
/**
|
|
9
|
+
* Hook to fetch a single execution detail for a session turn.
|
|
10
|
+
* Auto-refetches every 2 seconds while the execution is still running.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useSessionExecution(sessionId: string, executionId: string): import("@tanstack/react-query").UseQueryResult<APIExecutionDetail, Error>;
|
|
13
|
+
//# sourceMappingURL=useSessionExecutions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessionExecutions.d.ts","sourceRoot":"","sources":["../../../src/hooks/sessions/useSessionExecutions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAKpD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAExD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,oFAgBrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,6EAoBzE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ChatMessage } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to fetch message history for a session.
|
|
4
|
+
* Transforms ISO date strings to Date objects on the returned messages.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useSessionMessages(sessionId: string): import("@tanstack/react-query").UseQueryResult<ChatMessage[], Error>;
|
|
7
|
+
//# sourceMappingURL=useSessionMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessionMessages.d.ts","sourceRoot":"","sources":["../../../src/hooks/sessions/useSessionMessages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,SAAS,CAAA;AAE/D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,wEAuBnD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CreateSessionResponse } from '../services/OperationsService';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to fetch sessions list with optional filtering.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useSessions(params?: {
|
|
6
|
+
resourceId?: string;
|
|
7
|
+
}, options?: {
|
|
8
|
+
enabled?: boolean;
|
|
9
|
+
}): import("@tanstack/react-query").UseQueryResult<import("..").SessionListItem[], Error>;
|
|
10
|
+
/**
|
|
11
|
+
* Hook to fetch a single session by ID.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useSession(sessionId: string): import("@tanstack/react-query").UseQueryResult<import("@repo/core").SessionDTO, Error>;
|
|
14
|
+
/**
|
|
15
|
+
* Hook to create a new session.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useCreateSession(): import("@tanstack/react-query").UseMutationResult<CreateSessionResponse, Error, string, unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* Hook to delete a session.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useDeleteSession(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
|
|
22
|
+
/**
|
|
23
|
+
* Hook to archive a session.
|
|
24
|
+
*/
|
|
25
|
+
export declare function useArchiveSession(): import("@tanstack/react-query").UseMutationResult<void, Error, string, unknown>;
|
|
26
|
+
//# sourceMappingURL=useSessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSessions.d.ts","sourceRoot":"","sources":["../../../src/hooks/sessions/useSessions.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAG1E;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yFAa5F;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,0FAa3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,qGAe/B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,oFAuB/B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,oFAehC"}
|