@lumenflow/mcp 2.21.0 → 3.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/LICENSE +661 -190
- package/dist/mcp-constants.d.ts +173 -0
- package/dist/mcp-constants.d.ts.map +1 -0
- package/dist/mcp-constants.js +191 -0
- package/dist/mcp-constants.js.map +1 -0
- package/dist/runtime-cache.d.ts +7 -0
- package/dist/runtime-cache.d.ts.map +1 -0
- package/dist/runtime-cache.js +26 -0
- package/dist/runtime-cache.js.map +1 -0
- package/dist/runtime-tool-resolver.constants.d.ts +33 -0
- package/dist/runtime-tool-resolver.constants.d.ts.map +1 -0
- package/dist/runtime-tool-resolver.constants.js +33 -0
- package/dist/runtime-tool-resolver.constants.js.map +1 -0
- package/dist/runtime-tool-resolver.d.ts +5 -0
- package/dist/runtime-tool-resolver.d.ts.map +1 -0
- package/dist/runtime-tool-resolver.js +2028 -0
- package/dist/runtime-tool-resolver.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +30 -4
- package/dist/server.js.map +1 -1
- package/dist/tools/agent-tools.d.ts +1 -0
- package/dist/tools/agent-tools.d.ts.map +1 -1
- package/dist/tools/agent-tools.js +113 -41
- package/dist/tools/agent-tools.js.map +1 -1
- package/dist/tools/context-tools.d.ts +2 -1
- package/dist/tools/context-tools.d.ts.map +1 -1
- package/dist/tools/context-tools.js +23 -40
- package/dist/tools/context-tools.js.map +1 -1
- package/dist/tools/flow-tools.d.ts +1 -0
- package/dist/tools/flow-tools.d.ts.map +1 -1
- package/dist/tools/flow-tools.js +51 -64
- package/dist/tools/flow-tools.js.map +1 -1
- package/dist/tools/initiative-tools.d.ts.map +1 -1
- package/dist/tools/initiative-tools.js +198 -84
- package/dist/tools/initiative-tools.js.map +1 -1
- package/dist/tools/memory-tools.d.ts +2 -0
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +268 -166
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/orchestration-tools.d.ts.map +1 -1
- package/dist/tools/orchestration-tools.js +99 -57
- package/dist/tools/orchestration-tools.js.map +1 -1
- package/dist/tools/parity-tools.d.ts +12 -0
- package/dist/tools/parity-tools.d.ts.map +1 -1
- package/dist/tools/parity-tools.js +776 -193
- package/dist/tools/parity-tools.js.map +1 -1
- package/dist/tools/runtime-task-constants.d.ts +19 -0
- package/dist/tools/runtime-task-constants.d.ts.map +1 -0
- package/dist/tools/runtime-task-constants.js +19 -0
- package/dist/tools/runtime-task-constants.js.map +1 -0
- package/dist/tools/runtime-task-tools.d.ts +10 -0
- package/dist/tools/runtime-task-tools.d.ts.map +1 -0
- package/dist/tools/runtime-task-tools.js +114 -0
- package/dist/tools/runtime-task-tools.js.map +1 -0
- package/dist/tools/setup-tools.d.ts +1 -0
- package/dist/tools/setup-tools.d.ts.map +1 -1
- package/dist/tools/setup-tools.js +150 -65
- package/dist/tools/setup-tools.js.map +1 -1
- package/dist/tools/validation-tools.d.ts +2 -0
- package/dist/tools/validation-tools.d.ts.map +1 -1
- package/dist/tools/validation-tools.js +98 -54
- package/dist/tools/validation-tools.js.map +1 -1
- package/dist/tools/wu-tools.d.ts +1 -1
- package/dist/tools/wu-tools.d.ts.map +1 -1
- package/dist/tools/wu-tools.js +444 -250
- package/dist/tools/wu-tools.js.map +1 -1
- package/dist/tools-shared.d.ts +81 -1
- package/dist/tools-shared.d.ts.map +1 -1
- package/dist/tools-shared.js +199 -1
- package/dist/tools-shared.js.map +1 -1
- package/dist/tools.d.ts +28 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +59 -3
- package/dist/tools.js.map +1 -1
- package/dist/worktree-enforcement.d.ts +47 -0
- package/dist/worktree-enforcement.d.ts.map +1 -0
- package/dist/worktree-enforcement.js +152 -0
- package/dist/worktree-enforcement.js.map +1 -0
- package/package.json +5 -2
|
@@ -5,9 +5,62 @@
|
|
|
5
5
|
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
6
|
* WU-1426: Setup tools
|
|
7
7
|
* WU-1457: All setup commands use shared schemas
|
|
8
|
+
* WU-1812: Migrated setup tools from CLI shell-out to executeViaPack runtime path
|
|
8
9
|
*/
|
|
9
10
|
import { lumenflowInitSchema, lumenflowDoctorSchema, lumenflowIntegrateSchema, lumenflowUpgradeSchema, lumenflowCommandsSchema, docsSyncSchema, releaseSchema, syncTemplatesSchema, } from '@lumenflow/core';
|
|
10
|
-
import { ErrorCodes, ErrorMessages, CliArgs, success, error,
|
|
11
|
+
import { ErrorCodes, ErrorMessages, CliArgs, success, error, executeViaPack, } from '../tools-shared.js';
|
|
12
|
+
import { CliCommands, MetadataKeys } from '../mcp-constants.js';
|
|
13
|
+
const SetupResultMessages = {
|
|
14
|
+
LUMENFLOW_INIT_PASSED: 'LumenFlow initialized',
|
|
15
|
+
LUMENFLOW_INIT_FAILED: 'lumenflow failed',
|
|
16
|
+
LUMENFLOW_DOCTOR_PASSED: 'LumenFlow safety: ACTIVE',
|
|
17
|
+
LUMENFLOW_DOCTOR_FAILED: 'Doctor found issues',
|
|
18
|
+
LUMENFLOW_INTEGRATE_PASSED: 'Hooks generated',
|
|
19
|
+
LUMENFLOW_INTEGRATE_FAILED: 'lumenflow:integrate failed',
|
|
20
|
+
LUMENFLOW_UPGRADE_PASSED: 'LumenFlow upgraded',
|
|
21
|
+
LUMENFLOW_UPGRADE_FAILED: 'lumenflow:upgrade failed',
|
|
22
|
+
LUMENFLOW_COMMANDS_PASSED: 'Commands listed',
|
|
23
|
+
LUMENFLOW_COMMANDS_FAILED: 'lumenflow commands failed',
|
|
24
|
+
LUMENFLOW_DOCS_SYNC_PASSED: 'Docs synced',
|
|
25
|
+
LUMENFLOW_DOCS_SYNC_FAILED: 'docs:sync failed',
|
|
26
|
+
LUMENFLOW_RELEASE_PASSED: 'Release complete',
|
|
27
|
+
LUMENFLOW_RELEASE_FAILED: 'release failed',
|
|
28
|
+
LUMENFLOW_SYNC_TEMPLATES_PASSED: 'Templates synced',
|
|
29
|
+
LUMENFLOW_SYNC_TEMPLATES_FAILED: 'sync:templates failed',
|
|
30
|
+
};
|
|
31
|
+
function isRecord(value) {
|
|
32
|
+
return typeof value === 'object' && value !== null;
|
|
33
|
+
}
|
|
34
|
+
function unwrapExecuteViaPackData(data) {
|
|
35
|
+
if (!isRecord(data) || !('success' in data)) {
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
const successValue = data.success;
|
|
39
|
+
if (typeof successValue !== 'boolean' || !successValue) {
|
|
40
|
+
return data;
|
|
41
|
+
}
|
|
42
|
+
return data.data ?? {};
|
|
43
|
+
}
|
|
44
|
+
function resolveMessage(value, fallbackMessage) {
|
|
45
|
+
if (typeof value === 'string') {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
if (isRecord(value) && typeof value.message === 'string') {
|
|
49
|
+
return value.message;
|
|
50
|
+
}
|
|
51
|
+
return fallbackMessage;
|
|
52
|
+
}
|
|
53
|
+
function buildExecutionOptions(projectRoot, fallback) {
|
|
54
|
+
return {
|
|
55
|
+
projectRoot,
|
|
56
|
+
contextInput: {
|
|
57
|
+
metadata: {
|
|
58
|
+
[MetadataKeys.PROJECT_ROOT]: projectRoot,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
fallback,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
11
64
|
/**
|
|
12
65
|
* lumenflow_init - Initialize LumenFlow in a project
|
|
13
66
|
*/
|
|
@@ -21,14 +74,18 @@ export const lumenflowInitTool = {
|
|
|
21
74
|
args.push('--client', input.client);
|
|
22
75
|
if (input.merge)
|
|
23
76
|
args.push('--merge');
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
77
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW, input, {
|
|
78
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
79
|
+
command: CliCommands.LUMENFLOW,
|
|
80
|
+
args,
|
|
81
|
+
errorCode: ErrorCodes.LUMENFLOW_INIT_ERROR,
|
|
82
|
+
}),
|
|
83
|
+
});
|
|
84
|
+
return result.success
|
|
85
|
+
? success({
|
|
86
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_INIT_PASSED),
|
|
87
|
+
})
|
|
88
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_INIT_FAILED, ErrorCodes.LUMENFLOW_INIT_ERROR);
|
|
32
89
|
},
|
|
33
90
|
};
|
|
34
91
|
/**
|
|
@@ -39,14 +96,18 @@ export const lumenflowDoctorTool = {
|
|
|
39
96
|
description: 'Diagnose LumenFlow configuration and safety components',
|
|
40
97
|
inputSchema: lumenflowDoctorSchema,
|
|
41
98
|
async execute(_input, options) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
99
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW_DOCTOR, {}, {
|
|
100
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
101
|
+
command: CliCommands.LUMENFLOW_DOCTOR,
|
|
102
|
+
args: [],
|
|
103
|
+
errorCode: ErrorCodes.LUMENFLOW_DOCTOR_ERROR,
|
|
104
|
+
}),
|
|
105
|
+
});
|
|
106
|
+
return result.success
|
|
107
|
+
? success({
|
|
108
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_DOCTOR_PASSED),
|
|
109
|
+
})
|
|
110
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_DOCTOR_FAILED, ErrorCodes.LUMENFLOW_DOCTOR_ERROR);
|
|
50
111
|
},
|
|
51
112
|
};
|
|
52
113
|
/**
|
|
@@ -61,14 +122,18 @@ export const lumenflowIntegrateTool = {
|
|
|
61
122
|
return error(ErrorMessages.CLIENT_REQUIRED, ErrorCodes.MISSING_PARAMETER);
|
|
62
123
|
}
|
|
63
124
|
const args = ['--client', input.client];
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
125
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW_INTEGRATE, input, {
|
|
126
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
127
|
+
command: CliCommands.LUMENFLOW_INTEGRATE,
|
|
128
|
+
args,
|
|
129
|
+
errorCode: ErrorCodes.LUMENFLOW_INTEGRATE_ERROR,
|
|
130
|
+
}),
|
|
131
|
+
});
|
|
132
|
+
return result.success
|
|
133
|
+
? success({
|
|
134
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_INTEGRATE_PASSED),
|
|
135
|
+
})
|
|
136
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_INTEGRATE_FAILED, ErrorCodes.LUMENFLOW_INTEGRATE_ERROR);
|
|
72
137
|
},
|
|
73
138
|
};
|
|
74
139
|
/**
|
|
@@ -79,14 +144,18 @@ export const lumenflowUpgradeTool = {
|
|
|
79
144
|
description: 'Upgrade LumenFlow packages to latest versions',
|
|
80
145
|
inputSchema: lumenflowUpgradeSchema,
|
|
81
146
|
async execute(_input, options) {
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
147
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW_UPGRADE, {}, {
|
|
148
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
149
|
+
command: CliCommands.LUMENFLOW_UPGRADE,
|
|
150
|
+
args: [],
|
|
151
|
+
errorCode: ErrorCodes.LUMENFLOW_UPGRADE_ERROR,
|
|
152
|
+
}),
|
|
153
|
+
});
|
|
154
|
+
return result.success
|
|
155
|
+
? success({
|
|
156
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_UPGRADE_PASSED),
|
|
157
|
+
})
|
|
158
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_UPGRADE_FAILED, ErrorCodes.LUMENFLOW_UPGRADE_ERROR);
|
|
90
159
|
},
|
|
91
160
|
};
|
|
92
161
|
/**
|
|
@@ -97,14 +166,18 @@ export const lumenflowCommandsTool = {
|
|
|
97
166
|
description: 'List all available LumenFlow CLI commands',
|
|
98
167
|
inputSchema: lumenflowCommandsSchema,
|
|
99
168
|
async execute(_input, options) {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
169
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW, {}, {
|
|
170
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
171
|
+
command: CliCommands.LUMENFLOW,
|
|
172
|
+
args: ['commands'],
|
|
173
|
+
errorCode: ErrorCodes.LUMENFLOW_COMMANDS_ERROR,
|
|
174
|
+
}),
|
|
175
|
+
});
|
|
176
|
+
return result.success
|
|
177
|
+
? success({
|
|
178
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_COMMANDS_PASSED),
|
|
179
|
+
})
|
|
180
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_COMMANDS_FAILED, ErrorCodes.LUMENFLOW_COMMANDS_ERROR);
|
|
108
181
|
},
|
|
109
182
|
};
|
|
110
183
|
/**
|
|
@@ -115,14 +188,18 @@ export const lumenflowDocsSyncTool = {
|
|
|
115
188
|
description: 'Sync agent documentation after upgrading LumenFlow packages',
|
|
116
189
|
inputSchema: docsSyncSchema,
|
|
117
190
|
async execute(_input, options) {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
191
|
+
const result = await executeViaPack(CliCommands.DOCS_SYNC, {}, {
|
|
192
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
193
|
+
command: CliCommands.DOCS_SYNC,
|
|
194
|
+
args: [],
|
|
195
|
+
errorCode: ErrorCodes.LUMENFLOW_DOCS_SYNC_ERROR,
|
|
196
|
+
}),
|
|
197
|
+
});
|
|
198
|
+
return result.success
|
|
199
|
+
? success({
|
|
200
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_DOCS_SYNC_PASSED),
|
|
201
|
+
})
|
|
202
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_DOCS_SYNC_FAILED, ErrorCodes.LUMENFLOW_DOCS_SYNC_ERROR);
|
|
126
203
|
},
|
|
127
204
|
};
|
|
128
205
|
/**
|
|
@@ -136,14 +213,18 @@ export const lumenflowReleaseTool = {
|
|
|
136
213
|
const args = [];
|
|
137
214
|
if (input.dry_run)
|
|
138
215
|
args.push(CliArgs.DRY_RUN);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
216
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW_RELEASE, input, {
|
|
217
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
218
|
+
command: CliCommands.LUMENFLOW_RELEASE,
|
|
219
|
+
args,
|
|
220
|
+
errorCode: ErrorCodes.LUMENFLOW_RELEASE_ERROR,
|
|
221
|
+
}),
|
|
222
|
+
});
|
|
223
|
+
return result.success
|
|
224
|
+
? success({
|
|
225
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_RELEASE_PASSED),
|
|
226
|
+
})
|
|
227
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_RELEASE_FAILED, ErrorCodes.LUMENFLOW_RELEASE_ERROR);
|
|
147
228
|
},
|
|
148
229
|
};
|
|
149
230
|
/**
|
|
@@ -154,14 +235,18 @@ export const lumenflowSyncTemplatesTool = {
|
|
|
154
235
|
description: 'Sync LumenFlow templates to the project',
|
|
155
236
|
inputSchema: syncTemplatesSchema,
|
|
156
237
|
async execute(_input, options) {
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
238
|
+
const result = await executeViaPack(CliCommands.SYNC_TEMPLATES, {}, {
|
|
239
|
+
...buildExecutionOptions(options?.projectRoot, {
|
|
240
|
+
command: CliCommands.SYNC_TEMPLATES,
|
|
241
|
+
args: [],
|
|
242
|
+
errorCode: ErrorCodes.LUMENFLOW_SYNC_TEMPLATES_ERROR,
|
|
243
|
+
}),
|
|
244
|
+
});
|
|
245
|
+
return result.success
|
|
246
|
+
? success({
|
|
247
|
+
message: resolveMessage(unwrapExecuteViaPackData(result.data), SetupResultMessages.LUMENFLOW_SYNC_TEMPLATES_PASSED),
|
|
248
|
+
})
|
|
249
|
+
: error(result.error?.message ?? SetupResultMessages.LUMENFLOW_SYNC_TEMPLATES_FAILED, ErrorCodes.LUMENFLOW_SYNC_TEMPLATES_ERROR);
|
|
165
250
|
},
|
|
166
251
|
};
|
|
167
252
|
//# sourceMappingURL=setup-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-tools.js","sourceRoot":"","sources":["../../src/tools/setup-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"setup-tools.js","sourceRoot":"","sources":["../../src/tools/setup-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
6
|
* WU-1426: Validation tools
|
|
7
7
|
* WU-1457: All validation commands use shared schemas
|
|
8
|
+
* WU-1802: Migrated from CLI shell-out to executeViaPack (runtime-first)
|
|
9
|
+
* WU-1856: Fix duplicate message constants, tighten constant naming
|
|
8
10
|
*/
|
|
9
11
|
import { type ToolDefinition } from '../tools-shared.js';
|
|
10
12
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/validation-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/validation-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,EACL,KAAK,cAAc,EAMpB,MAAM,oBAAoB,CAAC;AA0B5B;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cA2B1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAyBrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,cA0BnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,cA0BrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,cA0BpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,cA2BnC,CAAC"}
|
|
@@ -5,9 +5,33 @@
|
|
|
5
5
|
* WU-1642: Extracted from tools.ts during domain decomposition.
|
|
6
6
|
* WU-1426: Validation tools
|
|
7
7
|
* WU-1457: All validation commands use shared schemas
|
|
8
|
+
* WU-1802: Migrated from CLI shell-out to executeViaPack (runtime-first)
|
|
9
|
+
* WU-1856: Fix duplicate message constants, tighten constant naming
|
|
8
10
|
*/
|
|
9
11
|
import { validateSchema, validateAgentSkillsSchema, validateAgentSyncSchema, validateBacklogSyncSchema, validateSkillsSpecSchema, } from '@lumenflow/core';
|
|
10
|
-
import { ErrorCodes, success, error,
|
|
12
|
+
import { ErrorCodes, CliArgs, success, error, executeViaPack, } from '../tools-shared.js';
|
|
13
|
+
import { CliCommands } from '../mcp-constants.js';
|
|
14
|
+
/**
|
|
15
|
+
* Fallback messages when executeViaPack returns no structured data/error.
|
|
16
|
+
*/
|
|
17
|
+
const ValidationMessages = {
|
|
18
|
+
VALIDATE_PASSED: 'Validation passed',
|
|
19
|
+
VALIDATE_FAILED: 'Validation failed',
|
|
20
|
+
AGENT_SKILLS_VALID: 'All skills valid',
|
|
21
|
+
AGENT_SKILLS_FAILED: 'validate:agent-skills failed',
|
|
22
|
+
AGENT_SYNC_VALID: 'Agent sync valid',
|
|
23
|
+
AGENT_SYNC_FAILED: 'validate:agent-sync failed',
|
|
24
|
+
BACKLOG_SYNC_VALID: 'Backlog sync valid',
|
|
25
|
+
BACKLOG_SYNC_FAILED: 'validate:backlog-sync failed',
|
|
26
|
+
SKILLS_SPEC_VALID: 'Skills spec valid',
|
|
27
|
+
SKILLS_SPEC_FAILED: 'validate:skills-spec failed',
|
|
28
|
+
LUMENFLOW_VALIDATE_FAILED: 'lumenflow-validate failed',
|
|
29
|
+
};
|
|
30
|
+
const CliFlags = {
|
|
31
|
+
STRICT: '--strict',
|
|
32
|
+
DONE_ONLY: '--done-only',
|
|
33
|
+
SKILL: '--skill',
|
|
34
|
+
};
|
|
11
35
|
/**
|
|
12
36
|
* validate - Validate WU YAML files
|
|
13
37
|
*/
|
|
@@ -18,19 +42,22 @@ export const validateTool = {
|
|
|
18
42
|
async execute(input, options) {
|
|
19
43
|
const args = [];
|
|
20
44
|
if (input.id)
|
|
21
|
-
args.push(
|
|
45
|
+
args.push(CliArgs.ID, input.id);
|
|
22
46
|
if (input.strict)
|
|
23
|
-
args.push(
|
|
47
|
+
args.push(CliFlags.STRICT);
|
|
24
48
|
if (input.done_only)
|
|
25
|
-
args.push(
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
49
|
+
args.push(CliFlags.DONE_ONLY);
|
|
50
|
+
const result = await executeViaPack(CliCommands.VALIDATE, input, {
|
|
51
|
+
projectRoot: options?.projectRoot,
|
|
52
|
+
fallback: {
|
|
53
|
+
command: CliCommands.VALIDATE,
|
|
54
|
+
args,
|
|
55
|
+
errorCode: ErrorCodes.VALIDATE_ERROR,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
return result.success
|
|
59
|
+
? success(result.data ?? { message: ValidationMessages.VALIDATE_PASSED })
|
|
60
|
+
: error(result.error?.message ?? ValidationMessages.VALIDATE_FAILED, ErrorCodes.VALIDATE_ERROR);
|
|
34
61
|
},
|
|
35
62
|
};
|
|
36
63
|
/**
|
|
@@ -43,15 +70,18 @@ export const validateAgentSkillsTool = {
|
|
|
43
70
|
async execute(input, options) {
|
|
44
71
|
const args = [];
|
|
45
72
|
if (input.skill)
|
|
46
|
-
args.push(
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
73
|
+
args.push(CliFlags.SKILL, input.skill);
|
|
74
|
+
const result = await executeViaPack(CliCommands.VALIDATE_AGENT_SKILLS, input, {
|
|
75
|
+
projectRoot: options?.projectRoot,
|
|
76
|
+
fallback: {
|
|
77
|
+
command: CliCommands.VALIDATE_AGENT_SKILLS,
|
|
78
|
+
args,
|
|
79
|
+
errorCode: ErrorCodes.VALIDATE_AGENT_SKILLS_ERROR,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
return result.success
|
|
83
|
+
? success(result.data ?? { message: ValidationMessages.AGENT_SKILLS_VALID })
|
|
84
|
+
: error(result.error?.message ?? ValidationMessages.AGENT_SKILLS_FAILED, ErrorCodes.VALIDATE_AGENT_SKILLS_ERROR);
|
|
55
85
|
},
|
|
56
86
|
};
|
|
57
87
|
/**
|
|
@@ -62,14 +92,17 @@ export const validateAgentSyncTool = {
|
|
|
62
92
|
description: 'Validate agent synchronization state',
|
|
63
93
|
inputSchema: validateAgentSyncSchema,
|
|
64
94
|
async execute(_input, options) {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
95
|
+
const result = await executeViaPack(CliCommands.VALIDATE_AGENT_SYNC, {}, {
|
|
96
|
+
projectRoot: options?.projectRoot,
|
|
97
|
+
fallback: {
|
|
98
|
+
command: CliCommands.VALIDATE_AGENT_SYNC,
|
|
99
|
+
args: [],
|
|
100
|
+
errorCode: ErrorCodes.VALIDATE_AGENT_SYNC_ERROR,
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
return result.success
|
|
104
|
+
? success(result.data ?? { message: ValidationMessages.AGENT_SYNC_VALID })
|
|
105
|
+
: error(result.error?.message ?? ValidationMessages.AGENT_SYNC_FAILED, ErrorCodes.VALIDATE_AGENT_SYNC_ERROR);
|
|
73
106
|
},
|
|
74
107
|
};
|
|
75
108
|
/**
|
|
@@ -80,14 +113,17 @@ export const validateBacklogSyncTool = {
|
|
|
80
113
|
description: 'Validate backlog synchronization between WU YAMLs and backlog.md',
|
|
81
114
|
inputSchema: validateBacklogSyncSchema,
|
|
82
115
|
async execute(_input, options) {
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
116
|
+
const result = await executeViaPack(CliCommands.VALIDATE_BACKLOG_SYNC, {}, {
|
|
117
|
+
projectRoot: options?.projectRoot,
|
|
118
|
+
fallback: {
|
|
119
|
+
command: CliCommands.VALIDATE_BACKLOG_SYNC,
|
|
120
|
+
args: [],
|
|
121
|
+
errorCode: ErrorCodes.VALIDATE_BACKLOG_SYNC_ERROR,
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
return result.success
|
|
125
|
+
? success(result.data ?? { message: ValidationMessages.BACKLOG_SYNC_VALID })
|
|
126
|
+
: error(result.error?.message ?? ValidationMessages.BACKLOG_SYNC_FAILED, ErrorCodes.VALIDATE_BACKLOG_SYNC_ERROR);
|
|
91
127
|
},
|
|
92
128
|
};
|
|
93
129
|
/**
|
|
@@ -98,14 +134,17 @@ export const validateSkillsSpecTool = {
|
|
|
98
134
|
description: 'Validate skills specification files',
|
|
99
135
|
inputSchema: validateSkillsSpecSchema,
|
|
100
136
|
async execute(_input, options) {
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
137
|
+
const result = await executeViaPack(CliCommands.VALIDATE_SKILLS_SPEC, {}, {
|
|
138
|
+
projectRoot: options?.projectRoot,
|
|
139
|
+
fallback: {
|
|
140
|
+
command: CliCommands.VALIDATE_SKILLS_SPEC,
|
|
141
|
+
args: [],
|
|
142
|
+
errorCode: ErrorCodes.VALIDATE_SKILLS_SPEC_ERROR,
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
return result.success
|
|
146
|
+
? success(result.data ?? { message: ValidationMessages.SKILLS_SPEC_VALID })
|
|
147
|
+
: error(result.error?.message ?? ValidationMessages.SKILLS_SPEC_FAILED, ErrorCodes.VALIDATE_SKILLS_SPEC_ERROR);
|
|
109
148
|
},
|
|
110
149
|
};
|
|
111
150
|
/**
|
|
@@ -118,17 +157,22 @@ export const lumenflowValidateTool = {
|
|
|
118
157
|
async execute(input, options) {
|
|
119
158
|
const args = [];
|
|
120
159
|
if (input.id)
|
|
121
|
-
args.push(
|
|
160
|
+
args.push(CliArgs.ID, input.id);
|
|
122
161
|
if (input.strict)
|
|
123
|
-
args.push(
|
|
162
|
+
args.push(CliFlags.STRICT);
|
|
124
163
|
if (input.done_only)
|
|
125
|
-
args.push(
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
164
|
+
args.push(CliFlags.DONE_ONLY);
|
|
165
|
+
const result = await executeViaPack(CliCommands.LUMENFLOW_VALIDATE, input, {
|
|
166
|
+
projectRoot: options?.projectRoot,
|
|
167
|
+
fallback: {
|
|
168
|
+
command: CliCommands.VALIDATE,
|
|
169
|
+
args,
|
|
170
|
+
errorCode: ErrorCodes.LUMENFLOW_VALIDATE_ERROR,
|
|
171
|
+
},
|
|
172
|
+
});
|
|
173
|
+
return result.success
|
|
174
|
+
? success(result.data ?? { message: ValidationMessages.VALIDATE_PASSED })
|
|
175
|
+
: error(result.error?.message ?? ValidationMessages.LUMENFLOW_VALIDATE_FAILED, ErrorCodes.LUMENFLOW_VALIDATE_ERROR);
|
|
132
176
|
},
|
|
133
177
|
};
|
|
134
178
|
//# sourceMappingURL=validation-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-tools.js","sourceRoot":"","sources":["../../src/tools/validation-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validation-tools.js","sourceRoot":"","sources":["../../src/tools/validation-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/wu-tools.d.ts
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
import { type ToolDefinition } from '../tools-shared.js';
|
|
12
12
|
/**
|
|
13
13
|
* wu_status - Get status of a specific WU
|
|
14
|
-
* Uses CLI shell-out for consistency
|
|
15
14
|
*
|
|
16
15
|
* WU-1431: Uses shared wuStatusSchema for parity with CLI
|
|
16
|
+
* WU-1805: Migrated from CLI shell-out to executeViaPack (runtime-first)
|
|
17
17
|
* Note: CLI allows id to be optional (auto-detect from worktree), but MCP requires it
|
|
18
18
|
* since there's no "current directory" concept for MCP clients
|
|
19
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wu-tools.d.ts","sourceRoot":"","sources":["../../src/tools/wu-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA2BH,OAAO,EACL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"wu-tools.d.ts","sourceRoot":"","sources":["../../src/tools/wu-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA2BH,OAAO,EACL,KAAK,cAAc,EAUpB,MAAM,oBAAoB,CAAC;AAsE5B;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,cA4B1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,cAgD1B,CAAC;AAmBF,eAAO,MAAM,WAAW,EAAE,cAkDzB,CAAC;AAcF,eAAO,MAAM,aAAa,EAAE,cA0C3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,cAyDxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,cAoC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAoC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAmDxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAmC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAkC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAiC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cA6BxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAoCxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cA+B7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,cA+BzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,cAqC1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAmC3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,cAiCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cAmC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cA8B5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,cAgC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAwC9B,CAAC"}
|