maxsimcli 4.0.2 → 4.2.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/.tsbuildinfo +1 -1
- package/dist/assets/CHANGELOG.md +16 -0
- package/dist/assets/dashboard/client/assets/{index-C_eAetZJ.js → index-BcRHShXD.js} +59 -59
- package/dist/assets/dashboard/client/assets/index-C199D4Eb.css +32 -0
- package/dist/assets/dashboard/client/index.html +2 -2
- package/dist/assets/dashboard/server.js +26 -11
- package/dist/assets/templates/agents/AGENTS.md +18 -69
- package/dist/assets/templates/agents/maxsim-code-reviewer.md +17 -92
- package/dist/assets/templates/agents/maxsim-codebase-mapper.md +57 -694
- package/dist/assets/templates/agents/maxsim-debugger.md +80 -925
- package/dist/assets/templates/agents/maxsim-executor.md +94 -431
- package/dist/assets/templates/agents/maxsim-integration-checker.md +51 -319
- package/dist/assets/templates/agents/maxsim-phase-researcher.md +63 -429
- package/dist/assets/templates/agents/maxsim-plan-checker.md +79 -568
- package/dist/assets/templates/agents/maxsim-planner.md +125 -855
- package/dist/assets/templates/agents/maxsim-project-researcher.md +32 -472
- package/dist/assets/templates/agents/maxsim-research-synthesizer.md +25 -134
- package/dist/assets/templates/agents/maxsim-roadmapper.md +66 -480
- package/dist/assets/templates/agents/maxsim-spec-reviewer.md +13 -55
- package/dist/assets/templates/agents/maxsim-verifier.md +95 -450
- package/dist/assets/templates/commands/maxsim/artefakte.md +122 -0
- package/dist/assets/templates/commands/maxsim/batch.md +42 -0
- package/dist/assets/templates/commands/maxsim/check-todos.md +1 -0
- package/dist/assets/templates/commands/maxsim/sdd.md +39 -0
- package/dist/assets/templates/references/thinking-partner.md +33 -0
- package/dist/assets/templates/workflows/batch.md +420 -0
- package/dist/assets/templates/workflows/check-todos.md +85 -1
- package/dist/assets/templates/workflows/discuss-phase.md +31 -0
- package/dist/assets/templates/workflows/execute-plan.md +96 -27
- package/dist/assets/templates/workflows/help.md +47 -0
- package/dist/assets/templates/workflows/sdd.md +426 -0
- package/dist/backend/index.d.ts +4 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +12 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/lifecycle.d.ts +13 -0
- package/dist/backend/lifecycle.d.ts.map +1 -0
- package/dist/backend/lifecycle.js +168 -0
- package/dist/backend/lifecycle.js.map +1 -0
- package/dist/backend/server.d.ts +13 -0
- package/dist/backend/server.d.ts.map +1 -0
- package/dist/backend/server.js +1013 -0
- package/dist/backend/server.js.map +1 -0
- package/dist/backend/terminal.d.ts +49 -0
- package/dist/backend/terminal.d.ts.map +1 -0
- package/dist/backend/terminal.js +209 -0
- package/dist/backend/terminal.js.map +1 -0
- package/dist/backend/types.d.ts +77 -0
- package/dist/backend/types.d.ts.map +1 -0
- package/dist/backend/types.js +6 -0
- package/dist/backend/types.js.map +1 -0
- package/dist/backend-server.cjs +80636 -0
- package/dist/backend-server.cjs.map +1 -0
- package/dist/backend-server.d.cts +2 -0
- package/dist/backend-server.d.ts +11 -0
- package/dist/backend-server.d.ts.map +1 -0
- package/dist/backend-server.js +43 -0
- package/dist/backend-server.js.map +1 -0
- package/dist/cli.cjs +378 -172
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +28 -8
- package/dist/cli.js.map +1 -1
- package/dist/core/artefakte.d.ts.map +1 -1
- package/dist/core/artefakte.js +16 -0
- package/dist/core/artefakte.js.map +1 -1
- package/dist/core/context-loader.d.ts +1 -0
- package/dist/core/context-loader.d.ts.map +1 -1
- package/dist/core/context-loader.js +58 -0
- package/dist/core/context-loader.js.map +1 -1
- package/dist/core/core.d.ts +6 -0
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +238 -0
- package/dist/core/core.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +5 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/phase.d.ts +11 -11
- package/dist/core/phase.d.ts.map +1 -1
- package/dist/core/phase.js +88 -73
- package/dist/core/phase.js.map +1 -1
- package/dist/core/roadmap.d.ts +2 -2
- package/dist/core/roadmap.d.ts.map +1 -1
- package/dist/core/roadmap.js +11 -10
- package/dist/core/roadmap.js.map +1 -1
- package/dist/core/skills.d.ts +4 -3
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +14 -15
- package/dist/core/skills.js.map +1 -1
- package/dist/core/state.d.ts +11 -11
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +60 -54
- package/dist/core/state.js.map +1 -1
- package/dist/{core-TFSlUjV1.cjs → core-RRjCSt0G.cjs} +1 -9
- package/dist/{core-TFSlUjV1.cjs.map → core-RRjCSt0G.cjs.map} +1 -1
- package/dist/esm-iIOBzmdz.cjs +1561 -0
- package/dist/esm-iIOBzmdz.cjs.map +1 -0
- package/dist/install.cjs +2 -2
- package/dist/lifecycle-0M4VqOMm.cjs +136 -0
- package/dist/lifecycle-0M4VqOMm.cjs.map +1 -0
- package/dist/mcp/config-tools.d.ts +13 -0
- package/dist/mcp/config-tools.d.ts.map +1 -0
- package/dist/mcp/config-tools.js +66 -0
- package/dist/mcp/config-tools.js.map +1 -0
- package/dist/mcp/context-tools.d.ts +13 -0
- package/dist/mcp/context-tools.d.ts.map +1 -0
- package/dist/mcp/context-tools.js +176 -0
- package/dist/mcp/context-tools.js.map +1 -0
- package/dist/mcp/index.d.ts +0 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +6 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/phase-tools.js +3 -3
- package/dist/mcp/phase-tools.js.map +1 -1
- package/dist/mcp/roadmap-tools.d.ts +13 -0
- package/dist/mcp/roadmap-tools.d.ts.map +1 -0
- package/dist/mcp/roadmap-tools.js +79 -0
- package/dist/mcp/roadmap-tools.js.map +1 -0
- package/dist/mcp-server.cjs +799 -38
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/server-G1MIg_Oe.cjs +2980 -0
- package/dist/server-G1MIg_Oe.cjs.map +1 -0
- package/dist/{skills-BOSxYUzf.cjs → skills-MYlMkYNt.cjs} +41 -29
- package/dist/skills-MYlMkYNt.cjs.map +1 -0
- package/package.json +7 -1
- package/dist/assets/dashboard/client/assets/index-CmiJKqOU.css +0 -32
- package/dist/skills-BOSxYUzf.cjs.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Context Query MCP Tools — Project context exposed as MCP tools
|
|
4
|
+
*
|
|
5
|
+
* CRITICAL: Never import output() or error() from core — they call process.exit().
|
|
6
|
+
* CRITICAL: Never write to stdout — it is reserved for MCP JSON-RPC protocol.
|
|
7
|
+
* CRITICAL: Never call process.exit() — the server must stay alive after every tool call.
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.registerContextTools = registerContextTools;
|
|
14
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
const zod_1 = require("zod");
|
|
17
|
+
const core_js_1 = require("../core/core.js");
|
|
18
|
+
const roadmap_js_1 = require("../core/roadmap.js");
|
|
19
|
+
const state_js_1 = require("../core/state.js");
|
|
20
|
+
const context_loader_js_1 = require("../core/context-loader.js");
|
|
21
|
+
const utils_js_1 = require("./utils.js");
|
|
22
|
+
/**
|
|
23
|
+
* Register all context query tools on the MCP server.
|
|
24
|
+
*/
|
|
25
|
+
function registerContextTools(server) {
|
|
26
|
+
// ── mcp_get_active_phase ────────────────────────────────────────────────────
|
|
27
|
+
server.tool('mcp_get_active_phase', 'Get the currently active phase and next phase from roadmap analysis and STATE.md.', {}, async () => {
|
|
28
|
+
try {
|
|
29
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
30
|
+
if (!cwd) {
|
|
31
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
32
|
+
}
|
|
33
|
+
const roadmapResult = await (0, roadmap_js_1.cmdRoadmapAnalyze)(cwd);
|
|
34
|
+
let current_phase = null;
|
|
35
|
+
let next_phase = null;
|
|
36
|
+
let phase_name = null;
|
|
37
|
+
let status = null;
|
|
38
|
+
if (roadmapResult.ok) {
|
|
39
|
+
const data = roadmapResult.result;
|
|
40
|
+
current_phase = data.current_phase ?? null;
|
|
41
|
+
next_phase = data.next_phase ?? null;
|
|
42
|
+
}
|
|
43
|
+
// Also read STATE.md for current phase field
|
|
44
|
+
const stateContent = (0, core_js_1.safeReadFile)((0, core_js_1.planningPath)(cwd, 'STATE.md'));
|
|
45
|
+
if (stateContent) {
|
|
46
|
+
const statePhase = (0, state_js_1.stateExtractField)(stateContent, 'Current Phase');
|
|
47
|
+
if (statePhase)
|
|
48
|
+
phase_name = statePhase;
|
|
49
|
+
const stateStatus = (0, state_js_1.stateExtractField)(stateContent, 'Status');
|
|
50
|
+
if (stateStatus)
|
|
51
|
+
status = stateStatus;
|
|
52
|
+
}
|
|
53
|
+
return (0, utils_js_1.mcpSuccess)({ current_phase, next_phase, phase_name, status }, `Active phase: ${phase_name ?? current_phase ?? 'unknown'}`);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// ── mcp_get_guidelines ──────────────────────────────────────────────────────
|
|
60
|
+
server.tool('mcp_get_guidelines', 'Get project guidelines: PROJECT.md vision, config, and optionally phase-specific context.', {
|
|
61
|
+
phase: zod_1.z
|
|
62
|
+
.string()
|
|
63
|
+
.optional()
|
|
64
|
+
.describe('Optional phase number to include phase-specific context'),
|
|
65
|
+
}, async ({ phase }) => {
|
|
66
|
+
try {
|
|
67
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
68
|
+
if (!cwd) {
|
|
69
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
70
|
+
}
|
|
71
|
+
const project_vision = (0, core_js_1.safeReadFile)((0, core_js_1.planningPath)(cwd, 'PROJECT.md'));
|
|
72
|
+
const config = (0, core_js_1.loadConfig)(cwd);
|
|
73
|
+
let phase_context = null;
|
|
74
|
+
if (phase) {
|
|
75
|
+
const phaseInfo = (0, core_js_1.findPhaseInternal)(cwd, phase);
|
|
76
|
+
if (phaseInfo) {
|
|
77
|
+
const contextPath = node_path_1.default.join(phaseInfo.directory, `${phaseInfo.phase_number}-CONTEXT.md`);
|
|
78
|
+
phase_context = (0, core_js_1.safeReadFile)(contextPath);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return (0, utils_js_1.mcpSuccess)({ project_vision, config, phase_context }, `Guidelines loaded${phase ? ` with phase ${phase} context` : ''}`);
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
// ── mcp_get_context_for_task ────────────────────────────────────────────────
|
|
88
|
+
server.tool('mcp_get_context_for_task', 'Load context files for a task. Includes project context, roadmap, artefakte, and codebase docs filtered by topic. ' +
|
|
89
|
+
'Topic keywords select relevant codebase docs: "ui/frontend" loads CONVENTIONS+STRUCTURE, ' +
|
|
90
|
+
'"api/backend" loads ARCHITECTURE+CONVENTIONS, "testing" loads TESTING+CONVENTIONS, ' +
|
|
91
|
+
'"database" loads ARCHITECTURE+STACK, "refactor" loads CONCERNS+ARCHITECTURE. ' +
|
|
92
|
+
'Without topic, defaults to STACK+ARCHITECTURE.', {
|
|
93
|
+
phase: zod_1.z
|
|
94
|
+
.string()
|
|
95
|
+
.optional()
|
|
96
|
+
.describe('Phase number to scope context to'),
|
|
97
|
+
topic: zod_1.z
|
|
98
|
+
.string()
|
|
99
|
+
.optional()
|
|
100
|
+
.describe('Topic keywords to filter codebase docs (e.g. "frontend", "api", "testing", "database", "refactor")'),
|
|
101
|
+
}, async ({ phase, topic }) => {
|
|
102
|
+
try {
|
|
103
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
104
|
+
if (!cwd) {
|
|
105
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
106
|
+
}
|
|
107
|
+
const result = (0, context_loader_js_1.cmdContextLoad)(cwd, phase, topic, true);
|
|
108
|
+
if (!result.ok) {
|
|
109
|
+
return (0, utils_js_1.mcpError)(result.error, 'Context load failed');
|
|
110
|
+
}
|
|
111
|
+
return (0, utils_js_1.mcpSuccess)({ context: result.result }, `Context loaded${phase ? ` for phase ${phase}` : ''}${topic ? ` topic "${topic}"` : ''}`);
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
// ── mcp_get_project_overview ────────────────────────────────────────────────
|
|
118
|
+
server.tool('mcp_get_project_overview', 'Get a high-level project overview: PROJECT.md, REQUIREMENTS.md, and STATE.md contents.', {}, async () => {
|
|
119
|
+
try {
|
|
120
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
121
|
+
if (!cwd) {
|
|
122
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
123
|
+
}
|
|
124
|
+
const project = (0, core_js_1.safeReadFile)((0, core_js_1.planningPath)(cwd, 'PROJECT.md'));
|
|
125
|
+
const requirements = (0, core_js_1.safeReadFile)((0, core_js_1.planningPath)(cwd, 'REQUIREMENTS.md'));
|
|
126
|
+
const state = (0, core_js_1.safeReadFile)((0, core_js_1.planningPath)(cwd, 'STATE.md'));
|
|
127
|
+
return (0, utils_js_1.mcpSuccess)({ project, requirements, state }, 'Project overview loaded');
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
// ── mcp_get_phase_detail ────────────────────────────────────────────────────
|
|
134
|
+
server.tool('mcp_get_phase_detail', 'Get detailed information about a specific phase including all its files (plans, summaries, context, research, verification).', {
|
|
135
|
+
phase: zod_1.z.string().describe('Phase number or name (e.g. "01", "1", "01A")'),
|
|
136
|
+
}, async ({ phase }) => {
|
|
137
|
+
try {
|
|
138
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
139
|
+
if (!cwd) {
|
|
140
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
141
|
+
}
|
|
142
|
+
const phaseInfo = (0, core_js_1.findPhaseInternal)(cwd, phase);
|
|
143
|
+
if (!phaseInfo) {
|
|
144
|
+
return (0, utils_js_1.mcpError)(`Phase ${phase} not found`, 'Phase not found');
|
|
145
|
+
}
|
|
146
|
+
// Read all files in the phase directory
|
|
147
|
+
const files = [];
|
|
148
|
+
try {
|
|
149
|
+
const entries = node_fs_1.default.readdirSync(phaseInfo.directory);
|
|
150
|
+
for (const entry of entries) {
|
|
151
|
+
const fullPath = node_path_1.default.join(phaseInfo.directory, entry);
|
|
152
|
+
const stat = node_fs_1.default.statSync(fullPath);
|
|
153
|
+
if (stat.isFile()) {
|
|
154
|
+
files.push({
|
|
155
|
+
name: entry,
|
|
156
|
+
content: (0, core_js_1.safeReadFile)(fullPath),
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
// Directory may not exist or be empty
|
|
163
|
+
}
|
|
164
|
+
return (0, utils_js_1.mcpSuccess)({
|
|
165
|
+
phase_number: phaseInfo.phase_number,
|
|
166
|
+
phase_name: phaseInfo.phase_name,
|
|
167
|
+
directory: phaseInfo.directory,
|
|
168
|
+
files,
|
|
169
|
+
}, `Phase ${phaseInfo.phase_number} detail: ${files.length} file(s)`);
|
|
170
|
+
}
|
|
171
|
+
catch (e) {
|
|
172
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=context-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-tools.js","sourceRoot":"","sources":["../../src/mcp/context-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* MCP Tool Registration — Orchestrates all tool registrations
|
|
3
3
|
*
|
|
4
4
|
* This is the single entry point for registering MCP tools on the server.
|
|
5
|
-
* Later plans will add registerTodoTools, registerStateTools, etc.
|
|
6
5
|
*/
|
|
7
6
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
8
7
|
/**
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAOxD"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
* MCP Tool Registration — Orchestrates all tool registrations
|
|
4
4
|
*
|
|
5
5
|
* This is the single entry point for registering MCP tools on the server.
|
|
6
|
-
* Later plans will add registerTodoTools, registerStateTools, etc.
|
|
7
6
|
*/
|
|
8
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
8
|
exports.registerAllTools = registerAllTools;
|
|
10
9
|
const phase_tools_js_1 = require("./phase-tools.js");
|
|
11
10
|
const todo_tools_js_1 = require("./todo-tools.js");
|
|
12
11
|
const state_tools_js_1 = require("./state-tools.js");
|
|
12
|
+
const context_tools_js_1 = require("./context-tools.js");
|
|
13
|
+
const roadmap_tools_js_1 = require("./roadmap-tools.js");
|
|
14
|
+
const config_tools_js_1 = require("./config-tools.js");
|
|
13
15
|
/**
|
|
14
16
|
* Register all MCP tools on the given server instance.
|
|
15
17
|
*/
|
|
@@ -17,5 +19,8 @@ function registerAllTools(server) {
|
|
|
17
19
|
(0, phase_tools_js_1.registerPhaseTools)(server);
|
|
18
20
|
(0, todo_tools_js_1.registerTodoTools)(server);
|
|
19
21
|
(0, state_tools_js_1.registerStateTools)(server);
|
|
22
|
+
(0, context_tools_js_1.registerContextTools)(server);
|
|
23
|
+
(0, roadmap_tools_js_1.registerRoadmapTools)(server);
|
|
24
|
+
(0, config_tools_js_1.registerConfigTools)(server);
|
|
20
25
|
}
|
|
21
26
|
//# sourceMappingURL=index.js.map
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAaH,4CAOC;AAjBD,qDAAsD;AACtD,mDAAoD;AACpD,qDAAsD;AACtD,yDAA0D;AAC1D,yDAA0D;AAC1D,uDAAwD;AAExD;;GAEG;AACH,SAAgB,gBAAgB,CAAC,MAAiB;IAChD,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC;IAC3B,IAAA,iCAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC;IAC3B,IAAA,uCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,uCAAoB,EAAC,MAAM,CAAC,CAAC;IAC7B,IAAA,qCAAmB,EAAC,MAAM,CAAC,CAAC;AAC9B,CAAC"}
|
package/dist/mcp/phase-tools.js
CHANGED
|
@@ -95,7 +95,7 @@ function registerPhaseTools(server) {
|
|
|
95
95
|
if (!name || !name.trim()) {
|
|
96
96
|
return (0, utils_js_1.mcpError)('Phase name must not be empty', 'Validation failed');
|
|
97
97
|
}
|
|
98
|
-
const result = (0, phase_js_1.phaseAddCore)(cwd, name, { includeStubs: true });
|
|
98
|
+
const result = await (0, phase_js_1.phaseAddCore)(cwd, name, { includeStubs: true });
|
|
99
99
|
return (0, utils_js_1.mcpSuccess)({
|
|
100
100
|
phase_number: result.phase_number,
|
|
101
101
|
padded: result.padded,
|
|
@@ -121,7 +121,7 @@ function registerPhaseTools(server) {
|
|
|
121
121
|
if (!name || !name.trim()) {
|
|
122
122
|
return (0, utils_js_1.mcpError)('Phase name must not be empty', 'Validation failed');
|
|
123
123
|
}
|
|
124
|
-
const result = (0, phase_js_1.phaseInsertCore)(cwd, after, name, { includeStubs: true });
|
|
124
|
+
const result = await (0, phase_js_1.phaseInsertCore)(cwd, after, name, { includeStubs: true });
|
|
125
125
|
return (0, utils_js_1.mcpSuccess)({
|
|
126
126
|
phase_number: result.phase_number,
|
|
127
127
|
after_phase: result.after_phase,
|
|
@@ -143,7 +143,7 @@ function registerPhaseTools(server) {
|
|
|
143
143
|
if (!cwd) {
|
|
144
144
|
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
145
145
|
}
|
|
146
|
-
const result = (0, phase_js_1.phaseCompleteCore)(cwd, phase);
|
|
146
|
+
const result = await (0, phase_js_1.phaseCompleteCore)(cwd, phase);
|
|
147
147
|
return (0, utils_js_1.mcpSuccess)({
|
|
148
148
|
completed_phase: result.completed_phase,
|
|
149
149
|
phase_name: result.phase_name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-tools.js","sourceRoot":"","sources":["../../src/mcp/phase-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"phase-tools.js","sourceRoot":"","sources":["../../src/mcp/phase-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Roadmap Query MCP Tools — Roadmap analysis exposed as MCP tools
|
|
3
|
+
*
|
|
4
|
+
* CRITICAL: Never import output() or error() from core — they call process.exit().
|
|
5
|
+
* CRITICAL: Never write to stdout — it is reserved for MCP JSON-RPC protocol.
|
|
6
|
+
* CRITICAL: Never call process.exit() — the server must stay alive after every tool call.
|
|
7
|
+
*/
|
|
8
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register all roadmap query tools on the MCP server.
|
|
11
|
+
*/
|
|
12
|
+
export declare function registerRoadmapTools(server: McpServer): void;
|
|
13
|
+
//# sourceMappingURL=roadmap-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/roadmap-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsF5D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Roadmap Query MCP Tools — Roadmap analysis exposed as MCP tools
|
|
4
|
+
*
|
|
5
|
+
* CRITICAL: Never import output() or error() from core — they call process.exit().
|
|
6
|
+
* CRITICAL: Never write to stdout — it is reserved for MCP JSON-RPC protocol.
|
|
7
|
+
* CRITICAL: Never call process.exit() — the server must stay alive after every tool call.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.registerRoadmapTools = registerRoadmapTools;
|
|
11
|
+
const roadmap_js_1 = require("../core/roadmap.js");
|
|
12
|
+
const utils_js_1 = require("./utils.js");
|
|
13
|
+
/**
|
|
14
|
+
* Register all roadmap query tools on the MCP server.
|
|
15
|
+
*/
|
|
16
|
+
function registerRoadmapTools(server) {
|
|
17
|
+
// ── mcp_get_roadmap ─────────────────────────────────────────────────────────
|
|
18
|
+
server.tool('mcp_get_roadmap', 'Get the full roadmap analysis including all phases, their status, and progress.', {}, async () => {
|
|
19
|
+
try {
|
|
20
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
21
|
+
if (!cwd) {
|
|
22
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
23
|
+
}
|
|
24
|
+
const result = await (0, roadmap_js_1.cmdRoadmapAnalyze)(cwd);
|
|
25
|
+
if (!result.ok) {
|
|
26
|
+
return (0, utils_js_1.mcpError)(result.error, 'Roadmap analysis failed');
|
|
27
|
+
}
|
|
28
|
+
return (0, utils_js_1.mcpSuccess)({ roadmap: result.result }, 'Roadmap analysis complete');
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// ── mcp_get_roadmap_progress ────────────────────────────────────────────────
|
|
35
|
+
server.tool('mcp_get_roadmap_progress', 'Get a focused progress summary: total phases, completed, in-progress, not started, and progress percentage.', {}, async () => {
|
|
36
|
+
try {
|
|
37
|
+
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
38
|
+
if (!cwd) {
|
|
39
|
+
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
40
|
+
}
|
|
41
|
+
const result = await (0, roadmap_js_1.cmdRoadmapAnalyze)(cwd);
|
|
42
|
+
if (!result.ok) {
|
|
43
|
+
return (0, utils_js_1.mcpError)(result.error, 'Roadmap analysis failed');
|
|
44
|
+
}
|
|
45
|
+
const data = result.result;
|
|
46
|
+
const phases = (data.phases ?? []);
|
|
47
|
+
const total_phases = phases.length;
|
|
48
|
+
let completed = 0;
|
|
49
|
+
let in_progress = 0;
|
|
50
|
+
let not_started = 0;
|
|
51
|
+
for (const p of phases) {
|
|
52
|
+
const status = String(p.status ?? '').toLowerCase();
|
|
53
|
+
if (status === 'completed' || status === 'done') {
|
|
54
|
+
completed++;
|
|
55
|
+
}
|
|
56
|
+
else if (status === 'in-progress' || status === 'in_progress' || status === 'active') {
|
|
57
|
+
in_progress++;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
not_started++;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const progress_percent = total_phases > 0 ? Math.round((completed / total_phases) * 100) : 0;
|
|
64
|
+
return (0, utils_js_1.mcpSuccess)({
|
|
65
|
+
total_phases,
|
|
66
|
+
completed,
|
|
67
|
+
in_progress,
|
|
68
|
+
not_started,
|
|
69
|
+
progress_percent,
|
|
70
|
+
current_phase: data.current_phase ?? null,
|
|
71
|
+
next_phase: data.next_phase ?? null,
|
|
72
|
+
}, `Progress: ${completed}/${total_phases} phases complete (${progress_percent}%)`);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=roadmap-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap-tools.js","sourceRoot":"","sources":["../../src/mcp/roadmap-tools.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAUH,oDAsFC;AA5FD,mDAAuD;AACvD,yCAAqE;AAErE;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAAiB;IACpD,+EAA+E;IAE/E,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB,iFAAiF,EACjF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,4BAAiB,GAAE,CAAC;YAChC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAA,mBAAQ,EAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAiB,EAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,IAAA,qBAAU,EACf,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAC1B,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,IAAA,mBAAQ,EAAC,UAAU,GAAI,CAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,+EAA+E;IAE/E,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,6GAA6G,EAC7G,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAA,4BAAiB,GAAE,CAAC;YAChC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,IAAA,mBAAQ,EAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAiB,EAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAiC,CAAC;YACtD,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAmC,CAAC;YAErE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBACpD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBAChD,SAAS,EAAE,CAAC;gBACd,CAAC;qBAAM,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACvF,WAAW,EAAE,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GACpB,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,OAAO,IAAA,qBAAU,EACf;gBACE,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,WAAW;gBACX,gBAAgB;gBAChB,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI;gBACzC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;aACpC,EACD,aAAa,SAAS,IAAI,YAAY,qBAAqB,gBAAgB,IAAI,CAChF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,IAAA,mBAAQ,EAAC,UAAU,GAAI,CAAW,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|