maxsimcli 4.6.0 → 4.7.1
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/assets/CHANGELOG.md +39 -0
- package/dist/cli.cjs +470 -961
- package/dist/cli.cjs.map +1 -1
- package/dist/{core-RRjCSt0G.cjs → core-D5zUr9cb.cjs} +4 -3
- package/dist/core-D5zUr9cb.cjs.map +1 -0
- package/dist/install.cjs +3 -195
- package/dist/install.cjs.map +1 -1
- package/dist/mcp-server.cjs +2853 -217
- package/dist/mcp-server.cjs.map +1 -1
- package/dist/{skills-MYlMkYNt.cjs → skills-CjFWZIGM.cjs} +6 -6
- package/dist/{skills-MYlMkYNt.cjs.map → skills-CjFWZIGM.cjs.map} +1 -1
- package/package.json +1 -7
- package/dist/.tsbuildinfo +0 -1
- package/dist/assets/dashboard/client/assets/index-C199D4Eb.css +0 -32
- package/dist/assets/dashboard/client/assets/index-nAXJLp0_.js +0 -233
- package/dist/assets/dashboard/client/index.html +0 -19
- package/dist/assets/dashboard/server.js +0 -78813
- package/dist/backend/index.d.ts +0 -4
- package/dist/backend/index.d.ts.map +0 -1
- package/dist/backend/index.js +0 -12
- package/dist/backend/index.js.map +0 -1
- package/dist/backend/lifecycle.d.ts +0 -13
- package/dist/backend/lifecycle.d.ts.map +0 -1
- package/dist/backend/lifecycle.js +0 -168
- package/dist/backend/lifecycle.js.map +0 -1
- package/dist/backend/server.d.ts +0 -13
- package/dist/backend/server.d.ts.map +0 -1
- package/dist/backend/server.js +0 -1013
- package/dist/backend/server.js.map +0 -1
- package/dist/backend/terminal.d.ts +0 -49
- package/dist/backend/terminal.d.ts.map +0 -1
- package/dist/backend/terminal.js +0 -209
- package/dist/backend/terminal.js.map +0 -1
- package/dist/backend/types.d.ts +0 -77
- package/dist/backend/types.d.ts.map +0 -1
- package/dist/backend/types.js +0 -6
- package/dist/backend/types.js.map +0 -1
- package/dist/backend-server.cjs +0 -80672
- package/dist/backend-server.cjs.map +0 -1
- package/dist/backend-server.d.cts +0 -2
- package/dist/backend-server.d.ts +0 -11
- package/dist/backend-server.d.ts.map +0 -1
- package/dist/backend-server.js +0 -43
- package/dist/backend-server.js.map +0 -1
- package/dist/cli.d.cts +0 -2
- package/dist/cli.d.ts +0 -7
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -510
- package/dist/cli.js.map +0 -1
- package/dist/core/artefakte.d.ts +0 -12
- package/dist/core/artefakte.d.ts.map +0 -1
- package/dist/core/artefakte.js +0 -152
- package/dist/core/artefakte.js.map +0 -1
- package/dist/core/commands.d.ts +0 -26
- package/dist/core/commands.d.ts.map +0 -1
- package/dist/core/commands.js +0 -550
- package/dist/core/commands.js.map +0 -1
- package/dist/core/config.d.ts +0 -10
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js +0 -143
- package/dist/core/config.js.map +0 -1
- package/dist/core/context-loader.d.ts +0 -21
- package/dist/core/context-loader.d.ts.map +0 -1
- package/dist/core/context-loader.js +0 -212
- package/dist/core/context-loader.js.map +0 -1
- package/dist/core/core.d.ts +0 -91
- package/dist/core/core.d.ts.map +0 -1
- package/dist/core/core.js +0 -823
- package/dist/core/core.js.map +0 -1
- package/dist/core/dashboard-launcher.d.ts +0 -56
- package/dist/core/dashboard-launcher.d.ts.map +0 -1
- package/dist/core/dashboard-launcher.js +0 -246
- package/dist/core/dashboard-launcher.js.map +0 -1
- package/dist/core/drift.d.ts +0 -37
- package/dist/core/drift.d.ts.map +0 -1
- package/dist/core/drift.js +0 -213
- package/dist/core/drift.js.map +0 -1
- package/dist/core/frontmatter.d.ts +0 -33
- package/dist/core/frontmatter.d.ts.map +0 -1
- package/dist/core/frontmatter.js +0 -193
- package/dist/core/frontmatter.js.map +0 -1
- package/dist/core/index.d.ts +0 -28
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -189
- package/dist/core/index.js.map +0 -1
- package/dist/core/init.d.ts +0 -287
- package/dist/core/init.d.ts.map +0 -1
- package/dist/core/init.js +0 -816
- package/dist/core/init.js.map +0 -1
- package/dist/core/milestone.d.ts +0 -9
- package/dist/core/milestone.d.ts.map +0 -1
- package/dist/core/milestone.js +0 -230
- package/dist/core/milestone.js.map +0 -1
- package/dist/core/phase.d.ts +0 -53
- package/dist/core/phase.d.ts.map +0 -1
- package/dist/core/phase.js +0 -891
- package/dist/core/phase.js.map +0 -1
- package/dist/core/roadmap.d.ts +0 -10
- package/dist/core/roadmap.d.ts.map +0 -1
- package/dist/core/roadmap.js +0 -165
- package/dist/core/roadmap.js.map +0 -1
- package/dist/core/skills.d.ts +0 -20
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/skills.js +0 -144
- package/dist/core/skills.js.map +0 -1
- package/dist/core/start.d.ts +0 -15
- package/dist/core/start.d.ts.map +0 -1
- package/dist/core/start.js +0 -80
- package/dist/core/start.js.map +0 -1
- package/dist/core/state.d.ts +0 -32
- package/dist/core/state.d.ts.map +0 -1
- package/dist/core/state.js +0 -582
- package/dist/core/state.js.map +0 -1
- package/dist/core/template.d.ts +0 -30
- package/dist/core/template.d.ts.map +0 -1
- package/dist/core/template.js +0 -223
- package/dist/core/template.js.map +0 -1
- package/dist/core/types.d.ts +0 -519
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -60
- package/dist/core/types.js.map +0 -1
- package/dist/core/verify.d.ts +0 -128
- package/dist/core/verify.d.ts.map +0 -1
- package/dist/core/verify.js +0 -754
- package/dist/core/verify.js.map +0 -1
- package/dist/core-RRjCSt0G.cjs.map +0 -1
- package/dist/esm-iIOBzmdz.cjs +0 -1561
- package/dist/esm-iIOBzmdz.cjs.map +0 -1
- package/dist/hooks/index.d.ts +0 -11
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -18
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/maxsim-check-update.d.ts +0 -17
- package/dist/hooks/maxsim-check-update.d.ts.map +0 -1
- package/dist/hooks/maxsim-check-update.js +0 -101
- package/dist/hooks/maxsim-check-update.js.map +0 -1
- package/dist/hooks/maxsim-context-monitor.d.ts +0 -21
- package/dist/hooks/maxsim-context-monitor.d.ts.map +0 -1
- package/dist/hooks/maxsim-context-monitor.js +0 -131
- package/dist/hooks/maxsim-context-monitor.js.map +0 -1
- package/dist/hooks/maxsim-statusline.d.ts +0 -19
- package/dist/hooks/maxsim-statusline.d.ts.map +0 -1
- package/dist/hooks/maxsim-statusline.js +0 -146
- package/dist/hooks/maxsim-statusline.js.map +0 -1
- package/dist/hooks/shared.d.ts +0 -11
- package/dist/hooks/shared.d.ts.map +0 -1
- package/dist/hooks/shared.js +0 -29
- package/dist/hooks/shared.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/install/adapters.d.ts +0 -6
- package/dist/install/adapters.d.ts.map +0 -1
- package/dist/install/adapters.js +0 -65
- package/dist/install/adapters.js.map +0 -1
- package/dist/install/copy.d.ts +0 -6
- package/dist/install/copy.d.ts.map +0 -1
- package/dist/install/copy.js +0 -71
- package/dist/install/copy.js.map +0 -1
- package/dist/install/dashboard.d.ts +0 -16
- package/dist/install/dashboard.d.ts.map +0 -1
- package/dist/install/dashboard.js +0 -273
- package/dist/install/dashboard.js.map +0 -1
- package/dist/install/hooks.d.ts +0 -31
- package/dist/install/hooks.d.ts.map +0 -1
- package/dist/install/hooks.js +0 -260
- package/dist/install/hooks.js.map +0 -1
- package/dist/install/index.d.ts +0 -2
- package/dist/install/index.d.ts.map +0 -1
- package/dist/install/index.js +0 -534
- package/dist/install/index.js.map +0 -1
- package/dist/install/manifest.d.ts +0 -23
- package/dist/install/manifest.d.ts.map +0 -1
- package/dist/install/manifest.js +0 -133
- package/dist/install/manifest.js.map +0 -1
- package/dist/install/patches.d.ts +0 -10
- package/dist/install/patches.d.ts.map +0 -1
- package/dist/install/patches.js +0 -124
- package/dist/install/patches.js.map +0 -1
- package/dist/install/shared.d.ts +0 -56
- package/dist/install/shared.d.ts.map +0 -1
- package/dist/install/shared.js +0 -181
- package/dist/install/shared.js.map +0 -1
- package/dist/install/uninstall.d.ts +0 -5
- package/dist/install/uninstall.d.ts.map +0 -1
- package/dist/install/uninstall.js +0 -222
- package/dist/install/uninstall.js.map +0 -1
- package/dist/install/utils.d.ts +0 -27
- package/dist/install/utils.d.ts.map +0 -1
- package/dist/install/utils.js +0 -99
- package/dist/install/utils.js.map +0 -1
- package/dist/install.d.cts +0 -2
- package/dist/lifecycle-DxCru7rk.cjs +0 -136
- package/dist/lifecycle-DxCru7rk.cjs.map +0 -1
- package/dist/mcp/config-tools.d.ts +0 -13
- package/dist/mcp/config-tools.d.ts.map +0 -1
- package/dist/mcp/config-tools.js +0 -66
- package/dist/mcp/config-tools.js.map +0 -1
- package/dist/mcp/context-tools.d.ts +0 -13
- package/dist/mcp/context-tools.d.ts.map +0 -1
- package/dist/mcp/context-tools.js +0 -176
- package/dist/mcp/context-tools.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -11
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -26
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/phase-tools.d.ts +0 -13
- package/dist/mcp/phase-tools.d.ts.map +0 -1
- package/dist/mcp/phase-tools.js +0 -177
- package/dist/mcp/phase-tools.js.map +0 -1
- package/dist/mcp/roadmap-tools.d.ts +0 -13
- package/dist/mcp/roadmap-tools.d.ts.map +0 -1
- package/dist/mcp/roadmap-tools.js +0 -79
- package/dist/mcp/roadmap-tools.js.map +0 -1
- package/dist/mcp/state-tools.d.ts +0 -13
- package/dist/mcp/state-tools.d.ts.map +0 -1
- package/dist/mcp/state-tools.js +0 -185
- package/dist/mcp/state-tools.js.map +0 -1
- package/dist/mcp/todo-tools.d.ts +0 -13
- package/dist/mcp/todo-tools.d.ts.map +0 -1
- package/dist/mcp/todo-tools.js +0 -143
- package/dist/mcp/todo-tools.js.map +0 -1
- package/dist/mcp/utils.d.ts +0 -27
- package/dist/mcp/utils.d.ts.map +0 -1
- package/dist/mcp/utils.js +0 -82
- package/dist/mcp/utils.js.map +0 -1
- package/dist/mcp-server.d.cts +0 -2
- package/dist/mcp-server.d.ts +0 -12
- package/dist/mcp-server.d.ts.map +0 -1
- package/dist/mcp-server.js +0 -31
- package/dist/mcp-server.js.map +0 -1
- package/dist/server-By0TN-nC.cjs +0 -2995
- package/dist/server-By0TN-nC.cjs.map +0 -1
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.uninstall = uninstall;
|
|
40
|
-
const fs = __importStar(require("node:fs"));
|
|
41
|
-
const path = __importStar(require("node:path"));
|
|
42
|
-
const os = __importStar(require("node:os"));
|
|
43
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
-
const utils_js_1 = require("./utils.js");
|
|
45
|
-
const shared_js_1 = require("./shared.js");
|
|
46
|
-
/**
|
|
47
|
-
* Uninstall MAXSIM from the specified directory
|
|
48
|
-
*/
|
|
49
|
-
function uninstall(isGlobal, explicitConfigDir = null) {
|
|
50
|
-
const dirName = (0, shared_js_1.getDirName)();
|
|
51
|
-
const targetDir = isGlobal
|
|
52
|
-
? (0, shared_js_1.getGlobalDir)(explicitConfigDir)
|
|
53
|
-
: path.join(process.cwd(), dirName);
|
|
54
|
-
const locationLabel = isGlobal
|
|
55
|
-
? targetDir.replace(os.homedir(), '~')
|
|
56
|
-
: targetDir.replace(process.cwd(), '.');
|
|
57
|
-
console.log(` Uninstalling MAXSIM from ${chalk_1.default.cyan('Claude Code')} at ${chalk_1.default.cyan(locationLabel)}\n`);
|
|
58
|
-
if (!fs.existsSync(targetDir)) {
|
|
59
|
-
console.log(` ${chalk_1.default.yellow('\u26a0')} Directory does not exist: ${locationLabel}`);
|
|
60
|
-
console.log(` Nothing to uninstall.\n`);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
let removedCount = 0;
|
|
64
|
-
// 1. Remove MAXSIM commands (nested: commands/maxsim/)
|
|
65
|
-
const maxsimCommandsDir = path.join(targetDir, 'commands', 'maxsim');
|
|
66
|
-
if (fs.existsSync(maxsimCommandsDir)) {
|
|
67
|
-
fs.rmSync(maxsimCommandsDir, { recursive: true });
|
|
68
|
-
removedCount++;
|
|
69
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed commands/maxsim/`);
|
|
70
|
-
}
|
|
71
|
-
// 1b. Remove MAXSIM skills
|
|
72
|
-
{
|
|
73
|
-
const skillsDir = path.join(targetDir, 'skills');
|
|
74
|
-
if (fs.existsSync(skillsDir)) {
|
|
75
|
-
let skillCount = 0;
|
|
76
|
-
for (const skill of shared_js_1.builtInSkills) {
|
|
77
|
-
const skillDir = path.join(skillsDir, skill);
|
|
78
|
-
if (fs.existsSync(skillDir)) {
|
|
79
|
-
fs.rmSync(skillDir, { recursive: true });
|
|
80
|
-
skillCount++;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (skillCount > 0) {
|
|
84
|
-
removedCount++;
|
|
85
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed ${skillCount} MAXSIM skills`);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Also clean up legacy agents/skills/ location
|
|
89
|
-
const legacySkillsDir = path.join(targetDir, 'agents', 'skills');
|
|
90
|
-
if (fs.existsSync(legacySkillsDir)) {
|
|
91
|
-
fs.rmSync(legacySkillsDir, { recursive: true });
|
|
92
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed legacy agents/skills/ directory`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// 2. Remove maxsim directory
|
|
96
|
-
const maxsimDir = path.join(targetDir, 'maxsim');
|
|
97
|
-
if (fs.existsSync(maxsimDir)) {
|
|
98
|
-
fs.rmSync(maxsimDir, { recursive: true });
|
|
99
|
-
removedCount++;
|
|
100
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed maxsim/`);
|
|
101
|
-
}
|
|
102
|
-
// 3. Remove MAXSIM agents
|
|
103
|
-
const agentsDir = path.join(targetDir, 'agents');
|
|
104
|
-
if (fs.existsSync(agentsDir)) {
|
|
105
|
-
const files = fs.readdirSync(agentsDir);
|
|
106
|
-
let agentCount = 0;
|
|
107
|
-
for (const file of files) {
|
|
108
|
-
if (file.startsWith('maxsim-') && file.endsWith('.md')) {
|
|
109
|
-
fs.unlinkSync(path.join(agentsDir, file));
|
|
110
|
-
agentCount++;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (agentCount > 0) {
|
|
114
|
-
removedCount++;
|
|
115
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed ${agentCount} MAXSIM agents`);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// 4. Remove MAXSIM hooks
|
|
119
|
-
const hooksDir = path.join(targetDir, 'hooks');
|
|
120
|
-
if (fs.existsSync(hooksDir)) {
|
|
121
|
-
const maxsimHooks = [
|
|
122
|
-
'maxsim-statusline.js',
|
|
123
|
-
'maxsim-check-update.js',
|
|
124
|
-
'maxsim-check-update.sh',
|
|
125
|
-
'maxsim-context-monitor.js',
|
|
126
|
-
];
|
|
127
|
-
let hookCount = 0;
|
|
128
|
-
for (const hook of maxsimHooks) {
|
|
129
|
-
const hookPath = path.join(hooksDir, hook);
|
|
130
|
-
if (fs.existsSync(hookPath)) {
|
|
131
|
-
fs.unlinkSync(hookPath);
|
|
132
|
-
hookCount++;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (hookCount > 0) {
|
|
136
|
-
removedCount++;
|
|
137
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed ${hookCount} MAXSIM hooks`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
// 5. Remove MAXSIM package.json (CommonJS mode marker)
|
|
141
|
-
const pkgJsonPath = path.join(targetDir, 'package.json');
|
|
142
|
-
if (fs.existsSync(pkgJsonPath)) {
|
|
143
|
-
try {
|
|
144
|
-
const content = fs.readFileSync(pkgJsonPath, 'utf8').trim();
|
|
145
|
-
if (content === '{"type":"commonjs"}') {
|
|
146
|
-
fs.unlinkSync(pkgJsonPath);
|
|
147
|
-
removedCount++;
|
|
148
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed MAXSIM package.json`);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
// Ignore read errors
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// 6. Clean up settings.json
|
|
156
|
-
const settingsPath = path.join(targetDir, 'settings.json');
|
|
157
|
-
if (fs.existsSync(settingsPath)) {
|
|
158
|
-
const settings = (0, utils_js_1.readSettings)(settingsPath);
|
|
159
|
-
let settingsModified = false;
|
|
160
|
-
const statusLine = settings.statusLine;
|
|
161
|
-
if (statusLine &&
|
|
162
|
-
statusLine.command &&
|
|
163
|
-
statusLine.command.includes('maxsim-statusline')) {
|
|
164
|
-
delete settings.statusLine;
|
|
165
|
-
settingsModified = true;
|
|
166
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed MAXSIM statusline from settings`);
|
|
167
|
-
}
|
|
168
|
-
const settingsHooks = settings.hooks;
|
|
169
|
-
if (settingsHooks && settingsHooks.SessionStart) {
|
|
170
|
-
const before = settingsHooks.SessionStart.length;
|
|
171
|
-
settingsHooks.SessionStart = settingsHooks.SessionStart.filter((entry) => {
|
|
172
|
-
if (entry.hooks && Array.isArray(entry.hooks)) {
|
|
173
|
-
const hasMaxsimHook = entry.hooks.some((h) => h.command &&
|
|
174
|
-
(h.command.includes('maxsim-check-update') ||
|
|
175
|
-
h.command.includes('maxsim-statusline')));
|
|
176
|
-
return !hasMaxsimHook;
|
|
177
|
-
}
|
|
178
|
-
return true;
|
|
179
|
-
});
|
|
180
|
-
if (settingsHooks.SessionStart.length < before) {
|
|
181
|
-
settingsModified = true;
|
|
182
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed MAXSIM hooks from settings`);
|
|
183
|
-
}
|
|
184
|
-
if (settingsHooks.SessionStart.length === 0) {
|
|
185
|
-
delete settingsHooks.SessionStart;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
if (settingsHooks && settingsHooks.PostToolUse) {
|
|
189
|
-
const before = settingsHooks.PostToolUse.length;
|
|
190
|
-
settingsHooks.PostToolUse = settingsHooks.PostToolUse.filter((entry) => {
|
|
191
|
-
if (entry.hooks && Array.isArray(entry.hooks)) {
|
|
192
|
-
const hasMaxsimHook = entry.hooks.some((h) => h.command &&
|
|
193
|
-
h.command.includes('maxsim-context-monitor'));
|
|
194
|
-
return !hasMaxsimHook;
|
|
195
|
-
}
|
|
196
|
-
return true;
|
|
197
|
-
});
|
|
198
|
-
if (settingsHooks.PostToolUse.length < before) {
|
|
199
|
-
settingsModified = true;
|
|
200
|
-
console.log(` ${chalk_1.default.green('\u2713')} Removed context monitor hook from settings`);
|
|
201
|
-
}
|
|
202
|
-
if (settingsHooks.PostToolUse.length === 0) {
|
|
203
|
-
delete settingsHooks.PostToolUse;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
if (settingsHooks && Object.keys(settingsHooks).length === 0) {
|
|
207
|
-
delete settings.hooks;
|
|
208
|
-
}
|
|
209
|
-
if (settingsModified) {
|
|
210
|
-
(0, utils_js_1.writeSettings)(settingsPath, settings);
|
|
211
|
-
removedCount++;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (removedCount === 0) {
|
|
215
|
-
console.log(` ${chalk_1.default.yellow('\u26a0')} No MAXSIM files found to remove.`);
|
|
216
|
-
}
|
|
217
|
-
console.log(`
|
|
218
|
-
${chalk_1.default.green('Done!')} MAXSIM has been uninstalled from Claude Code.
|
|
219
|
-
Your other files and settings have been preserved.
|
|
220
|
-
`);
|
|
221
|
-
}
|
|
222
|
-
//# sourceMappingURL=uninstall.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/install/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/install/utils.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Install utilities — shared helper functions for the install pipeline.
|
|
3
|
-
* (Inlined from the former adapters/base.ts after multi-runtime removal.)
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Expand ~ to home directory (shell doesn't expand in env vars passed to node)
|
|
7
|
-
*/
|
|
8
|
-
export declare function expandTilde(filePath: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Process Co-Authored-By lines based on attribution setting.
|
|
11
|
-
* @param content - File content to process
|
|
12
|
-
* @param attribution - null=remove, undefined=keep default, string=replace
|
|
13
|
-
*/
|
|
14
|
-
export declare function processAttribution(content: string, attribution: null | undefined | string): string;
|
|
15
|
-
/**
|
|
16
|
-
* Build a hook command path using forward slashes for cross-platform compatibility.
|
|
17
|
-
*/
|
|
18
|
-
export declare function buildHookCommand(configDir: string, hookName: string): string;
|
|
19
|
-
/**
|
|
20
|
-
* Read and parse settings.json, returning empty object if it doesn't exist.
|
|
21
|
-
*/
|
|
22
|
-
export declare function readSettings(settingsPath: string): Record<string, unknown>;
|
|
23
|
-
/**
|
|
24
|
-
* Write settings.json with proper formatting.
|
|
25
|
-
*/
|
|
26
|
-
export declare function writeSettings(settingsPath: string, settings: Record<string, unknown>): void;
|
|
27
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/install/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GACrC,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG5E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CASzB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAEN"}
|
package/dist/install/utils.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Install utilities — shared helper functions for the install pipeline.
|
|
4
|
-
* (Inlined from the former adapters/base.ts after multi-runtime removal.)
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
-
var ownKeys = function(o) {
|
|
24
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
-
var ar = [];
|
|
26
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
-
return ar;
|
|
28
|
-
};
|
|
29
|
-
return ownKeys(o);
|
|
30
|
-
};
|
|
31
|
-
return function (mod) {
|
|
32
|
-
if (mod && mod.__esModule) return mod;
|
|
33
|
-
var result = {};
|
|
34
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
-
__setModuleDefault(result, mod);
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.expandTilde = expandTilde;
|
|
41
|
-
exports.processAttribution = processAttribution;
|
|
42
|
-
exports.buildHookCommand = buildHookCommand;
|
|
43
|
-
exports.readSettings = readSettings;
|
|
44
|
-
exports.writeSettings = writeSettings;
|
|
45
|
-
const path = __importStar(require("node:path"));
|
|
46
|
-
const os = __importStar(require("node:os"));
|
|
47
|
-
const fs = __importStar(require("node:fs"));
|
|
48
|
-
/**
|
|
49
|
-
* Expand ~ to home directory (shell doesn't expand in env vars passed to node)
|
|
50
|
-
*/
|
|
51
|
-
function expandTilde(filePath) {
|
|
52
|
-
if (filePath && filePath.startsWith('~/')) {
|
|
53
|
-
return path.join(os.homedir(), filePath.slice(2));
|
|
54
|
-
}
|
|
55
|
-
return filePath;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Process Co-Authored-By lines based on attribution setting.
|
|
59
|
-
* @param content - File content to process
|
|
60
|
-
* @param attribution - null=remove, undefined=keep default, string=replace
|
|
61
|
-
*/
|
|
62
|
-
function processAttribution(content, attribution) {
|
|
63
|
-
if (attribution === null) {
|
|
64
|
-
return content.replace(/(\r?\n){2}Co-Authored-By:.*$/gim, '');
|
|
65
|
-
}
|
|
66
|
-
if (attribution === undefined) {
|
|
67
|
-
return content;
|
|
68
|
-
}
|
|
69
|
-
const safeAttribution = attribution.replace(/\$/g, '$$$$');
|
|
70
|
-
return content.replace(/Co-Authored-By:.*$/gim, `Co-Authored-By: ${safeAttribution}`);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Build a hook command path using forward slashes for cross-platform compatibility.
|
|
74
|
-
*/
|
|
75
|
-
function buildHookCommand(configDir, hookName) {
|
|
76
|
-
const hooksPath = configDir.replace(/\\/g, '/') + '/hooks/' + hookName;
|
|
77
|
-
return `node "${hooksPath}"`;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Read and parse settings.json, returning empty object if it doesn't exist.
|
|
81
|
-
*/
|
|
82
|
-
function readSettings(settingsPath) {
|
|
83
|
-
if (fs.existsSync(settingsPath)) {
|
|
84
|
-
try {
|
|
85
|
-
return JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
return {};
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return {};
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Write settings.json with proper formatting.
|
|
95
|
-
*/
|
|
96
|
-
function writeSettings(settingsPath, settings) {
|
|
97
|
-
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/install/utils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASH,kCAKC;AAOD,gDAeC;AAKD,4CAGC;AAKD,oCAWC;AAKD,sCAKC;AApED,gDAAkC;AAClC,4CAA8B;AAC9B,4CAA8B;AAE9B;;GAEG;AACH,SAAgB,WAAW,CAAC,QAAgB;IAC1C,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAChC,OAAe,EACf,WAAsC;IAEtC,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,EACvB,mBAAmB,eAAe,EAAE,CACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,QAAgB;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvE,OAAO,SAAS,SAAS,GAAG,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,YAAoB;IAEpB,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,YAAoB,EACpB,QAAiC;IAEjC,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/install.d.cts
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const require_cli = require('./cli.cjs');
|
|
3
|
-
let node_fs = require("node:fs");
|
|
4
|
-
node_fs = require_cli.__toESM(node_fs);
|
|
5
|
-
let node_path = require("node:path");
|
|
6
|
-
node_path = require_cli.__toESM(node_path);
|
|
7
|
-
let node_child_process = require("node:child_process");
|
|
8
|
-
|
|
9
|
-
//#region src/backend/lifecycle.ts
|
|
10
|
-
/**
|
|
11
|
-
* Backend Lifecycle — Start, stop, health check, discovery
|
|
12
|
-
*/
|
|
13
|
-
const LOCK_FILE = ".planning/.backend-lock";
|
|
14
|
-
/**
|
|
15
|
-
* Derive a deterministic port for a project path (range 3100-3199).
|
|
16
|
-
* Simple hash mapped to 100-port range.
|
|
17
|
-
*/
|
|
18
|
-
function projectPort(projectCwd) {
|
|
19
|
-
let hash = 0;
|
|
20
|
-
for (const ch of projectCwd) hash = (hash << 5) - hash + ch.charCodeAt(0) | 0;
|
|
21
|
-
return 3100 + Math.abs(hash) % 100;
|
|
22
|
-
}
|
|
23
|
-
function lockFilePath(projectCwd) {
|
|
24
|
-
return node_path.default.join(projectCwd, LOCK_FILE);
|
|
25
|
-
}
|
|
26
|
-
function readLockFile(projectCwd) {
|
|
27
|
-
try {
|
|
28
|
-
return JSON.parse(node_fs.default.readFileSync(lockFilePath(projectCwd), "utf-8"));
|
|
29
|
-
} catch {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
function writeLockFile(projectCwd, data) {
|
|
34
|
-
const lockPath = lockFilePath(projectCwd);
|
|
35
|
-
node_fs.default.mkdirSync(node_path.default.dirname(lockPath), { recursive: true });
|
|
36
|
-
node_fs.default.writeFileSync(lockPath, JSON.stringify(data, null, 2), "utf-8");
|
|
37
|
-
}
|
|
38
|
-
function removeLockFile(projectCwd) {
|
|
39
|
-
const lockPath = lockFilePath(projectCwd);
|
|
40
|
-
try {
|
|
41
|
-
node_fs.default.unlinkSync(lockPath);
|
|
42
|
-
} catch {}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Make an HTTP request and return the parsed JSON body.
|
|
46
|
-
* Uses native fetch (Node 22+).
|
|
47
|
-
*/
|
|
48
|
-
async function httpJson(method, url, timeoutMs = 5e3) {
|
|
49
|
-
try {
|
|
50
|
-
const res = await fetch(url, {
|
|
51
|
-
method,
|
|
52
|
-
signal: AbortSignal.timeout(timeoutMs)
|
|
53
|
-
});
|
|
54
|
-
if (!res.ok) return null;
|
|
55
|
-
return await res.json();
|
|
56
|
-
} catch {
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
async function startBackend(projectCwd, opts) {
|
|
61
|
-
const existing = await getBackendStatus(projectCwd);
|
|
62
|
-
if (existing && existing.status === "ok") return readLockFile(projectCwd);
|
|
63
|
-
const port = opts?.port ?? projectPort(projectCwd);
|
|
64
|
-
if (opts?.background ?? true) {
|
|
65
|
-
const serverScript = node_path.default.join(__dirname, "backend-server.cjs");
|
|
66
|
-
const child = (0, node_child_process.spawn)(process.execPath, [serverScript], {
|
|
67
|
-
cwd: projectCwd,
|
|
68
|
-
detached: true,
|
|
69
|
-
stdio: "ignore",
|
|
70
|
-
env: {
|
|
71
|
-
...process.env,
|
|
72
|
-
MAXSIM_PORT: String(port),
|
|
73
|
-
MAXSIM_PROJECT_CWD: projectCwd
|
|
74
|
-
},
|
|
75
|
-
...process.platform === "win32" ? { shell: true } : {}
|
|
76
|
-
});
|
|
77
|
-
child.unref();
|
|
78
|
-
const lockData = {
|
|
79
|
-
pid: child.pid ?? 0,
|
|
80
|
-
port,
|
|
81
|
-
startedAt: Date.now(),
|
|
82
|
-
cwd: projectCwd
|
|
83
|
-
};
|
|
84
|
-
writeLockFile(projectCwd, lockData);
|
|
85
|
-
return lockData;
|
|
86
|
-
} else {
|
|
87
|
-
const { createBackendServer } = await Promise.resolve().then(() => require("./server-By0TN-nC.cjs"));
|
|
88
|
-
const server = createBackendServer({
|
|
89
|
-
port,
|
|
90
|
-
host: "127.0.0.1",
|
|
91
|
-
projectCwd,
|
|
92
|
-
enableTerminal: true,
|
|
93
|
-
enableFileWatcher: true,
|
|
94
|
-
enableMcp: true,
|
|
95
|
-
logDir: node_path.default.join(projectCwd, ".planning", "logs")
|
|
96
|
-
});
|
|
97
|
-
await server.start();
|
|
98
|
-
const lockData = {
|
|
99
|
-
pid: process.pid,
|
|
100
|
-
port: server.getPort(),
|
|
101
|
-
startedAt: Date.now(),
|
|
102
|
-
cwd: projectCwd
|
|
103
|
-
};
|
|
104
|
-
writeLockFile(projectCwd, lockData);
|
|
105
|
-
return lockData;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
async function stopBackend(projectCwd) {
|
|
109
|
-
const lock = readLockFile(projectCwd);
|
|
110
|
-
if (!lock) return false;
|
|
111
|
-
if (await httpJson("POST", `http://127.0.0.1:${lock.port}/api/shutdown`)) {
|
|
112
|
-
removeLockFile(projectCwd);
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
try {
|
|
116
|
-
process.kill(lock.pid, "SIGTERM");
|
|
117
|
-
} catch {}
|
|
118
|
-
removeLockFile(projectCwd);
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
async function getBackendStatus(projectCwd) {
|
|
122
|
-
const lock = readLockFile(projectCwd);
|
|
123
|
-
if (!lock) return null;
|
|
124
|
-
const data = await httpJson("GET", `http://127.0.0.1:${lock.port}/api/health`);
|
|
125
|
-
if (!data || data.status !== "ok") {
|
|
126
|
-
removeLockFile(projectCwd);
|
|
127
|
-
return null;
|
|
128
|
-
}
|
|
129
|
-
return data;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
//#endregion
|
|
133
|
-
exports.getBackendStatus = getBackendStatus;
|
|
134
|
-
exports.startBackend = startBackend;
|
|
135
|
-
exports.stopBackend = stopBackend;
|
|
136
|
-
//# sourceMappingURL=lifecycle-DxCru7rk.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-DxCru7rk.cjs","names":["path","fs"],"sources":["../src/backend/lifecycle.ts"],"sourcesContent":["/**\n * Backend Lifecycle — Start, stop, health check, discovery\n */\n\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { spawn } from 'node:child_process';\nimport type { BackendLockFile, BackendStatus } from './types.js';\n\nconst LOCK_FILE = '.planning/.backend-lock';\n\n/**\n * Derive a deterministic port for a project path (range 3100-3199).\n * Simple hash mapped to 100-port range.\n */\nfunction projectPort(projectCwd: string): number {\n let hash = 0;\n for (const ch of projectCwd) {\n hash = ((hash << 5) - hash + ch.charCodeAt(0)) | 0;\n }\n return 3100 + (Math.abs(hash) % 100);\n}\n\nfunction lockFilePath(projectCwd: string): string {\n return path.join(projectCwd, LOCK_FILE);\n}\n\nfunction readLockFile(projectCwd: string): BackendLockFile | null {\n try {\n return JSON.parse(fs.readFileSync(lockFilePath(projectCwd), 'utf-8'));\n } catch {\n return null;\n }\n}\n\nfunction writeLockFile(projectCwd: string, data: BackendLockFile): void {\n const lockPath = lockFilePath(projectCwd);\n fs.mkdirSync(path.dirname(lockPath), { recursive: true });\n fs.writeFileSync(lockPath, JSON.stringify(data, null, 2), 'utf-8');\n}\n\nfunction removeLockFile(projectCwd: string): void {\n const lockPath = lockFilePath(projectCwd);\n try {\n fs.unlinkSync(lockPath);\n } catch {\n // may not exist\n }\n}\n\n/**\n * Make an HTTP request and return the parsed JSON body.\n * Uses native fetch (Node 22+).\n */\nasync function httpJson(\n method: string,\n url: string,\n timeoutMs: number = 5000,\n): Promise<Record<string, unknown> | null> {\n try {\n const res = await fetch(url, {\n method,\n signal: AbortSignal.timeout(timeoutMs),\n });\n if (!res.ok) return null;\n return await res.json() as Record<string, unknown>;\n } catch {\n return null;\n }\n}\n\nexport async function startBackend(\n projectCwd: string,\n opts?: { port?: number; background?: boolean },\n): Promise<BackendLockFile> {\n // 1. Check if already running\n const existing = await getBackendStatus(projectCwd);\n if (existing && existing.status === 'ok') {\n return readLockFile(projectCwd)!;\n }\n\n // 2. Choose port\n const port = opts?.port ?? projectPort(projectCwd);\n const background = opts?.background ?? true;\n\n if (background) {\n // Spawn detached child process running backend-server.cjs\n const serverScript = path.join(__dirname, 'backend-server.cjs');\n const child = spawn(process.execPath, [serverScript], {\n cwd: projectCwd,\n detached: true,\n stdio: 'ignore',\n env: {\n ...process.env,\n MAXSIM_PORT: String(port),\n MAXSIM_PROJECT_CWD: projectCwd,\n },\n ...(process.platform === 'win32' ? { shell: true } : {}),\n });\n child.unref();\n\n const lockData: BackendLockFile = {\n pid: child.pid ?? 0,\n port,\n startedAt: Date.now(),\n cwd: projectCwd,\n };\n\n writeLockFile(projectCwd, lockData);\n return lockData;\n } else {\n // Foreground mode — import and start directly\n const { createBackendServer } = await import('./server.js');\n const server = createBackendServer({\n port,\n host: '127.0.0.1',\n projectCwd,\n enableTerminal: true,\n enableFileWatcher: true,\n enableMcp: true,\n logDir: path.join(projectCwd, '.planning', 'logs'),\n });\n\n await server.start();\n\n const lockData: BackendLockFile = {\n pid: process.pid,\n port: server.getPort(),\n startedAt: Date.now(),\n cwd: projectCwd,\n };\n\n writeLockFile(projectCwd, lockData);\n return lockData;\n }\n}\n\nexport async function stopBackend(projectCwd: string): Promise<boolean> {\n const lock = readLockFile(projectCwd);\n if (!lock) return false;\n\n // Try graceful shutdown via HTTP\n const result = await httpJson('POST', `http://127.0.0.1:${lock.port}/api/shutdown`);\n if (result) {\n removeLockFile(projectCwd);\n return true;\n }\n\n // Fallback: kill by PID\n try {\n process.kill(lock.pid, 'SIGTERM');\n } catch {\n // Process may already be dead\n }\n\n removeLockFile(projectCwd);\n return true;\n}\n\nexport async function getBackendStatus(projectCwd: string): Promise<BackendStatus | null> {\n const lock = readLockFile(projectCwd);\n if (!lock) return null;\n\n const data = await httpJson('GET', `http://127.0.0.1:${lock.port}/api/health`);\n if (!data || data.status !== 'ok') {\n // Stale lock file — clean up\n removeLockFile(projectCwd);\n return null;\n }\n\n return data as unknown as BackendStatus;\n}\n\nexport async function isBackendRunning(projectCwd: string): Promise<boolean> {\n const status = await getBackendStatus(projectCwd);\n return status !== null && status.status === 'ok';\n}\n\nexport function findBackendPort(projectCwd: string): number | null {\n const lock = readLockFile(projectCwd);\n return lock ? lock.port : null;\n}\n"],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Config Query MCP Tools — Project configuration 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 config query tools on the MCP server.
|
|
11
|
-
*/
|
|
12
|
-
export declare function registerConfigTools(server: McpServer): void;
|
|
13
|
-
//# sourceMappingURL=config-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/config-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuE3D"}
|
package/dist/mcp/config-tools.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Config Query MCP Tools — Project configuration 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.registerConfigTools = registerConfigTools;
|
|
11
|
-
const zod_1 = require("zod");
|
|
12
|
-
const core_js_1 = require("../core/core.js");
|
|
13
|
-
const config_js_1 = require("../core/config.js");
|
|
14
|
-
const utils_js_1 = require("./utils.js");
|
|
15
|
-
/**
|
|
16
|
-
* Register all config query tools on the MCP server.
|
|
17
|
-
*/
|
|
18
|
-
function registerConfigTools(server) {
|
|
19
|
-
// ── mcp_get_config ──────────────────────────────────────────────────────────
|
|
20
|
-
server.tool('mcp_get_config', 'Get project configuration. Optionally provide a key path to get a specific value.', {
|
|
21
|
-
key: zod_1.z
|
|
22
|
-
.string()
|
|
23
|
-
.optional()
|
|
24
|
-
.describe('Optional dot-separated key path (e.g. "model_profile", "branching.strategy")'),
|
|
25
|
-
}, async ({ key }) => {
|
|
26
|
-
try {
|
|
27
|
-
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
28
|
-
if (!cwd) {
|
|
29
|
-
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
30
|
-
}
|
|
31
|
-
if (key) {
|
|
32
|
-
const result = (0, config_js_1.cmdConfigGet)(cwd, key, true);
|
|
33
|
-
if (!result.ok) {
|
|
34
|
-
return (0, utils_js_1.mcpError)(result.error, 'Config get failed');
|
|
35
|
-
}
|
|
36
|
-
return (0, utils_js_1.mcpSuccess)({ key, value: result.rawValue ?? result.result }, `Config value for "${key}"`);
|
|
37
|
-
}
|
|
38
|
-
const config = (0, core_js_1.loadConfig)(cwd);
|
|
39
|
-
return (0, utils_js_1.mcpSuccess)({ config }, 'Full configuration loaded');
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
// ── mcp_update_config ───────────────────────────────────────────────────────
|
|
46
|
-
server.tool('mcp_update_config', 'Update a project configuration value by key path.', {
|
|
47
|
-
key: zod_1.z.string().describe('Dot-separated key path (e.g. "model_profile", "branching.strategy")'),
|
|
48
|
-
value: zod_1.z.string().describe('New value to set'),
|
|
49
|
-
}, async ({ key, value }) => {
|
|
50
|
-
try {
|
|
51
|
-
const cwd = (0, utils_js_1.detectProjectRoot)();
|
|
52
|
-
if (!cwd) {
|
|
53
|
-
return (0, utils_js_1.mcpError)('No .planning/ directory found', 'Project not detected');
|
|
54
|
-
}
|
|
55
|
-
const result = (0, config_js_1.cmdConfigSet)(cwd, key, value, true);
|
|
56
|
-
if (!result.ok) {
|
|
57
|
-
return (0, utils_js_1.mcpError)(result.error, 'Config update failed');
|
|
58
|
-
}
|
|
59
|
-
return (0, utils_js_1.mcpSuccess)({ updated: true, key, value }, `Config "${key}" updated to "${value}"`);
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
return (0, utils_js_1.mcpError)('Failed: ' + e.message, 'Error occurred');
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=config-tools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-tools.js","sourceRoot":"","sources":["../../src/mcp/config-tools.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAYH,kDAuEC;AAjFD,6BAAwB;AAGxB,6CAA6C;AAC7C,iDAA+D;AAC/D,yCAAqE;AAErE;;GAEG;AACH,SAAgB,mBAAmB,CAAC,MAAiB;IACnD,+EAA+E;IAE/E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,mFAAmF,EACnF;QACE,GAAG,EAAE,OAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8EAA8E,CAAC;KAC5F,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,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,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,IAAA,qBAAU,EACf,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,EAChD,qBAAqB,GAAG,GAAG,CAC5B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,IAAA,qBAAU,EACf,EAAE,MAAM,EAAE,EACV,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,mBAAmB,EACnB,mDAAmD,EACnD;QACE,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;QAC/F,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC/C,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,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,IAAA,wBAAY,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,IAAA,mBAAQ,EAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAA,qBAAU,EACf,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAC7B,WAAW,GAAG,iBAAiB,KAAK,GAAG,CACxC,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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Context Query MCP Tools — Project context 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 context query tools on the MCP server.
|
|
11
|
-
*/
|
|
12
|
-
export declare function registerContextTools(server: McpServer): void;
|
|
13
|
-
//# sourceMappingURL=context-tools.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/context-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgN5D"}
|