@lumenflow/mcp 2.21.1 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/LICENSE +13 -185
  2. package/dist/bin.d.ts.map +1 -1
  3. package/dist/bin.js +2 -0
  4. package/dist/bin.js.map +1 -1
  5. package/dist/cli-runner.d.ts +0 -13
  6. package/dist/cli-runner.d.ts.map +1 -1
  7. package/dist/cli-runner.js +2 -0
  8. package/dist/cli-runner.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +2 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp-constants.d.ts +173 -0
  13. package/dist/mcp-constants.d.ts.map +1 -0
  14. package/dist/mcp-constants.js +193 -0
  15. package/dist/mcp-constants.js.map +1 -0
  16. package/dist/resources.d.ts +0 -8
  17. package/dist/resources.d.ts.map +1 -1
  18. package/dist/resources.js +2 -0
  19. package/dist/resources.js.map +1 -1
  20. package/dist/runtime-cache.d.ts +7 -0
  21. package/dist/runtime-cache.d.ts.map +1 -0
  22. package/dist/runtime-cache.js +28 -0
  23. package/dist/runtime-cache.js.map +1 -0
  24. package/dist/runtime-tool-resolver.constants.d.ts +33 -0
  25. package/dist/runtime-tool-resolver.constants.d.ts.map +1 -0
  26. package/dist/runtime-tool-resolver.constants.js +35 -0
  27. package/dist/runtime-tool-resolver.constants.js.map +1 -0
  28. package/dist/runtime-tool-resolver.d.ts +5 -0
  29. package/dist/runtime-tool-resolver.d.ts.map +1 -0
  30. package/dist/runtime-tool-resolver.js +2030 -0
  31. package/dist/runtime-tool-resolver.js.map +1 -0
  32. package/dist/server.d.ts +0 -11
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +32 -4
  35. package/dist/server.js.map +1 -1
  36. package/dist/tools/agent-tools.d.ts +0 -8
  37. package/dist/tools/agent-tools.d.ts.map +1 -1
  38. package/dist/tools/agent-tools.js +115 -41
  39. package/dist/tools/agent-tools.js.map +1 -1
  40. package/dist/tools/context-tools.d.ts +1 -7
  41. package/dist/tools/context-tools.d.ts.map +1 -1
  42. package/dist/tools/context-tools.js +25 -40
  43. package/dist/tools/context-tools.js.map +1 -1
  44. package/dist/tools/flow-tools.d.ts +0 -8
  45. package/dist/tools/flow-tools.d.ts.map +1 -1
  46. package/dist/tools/flow-tools.js +53 -64
  47. package/dist/tools/flow-tools.js.map +1 -1
  48. package/dist/tools/initiative-tools.d.ts +0 -8
  49. package/dist/tools/initiative-tools.d.ts.map +1 -1
  50. package/dist/tools/initiative-tools.js +200 -84
  51. package/dist/tools/initiative-tools.js.map +1 -1
  52. package/dist/tools/memory-tools.d.ts +0 -8
  53. package/dist/tools/memory-tools.d.ts.map +1 -1
  54. package/dist/tools/memory-tools.js +270 -166
  55. package/dist/tools/memory-tools.js.map +1 -1
  56. package/dist/tools/orchestration-tools.d.ts +0 -8
  57. package/dist/tools/orchestration-tools.d.ts.map +1 -1
  58. package/dist/tools/orchestration-tools.js +101 -57
  59. package/dist/tools/orchestration-tools.js.map +1 -1
  60. package/dist/tools/parity-tools.d.ts +12 -8
  61. package/dist/tools/parity-tools.d.ts.map +1 -1
  62. package/dist/tools/parity-tools.js +778 -193
  63. package/dist/tools/parity-tools.js.map +1 -1
  64. package/dist/tools/runtime-task-constants.d.ts +19 -0
  65. package/dist/tools/runtime-task-constants.d.ts.map +1 -0
  66. package/dist/tools/runtime-task-constants.js +21 -0
  67. package/dist/tools/runtime-task-constants.js.map +1 -0
  68. package/dist/tools/runtime-task-tools.d.ts +10 -0
  69. package/dist/tools/runtime-task-tools.d.ts.map +1 -0
  70. package/dist/tools/runtime-task-tools.js +116 -0
  71. package/dist/tools/runtime-task-tools.js.map +1 -0
  72. package/dist/tools/setup-tools.d.ts +0 -8
  73. package/dist/tools/setup-tools.d.ts.map +1 -1
  74. package/dist/tools/setup-tools.js +152 -65
  75. package/dist/tools/setup-tools.js.map +1 -1
  76. package/dist/tools/validation-tools.d.ts +0 -8
  77. package/dist/tools/validation-tools.d.ts.map +1 -1
  78. package/dist/tools/validation-tools.js +100 -54
  79. package/dist/tools/validation-tools.js.map +1 -1
  80. package/dist/tools/wu-tools.d.ts +1 -11
  81. package/dist/tools/wu-tools.d.ts.map +1 -1
  82. package/dist/tools/wu-tools.js +446 -250
  83. package/dist/tools/wu-tools.js.map +1 -1
  84. package/dist/tools-shared.d.ts +81 -1
  85. package/dist/tools-shared.d.ts.map +1 -1
  86. package/dist/tools-shared.js +201 -1
  87. package/dist/tools-shared.js.map +1 -1
  88. package/dist/tools.d.ts +29 -2
  89. package/dist/tools.d.ts.map +1 -1
  90. package/dist/tools.js +61 -32
  91. package/dist/tools.js.map +1 -1
  92. package/dist/worktree-enforcement.d.ts +32 -0
  93. package/dist/worktree-enforcement.d.ts.map +1 -0
  94. package/dist/worktree-enforcement.js +154 -0
  95. package/dist/worktree-enforcement.js.map +1 -0
  96. package/package.json +8 -5
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
1
3
  /**
2
4
  * @file memory-tools.ts
3
5
  * @description Memory tool implementations
@@ -5,10 +7,13 @@
5
7
  * WU-1642: Extracted from tools.ts during domain decomposition.
6
8
  * WU-1424: Memory tools
7
9
  * WU-1456: Memory commands use shared schemas where available
10
+ * WU-1811: Migrated memory tools from CLI shell-out to executeViaPack runtime path
11
+ * WU-1896: Memory resolver stubs removed; software-delivery pack handlers are canonical.
8
12
  */
