@anastops/mcp-server 0.1.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/formatters.d.ts.map +1 -1
- package/dist/formatters.js +12 -3
- package/dist/formatters.js.map +1 -1
- package/dist/handlers/agent-handlers.d.ts +8 -0
- package/dist/handlers/agent-handlers.d.ts.map +1 -0
- package/dist/handlers/agent-handlers.js +184 -0
- package/dist/handlers/agent-handlers.js.map +1 -0
- package/dist/handlers/artifact-handlers.d.ts +8 -0
- package/dist/handlers/artifact-handlers.d.ts.map +1 -0
- package/dist/handlers/artifact-handlers.js +122 -0
- package/dist/handlers/artifact-handlers.js.map +1 -0
- package/dist/handlers/cost-handlers.d.ts +8 -0
- package/dist/handlers/cost-handlers.d.ts.map +1 -0
- package/dist/handlers/cost-handlers.js +140 -0
- package/dist/handlers/cost-handlers.js.map +1 -0
- package/dist/handlers/handlers.agent.d.ts +10 -0
- package/dist/handlers/handlers.agent.d.ts.map +1 -0
- package/dist/handlers/handlers.agent.js +99 -0
- package/dist/handlers/handlers.agent.js.map +1 -0
- package/dist/handlers/handlers.base.d.ts +82 -0
- package/dist/handlers/handlers.base.d.ts.map +1 -0
- package/dist/handlers/handlers.base.js +337 -0
- package/dist/handlers/handlers.base.js.map +1 -0
- package/dist/handlers/handlers.lock.d.ts +8 -0
- package/dist/handlers/handlers.lock.d.ts.map +1 -0
- package/dist/handlers/handlers.lock.js +111 -0
- package/dist/handlers/handlers.lock.js.map +1 -0
- package/dist/handlers/handlers.memory.d.ts +11 -0
- package/dist/handlers/handlers.memory.d.ts.map +1 -0
- package/dist/handlers/handlers.memory.js +122 -0
- package/dist/handlers/handlers.memory.js.map +1 -0
- package/dist/handlers/handlers.monitoring.d.ts +8 -0
- package/dist/handlers/handlers.monitoring.d.ts.map +1 -0
- package/dist/handlers/handlers.monitoring.js +99 -0
- package/dist/handlers/handlers.monitoring.js.map +1 -0
- package/dist/handlers/handlers.orchestration.d.ts +9 -0
- package/dist/handlers/handlers.orchestration.d.ts.map +1 -0
- package/dist/handlers/handlers.orchestration.js +128 -0
- package/dist/handlers/handlers.orchestration.js.map +1 -0
- package/dist/handlers/handlers.session.d.ts +18 -0
- package/dist/handlers/handlers.session.d.ts.map +1 -0
- package/dist/handlers/handlers.session.js +286 -0
- package/dist/handlers/handlers.session.js.map +1 -0
- package/dist/handlers/handlers.task.d.ts +15 -0
- package/dist/handlers/handlers.task.d.ts.map +1 -0
- package/dist/handlers/handlers.task.js +753 -0
- package/dist/handlers/handlers.task.js.map +1 -0
- package/dist/handlers/handlers.utility.d.ts +10 -0
- package/dist/handlers/handlers.utility.d.ts.map +1 -0
- package/dist/handlers/handlers.utility.js +59 -0
- package/dist/handlers/handlers.utility.js.map +1 -0
- package/dist/handlers/index.d.ts +18 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +209 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/handlers/lock-handlers.d.ts +8 -0
- package/dist/handlers/lock-handlers.d.ts.map +1 -0
- package/dist/handlers/lock-handlers.js +154 -0
- package/dist/handlers/lock-handlers.js.map +1 -0
- package/dist/handlers/memory-handlers.d.ts +8 -0
- package/dist/handlers/memory-handlers.d.ts.map +1 -0
- package/dist/handlers/memory-handlers.js +76 -0
- package/dist/handlers/memory-handlers.js.map +1 -0
- package/dist/handlers/orchestration-handlers.d.ts +8 -0
- package/dist/handlers/orchestration-handlers.d.ts.map +1 -0
- package/dist/handlers/orchestration-handlers.js +113 -0
- package/dist/handlers/orchestration-handlers.js.map +1 -0
- package/dist/handlers/session-handlers.d.ts +8 -0
- package/dist/handlers/session-handlers.d.ts.map +1 -0
- package/dist/handlers/session-handlers.js +558 -0
- package/dist/handlers/session-handlers.js.map +1 -0
- package/dist/handlers/task-handlers.d.ts +8 -0
- package/dist/handlers/task-handlers.d.ts.map +1 -0
- package/dist/handlers/task-handlers.js +677 -0
- package/dist/handlers/task-handlers.js.map +1 -0
- package/dist/handlers/tool-definitions.d.ts +2626 -0
- package/dist/handlers/tool-definitions.d.ts.map +1 -0
- package/dist/handlers/tool-definitions.js +641 -0
- package/dist/handlers/tool-definitions.js.map +1 -0
- package/dist/handlers/types.d.ts +90 -0
- package/dist/handlers/types.d.ts.map +1 -0
- package/dist/handlers/types.js +5 -0
- package/dist/handlers/types.js.map +1 -0
- package/dist/handlers/utility-handlers.d.ts +8 -0
- package/dist/handlers/utility-handlers.d.ts.map +1 -0
- package/dist/handlers/utility-handlers.js +113 -0
- package/dist/handlers/utility-handlers.js.map +1 -0
- package/dist/handlers/utils.d.ts +30 -0
- package/dist/handlers/utils.d.ts.map +1 -0
- package/dist/handlers/utils.js +95 -0
- package/dist/handlers/utils.js.map +1 -0
- package/dist/handlers.d.ts +17 -2260
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +17 -1836
- package/dist/handlers.js.map +1 -1
- package/dist/index.js +41 -7
- package/dist/index.js.map +1 -1
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +84 -47
- package/dist/persistence.js.map +1 -1
- package/dist/schemas.d.ts +299 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +334 -0
- package/dist/schemas.js.map +1 -0
- package/package.json +8 -5
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Handlers - Session Management
|
|
3
|
+
* Handles: session_spawn, session_status, session_list, session_fork, session_archive, session_report, session_purge
|
|
4
|
+
*/
|
|
5
|
+
import { SessionManager, SessionForkService, addBreadcrumb, } from '@anastops/core';
|
|
6
|
+
import { getPersistence } from '../persistence.js';
|
|
7
|
+
import { safePersist, formatSessionReport, tasks, agents, artifacts } from './handlers.base.js';
|
|
8
|
+
// Shared instances
|
|
9
|
+
const sessionManager = new SessionManager();
|
|
10
|
+
const forkService = new SessionForkService(sessionManager);
|
|
11
|
+
export function handleSessionSpawn(args) {
|
|
12
|
+
const objective = args['objective'];
|
|
13
|
+
addBreadcrumb('Spawning session', { objective }, 'info', 'session');
|
|
14
|
+
const session = sessionManager.spawn({
|
|
15
|
+
objective,
|
|
16
|
+
...(args['context_files'] !== undefined && {
|
|
17
|
+
context_files: args['context_files'],
|
|
18
|
+
}),
|
|
19
|
+
...(args['parent_session'] !== undefined && {
|
|
20
|
+
parent_session: args['parent_session'],
|
|
21
|
+
}),
|
|
22
|
+
...(args['concurrency'] !== undefined && { concurrency: args['concurrency'] }),
|
|
23
|
+
...(args['auto_execute'] !== undefined && { auto_execute: args['auto_execute'] }),
|
|
24
|
+
});
|
|
25
|
+
addBreadcrumb('Session spawned', { session_id: session.id }, 'info', 'session');
|
|
26
|
+
// Persist to MongoDB
|
|
27
|
+
safePersist(getPersistence().saveSession(session));
|
|
28
|
+
return Promise.resolve({
|
|
29
|
+
session_id: session.id,
|
|
30
|
+
objective: session.objective,
|
|
31
|
+
status: session.status,
|
|
32
|
+
queue_config: session.queue_config,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export function handleSessionStatus(args) {
|
|
36
|
+
const status = sessionManager.getStatus(args['session_id']);
|
|
37
|
+
// TOON encoding applied in handleToolCall
|
|
38
|
+
return Promise.resolve(status);
|
|
39
|
+
}
|
|
40
|
+
export async function handleSessionList(args) {
|
|
41
|
+
// Get from in-memory first
|
|
42
|
+
const inMemorySessions = sessionManager.list({
|
|
43
|
+
...(args['status'] !== undefined && { status: args['status'] }),
|
|
44
|
+
...(args['include_forks'] !== undefined && { include_forks: args['include_forks'] }),
|
|
45
|
+
...(args['limit'] !== undefined && { limit: args['limit'] }),
|
|
46
|
+
});
|
|
47
|
+
// Also get from MongoDB for persistence
|
|
48
|
+
const persistedSessions = await getPersistence().listSessions({
|
|
49
|
+
...(args['status'] !== undefined && { status: args['status'] }),
|
|
50
|
+
...(args['limit'] !== undefined && { limit: args['limit'] }),
|
|
51
|
+
});
|
|
52
|
+
// Merge: in-memory takes precedence, then add persisted ones not in memory
|
|
53
|
+
const inMemoryIds = new Set(inMemorySessions.map((s) => s.id));
|
|
54
|
+
const sessions = [
|
|
55
|
+
...inMemorySessions,
|
|
56
|
+
...persistedSessions.filter((s) => !inMemoryIds.has(s.id)),
|
|
57
|
+
];
|
|
58
|
+
// Return raw result for table formatting to be applied in handleToolCall
|
|
59
|
+
const result = {
|
|
60
|
+
count: sessions.length,
|
|
61
|
+
sessions: sessions.map((s) => ({
|
|
62
|
+
id: s.id,
|
|
63
|
+
objective: s.objective,
|
|
64
|
+
status: s.status,
|
|
65
|
+
created_at: s.created_at,
|
|
66
|
+
})),
|
|
67
|
+
};
|
|
68
|
+
// Don't apply TOON encoding here - let handleToolCall handle formatting
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
export function handleSessionFork(args) {
|
|
72
|
+
const sessionId = args['session_id'];
|
|
73
|
+
const reason = args['reason'] ?? 'unknown';
|
|
74
|
+
addBreadcrumb('Forking session', { session_id: sessionId, reason }, 'info', 'session');
|
|
75
|
+
const forked = forkService.fork({
|
|
76
|
+
session_id: sessionId,
|
|
77
|
+
...(args['fork_point'] !== undefined && { fork_point: args['fork_point'] }),
|
|
78
|
+
...(args['reason'] !== undefined && { reason }),
|
|
79
|
+
});
|
|
80
|
+
addBreadcrumb('Session forked', { forked_session_id: forked.id, parent_id: forked.parent_session_id }, 'info', 'session');
|
|
81
|
+
// Persist to MongoDB
|
|
82
|
+
safePersist(getPersistence().saveSession(forked));
|
|
83
|
+
return Promise.resolve({
|
|
84
|
+
forked_session_id: forked.id,
|
|
85
|
+
parent_id: forked.parent_session_id,
|
|
86
|
+
fork_point: forked.fork_point,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
export function handleSessionArchive(args) {
|
|
90
|
+
const session = sessionManager.updateStatus(args['session_id'], 'archived');
|
|
91
|
+
// Persist to MongoDB
|
|
92
|
+
safePersist(getPersistence().saveSession(session));
|
|
93
|
+
return Promise.resolve({ session_id: session.id, status: session.status });
|
|
94
|
+
}
|
|
95
|
+
export async function handleSessionReport(args) {
|
|
96
|
+
const sessionId = args['session_id'];
|
|
97
|
+
const statusFilter = args['status'];
|
|
98
|
+
const includeOutput = args['include_output'] ?? true;
|
|
99
|
+
const includeArtifactContent = args['include_artifacts'] ?? false;
|
|
100
|
+
const limit = args['limit'] ?? 20;
|
|
101
|
+
const persistence = getPersistence();
|
|
102
|
+
if (sessionId !== undefined && sessionId !== '') {
|
|
103
|
+
// Single session report
|
|
104
|
+
const report = await persistence.getSessionReport(sessionId);
|
|
105
|
+
if (report === null) {
|
|
106
|
+
throw new Error(`Session not found: ${sessionId}`);
|
|
107
|
+
}
|
|
108
|
+
return formatSessionReport(report, includeOutput, includeArtifactContent);
|
|
109
|
+
}
|
|
110
|
+
// All sessions report
|
|
111
|
+
const reportFilters = { limit };
|
|
112
|
+
if (statusFilter !== undefined) {
|
|
113
|
+
reportFilters.status = statusFilter;
|
|
114
|
+
}
|
|
115
|
+
const reports = await persistence.getAllSessionReports(reportFilters);
|
|
116
|
+
return {
|
|
117
|
+
total_sessions: reports.length,
|
|
118
|
+
sessions: reports.map((r) => formatSessionReport(r, includeOutput, includeArtifactContent)),
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export async function handleSessionPurge(args) {
|
|
122
|
+
const confirm = args['confirm'];
|
|
123
|
+
if (!confirm) {
|
|
124
|
+
return { error: 'Must set confirm: true to execute deletion' };
|
|
125
|
+
}
|
|
126
|
+
const sessionId = args['session_id'];
|
|
127
|
+
const sessionIds = args['session_ids'];
|
|
128
|
+
const statusFilter = args['status'];
|
|
129
|
+
const olderThanDays = args['older_than_days'];
|
|
130
|
+
const persistence = getPersistence();
|
|
131
|
+
// Single session deletion
|
|
132
|
+
if (sessionId !== undefined && sessionId !== '') {
|
|
133
|
+
// Remove from in-memory cache
|
|
134
|
+
sessionManager.remove(sessionId);
|
|
135
|
+
// Remove related tasks from cache
|
|
136
|
+
for (const [taskId, task] of tasks.entries()) {
|
|
137
|
+
if (task.session_id === sessionId) {
|
|
138
|
+
tasks.delete(taskId);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Remove related agents from cache
|
|
142
|
+
for (const [agentId, agent] of agents.entries()) {
|
|
143
|
+
if (agent.session_id === sessionId) {
|
|
144
|
+
agents.delete(agentId);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Remove related artifacts from cache
|
|
148
|
+
for (const [artifactId, artifact] of artifacts.entries()) {
|
|
149
|
+
if (artifact.session_id === sessionId) {
|
|
150
|
+
artifacts.delete(artifactId);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const deleted = await persistence.deleteSession(sessionId);
|
|
154
|
+
return { deleted: deleted, session_id: sessionId };
|
|
155
|
+
}
|
|
156
|
+
// Build filters for bulk deletion
|
|
157
|
+
const filters = {};
|
|
158
|
+
if (sessionIds !== undefined && sessionIds.length > 0) {
|
|
159
|
+
filters.session_ids = sessionIds;
|
|
160
|
+
}
|
|
161
|
+
if (statusFilter !== undefined && statusFilter !== '') {
|
|
162
|
+
filters.status = statusFilter;
|
|
163
|
+
}
|
|
164
|
+
if (olderThanDays !== undefined) {
|
|
165
|
+
const cutoffDate = new Date();
|
|
166
|
+
cutoffDate.setDate(cutoffDate.getDate() - olderThanDays);
|
|
167
|
+
filters.older_than = cutoffDate;
|
|
168
|
+
}
|
|
169
|
+
if (Object.keys(filters).length === 0) {
|
|
170
|
+
return {
|
|
171
|
+
error: 'Must provide at least one filter: session_id, session_ids, status, or older_than_days',
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
const result = await persistence.deleteSessions(filters);
|
|
175
|
+
// Clean up in-memory caches for deleted sessions
|
|
176
|
+
for (const deletedId of result.session_ids) {
|
|
177
|
+
sessionManager.remove(deletedId);
|
|
178
|
+
for (const [taskId, task] of tasks.entries()) {
|
|
179
|
+
if (task.session_id === deletedId) {
|
|
180
|
+
tasks.delete(taskId);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
for (const [agentId, agent] of agents.entries()) {
|
|
184
|
+
if (agent.session_id === deletedId) {
|
|
185
|
+
agents.delete(agentId);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
for (const [artifactId, artifact] of artifacts.entries()) {
|
|
189
|
+
if (artifact.session_id === deletedId) {
|
|
190
|
+
artifacts.delete(artifactId);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return {
|
|
195
|
+
deleted_count: result.deleted_count,
|
|
196
|
+
session_ids: result.session_ids,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
export function handleSessionQueueConfig(args) {
|
|
200
|
+
const sessionId = args['session_id'];
|
|
201
|
+
const concurrency = args['concurrency'];
|
|
202
|
+
const autoExecute = args['auto_execute'];
|
|
203
|
+
// Validate concurrency if provided
|
|
204
|
+
if (concurrency !== undefined && (concurrency < 1 || concurrency > 10)) {
|
|
205
|
+
return Promise.resolve({ error: 'Concurrency must be between 1 and 10' });
|
|
206
|
+
}
|
|
207
|
+
// Build updates object
|
|
208
|
+
const updates = {};
|
|
209
|
+
if (concurrency !== undefined) {
|
|
210
|
+
updates.concurrency = concurrency;
|
|
211
|
+
}
|
|
212
|
+
if (autoExecute !== undefined) {
|
|
213
|
+
updates.auto_execute = autoExecute;
|
|
214
|
+
}
|
|
215
|
+
if (Object.keys(updates).length === 0) {
|
|
216
|
+
// No updates provided, just return current config
|
|
217
|
+
const session = sessionManager.getSession(sessionId);
|
|
218
|
+
return Promise.resolve({
|
|
219
|
+
session_id: sessionId,
|
|
220
|
+
queue_config: session.queue_config,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
// Update queue config
|
|
224
|
+
const session = sessionManager.updateQueueConfig(sessionId, updates);
|
|
225
|
+
safePersist(getPersistence().saveSession(session));
|
|
226
|
+
return Promise.resolve({
|
|
227
|
+
session_id: sessionId,
|
|
228
|
+
queue_config: session.queue_config,
|
|
229
|
+
updated: true,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
export async function handleQueueStatus(args) {
|
|
233
|
+
const sessionId = args['session_id'];
|
|
234
|
+
const session = sessionManager.getSession(sessionId);
|
|
235
|
+
// Get tasks for the session
|
|
236
|
+
const sessionTasks = [];
|
|
237
|
+
for (const [, task] of tasks.entries()) {
|
|
238
|
+
if (task.session_id === sessionId) {
|
|
239
|
+
sessionTasks.push(task);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
// Also get from MongoDB
|
|
243
|
+
const persistedTasks = await getPersistence().listTasks({ session_id: sessionId });
|
|
244
|
+
const inMemoryIds = new Set(sessionTasks.map((t) => t.id));
|
|
245
|
+
const allTasks = [...sessionTasks, ...persistedTasks.filter((t) => !inMemoryIds.has(t.id))];
|
|
246
|
+
// Count by status
|
|
247
|
+
const runningCount = allTasks.filter((t) => t.status === 'running').length;
|
|
248
|
+
const queuedCount = allTasks.filter((t) => t.status === 'queued').length;
|
|
249
|
+
const pendingCount = allTasks.filter((t) => t.status === 'pending').length;
|
|
250
|
+
const completedCount = allTasks.filter((t) => t.status === 'completed').length;
|
|
251
|
+
const failedCount = allTasks.filter((t) => t.status === 'failed').length;
|
|
252
|
+
const availableSlots = Math.max(0, session.queue_config.concurrency - runningCount);
|
|
253
|
+
// Find ready tasks (queued with met dependencies)
|
|
254
|
+
const queuedTasks = allTasks.filter((t) => t.status === 'queued');
|
|
255
|
+
const taskMap = new Map(allTasks.map((t) => [t.id, t]));
|
|
256
|
+
const readyTasks = queuedTasks
|
|
257
|
+
.filter((task) => {
|
|
258
|
+
if (task.dependencies.length === 0)
|
|
259
|
+
return true;
|
|
260
|
+
return task.dependencies.every((depId) => {
|
|
261
|
+
const depTask = taskMap.get(depId);
|
|
262
|
+
return depTask !== undefined && depTask.status === 'completed';
|
|
263
|
+
});
|
|
264
|
+
})
|
|
265
|
+
.sort((a, b) => {
|
|
266
|
+
// Sort by priority (higher first), then by created_at (earlier first)
|
|
267
|
+
if (a.priority !== b.priority)
|
|
268
|
+
return b.priority - a.priority;
|
|
269
|
+
return a.created_at.getTime() - b.created_at.getTime();
|
|
270
|
+
})
|
|
271
|
+
.slice(0, availableSlots)
|
|
272
|
+
.map((t) => t.id);
|
|
273
|
+
return {
|
|
274
|
+
session_id: sessionId,
|
|
275
|
+
queue_config: session.queue_config,
|
|
276
|
+
running_count: runningCount,
|
|
277
|
+
queued_count: queuedCount,
|
|
278
|
+
pending_count: pendingCount,
|
|
279
|
+
completed_count: completedCount,
|
|
280
|
+
failed_count: failedCount,
|
|
281
|
+
available_slots: availableSlots,
|
|
282
|
+
ready_tasks: readyTasks,
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
export { sessionManager, forkService };
|
|
286
|
+
//# sourceMappingURL=handlers.session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.session.js","sourceRoot":"","sources":["../../src/handlers/handlers.session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Handlers - Task Management
|
|
3
|
+
* Handles: task_create, task_queue, task_status, task_complete, task_list, task_execute, task_cancel, task_retry, task_batch_create, task_batch_execute
|
|
4
|
+
*/
|
|
5
|
+
export declare function handleTaskCreate(args: Record<string, unknown>): Promise<unknown>;
|
|
6
|
+
export declare function handleTaskQueue(args: Record<string, unknown>): Promise<unknown>;
|
|
7
|
+
export declare function handleTaskStatus(args: Record<string, unknown>): Promise<unknown>;
|
|
8
|
+
export declare function handleTaskComplete(args: Record<string, unknown>): Promise<unknown>;
|
|
9
|
+
export declare function handleTaskList(args: Record<string, unknown>): Promise<unknown>;
|
|
10
|
+
export declare function handleTaskExecute(args: Record<string, unknown>): Promise<unknown>;
|
|
11
|
+
export declare function handleTaskCancel(args: Record<string, unknown>): Promise<unknown>;
|
|
12
|
+
export declare function handleTaskRetry(args: Record<string, unknown>): Promise<unknown>;
|
|
13
|
+
export declare function handleTaskBatchCreate(args: Record<string, unknown>): Promise<unknown>;
|
|
14
|
+
export declare function handleTaskBatchExecute(args: Record<string, unknown>): Promise<unknown>;
|
|
15
|
+
//# sourceMappingURL=handlers.task.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.task.d.ts","sourceRoot":"","sources":["../../src/handlers/handlers.task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiQH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAiGhF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBrF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAItF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAexF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA2BpF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+KvF;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA+BtF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CrF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAmGrF;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAkN5F"}
|