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.
Files changed (234) hide show
  1. package/dist/assets/CHANGELOG.md +39 -0
  2. package/dist/cli.cjs +470 -961
  3. package/dist/cli.cjs.map +1 -1
  4. package/dist/{core-RRjCSt0G.cjs → core-D5zUr9cb.cjs} +4 -3
  5. package/dist/core-D5zUr9cb.cjs.map +1 -0
  6. package/dist/install.cjs +3 -195
  7. package/dist/install.cjs.map +1 -1
  8. package/dist/mcp-server.cjs +2853 -217
  9. package/dist/mcp-server.cjs.map +1 -1
  10. package/dist/{skills-MYlMkYNt.cjs → skills-CjFWZIGM.cjs} +6 -6
  11. package/dist/{skills-MYlMkYNt.cjs.map → skills-CjFWZIGM.cjs.map} +1 -1
  12. package/package.json +1 -7
  13. package/dist/.tsbuildinfo +0 -1
  14. package/dist/assets/dashboard/client/assets/index-C199D4Eb.css +0 -32
  15. package/dist/assets/dashboard/client/assets/index-nAXJLp0_.js +0 -233
  16. package/dist/assets/dashboard/client/index.html +0 -19
  17. package/dist/assets/dashboard/server.js +0 -78813
  18. package/dist/backend/index.d.ts +0 -4
  19. package/dist/backend/index.d.ts.map +0 -1
  20. package/dist/backend/index.js +0 -12
  21. package/dist/backend/index.js.map +0 -1
  22. package/dist/backend/lifecycle.d.ts +0 -13
  23. package/dist/backend/lifecycle.d.ts.map +0 -1
  24. package/dist/backend/lifecycle.js +0 -168
  25. package/dist/backend/lifecycle.js.map +0 -1
  26. package/dist/backend/server.d.ts +0 -13
  27. package/dist/backend/server.d.ts.map +0 -1
  28. package/dist/backend/server.js +0 -1013
  29. package/dist/backend/server.js.map +0 -1
  30. package/dist/backend/terminal.d.ts +0 -49
  31. package/dist/backend/terminal.d.ts.map +0 -1
  32. package/dist/backend/terminal.js +0 -209
  33. package/dist/backend/terminal.js.map +0 -1
  34. package/dist/backend/types.d.ts +0 -77
  35. package/dist/backend/types.d.ts.map +0 -1
  36. package/dist/backend/types.js +0 -6
  37. package/dist/backend/types.js.map +0 -1
  38. package/dist/backend-server.cjs +0 -80672
  39. package/dist/backend-server.cjs.map +0 -1
  40. package/dist/backend-server.d.cts +0 -2
  41. package/dist/backend-server.d.ts +0 -11
  42. package/dist/backend-server.d.ts.map +0 -1
  43. package/dist/backend-server.js +0 -43
  44. package/dist/backend-server.js.map +0 -1
  45. package/dist/cli.d.cts +0 -2
  46. package/dist/cli.d.ts +0 -7
  47. package/dist/cli.d.ts.map +0 -1
  48. package/dist/cli.js +0 -510
  49. package/dist/cli.js.map +0 -1
  50. package/dist/core/artefakte.d.ts +0 -12
  51. package/dist/core/artefakte.d.ts.map +0 -1
  52. package/dist/core/artefakte.js +0 -152
  53. package/dist/core/artefakte.js.map +0 -1
  54. package/dist/core/commands.d.ts +0 -26
  55. package/dist/core/commands.d.ts.map +0 -1
  56. package/dist/core/commands.js +0 -550
  57. package/dist/core/commands.js.map +0 -1
  58. package/dist/core/config.d.ts +0 -10
  59. package/dist/core/config.d.ts.map +0 -1
  60. package/dist/core/config.js +0 -143
  61. package/dist/core/config.js.map +0 -1
  62. package/dist/core/context-loader.d.ts +0 -21
  63. package/dist/core/context-loader.d.ts.map +0 -1
  64. package/dist/core/context-loader.js +0 -212
  65. package/dist/core/context-loader.js.map +0 -1
  66. package/dist/core/core.d.ts +0 -91
  67. package/dist/core/core.d.ts.map +0 -1
  68. package/dist/core/core.js +0 -823
  69. package/dist/core/core.js.map +0 -1
  70. package/dist/core/dashboard-launcher.d.ts +0 -56
  71. package/dist/core/dashboard-launcher.d.ts.map +0 -1
  72. package/dist/core/dashboard-launcher.js +0 -246
  73. package/dist/core/dashboard-launcher.js.map +0 -1
  74. package/dist/core/drift.d.ts +0 -37
  75. package/dist/core/drift.d.ts.map +0 -1
  76. package/dist/core/drift.js +0 -213
  77. package/dist/core/drift.js.map +0 -1
  78. package/dist/core/frontmatter.d.ts +0 -33
  79. package/dist/core/frontmatter.d.ts.map +0 -1
  80. package/dist/core/frontmatter.js +0 -193
  81. package/dist/core/frontmatter.js.map +0 -1
  82. package/dist/core/index.d.ts +0 -28
  83. package/dist/core/index.d.ts.map +0 -1
  84. package/dist/core/index.js +0 -189
  85. package/dist/core/index.js.map +0 -1
  86. package/dist/core/init.d.ts +0 -287
  87. package/dist/core/init.d.ts.map +0 -1
  88. package/dist/core/init.js +0 -816
  89. package/dist/core/init.js.map +0 -1
  90. package/dist/core/milestone.d.ts +0 -9
  91. package/dist/core/milestone.d.ts.map +0 -1
  92. package/dist/core/milestone.js +0 -230
  93. package/dist/core/milestone.js.map +0 -1
  94. package/dist/core/phase.d.ts +0 -53
  95. package/dist/core/phase.d.ts.map +0 -1
  96. package/dist/core/phase.js +0 -891
  97. package/dist/core/phase.js.map +0 -1
  98. package/dist/core/roadmap.d.ts +0 -10
  99. package/dist/core/roadmap.d.ts.map +0 -1
  100. package/dist/core/roadmap.js +0 -165
  101. package/dist/core/roadmap.js.map +0 -1
  102. package/dist/core/skills.d.ts +0 -20
  103. package/dist/core/skills.d.ts.map +0 -1
  104. package/dist/core/skills.js +0 -144
  105. package/dist/core/skills.js.map +0 -1
  106. package/dist/core/start.d.ts +0 -15
  107. package/dist/core/start.d.ts.map +0 -1
  108. package/dist/core/start.js +0 -80
  109. package/dist/core/start.js.map +0 -1
  110. package/dist/core/state.d.ts +0 -32
  111. package/dist/core/state.d.ts.map +0 -1
  112. package/dist/core/state.js +0 -582
  113. package/dist/core/state.js.map +0 -1
  114. package/dist/core/template.d.ts +0 -30
  115. package/dist/core/template.d.ts.map +0 -1
  116. package/dist/core/template.js +0 -223
  117. package/dist/core/template.js.map +0 -1
  118. package/dist/core/types.d.ts +0 -519
  119. package/dist/core/types.d.ts.map +0 -1
  120. package/dist/core/types.js +0 -60
  121. package/dist/core/types.js.map +0 -1
  122. package/dist/core/verify.d.ts +0 -128
  123. package/dist/core/verify.d.ts.map +0 -1
  124. package/dist/core/verify.js +0 -754
  125. package/dist/core/verify.js.map +0 -1
  126. package/dist/core-RRjCSt0G.cjs.map +0 -1
  127. package/dist/esm-iIOBzmdz.cjs +0 -1561
  128. package/dist/esm-iIOBzmdz.cjs.map +0 -1
  129. package/dist/hooks/index.d.ts +0 -11
  130. package/dist/hooks/index.d.ts.map +0 -1
  131. package/dist/hooks/index.js +0 -18
  132. package/dist/hooks/index.js.map +0 -1
  133. package/dist/hooks/maxsim-check-update.d.ts +0 -17
  134. package/dist/hooks/maxsim-check-update.d.ts.map +0 -1
  135. package/dist/hooks/maxsim-check-update.js +0 -101
  136. package/dist/hooks/maxsim-check-update.js.map +0 -1
  137. package/dist/hooks/maxsim-context-monitor.d.ts +0 -21
  138. package/dist/hooks/maxsim-context-monitor.d.ts.map +0 -1
  139. package/dist/hooks/maxsim-context-monitor.js +0 -131
  140. package/dist/hooks/maxsim-context-monitor.js.map +0 -1
  141. package/dist/hooks/maxsim-statusline.d.ts +0 -19
  142. package/dist/hooks/maxsim-statusline.d.ts.map +0 -1
  143. package/dist/hooks/maxsim-statusline.js +0 -146
  144. package/dist/hooks/maxsim-statusline.js.map +0 -1
  145. package/dist/hooks/shared.d.ts +0 -11
  146. package/dist/hooks/shared.d.ts.map +0 -1
  147. package/dist/hooks/shared.js +0 -29
  148. package/dist/hooks/shared.js.map +0 -1
  149. package/dist/index.d.ts +0 -2
  150. package/dist/index.d.ts.map +0 -1
  151. package/dist/index.js +0 -3
  152. package/dist/index.js.map +0 -1
  153. package/dist/install/adapters.d.ts +0 -6
  154. package/dist/install/adapters.d.ts.map +0 -1
  155. package/dist/install/adapters.js +0 -65
  156. package/dist/install/adapters.js.map +0 -1
  157. package/dist/install/copy.d.ts +0 -6
  158. package/dist/install/copy.d.ts.map +0 -1
  159. package/dist/install/copy.js +0 -71
  160. package/dist/install/copy.js.map +0 -1
  161. package/dist/install/dashboard.d.ts +0 -16
  162. package/dist/install/dashboard.d.ts.map +0 -1
  163. package/dist/install/dashboard.js +0 -273
  164. package/dist/install/dashboard.js.map +0 -1
  165. package/dist/install/hooks.d.ts +0 -31
  166. package/dist/install/hooks.d.ts.map +0 -1
  167. package/dist/install/hooks.js +0 -260
  168. package/dist/install/hooks.js.map +0 -1
  169. package/dist/install/index.d.ts +0 -2
  170. package/dist/install/index.d.ts.map +0 -1
  171. package/dist/install/index.js +0 -534
  172. package/dist/install/index.js.map +0 -1
  173. package/dist/install/manifest.d.ts +0 -23
  174. package/dist/install/manifest.d.ts.map +0 -1
  175. package/dist/install/manifest.js +0 -133
  176. package/dist/install/manifest.js.map +0 -1
  177. package/dist/install/patches.d.ts +0 -10
  178. package/dist/install/patches.d.ts.map +0 -1
  179. package/dist/install/patches.js +0 -124
  180. package/dist/install/patches.js.map +0 -1
  181. package/dist/install/shared.d.ts +0 -56
  182. package/dist/install/shared.d.ts.map +0 -1
  183. package/dist/install/shared.js +0 -181
  184. package/dist/install/shared.js.map +0 -1
  185. package/dist/install/uninstall.d.ts +0 -5
  186. package/dist/install/uninstall.d.ts.map +0 -1
  187. package/dist/install/uninstall.js +0 -222
  188. package/dist/install/uninstall.js.map +0 -1
  189. package/dist/install/utils.d.ts +0 -27
  190. package/dist/install/utils.d.ts.map +0 -1
  191. package/dist/install/utils.js +0 -99
  192. package/dist/install/utils.js.map +0 -1
  193. package/dist/install.d.cts +0 -2
  194. package/dist/lifecycle-DxCru7rk.cjs +0 -136
  195. package/dist/lifecycle-DxCru7rk.cjs.map +0 -1
  196. package/dist/mcp/config-tools.d.ts +0 -13
  197. package/dist/mcp/config-tools.d.ts.map +0 -1
  198. package/dist/mcp/config-tools.js +0 -66
  199. package/dist/mcp/config-tools.js.map +0 -1
  200. package/dist/mcp/context-tools.d.ts +0 -13
  201. package/dist/mcp/context-tools.d.ts.map +0 -1
  202. package/dist/mcp/context-tools.js +0 -176
  203. package/dist/mcp/context-tools.js.map +0 -1
  204. package/dist/mcp/index.d.ts +0 -11
  205. package/dist/mcp/index.d.ts.map +0 -1
  206. package/dist/mcp/index.js +0 -26
  207. package/dist/mcp/index.js.map +0 -1
  208. package/dist/mcp/phase-tools.d.ts +0 -13
  209. package/dist/mcp/phase-tools.d.ts.map +0 -1
  210. package/dist/mcp/phase-tools.js +0 -177
  211. package/dist/mcp/phase-tools.js.map +0 -1
  212. package/dist/mcp/roadmap-tools.d.ts +0 -13
  213. package/dist/mcp/roadmap-tools.d.ts.map +0 -1
  214. package/dist/mcp/roadmap-tools.js +0 -79
  215. package/dist/mcp/roadmap-tools.js.map +0 -1
  216. package/dist/mcp/state-tools.d.ts +0 -13
  217. package/dist/mcp/state-tools.d.ts.map +0 -1
  218. package/dist/mcp/state-tools.js +0 -185
  219. package/dist/mcp/state-tools.js.map +0 -1
  220. package/dist/mcp/todo-tools.d.ts +0 -13
  221. package/dist/mcp/todo-tools.d.ts.map +0 -1
  222. package/dist/mcp/todo-tools.js +0 -143
  223. package/dist/mcp/todo-tools.js.map +0 -1
  224. package/dist/mcp/utils.d.ts +0 -27
  225. package/dist/mcp/utils.d.ts.map +0 -1
  226. package/dist/mcp/utils.js +0 -82
  227. package/dist/mcp/utils.js.map +0 -1
  228. package/dist/mcp-server.d.cts +0 -2
  229. package/dist/mcp-server.d.ts +0 -12
  230. package/dist/mcp-server.d.ts.map +0 -1
  231. package/dist/mcp-server.js +0 -31
  232. package/dist/mcp-server.js.map +0 -1
  233. package/dist/server-By0TN-nC.cjs +0 -2995
  234. 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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"}
@@ -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"}
@@ -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"}
@@ -1,2 +0,0 @@
1
-
2
- export { };
@@ -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"}
@@ -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"}