9
13
  import { z } from 'zod';
10
14
  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';
15
+ import { ErrorCodes, ErrorMessages, CliArgs, SharedErrorMessages, success, error, executeViaPack, } from '../tools-shared.js';
16
+ import { CliCommands, MetadataKeys } from '../mcp-constants.js';
12
17
  /**
13
18
  * Error codes for memory tools
14
19
  */
@@ -35,6 +40,32 @@ const MemoryErrorMessages = {
35
40
  WU_REQUIRED: SharedErrorMessages.WU_REQUIRED,
36
41
  MESSAGE_REQUIRED: 'message is required',
37
42
  };
43
+ const MemoryResultMessages = {
44
+ MEM_INIT_PASSED: 'Memory initialized',
45
+ MEM_INIT_FAILED: 'mem:init failed',
46
+ MEM_START_PASSED: 'Session started',
47
+ MEM_START_FAILED: 'mem:start failed',
48
+ MEM_READY_FAILED: 'mem:ready failed',
49
+ MEM_CHECKPOINT_PASSED: 'Checkpoint saved',
50
+ MEM_CHECKPOINT_FAILED: 'mem:checkpoint failed',
51
+ MEM_CLEANUP_PASSED: 'Cleanup completed',
52
+ MEM_CLEANUP_FAILED: 'mem:cleanup failed',
53
+ MEM_CONTEXT_FAILED: 'mem:context failed',
54
+ MEM_CREATE_PASSED: 'Memory node created',
55
+ MEM_CREATE_FAILED: 'mem:create failed',
56
+ MEM_DELETE_PASSED: 'Memory node deleted',
57
+ MEM_DELETE_FAILED: 'mem:delete failed',
58
+ MEM_EXPORT_PASSED: 'Memory exported',
59
+ MEM_EXPORT_FAILED: 'mem:export failed',
60
+ MEM_INBOX_FAILED: 'mem:inbox failed',
61
+ MEM_SIGNAL_PASSED: 'Signal broadcast',
62
+ MEM_SIGNAL_FAILED: 'mem:signal failed',
63
+ MEM_SUMMARIZE_PASSED: 'Memory summary generated',
64
+ MEM_SUMMARIZE_FAILED: 'mem:summarize failed',
65
+ MEM_TRIAGE_FAILED: 'mem:triage failed',
66
+ MEM_RECOVER_PASSED: 'Recovery context generated',
67
+ MEM_RECOVER_FAILED: 'mem:recover failed',
68
+ };
38
69
  // mem:recover public parity schema (not yet modeled in @lumenflow/core memory schemas)
