@lumenflow/mcp 2.18.3 → 2.20.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/tools/agent-tools.d.ts +26 -0
- package/dist/tools/agent-tools.d.ts.map +1 -0
- package/dist/tools/agent-tools.js +161 -0
- package/dist/tools/agent-tools.js.map +1 -0
- package/dist/tools/context-tools.d.ts +19 -0
- package/dist/tools/context-tools.d.ts.map +1 -0
- package/dist/tools/context-tools.js +73 -0
- package/dist/tools/context-tools.js.map +1 -0
- package/dist/tools/flow-tools.d.ts +30 -0
- package/dist/tools/flow-tools.d.ts.map +1 -0
- package/dist/tools/flow-tools.js +141 -0
- package/dist/tools/flow-tools.js.map +1 -0
- package/dist/tools/initiative-tools.d.ts +42 -0
- package/dist/tools/initiative-tools.d.ts.map +1 -0
- package/dist/tools/initiative-tools.js +304 -0
- package/dist/tools/initiative-tools.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +66 -0
- package/dist/tools/memory-tools.d.ts.map +1 -0
- package/dist/tools/memory-tools.js +419 -0
- package/dist/tools/memory-tools.js.map +1 -0
- package/dist/tools/orchestration-tools.d.ts +26 -0
- package/dist/tools/orchestration-tools.d.ts.map +1 -0
- package/dist/tools/orchestration-tools.js +158 -0
- package/dist/tools/orchestration-tools.js.map +1 -0
- package/dist/tools/parity-tools.d.ts +118 -0
- package/dist/tools/parity-tools.d.ts.map +1 -0
- package/dist/tools/parity-tools.js +897 -0
- package/dist/tools/parity-tools.js.map +1 -0
- package/dist/tools/setup-tools.d.ts +42 -0
- package/dist/tools/setup-tools.d.ts.map +1 -0
- package/dist/tools/setup-tools.js +167 -0
- package/dist/tools/setup-tools.js.map +1 -0
- package/dist/tools/validation-tools.d.ts +34 -0
- package/dist/tools/validation-tools.d.ts.map +1 -0
- package/dist/tools/validation-tools.js +134 -0
- package/dist/tools/validation-tools.js.map +1 -0
- package/dist/tools/wu-tools.d.ts +111 -0
- package/dist/tools/wu-tools.d.ts.map +1 -0
- package/dist/tools/wu-tools.js +768 -0
- package/dist/tools/wu-tools.js.map +1 -0
- package/dist/tools-shared.d.ts +170 -0
- package/dist/tools-shared.d.ts.map +1 -0
- package/dist/tools-shared.js +203 -0
- package/dist/tools-shared.js.map +1 -0
- package/dist/tools.d.ts +34 -466
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +55 -3323
- package/dist/tools.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file memory-tools.ts
|
|
3
|
+
* @description Memory tool implementations
|
|
4
|
+
*
|
|
5
|
+
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
|
+
* WU-1424: Memory tools
|
|
7
|
+
* WU-1456: Memory commands use shared schemas where available
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { memInitSchema, memStartSchema, memReadySchema, memCheckpointSchema, memCleanupSchema, memContextSchema, memCreateSchema, memDeleteSchema, memExportSchema, memInboxSchema, memSignalSchema, memSummarizeSchema, memTriageSchema, } from '@lumenflow/core';
|
|
11
|
+
import { ErrorCodes, ErrorMessages, CliArgs, SharedErrorMessages, success, error, runCliCommand, } from '../tools-shared.js';
|
|
12
|
+
/**
|
|
13
|
+
* Error codes for memory tools
|
|
14
|
+
*/
|
|
15
|
+
const MemoryErrorCodes = {
|
|
16
|
+
MEM_INIT_ERROR: 'MEM_INIT_ERROR',
|
|
17
|
+
MEM_START_ERROR: 'MEM_START_ERROR',
|
|
18
|
+
MEM_READY_ERROR: 'MEM_READY_ERROR',
|
|
19
|
+
MEM_CHECKPOINT_ERROR: 'MEM_CHECKPOINT_ERROR',
|
|
20
|
+
MEM_CLEANUP_ERROR: 'MEM_CLEANUP_ERROR',
|
|
21
|
+
MEM_CONTEXT_ERROR: 'MEM_CONTEXT_ERROR',
|
|
22
|
+
MEM_CREATE_ERROR: 'MEM_CREATE_ERROR',
|
|
23
|
+
MEM_DELETE_ERROR: 'MEM_DELETE_ERROR',
|
|
24
|
+
MEM_EXPORT_ERROR: 'MEM_EXPORT_ERROR',
|
|
25
|
+
MEM_INBOX_ERROR: 'MEM_INBOX_ERROR',
|
|
26
|
+
MEM_SIGNAL_ERROR: 'MEM_SIGNAL_ERROR',
|
|
27
|
+
MEM_SUMMARIZE_ERROR: 'MEM_SUMMARIZE_ERROR',
|
|
28
|
+
MEM_TRIAGE_ERROR: 'MEM_TRIAGE_ERROR',
|
|
29
|
+
MEM_RECOVER_ERROR: 'MEM_RECOVER_ERROR',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Error messages for memory tools (uses shared messages to avoid duplication)
|
|
33
|
+
*/
|
|
34
|
+
const MemoryErrorMessages = {
|
|
35
|
+
WU_REQUIRED: SharedErrorMessages.WU_REQUIRED,
|
|
36
|
+
MESSAGE_REQUIRED: 'message is required',
|
|
37
|
+
};
|
|
38
|
+
// mem:recover public parity schema (not yet modeled in @lumenflow/core memory schemas)
|
|
39
|
+
const memRecoverSchema = z.object({
|
|
40
|
+
wu: z.string().optional(),
|
|
41
|
+
max_size: z.number().optional(),
|
|
42
|
+
format: z.enum(['json', 'human']).optional(),
|
|
43
|
+
quiet: z.boolean().optional(),
|
|
44
|
+
base_dir: z.string().optional(),
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* mem_init - Initialize memory for a WU
|
|
48
|
+
*/
|
|
49
|
+
export const memInitTool = {
|
|
50
|
+
name: 'mem_init',
|
|
51
|
+
description: 'Initialize memory layer for a Work Unit',
|
|
52
|
+
inputSchema: memInitSchema,
|
|
53
|
+
async execute(input, options) {
|
|
54
|
+
if (!input.wu) {
|
|
55
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
56
|
+
}
|
|
57
|
+
const args = ['--wu', input.wu];
|
|
58
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
59
|
+
const result = await runCliCommand('mem:init', args, cliOptions);
|
|
60
|
+
if (result.success) {
|
|
61
|
+
return success({ message: result.stdout || 'Memory initialized' });
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return error(result.stderr || result.error?.message || 'mem:init failed', MemoryErrorCodes.MEM_INIT_ERROR);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* mem_start - Start a memory session
|
|
70
|
+
*/
|
|
71
|
+
export const memStartTool = {
|
|
72
|
+
name: 'mem_start',
|
|
73
|
+
description: 'Start a memory session for a Work Unit',
|
|
74
|
+
inputSchema: memStartSchema,
|
|
75
|
+
async execute(input, options) {
|
|
76
|
+
if (!input.wu) {
|
|
77
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
78
|
+
}
|
|
79
|
+
const args = ['--wu', input.wu];
|
|
80
|
+
if (input.lane)
|
|
81
|
+
args.push('--lane', input.lane);
|
|
82
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
83
|
+
const result = await runCliCommand('mem:start', args, cliOptions);
|
|
84
|
+
if (result.success) {
|
|
85
|
+
return success({ message: result.stdout || 'Session started' });
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return error(result.stderr || result.error?.message || 'mem:start failed', MemoryErrorCodes.MEM_START_ERROR);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* mem_ready - Check pending nodes
|
|
94
|
+
*/
|
|
95
|
+
export const memReadyTool = {
|
|
96
|
+
name: 'mem_ready',
|
|
97
|
+
description: 'Check pending memory nodes for a Work Unit',
|
|
98
|
+
inputSchema: memReadySchema,
|
|
99
|
+
async execute(input, options) {
|
|
100
|
+
if (!input.wu) {
|
|
101
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
102
|
+
}
|
|
103
|
+
const args = ['--wu', input.wu];
|
|
104
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
105
|
+
const result = await runCliCommand('mem:ready', args, cliOptions);
|
|
106
|
+
if (result.success) {
|
|
107
|
+
try {
|
|
108
|
+
const data = JSON.parse(result.stdout);
|
|
109
|
+
return success(data);
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return success({ message: result.stdout });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return error(result.stderr || result.error?.message || 'mem:ready failed', MemoryErrorCodes.MEM_READY_ERROR);
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* mem_checkpoint - Save progress checkpoint
|
|
122
|
+
*/
|
|
123
|
+
export const memCheckpointTool = {
|
|
124
|
+
name: 'mem_checkpoint',
|
|
125
|
+
description: 'Save a progress checkpoint for a Work Unit',
|
|
126
|
+
inputSchema: memCheckpointSchema,
|
|
127
|
+
async execute(input, options) {
|
|
128
|
+
if (!input.wu) {
|
|
129
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
130
|
+
}
|
|
131
|
+
const args = ['--wu', input.wu];
|
|
132
|
+
if (input.message)
|
|
133
|
+
args.push('--message', input.message);
|
|
134
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
135
|
+
const result = await runCliCommand('mem:checkpoint', args, cliOptions);
|
|
136
|
+
if (result.success) {
|
|
137
|
+
return success({ message: result.stdout || 'Checkpoint saved' });
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
return error(result.stderr || result.error?.message || 'mem:checkpoint failed', MemoryErrorCodes.MEM_CHECKPOINT_ERROR);
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* mem_cleanup - Clean up stale memory data
|
|
146
|
+
*/
|
|
147
|
+
export const memCleanupTool = {
|
|
148
|
+
name: 'mem_cleanup',
|
|
149
|
+
description: 'Clean up stale memory data',
|
|
150
|
+
inputSchema: memCleanupSchema,
|
|
151
|
+
async execute(input, options) {
|
|
152
|
+
const args = [];
|
|
153
|
+
if (input.dry_run)
|
|
154
|
+
args.push(CliArgs.DRY_RUN);
|
|
155
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
156
|
+
const result = await runCliCommand('mem:cleanup', args, cliOptions);
|
|
157
|
+
if (result.success) {
|
|
158
|
+
return success({ message: result.stdout || 'Cleanup completed' });
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
return error(result.stderr || result.error?.message || 'mem:cleanup failed', MemoryErrorCodes.MEM_CLEANUP_ERROR);
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* mem_context - Get context for current lane/WU
|
|
167
|
+
*/
|
|
168
|
+
export const memContextTool = {
|
|
169
|
+
name: 'mem_context',
|
|
170
|
+
description: 'Get memory context for a Work Unit, optionally filtered by lane',
|
|
171
|
+
inputSchema: memContextSchema,
|
|
172
|
+
async execute(input, options) {
|
|
173
|
+
if (!input.wu) {
|
|
174
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
175
|
+
}
|
|
176
|
+
const args = ['--wu', input.wu];
|
|
177
|
+
if (input.lane)
|
|
178
|
+
args.push('--lane', input.lane);
|
|
179
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
180
|
+
const result = await runCliCommand('mem:context', args, cliOptions);
|
|
181
|
+
if (result.success) {
|
|
182
|
+
try {
|
|
183
|
+
const data = JSON.parse(result.stdout);
|
|
184
|
+
return success(data);
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
return success({ message: result.stdout });
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
return error(result.stderr || result.error?.message || 'mem:context failed', MemoryErrorCodes.MEM_CONTEXT_ERROR);
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* mem_create - Create a memory node
|
|
197
|
+
*/
|
|
198
|
+
export const memCreateTool = {
|
|
199
|
+
name: 'mem_create',
|
|
200
|
+
description: 'Create a memory node (e.g., for bug discovery)',
|
|
201
|
+
inputSchema: memCreateSchema,
|
|
202
|
+
async execute(input, options) {
|
|
203
|
+
if (!input.message) {
|
|
204
|
+
return error(MemoryErrorMessages.MESSAGE_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
205
|
+
}
|
|
206
|
+
if (!input.wu) {
|
|
207
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
208
|
+
}
|
|
209
|
+
const args = [input.message, '--wu', input.wu];
|
|
210
|
+
if (input.type)
|
|
211
|
+
args.push('--type', input.type);
|
|
212
|
+
if (input.tags)
|
|
213
|
+
args.push('--tags', input.tags.join(','));
|
|
214
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
215
|
+
const result = await runCliCommand('mem:create', args, cliOptions);
|
|
216
|
+
if (result.success) {
|
|
217
|
+
return success({ message: result.stdout || 'Memory node created' });
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
return error(result.stderr || result.error?.message || 'mem:create failed', MemoryErrorCodes.MEM_CREATE_ERROR);
|
|
221
|
+
}
|
|
222
|
+
},
|
|
223
|
+
};
|
|
224
|
+
/**
|
|
225
|
+
* mem_delete - Delete/archive a memory node
|
|
226
|
+
*/
|
|
227
|
+
export const memDeleteTool = {
|
|
228
|
+
name: 'mem_delete',
|
|
229
|
+
description: 'Delete or archive a memory node',
|
|
230
|
+
inputSchema: memDeleteSchema,
|
|
231
|
+
async execute(input, options) {
|
|
232
|
+
if (!input.id) {
|
|
233
|
+
return error(ErrorMessages.ID_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
234
|
+
}
|
|
235
|
+
const args = ['--id', input.id];
|
|
236
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
237
|
+
const result = await runCliCommand('mem:delete', args, cliOptions);
|
|
238
|
+
if (result.success) {
|
|
239
|
+
return success({ message: result.stdout || 'Memory node deleted' });
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
return error(result.stderr || result.error?.message || 'mem:delete failed', MemoryErrorCodes.MEM_DELETE_ERROR);
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
};
|
|
246
|
+
/**
|
|
247
|
+
* mem_export - Export memory as markdown
|
|
248
|
+
*/
|
|
249
|
+
export const memExportTool = {
|
|
250
|
+
name: 'mem_export',
|
|
251
|
+
description: 'Export memory for a Work Unit as markdown or JSON',
|
|
252
|
+
inputSchema: memExportSchema,
|
|
253
|
+
async execute(input, options) {
|
|
254
|
+
if (!input.wu) {
|
|
255
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
256
|
+
}
|
|
257
|
+
const args = ['--wu', input.wu];
|
|
258
|
+
if (input.format)
|
|
259
|
+
args.push('--format', input.format);
|
|
260
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
261
|
+
const result = await runCliCommand('mem:export', args, cliOptions);
|
|
262
|
+
if (result.success) {
|
|
263
|
+
return success({ message: result.stdout });
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
return error(result.stderr || result.error?.message || 'mem:export failed', MemoryErrorCodes.MEM_EXPORT_ERROR);
|
|
267
|
+
}
|
|
268
|
+
},
|
|
269
|
+
};
|
|
270
|
+
/**
|
|
271
|
+
* mem_inbox - Check coordination signals
|
|
272
|
+
*/
|
|
273
|
+
export const memInboxTool = {
|
|
274
|
+
name: 'mem_inbox',
|
|
275
|
+
description: 'Check coordination signals from other agents',
|
|
276
|
+
inputSchema: memInboxSchema,
|
|
277
|
+
async execute(input, options) {
|
|
278
|
+
const args = [];
|
|
279
|
+
if (input.since)
|
|
280
|
+
args.push('--since', input.since);
|
|
281
|
+
if (input.wu)
|
|
282
|
+
args.push(CliArgs.WU, input.wu);
|
|
283
|
+
if (input.lane)
|
|
284
|
+
args.push('--lane', input.lane);
|
|
285
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
286
|
+
const result = await runCliCommand('mem:inbox', args, cliOptions);
|
|
287
|
+
if (result.success) {
|
|
288
|
+
try {
|
|
289
|
+
const data = JSON.parse(result.stdout);
|
|
290
|
+
return success(data);
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
return success({ message: result.stdout });
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
return error(result.stderr || result.error?.message || 'mem:inbox failed', MemoryErrorCodes.MEM_INBOX_ERROR);
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* mem_signal - Broadcast coordination signal
|
|
303
|
+
*/
|
|
304
|
+
export const memSignalTool = {
|
|
305
|
+
name: 'mem_signal',
|
|
306
|
+
description: 'Broadcast a coordination signal to other agents',
|
|
307
|
+
inputSchema: memSignalSchema,
|
|
308
|
+
async execute(input, options) {
|
|
309
|
+
if (!input.message) {
|
|
310
|
+
return error(MemoryErrorMessages.MESSAGE_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
311
|
+
}
|
|
312
|
+
if (!input.wu) {
|
|
313
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
314
|
+
}
|
|
315
|
+
const args = [input.message, '--wu', input.wu];
|
|
316
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
317
|
+
const result = await runCliCommand('mem:signal', args, cliOptions);
|
|
318
|
+
if (result.success) {
|
|
319
|
+
return success({ message: result.stdout || 'Signal broadcast' });
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
return error(result.stderr || result.error?.message || 'mem:signal failed', MemoryErrorCodes.MEM_SIGNAL_ERROR);
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* mem_summarize - Summarize memory context
|
|
328
|
+
*/
|
|
329
|
+
export const memSummarizeTool = {
|
|
330
|
+
name: 'mem_summarize',
|
|
331
|
+
description: 'Summarize memory context for a Work Unit',
|
|
332
|
+
inputSchema: memSummarizeSchema,
|
|
333
|
+
async execute(input, options) {
|
|
334
|
+
if (!input.wu) {
|
|
335
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
336
|
+
}
|
|
337
|
+
const args = ['--wu', input.wu];
|
|
338
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
339
|
+
const result = await runCliCommand('mem:summarize', args, cliOptions);
|
|
340
|
+
if (result.success) {
|
|
341
|
+
return success({ message: result.stdout });
|
|
342
|
+
}
|
|
343
|
+
else {
|
|
344
|
+
return error(result.stderr || result.error?.message || 'mem:summarize failed', MemoryErrorCodes.MEM_SUMMARIZE_ERROR);
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* mem_triage - Triage discovered bugs
|
|
350
|
+
*/
|
|
351
|
+
export const memTriageTool = {
|
|
352
|
+
name: 'mem_triage',
|
|
353
|
+
description: 'Triage discovered bugs for a Work Unit, optionally promoting to WU',
|
|
354
|
+
inputSchema: memTriageSchema,
|
|
355
|
+
async execute(input, options) {
|
|
356
|
+
if (!input.wu) {
|
|
357
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
358
|
+
}
|
|
359
|
+
const args = ['--wu', input.wu];
|
|
360
|
+
if (input.promote)
|
|
361
|
+
args.push('--promote', input.promote);
|
|
362
|
+
if (input.lane)
|
|
363
|
+
args.push('--lane', input.lane);
|
|
364
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
365
|
+
const result = await runCliCommand('mem:triage', args, cliOptions);
|
|
366
|
+
if (result.success) {
|
|
367
|
+
try {
|
|
368
|
+
const data = JSON.parse(result.stdout);
|
|
369
|
+
return success(data);
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
return success({ message: result.stdout });
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
else {
|
|
376
|
+
return error(result.stderr || result.error?.message || 'mem:triage failed', MemoryErrorCodes.MEM_TRIAGE_ERROR);
|
|
377
|
+
}
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* mem_recover - Generate post-compaction recovery context for a Work Unit
|
|
382
|
+
*/
|
|
383
|
+
export const memRecoverTool = {
|
|
384
|
+
name: 'mem_recover',
|
|
385
|
+
description: 'Generate recovery context after compaction for a Work Unit',
|
|
386
|
+
inputSchema: memRecoverSchema,
|
|
387
|
+
async execute(input, options) {
|
|
388
|
+
if (!input.wu) {
|
|
389
|
+
return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
390
|
+
}
|
|
391
|
+
const args = ['--wu', input.wu];
|
|
392
|
+
if (input.max_size !== undefined)
|
|
393
|
+
args.push('--max-size', String(input.max_size));
|
|
394
|
+
if (input.format)
|
|
395
|
+
args.push('--format', input.format);
|
|
396
|
+
if (input.quiet)
|
|
397
|
+
args.push('--quiet');
|
|
398
|
+
if (input.base_dir)
|
|
399
|
+
args.push(CliArgs.BASE_DIR, input.base_dir);
|
|
400
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
401
|
+
const result = await runCliCommand('mem:recover', args, cliOptions);
|
|
402
|
+
if (result.success) {
|
|
403
|
+
if (input.format === 'json') {
|
|
404
|
+
try {
|
|
405
|
+
const data = JSON.parse(result.stdout);
|
|
406
|
+
return success(data);
|
|
407
|
+
}
|
|
408
|
+
catch {
|
|
409
|
+
return success({ message: result.stdout || 'Recovery context generated' });
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return success({ message: result.stdout || 'Recovery context generated' });
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
return error(result.stderr || result.error?.message || 'mem:recover failed', MemoryErrorCodes.MEM_RECOVER_ERROR);
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
//# sourceMappingURL=memory-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file orchestration-tools.ts
|
|
3
|
+
* @description Orchestration and delegation tool implementations
|
|
4
|
+
*
|
|
5
|
+
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
|
+
* WU-1425: Orchestration tools + delegation tools
|
|
7
|
+
* WU-1457: All orchestration/delegation commands use shared schemas
|
|
8
|
+
*/
|
|
9
|
+
import { type ToolDefinition } from '../tools-shared.js';
|
|
10
|
+
/**
|
|
11
|
+
* orchestrate_initiative - Orchestrate initiative execution with parallel agent spawning
|
|
12
|
+
*/
|
|
13
|
+
export declare const orchestrateInitiativeTool: ToolDefinition;
|
|
14
|
+
/**
|
|
15
|
+
* orchestrate_init_status - Show initiative progress status
|
|
16
|
+
*/
|
|
17
|
+
export declare const orchestrateInitStatusTool: ToolDefinition;
|
|
18
|
+
/**
|
|
19
|
+
* orchestrate_monitor - Monitor delegated agent progress and delegation health
|
|
20
|
+
*/
|
|
21
|
+
export declare const orchestrateMonitorTool: ToolDefinition;
|
|
22
|
+
/**
|
|
23
|
+
* delegation_list - Display delegation trees for WUs or initiatives
|
|
24
|
+
*/
|
|
25
|
+
export declare const delegationListTool: ToolDefinition;
|
|
26
|
+
//# sourceMappingURL=orchestration-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestration-tools.d.ts","sourceRoot":"","sources":["../../src/tools/orchestration-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,oBAAoB,CAAC;AAgC5B;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cA8BvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,cAwBvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cA8BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,cAgChC,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file orchestration-tools.ts
|
|
3
|
+
* @description Orchestration and delegation tool implementations
|
|
4
|
+
*
|
|
5
|
+
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
|
+
* WU-1425: Orchestration tools + delegation tools
|
|
7
|
+
* WU-1457: All orchestration/delegation commands use shared schemas
|
|
8
|
+
*/
|
|
9
|
+
import { orchestrateInitiativeSchema, orchestrateInitStatusSchema, orchestrateMonitorSchema, delegationListSchema, } from '@lumenflow/core';
|
|
10
|
+
import { ErrorCodes, CliArgs, SharedErrorMessages, success, error, runCliCommand, } from '../tools-shared.js';
|
|
11
|
+
/**
|
|
12
|
+
* Error codes for orchestration tools
|
|
13
|
+
*/
|
|
14
|
+
const OrchestrationErrorCodes = {
|
|
15
|
+
ORCHESTRATE_INITIATIVE_ERROR: 'ORCHESTRATE_INITIATIVE_ERROR',
|
|
16
|
+
ORCHESTRATE_INIT_STATUS_ERROR: 'ORCHESTRATE_INIT_STATUS_ERROR',
|
|
17
|
+
ORCHESTRATE_MONITOR_ERROR: 'ORCHESTRATE_MONITOR_ERROR',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Error messages for orchestration tools
|
|
21
|
+
*/
|
|
22
|
+
const OrchestrationErrorMessages = {
|
|
23
|
+
INITIATIVE_REQUIRED: SharedErrorMessages.INITIATIVE_REQUIRED,
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Error codes for delegation tools
|
|
27
|
+
*/
|
|
28
|
+
const DelegationErrorCodes = {
|
|
29
|
+
DELEGATION_LIST_ERROR: 'DELEGATION_LIST_ERROR',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Error messages for delegation tools
|
|
33
|
+
*/
|
|
34
|
+
const DelegationErrorMessages = {
|
|
35
|
+
WU_OR_INITIATIVE_REQUIRED: 'Either wu or initiative is required',
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* orchestrate_initiative - Orchestrate initiative execution with parallel agent spawning
|
|
39
|
+
*/
|
|
40
|
+
export const orchestrateInitiativeTool = {
|
|
41
|
+
name: 'orchestrate_initiative',
|
|
42
|
+
description: 'Orchestrate initiative execution with parallel agent spawning',
|
|
43
|
+
inputSchema: orchestrateInitiativeSchema,
|
|
44
|
+
async execute(input, options) {
|
|
45
|
+
if (!input.initiative) {
|
|
46
|
+
return error(OrchestrationErrorMessages.INITIATIVE_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
47
|
+
}
|
|
48
|
+
const args = [CliArgs.INITIATIVE, input.initiative];
|
|
49
|
+
if (input.dry_run)
|
|
50
|
+
args.push(CliArgs.DRY_RUN);
|
|
51
|
+
if (input.progress)
|
|
52
|
+
args.push('--progress');
|
|
53
|
+
if (input.checkpoint_per_wave)
|
|
54
|
+
args.push('--checkpoint-per-wave');
|
|
55
|
+
const cliOptions = {
|
|
56
|
+
projectRoot: options?.projectRoot,
|
|
57
|
+
timeout: 300000, // 5 minutes for orchestration
|
|
58
|
+
};
|
|
59
|
+
const result = await runCliCommand('orchestrate:initiative', args, cliOptions);
|
|
60
|
+
if (result.success) {
|
|
61
|
+
return success({ message: result.stdout || 'Orchestration complete' });
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
return error(result.stderr || result.error?.message || 'orchestrate:initiative failed', OrchestrationErrorCodes.ORCHESTRATE_INITIATIVE_ERROR);
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* orchestrate_init_status - Show initiative progress status
|
|
70
|
+
*/
|
|
71
|
+
export const orchestrateInitStatusTool = {
|
|
72
|
+
name: 'orchestrate_init_status',
|
|
73
|
+
description: 'Show compact initiative progress status including WUs and lane availability',
|
|
74
|
+
inputSchema: orchestrateInitStatusSchema,
|
|
75
|
+
async execute(input, options) {
|
|
76
|
+
if (!input.initiative) {
|
|
77
|
+
return error(OrchestrationErrorMessages.INITIATIVE_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
78
|
+
}
|
|
79
|
+
const args = [CliArgs.INITIATIVE, input.initiative];
|
|
80
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
81
|
+
const result = await runCliCommand('orchestrate:init-status', args, cliOptions);
|
|
82
|
+
if (result.success) {
|
|
83
|
+
return success({ message: result.stdout || 'Status displayed' });
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return error(result.stderr || result.error?.message || 'orchestrate:init-status failed', OrchestrationErrorCodes.ORCHESTRATE_INIT_STATUS_ERROR);
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* orchestrate_monitor - Monitor delegated agent progress and delegation health
|
|
92
|
+
*/
|
|
93
|
+
export const orchestrateMonitorTool = {
|
|
94
|
+
name: 'orchestrate_monitor',
|
|
95
|
+
description: 'Monitor delegated agent progress and delegation health (stuck detection, zombie locks)',
|
|
96
|
+
inputSchema: orchestrateMonitorSchema,
|
|
97
|
+
async execute(input, options) {
|
|
98
|
+
const args = [];
|
|
99
|
+
if (input.threshold)
|
|
100
|
+
args.push(CliArgs.THRESHOLD, String(input.threshold));
|
|
101
|
+
if (input.recover)
|
|
102
|
+
args.push(CliArgs.RECOVER);
|
|
103
|
+
if (input.dry_run)
|
|
104
|
+
args.push(CliArgs.DRY_RUN);
|
|
105
|
+
if (input.since)
|
|
106
|
+
args.push('--since', input.since);
|
|
107
|
+
if (input.wu)
|
|
108
|
+
args.push(CliArgs.WU, input.wu);
|
|
109
|
+
if (input.signals_only)
|
|
110
|
+
args.push('--signals-only');
|
|
111
|
+
const cliOptions = {
|
|
112
|
+
projectRoot: options?.projectRoot,
|
|
113
|
+
timeout: 180000, // 3 minutes for monitoring
|
|
114
|
+
};
|
|
115
|
+
const result = await runCliCommand('orchestrate:monitor', args, cliOptions);
|
|
116
|
+
if (result.success) {
|
|
117
|
+
return success({ message: result.stdout || 'Monitor complete' });
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
return error(result.stderr || result.error?.message || 'orchestrate:monitor failed', OrchestrationErrorCodes.ORCHESTRATE_MONITOR_ERROR);
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* delegation_list - Display delegation trees for WUs or initiatives
|
|
126
|
+
*/
|
|
127
|
+
export const delegationListTool = {
|
|
128
|
+
name: 'delegation_list',
|
|
129
|
+
description: 'Display delegation trees for WUs or initiatives',
|
|
130
|
+
inputSchema: delegationListSchema,
|
|
131
|
+
async execute(input, options) {
|
|
132
|
+
if (!input.wu && !input.initiative) {
|
|
133
|
+
return error(DelegationErrorMessages.WU_OR_INITIATIVE_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
134
|
+
}
|
|
135
|
+
const args = [];
|
|
136
|
+
if (input.wu)
|
|
137
|
+
args.push(CliArgs.WU, input.wu);
|
|
138
|
+
if (input.initiative)
|
|
139
|
+
args.push(CliArgs.INITIATIVE, input.initiative);
|
|
140
|
+
if (input.json)
|
|
141
|
+
args.push('--json');
|
|
142
|
+
const cliOptions = { projectRoot: options?.projectRoot };
|
|
143
|
+
const result = await runCliCommand('delegation:list', args, cliOptions);
|
|
144
|
+
if (result.success) {
|
|
145
|
+
try {
|
|
146
|
+
const data = JSON.parse(result.stdout);
|
|
147
|
+
return success(data);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
return success({ message: result.stdout || 'Delegation list displayed' });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
return error(result.stderr || result.error?.message || 'delegation:list failed', DelegationErrorCodes.DELEGATION_LIST_ERROR);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=orchestration-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestration-tools.js","sourceRoot":"","sources":["../../src/tools/orchestration-tools.ts"],"names":[],"mappings":"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"}
|