39
70
  const memRecoverSchema = z.object({
40
71
  wu: z.string().optional(),
@@ -43,6 +74,59 @@ const memRecoverSchema = z.object({
43
74
  quiet: z.boolean().optional(),
44
75
  base_dir: z.string().optional(),
45
76
  });
77
+ function isRecord(value) {
78
+ return typeof value === 'object' && value !== null;
79
+ }
80
+ function unwrapExecuteViaPackData(data) {
81
+ if (!isRecord(data) || !('success' in data)) {
82
+ return data;
83
+ }
84
+ const successValue = data.success;
85
+ if (typeof successValue !== 'boolean' || !successValue) {
86
+ return data;
87
+ }
88
+ const outputData = data.data;
89
+ return outputData ?? {};
90
+ }
91
+ function parseJsonPayload(value) {
92
+ if (typeof value === 'string') {
93
+ try {
94
+ return JSON.parse(value);
95
+ }
96
+ catch {
97
+ return { message: value };
98
+ }
99
+ }
100
+ if (isRecord(value) && typeof value.message === 'string') {
101
+ try {
102
+ return JSON.parse(value.message);
103
+ }
104
+ catch {
105
+ return value;
106
+ }
107
+ }
108
+ return value;
109
+ }
110
+ function resolveMessage(value, fallbackMessage) {
111
+ if (typeof value === 'string') {
112
+ return value;
113
+ }
114
+ if (isRecord(value) && typeof value.message === 'string') {
115
+ return value.message;
116
+ }
117
+ return fallbackMessage;
118
+ }
119
+ function buildExecutionOptions(projectRoot, fallback) {
120
+ return {
121
+ projectRoot,
122
+ contextInput: {
123
+ metadata: {
124
+ [MetadataKeys.PROJECT_ROOT]: projectRoot,
125
+ },
126
+ },
127
+ fallback,
128
+ };
129
+ }
46
130
  /**
47
131
  * mem_init - Initialize memory for a WU
48
132
  */
@@ -54,15 +138,19 @@ export const memInitTool = {
54
138
  if (!input.wu) {
55
139
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
56
140
  }
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
- }
141
+ const args = [CliArgs.WU, input.wu];
142
+ const result = await executeViaPack(CliCommands.MEM_INIT, input, {
143
+ ...buildExecutionOptions(options?.projectRoot, {
144
+ command: CliCommands.MEM_INIT,
145
+ args,
146
+ errorCode: MemoryErrorCodes.MEM_INIT_ERROR,
147
+ }),
148
+ });
149
+ return result.success
150
+ ? success({
151
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_INIT_PASSED),
152
+ })
153
+ : error(result.error?.message ?? MemoryResultMessages.MEM_INIT_FAILED, MemoryErrorCodes.MEM_INIT_ERROR);
66
154
  },
67
155
  };
68
156
  /**
@@ -76,17 +164,21 @@ export const memStartTool = {
76
164
  if (!input.wu) {
77
165
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
78
166
  }
79
- const args = ['--wu', input.wu];
167
+ const args = [CliArgs.WU, input.wu];
80
168
  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
- }
169
+ args.push(CliArgs.LANE, input.lane);
170
+ const result = await executeViaPack(CliCommands.MEM_START, input, {
171
+ ...buildExecutionOptions(options?.projectRoot, {
172
+ command: CliCommands.MEM_START,
173
+ args,
174
+ errorCode: MemoryErrorCodes.MEM_START_ERROR,
175
+ }),
176
+ });
177
+ return result.success
178
+ ? success({
179
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_START_PASSED),
180
+ })
181
+ : error(result.error?.message ?? MemoryResultMessages.MEM_START_FAILED, MemoryErrorCodes.MEM_START_ERROR);
90
182
  },
91
183
  };
92
184
  /**
@@ -100,21 +192,17 @@ export const memReadyTool = {
100
192
  if (!input.wu) {
101
193
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
102
194
  }
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
- }
195
+ const args = [CliArgs.WU, input.wu];
196
+ const result = await executeViaPack(CliCommands.MEM_READY, input, {
197
+ ...buildExecutionOptions(options?.projectRoot, {
198
+ command: CliCommands.MEM_READY,
199
+ args,
200
+ errorCode: MemoryErrorCodes.MEM_READY_ERROR,
201
+ }),
202
+ });
203
+ return result.success
204
+ ? success(parseJsonPayload(unwrapExecuteViaPackData(result.data)))
205
+ : error(result.error?.message ?? MemoryResultMessages.MEM_READY_FAILED, MemoryErrorCodes.MEM_READY_ERROR);
118
206
  },
119
207
  };
120
208
  /**
@@ -128,17 +216,21 @@ export const memCheckpointTool = {
128
216
  if (!input.wu) {
129
217
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
130
218
  }
131
- const args = ['--wu', input.wu];
219
+ const args = [CliArgs.WU, input.wu];
132
220
  if (input.message)
133
221
  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
- }
222
+ const result = await executeViaPack(CliCommands.MEM_CHECKPOINT, input, {
223
+ ...buildExecutionOptions(options?.projectRoot, {
224
+ command: CliCommands.MEM_CHECKPOINT,
225
+ args,
226
+ errorCode: MemoryErrorCodes.MEM_CHECKPOINT_ERROR,
227
+ }),
228
+ });
229
+ return result.success
230
+ ? success({
231
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_CHECKPOINT_PASSED),
232
+ })
233
+ : error(result.error?.message ?? MemoryResultMessages.MEM_CHECKPOINT_FAILED, MemoryErrorCodes.MEM_CHECKPOINT_ERROR);
142
234
  },
143
235
  };
144
236
  /**
@@ -152,14 +244,18 @@ export const memCleanupTool = {
152
244
  const args = [];
153
245
  if (input.dry_run)
154
246
  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
- }
247
+ const result = await executeViaPack(CliCommands.MEM_CLEANUP, input, {
248
+ ...buildExecutionOptions(options?.projectRoot, {
249
+ command: CliCommands.MEM_CLEANUP,
250
+ args,
251
+ errorCode: MemoryErrorCodes.MEM_CLEANUP_ERROR,
252
+ }),
253
+ });
254
+ return result.success
255
+ ? success({
256
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_CLEANUP_PASSED),
257
+ })
258
+ : error(result.error?.message ?? MemoryResultMessages.MEM_CLEANUP_FAILED, MemoryErrorCodes.MEM_CLEANUP_ERROR);
163
259
  },
164
260
  };
165
261
  /**
@@ -173,23 +269,19 @@ export const memContextTool = {
173
269
  if (!input.wu) {
174
270
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
175
271
  }
176
- const args = ['--wu', input.wu];
272
+ const args = [CliArgs.WU, input.wu];
177
273
  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
- }
274
+ args.push(CliArgs.LANE, input.lane);
275
+ const result = await executeViaPack(CliCommands.MEM_CONTEXT, input, {
276
+ ...buildExecutionOptions(options?.projectRoot, {
277
+ command: CliCommands.MEM_CONTEXT,
278
+ args,
279
+ errorCode: MemoryErrorCodes.MEM_CONTEXT_ERROR,
280
+ }),
281
+ });
282
+ return result.success
283
+ ? success(parseJsonPayload(unwrapExecuteViaPackData(result.data)))
284
+ : error(result.error?.message ?? MemoryResultMessages.MEM_CONTEXT_FAILED, MemoryErrorCodes.MEM_CONTEXT_ERROR);
193
285
  },
194
286
  };
195
287
  /**
@@ -206,19 +298,23 @@ export const memCreateTool = {
206
298
  if (!input.wu) {
207
299
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
208
300
  }
209
- const args = [input.message, '--wu', input.wu];
301
+ const args = [input.message, CliArgs.WU, input.wu];
210
302
  if (input.type)
211
303
  args.push('--type', input.type);
212
304
  if (input.tags)
213
305
  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
- }
306
+ const result = await executeViaPack(CliCommands.MEM_CREATE, input, {
307
+ ...buildExecutionOptions(options?.projectRoot, {
308
+ command: CliCommands.MEM_CREATE,
309
+ args,
310
+ errorCode: MemoryErrorCodes.MEM_CREATE_ERROR,
311
+ }),
312
+ });
313
+ return result.success
314
+ ? success({
315
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_CREATE_PASSED),
316
+ })
317
+ : error(result.error?.message ?? MemoryResultMessages.MEM_CREATE_FAILED, MemoryErrorCodes.MEM_CREATE_ERROR);
222
318
  },
223
319
  };
224
320
  /**
@@ -232,15 +328,19 @@ export const memDeleteTool = {
232
328
  if (!input.id) {
233
329
  return error(ErrorMessages.ID_REQUIRED, ErrorCodes.MISSING_PARAMETER);
234
330
  }
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
- }
331
+ const args = [CliArgs.ID, input.id];
332
+ const result = await executeViaPack(CliCommands.MEM_DELETE, input, {
333
+ ...buildExecutionOptions(options?.projectRoot, {
334
+ command: CliCommands.MEM_DELETE,
335
+ args,
336
+ errorCode: MemoryErrorCodes.MEM_DELETE_ERROR,
337
+ }),
338
+ });
339
+ return result.success
340
+ ? success({
341
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_DELETE_PASSED),
342
+ })
343
+ : error(result.error?.message ?? MemoryResultMessages.MEM_DELETE_FAILED, MemoryErrorCodes.MEM_DELETE_ERROR);
244
344
  },
245
345
  };
246
346
  /**
@@ -254,17 +354,21 @@ export const memExportTool = {
254
354
  if (!input.wu) {
255
355
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
256
356
  }
257
- const args = ['--wu', input.wu];
357
+ const args = [CliArgs.WU, input.wu];
258
358
  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
- }
359
+ args.push(CliArgs.FORMAT, input.format);
360
+ const result = await executeViaPack(CliCommands.MEM_EXPORT, input, {
361
+ ...buildExecutionOptions(options?.projectRoot, {
362
+ command: CliCommands.MEM_EXPORT,
363
+ args,
364
+ errorCode: MemoryErrorCodes.MEM_EXPORT_ERROR,
365
+ }),
366
+ });
367
+ return result.success
368
+ ? success({
369
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_EXPORT_PASSED),
370
+ })
371
+ : error(result.error?.message ?? MemoryResultMessages.MEM_EXPORT_FAILED, MemoryErrorCodes.MEM_EXPORT_ERROR);
268
372
  },
269
373
  };
270
374
  /**
@@ -277,25 +381,21 @@ export const memInboxTool = {
277
381
  async execute(input, options) {
278
382
  const args = [];
279
383
  if (input.since)
280
- args.push('--since', input.since);
384
+ args.push(CliArgs.SINCE, input.since);
281
385
  if (input.wu)
282
386
  args.push(CliArgs.WU, input.wu);
283
387
  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
- }
388
+ args.push(CliArgs.LANE, input.lane);
389
+ const result = await executeViaPack(CliCommands.MEM_INBOX, input, {
390
+ ...buildExecutionOptions(options?.projectRoot, {
391
+ command: CliCommands.MEM_INBOX,
392
+ args,
393
+ errorCode: MemoryErrorCodes.MEM_INBOX_ERROR,
394
+ }),
395
+ });
396
+ return result.success
397
+ ? success(parseJsonPayload(unwrapExecuteViaPackData(result.data)))
398
+ : error(result.error?.message ?? MemoryResultMessages.MEM_INBOX_FAILED, MemoryErrorCodes.MEM_INBOX_ERROR);
299
399
  },
300
400
  };
301
401
  /**
@@ -312,15 +412,19 @@ export const memSignalTool = {
312
412
  if (!input.wu) {
313
413
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
314
414
  }
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
- }
415
+ const args = [input.message, CliArgs.WU, input.wu];
416
+ const result = await executeViaPack(CliCommands.MEM_SIGNAL, input, {
417
+ ...buildExecutionOptions(options?.projectRoot, {
418
+ command: CliCommands.MEM_SIGNAL,
419
+ args,
420
+ errorCode: MemoryErrorCodes.MEM_SIGNAL_ERROR,
421
+ }),
422
+ });
423
+ return result.success
424
+ ? success({
425
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_SIGNAL_PASSED),
426
+ })
427
+ : error(result.error?.message ?? MemoryResultMessages.MEM_SIGNAL_FAILED, MemoryErrorCodes.MEM_SIGNAL_ERROR);
324
428
  },
325
429
  };
326
430
  /**
@@ -334,15 +438,19 @@ export const memSummarizeTool = {
334
438
  if (!input.wu) {
335
439
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
336
440
  }
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
- }
441
+ const args = [CliArgs.WU, input.wu];
442
+ const result = await executeViaPack(CliCommands.MEM_SUMMARIZE, input, {
443
+ ...buildExecutionOptions(options?.projectRoot, {
444
+ command: CliCommands.MEM_SUMMARIZE,
445
+ args,
446
+ errorCode: MemoryErrorCodes.MEM_SUMMARIZE_ERROR,
447
+ }),
448
+ });
449
+ return result.success
450
+ ? success({
451
+ message: resolveMessage(unwrapExecuteViaPackData(result.data), MemoryResultMessages.MEM_SUMMARIZE_PASSED),
452
+ })
453
+ : error(result.error?.message ?? MemoryResultMessages.MEM_SUMMARIZE_FAILED, MemoryErrorCodes.MEM_SUMMARIZE_ERROR);
346
454
  },
347
455
  };
348
456
  /**
@@ -356,25 +464,21 @@ export const memTriageTool = {
356
464
  if (!input.wu) {
357
465
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
358
466
  }
359
- const args = ['--wu', input.wu];
467
+ const args = [CliArgs.WU, input.wu];
360
468
  if (input.promote)
361
469
  args.push('--promote', input.promote);
362
470
  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
- }
471
+ args.push(CliArgs.LANE, input.lane);
472
+ const result = await executeViaPack(CliCommands.MEM_TRIAGE, input, {
473
+ ...buildExecutionOptions(options?.projectRoot, {
474
+ command: CliCommands.MEM_TRIAGE,
475
+ args,
476
+ errorCode: MemoryErrorCodes.MEM_TRIAGE_ERROR,
477
+ }),
478
+ });
479
+ return result.success
480
+ ? success(parseJsonPayload(unwrapExecuteViaPackData(result.data)))
481
+ : error(result.error?.message ?? MemoryResultMessages.MEM_TRIAGE_FAILED, MemoryErrorCodes.MEM_TRIAGE_ERROR);
378
482
  },
379
483
  };
380
484
  /**
@@ -388,32 +492,32 @@ export const memRecoverTool = {
388
492
  if (!input.wu) {
389
493
  return error(MemoryErrorMessages.WU_REQUIRED, ErrorCodes.MISSING_PARAMETER);
390
494
  }
391
- const args = ['--wu', input.wu];
495
+ const args = [CliArgs.WU, input.wu];
392
496
  if (input.max_size !== undefined)
393
497
  args.push('--max-size', String(input.max_size));
394
498
  if (input.format)
395
- args.push('--format', input.format);
499
+ args.push(CliArgs.FORMAT, input.format);
396
500
  if (input.quiet)
397
- args.push('--quiet');
501
+ args.push(CliArgs.QUIET);
398
502
  if (input.base_dir)
399
503
  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
- }
504
+ const result = await executeViaPack(CliCommands.MEM_RECOVER, input, {
505
+ ...buildExecutionOptions(options?.projectRoot, {
506
+ command: CliCommands.MEM_RECOVER,
507
+ args,
508
+ errorCode: MemoryErrorCodes.MEM_RECOVER_ERROR,
509
+ }),
510
+ });
511
+ if (!result.success) {
512
+ return error(result.error?.message ?? MemoryResultMessages.MEM_RECOVER_FAILED, MemoryErrorCodes.MEM_RECOVER_ERROR);
513
+ }
514
+ const unwrapped = unwrapExecuteViaPackData(result.data);
515
+ if (input.format === 'json') {
516
+ return success(parseJsonPayload(unwrapped));
517
+ }
518
+ return success({
519
+ message: resolveMessage(unwrapped, MemoryResultMessages.MEM_RECOVER_PASSED),
520
+ });
417
521
  },
418
522
  };
419
523
  //# sourceMappingURL=memory-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../src/tools/memory-tools.ts"],"names":[],"mappings":"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"}