maxsimcli 4.5.0 → 4.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/assets/CHANGELOG.md +38 -0
  2. package/dist/backend-server.cjs +2739 -41
  3. package/dist/backend-server.cjs.map +1 -1
  4. package/dist/cli.cjs +3 -3
  5. package/dist/{lifecycle-DxCru7rk.cjs → lifecycle-D8mcsEjy.cjs} +2 -2
  6. package/dist/{lifecycle-DxCru7rk.cjs.map → lifecycle-D8mcsEjy.cjs.map} +1 -1
  7. package/dist/mcp-server.cjs +2715 -16
  8. package/dist/mcp-server.cjs.map +1 -1
  9. package/dist/{server-By0TN-nC.cjs → server-BAHfh_vw.cjs} +2716 -17
  10. package/dist/server-BAHfh_vw.cjs.map +1 -0
  11. package/package.json +1 -1
  12. package/dist/.tsbuildinfo +0 -1
  13. package/dist/backend/index.d.ts +0 -4
  14. package/dist/backend/index.d.ts.map +0 -1
  15. package/dist/backend/index.js +0 -12
  16. package/dist/backend/index.js.map +0 -1
  17. package/dist/backend/lifecycle.d.ts +0 -13
  18. package/dist/backend/lifecycle.d.ts.map +0 -1
  19. package/dist/backend/lifecycle.js +0 -168
  20. package/dist/backend/lifecycle.js.map +0 -1
  21. package/dist/backend/server.d.ts +0 -13
  22. package/dist/backend/server.d.ts.map +0 -1
  23. package/dist/backend/server.js +0 -1013
  24. package/dist/backend/server.js.map +0 -1
  25. package/dist/backend/terminal.d.ts +0 -49
  26. package/dist/backend/terminal.d.ts.map +0 -1
  27. package/dist/backend/terminal.js +0 -209
  28. package/dist/backend/terminal.js.map +0 -1
  29. package/dist/backend/types.d.ts +0 -77
  30. package/dist/backend/types.d.ts.map +0 -1
  31. package/dist/backend/types.js +0 -6
  32. package/dist/backend/types.js.map +0 -1
  33. package/dist/backend-server.d.cts +0 -2
  34. package/dist/backend-server.d.ts +0 -11
  35. package/dist/backend-server.d.ts.map +0 -1
  36. package/dist/backend-server.js +0 -43
  37. package/dist/backend-server.js.map +0 -1
  38. package/dist/cli.d.cts +0 -2
  39. package/dist/cli.d.ts +0 -7
  40. package/dist/cli.d.ts.map +0 -1
  41. package/dist/cli.js +0 -510
  42. package/dist/cli.js.map +0 -1
  43. package/dist/core/artefakte.d.ts +0 -12
  44. package/dist/core/artefakte.d.ts.map +0 -1
  45. package/dist/core/artefakte.js +0 -152
  46. package/dist/core/artefakte.js.map +0 -1
  47. package/dist/core/commands.d.ts +0 -26
  48. package/dist/core/commands.d.ts.map +0 -1
  49. package/dist/core/commands.js +0 -550
  50. package/dist/core/commands.js.map +0 -1
  51. package/dist/core/config.d.ts +0 -10
  52. package/dist/core/config.d.ts.map +0 -1
  53. package/dist/core/config.js +0 -143
  54. package/dist/core/config.js.map +0 -1
  55. package/dist/core/context-loader.d.ts +0 -21
  56. package/dist/core/context-loader.d.ts.map +0 -1
  57. package/dist/core/context-loader.js +0 -212
  58. package/dist/core/context-loader.js.map +0 -1
  59. package/dist/core/core.d.ts +0 -91
  60. package/dist/core/core.d.ts.map +0 -1
  61. package/dist/core/core.js +0 -823
  62. package/dist/core/core.js.map +0 -1
  63. package/dist/core/dashboard-launcher.d.ts +0 -56
  64. package/dist/core/dashboard-launcher.d.ts.map +0 -1
  65. package/dist/core/dashboard-launcher.js +0 -246
  66. package/dist/core/dashboard-launcher.js.map +0 -1
  67. package/dist/core/drift.d.ts +0 -37
  68. package/dist/core/drift.d.ts.map +0 -1
  69. package/dist/core/drift.js +0 -213
  70. package/dist/core/drift.js.map +0 -1
  71. package/dist/core/frontmatter.d.ts +0 -33
  72. package/dist/core/frontmatter.d.ts.map +0 -1
  73. package/dist/core/frontmatter.js +0 -193
  74. package/dist/core/frontmatter.js.map +0 -1
  75. package/dist/core/index.d.ts +0 -28
  76. package/dist/core/index.d.ts.map +0 -1
  77. package/dist/core/index.js +0 -189
  78. package/dist/core/index.js.map +0 -1
  79. package/dist/core/init.d.ts +0 -287
  80. package/dist/core/init.d.ts.map +0 -1
  81. package/dist/core/init.js +0 -816
  82. package/dist/core/init.js.map +0 -1
  83. package/dist/core/milestone.d.ts +0 -9
  84. package/dist/core/milestone.d.ts.map +0 -1
  85. package/dist/core/milestone.js +0 -230
  86. package/dist/core/milestone.js.map +0 -1
  87. package/dist/core/phase.d.ts +0 -53
  88. package/dist/core/phase.d.ts.map +0 -1
  89. package/dist/core/phase.js +0 -891
  90. package/dist/core/phase.js.map +0 -1
  91. package/dist/core/roadmap.d.ts +0 -10
  92. package/dist/core/roadmap.d.ts.map +0 -1
  93. package/dist/core/roadmap.js +0 -165
  94. package/dist/core/roadmap.js.map +0 -1
  95. package/dist/core/skills.d.ts +0 -20
  96. package/dist/core/skills.d.ts.map +0 -1
  97. package/dist/core/skills.js +0 -144
  98. package/dist/core/skills.js.map +0 -1
  99. package/dist/core/start.d.ts +0 -15
  100. package/dist/core/start.d.ts.map +0 -1
  101. package/dist/core/start.js +0 -80
  102. package/dist/core/start.js.map +0 -1
  103. package/dist/core/state.d.ts +0 -32
  104. package/dist/core/state.d.ts.map +0 -1
  105. package/dist/core/state.js +0 -582
  106. package/dist/core/state.js.map +0 -1
  107. package/dist/core/template.d.ts +0 -30
  108. package/dist/core/template.d.ts.map +0 -1
  109. package/dist/core/template.js +0 -223
  110. package/dist/core/template.js.map +0 -1
  111. package/dist/core/types.d.ts +0 -519
  112. package/dist/core/types.d.ts.map +0 -1
  113. package/dist/core/types.js +0 -60
  114. package/dist/core/types.js.map +0 -1
  115. package/dist/core/verify.d.ts +0 -128
  116. package/dist/core/verify.d.ts.map +0 -1
  117. package/dist/core/verify.js +0 -754
  118. package/dist/core/verify.js.map +0 -1
  119. package/dist/hooks/index.d.ts +0 -11
  120. package/dist/hooks/index.d.ts.map +0 -1
  121. package/dist/hooks/index.js +0 -18
  122. package/dist/hooks/index.js.map +0 -1
  123. package/dist/hooks/maxsim-check-update.d.ts +0 -17
  124. package/dist/hooks/maxsim-check-update.d.ts.map +0 -1
  125. package/dist/hooks/maxsim-check-update.js +0 -101
  126. package/dist/hooks/maxsim-check-update.js.map +0 -1
  127. package/dist/hooks/maxsim-context-monitor.d.ts +0 -21
  128. package/dist/hooks/maxsim-context-monitor.d.ts.map +0 -1
  129. package/dist/hooks/maxsim-context-monitor.js +0 -131
  130. package/dist/hooks/maxsim-context-monitor.js.map +0 -1
  131. package/dist/hooks/maxsim-statusline.d.ts +0 -19
  132. package/dist/hooks/maxsim-statusline.d.ts.map +0 -1
  133. package/dist/hooks/maxsim-statusline.js +0 -146
  134. package/dist/hooks/maxsim-statusline.js.map +0 -1
  135. package/dist/hooks/shared.d.ts +0 -11
  136. package/dist/hooks/shared.d.ts.map +0 -1
  137. package/dist/hooks/shared.js +0 -29
  138. package/dist/hooks/shared.js.map +0 -1
  139. package/dist/index.d.ts +0 -2
  140. package/dist/index.d.ts.map +0 -1
  141. package/dist/index.js +0 -3
  142. package/dist/index.js.map +0 -1
  143. package/dist/install/adapters.d.ts +0 -6
  144. package/dist/install/adapters.d.ts.map +0 -1
  145. package/dist/install/adapters.js +0 -65
  146. package/dist/install/adapters.js.map +0 -1
  147. package/dist/install/copy.d.ts +0 -6
  148. package/dist/install/copy.d.ts.map +0 -1
  149. package/dist/install/copy.js +0 -71
  150. package/dist/install/copy.js.map +0 -1
  151. package/dist/install/dashboard.d.ts +0 -16
  152. package/dist/install/dashboard.d.ts.map +0 -1
  153. package/dist/install/dashboard.js +0 -273
  154. package/dist/install/dashboard.js.map +0 -1
  155. package/dist/install/hooks.d.ts +0 -31
  156. package/dist/install/hooks.d.ts.map +0 -1
  157. package/dist/install/hooks.js +0 -260
  158. package/dist/install/hooks.js.map +0 -1
  159. package/dist/install/index.d.ts +0 -2
  160. package/dist/install/index.d.ts.map +0 -1
  161. package/dist/install/index.js +0 -534
  162. package/dist/install/index.js.map +0 -1
  163. package/dist/install/manifest.d.ts +0 -23
  164. package/dist/install/manifest.d.ts.map +0 -1
  165. package/dist/install/manifest.js +0 -133
  166. package/dist/install/manifest.js.map +0 -1
  167. package/dist/install/patches.d.ts +0 -10
  168. package/dist/install/patches.d.ts.map +0 -1
  169. package/dist/install/patches.js +0 -124
  170. package/dist/install/patches.js.map +0 -1
  171. package/dist/install/shared.d.ts +0 -56
  172. package/dist/install/shared.d.ts.map +0 -1
  173. package/dist/install/shared.js +0 -181
  174. package/dist/install/shared.js.map +0 -1
  175. package/dist/install/uninstall.d.ts +0 -5
  176. package/dist/install/uninstall.d.ts.map +0 -1
  177. package/dist/install/uninstall.js +0 -222
  178. package/dist/install/uninstall.js.map +0 -1
  179. package/dist/install/utils.d.ts +0 -27
  180. package/dist/install/utils.d.ts.map +0 -1
  181. package/dist/install/utils.js +0 -99
  182. package/dist/install/utils.js.map +0 -1
  183. package/dist/install.d.cts +0 -2
  184. package/dist/mcp/config-tools.d.ts +0 -13
  185. package/dist/mcp/config-tools.d.ts.map +0 -1
  186. package/dist/mcp/config-tools.js +0 -66
  187. package/dist/mcp/config-tools.js.map +0 -1
  188. package/dist/mcp/context-tools.d.ts +0 -13
  189. package/dist/mcp/context-tools.d.ts.map +0 -1
  190. package/dist/mcp/context-tools.js +0 -176
  191. package/dist/mcp/context-tools.js.map +0 -1
  192. package/dist/mcp/index.d.ts +0 -11
  193. package/dist/mcp/index.d.ts.map +0 -1
  194. package/dist/mcp/index.js +0 -26
  195. package/dist/mcp/index.js.map +0 -1
  196. package/dist/mcp/phase-tools.d.ts +0 -13
  197. package/dist/mcp/phase-tools.d.ts.map +0 -1
  198. package/dist/mcp/phase-tools.js +0 -177
  199. package/dist/mcp/phase-tools.js.map +0 -1
  200. package/dist/mcp/roadmap-tools.d.ts +0 -13
  201. package/dist/mcp/roadmap-tools.d.ts.map +0 -1
  202. package/dist/mcp/roadmap-tools.js +0 -79
  203. package/dist/mcp/roadmap-tools.js.map +0 -1
  204. package/dist/mcp/state-tools.d.ts +0 -13
  205. package/dist/mcp/state-tools.d.ts.map +0 -1
  206. package/dist/mcp/state-tools.js +0 -185
  207. package/dist/mcp/state-tools.js.map +0 -1
  208. package/dist/mcp/todo-tools.d.ts +0 -13
  209. package/dist/mcp/todo-tools.d.ts.map +0 -1
  210. package/dist/mcp/todo-tools.js +0 -143
  211. package/dist/mcp/todo-tools.js.map +0 -1
  212. package/dist/mcp/utils.d.ts +0 -27
  213. package/dist/mcp/utils.d.ts.map +0 -1
  214. package/dist/mcp/utils.js +0 -82
  215. package/dist/mcp/utils.js.map +0 -1
  216. package/dist/mcp-server.d.cts +0 -2
  217. package/dist/mcp-server.d.ts +0 -12
  218. package/dist/mcp-server.d.ts.map +0 -1
  219. package/dist/mcp-server.js +0 -31
  220. package/dist/mcp-server.js.map +0 -1
  221. package/dist/server-By0TN-nC.cjs.map +0 -1
@@ -1,133 +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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.MANIFEST_NAME = void 0;
37
- exports.fileHash = fileHash;
38
- exports.generateManifest = generateManifest;
39
- exports.writeManifest = writeManifest;
40
- exports.readManifest = readManifest;
41
- const fs = __importStar(require("node:fs"));
42
- const path = __importStar(require("node:path"));
43
- const crypto = __importStar(require("node:crypto"));
44
- const shared_js_1 = require("./shared.js");
45
- exports.MANIFEST_NAME = 'maxsim-file-manifest.json';
46
- /**
47
- * Compute SHA256 hash of file contents
48
- */
49
- function fileHash(filePath) {
50
- const content = fs.readFileSync(filePath);
51
- return crypto.createHash('sha256').update(content).digest('hex');
52
- }
53
- /**
54
- * Recursively collect all files in dir with their hashes
55
- */
56
- function generateManifest(dir, baseDir) {
57
- if (!baseDir)
58
- baseDir = dir;
59
- const manifest = {};
60
- if (!fs.existsSync(dir))
61
- return manifest;
62
- const entries = fs.readdirSync(dir, { withFileTypes: true });
63
- for (const entry of entries) {
64
- const fullPath = path.join(dir, entry.name);
65
- const relPath = path.relative(baseDir, fullPath).replace(/\\/g, '/');
66
- if (entry.isSymbolicLink()) {
67
- // Skip symlinks — they point to user-managed external directories
68
- continue;
69
- }
70
- else if (entry.isDirectory()) {
71
- Object.assign(manifest, generateManifest(fullPath, baseDir));
72
- }
73
- else {
74
- manifest[relPath] = fileHash(fullPath);
75
- }
76
- }
77
- return manifest;
78
- }
79
- /**
80
- * Write file manifest after installation for future modification detection
81
- */
82
- function writeManifest(configDir) {
83
- const maxsimDir = path.join(configDir, 'maxsim');
84
- const commandsDir = path.join(configDir, 'commands', 'maxsim');
85
- const agentsDir = path.join(configDir, 'agents');
86
- const manifest = {
87
- version: shared_js_1.pkg.version,
88
- timestamp: new Date().toISOString(),
89
- files: {},
90
- };
91
- const maxsimHashes = generateManifest(maxsimDir);
92
- for (const [rel, hash] of Object.entries(maxsimHashes)) {
93
- manifest.files['maxsim/' + rel] = hash;
94
- }
95
- if (fs.existsSync(commandsDir)) {
96
- const cmdHashes = generateManifest(commandsDir);
97
- for (const [rel, hash] of Object.entries(cmdHashes)) {
98
- manifest.files['commands/maxsim/' + rel] = hash;
99
- }
100
- }
101
- if (fs.existsSync(agentsDir)) {
102
- for (const file of fs.readdirSync(agentsDir)) {
103
- if (file.startsWith('maxsim-') && file.endsWith('.md')) {
104
- manifest.files['agents/' + file] = fileHash(path.join(agentsDir, file));
105
- }
106
- }
107
- }
108
- // Include skills in manifest (skills/<skill-name>/*)
109
- const skillsManifestDir = path.join(configDir, 'skills');
110
- if (fs.existsSync(skillsManifestDir)) {
111
- const skillHashes = generateManifest(skillsManifestDir);
112
- for (const [rel, hash] of Object.entries(skillHashes)) {
113
- manifest.files['skills/' + rel] = hash;
114
- }
115
- }
116
- fs.writeFileSync(path.join(configDir, exports.MANIFEST_NAME), JSON.stringify(manifest, null, 2));
117
- return manifest;
118
- }
119
- /**
120
- * Read an existing manifest from the config directory, or return null if none exists / is invalid
121
- */
122
- function readManifest(configDir) {
123
- const manifestPath = path.join(configDir, exports.MANIFEST_NAME);
124
- if (!fs.existsSync(manifestPath))
125
- return null;
126
- try {
127
- return JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
128
- }
129
- catch {
130
- return null;
131
- }
132
- }
133
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/install/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export declare const PATCHES_DIR_NAME = "maxsim-local-patches";
2
- /**
3
- * Detect user-modified MAXSIM files by comparing against install manifest.
4
- */
5
- export declare function saveLocalPatches(configDir: string): string[];
6
- /**
7
- * After install, report backed-up patches for user to reapply.
8
- */
9
- export declare function reportLocalPatches(configDir: string): string[];
10
- //# sourceMappingURL=patches.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patches.d.ts","sourceRoot":"","sources":["../../src/install/patches.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,gBAAgB,yBAAyB,CAAC;AAQvD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA2C5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAwCV"}
@@ -1,124 +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.PATCHES_DIR_NAME = void 0;
40
- exports.saveLocalPatches = saveLocalPatches;
41
- exports.reportLocalPatches = reportLocalPatches;
42
- const fs = __importStar(require("node:fs"));
43
- const path = __importStar(require("node:path"));
44
- const chalk_1 = __importDefault(require("chalk"));
45
- const manifest_js_1 = require("./manifest.js");
46
- exports.PATCHES_DIR_NAME = 'maxsim-local-patches';
47
- /**
48
- * Detect user-modified MAXSIM files by comparing against install manifest.
49
- */
50
- function saveLocalPatches(configDir) {
51
- const manifest = (0, manifest_js_1.readManifest)(configDir);
52
- if (!manifest)
53
- return [];
54
- const patchesDir = path.join(configDir, exports.PATCHES_DIR_NAME);
55
- const modified = [];
56
- for (const [relPath, originalHash] of Object.entries(manifest.files || {})) {
57
- const fullPath = path.join(configDir, relPath);
58
- if (!fs.existsSync(fullPath))
59
- continue;
60
- const currentHash = (0, manifest_js_1.fileHash)(fullPath);
61
- if (currentHash !== originalHash) {
62
- const backupPath = path.join(patchesDir, relPath);
63
- fs.mkdirSync(path.dirname(backupPath), { recursive: true });
64
- fs.copyFileSync(fullPath, backupPath);
65
- modified.push(relPath);
66
- }
67
- }
68
- if (modified.length > 0) {
69
- const meta = {
70
- backed_up_at: new Date().toISOString(),
71
- from_version: manifest.version,
72
- files: modified,
73
- };
74
- fs.writeFileSync(path.join(patchesDir, 'backup-meta.json'), JSON.stringify(meta, null, 2));
75
- console.log(' ' +
76
- chalk_1.default.yellow('i') +
77
- ' Found ' +
78
- modified.length +
79
- ' locally modified MAXSIM file(s) \u2014 backed up to ' +
80
- exports.PATCHES_DIR_NAME +
81
- '/');
82
- for (const f of modified) {
83
- console.log(' ' + chalk_1.default.dim(f));
84
- }
85
- }
86
- return modified;
87
- }
88
- /**
89
- * After install, report backed-up patches for user to reapply.
90
- */
91
- function reportLocalPatches(configDir) {
92
- const patchesDir = path.join(configDir, exports.PATCHES_DIR_NAME);
93
- const metaPath = path.join(patchesDir, 'backup-meta.json');
94
- if (!fs.existsSync(metaPath))
95
- return [];
96
- let meta;
97
- try {
98
- meta = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
99
- }
100
- catch {
101
- return [];
102
- }
103
- if (meta.files && meta.files.length > 0) {
104
- console.log('');
105
- console.log(' ' +
106
- chalk_1.default.yellow('Local patches detected') +
107
- ' (from v' +
108
- meta.from_version +
109
- '):');
110
- for (const f of meta.files) {
111
- console.log(' ' + chalk_1.default.cyan(f));
112
- }
113
- console.log('');
114
- console.log(' Your modifications are saved in ' +
115
- chalk_1.default.cyan(exports.PATCHES_DIR_NAME + '/'));
116
- console.log(' Run ' +
117
- chalk_1.default.cyan('/maxsim:reapply-patches') +
118
- ' to merge them into the new version.');
119
- console.log(' Or manually compare and merge the files.');
120
- console.log('');
121
- }
122
- return meta.files || [];
123
- }
124
- //# sourceMappingURL=patches.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patches.js","sourceRoot":"","sources":["../../src/install/patches.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import type { Manifest } from './manifest.js';
2
- export declare const pkg: {
3
- version: string;
4
- };
5
- export declare const templatesRoot: string;
6
- export declare const builtInSkills: readonly ["tdd", "systematic-debugging", "verification-before-completion", "maxsim-simplify", "code-review", "memory-management", "using-maxsim", "brainstorming", "roadmap-writing", "sdd", "maxsim-batch"];
7
- /**
8
- * Get the global config directory for Claude Code.
9
- * Priority: explicitDir > CLAUDE_CONFIG_DIR env > ~/.claude
10
- */
11
- export declare function getGlobalDir(explicitDir?: string | null): string;
12
- /**
13
- * Get the config directory path relative to home for hook templating.
14
- * Used for path.join(homeDir, '<configDir>', ...) replacement in hooks.
15
- */
16
- export declare function getConfigDirFromHome(_isGlobal: boolean): string;
17
- /**
18
- * Get the local directory name
19
- */
20
- export declare function getDirName(): string;
21
- /**
22
- * Recursively remove a directory, handling Windows read-only file attributes.
23
- * fs-extra handles cross-platform edge cases (EPERM on Windows, symlinks, etc.)
24
- */
25
- export declare function safeRmDir(dirPath: string): void;
26
- /**
27
- * Recursively copy a directory (dereferences symlinks)
28
- */
29
- export declare function copyDirRecursive(src: string, dest: string): void;
30
- /**
31
- * Verify a directory exists and contains files.
32
- * If expectedFiles is provided, also checks that those specific files exist inside the directory.
33
- */
34
- export declare function verifyInstalled(dirPath: string, description: string, expectedFiles?: string[]): boolean;
35
- /**
36
- * Verify a file exists
37
- */
38
- export declare function verifyFileInstalled(filePath: string, description: string): boolean;
39
- export interface InstallResult {
40
- settingsPath: string | null;
41
- settings: Record<string, unknown> | null;
42
- statuslineCommand: string | null;
43
- }
44
- /**
45
- * Verify that all major install components are present. Uses the manifest
46
- * (if available) to check individual files; otherwise falls back to
47
- * directory-level checks.
48
- *
49
- * Returns an object with `complete` (boolean) and `missing` (list of
50
- * component names that are absent or incomplete).
51
- */
52
- export declare function verifyInstallComplete(configDir: string, manifest?: Manifest | null): {
53
- complete: boolean;
54
- missing: string[];
55
- };
56
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/install/shared.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,eAAO,MAAM,GAAG,EAA0F;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAG9H,eAAO,MAAM,aAAa,QAAiD,CAAC;AAG5E,eAAO,MAAM,aAAa,8MAA+M,CAAC;AAE1O;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAQtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CA+BvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAQlF;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAQ,GAAG,IAAW,GAC/B;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAmC1C"}
@@ -1,181 +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.builtInSkills = exports.templatesRoot = exports.pkg = void 0;
40
- exports.getGlobalDir = getGlobalDir;
41
- exports.getConfigDirFromHome = getConfigDirFromHome;
42
- exports.getDirName = getDirName;
43
- exports.safeRmDir = safeRmDir;
44
- exports.copyDirRecursive = copyDirRecursive;
45
- exports.verifyInstalled = verifyInstalled;
46
- exports.verifyFileInstalled = verifyFileInstalled;
47
- exports.verifyInstallComplete = verifyInstallComplete;
48
- const fs = __importStar(require("node:fs"));
49
- const path = __importStar(require("node:path"));
50
- const fs_extra_1 = __importDefault(require("fs-extra"));
51
- const os = __importStar(require("node:os"));
52
- const utils_js_1 = require("./utils.js");
53
- // Get version from package.json — read at runtime so semantic-release's version bump
54
- // is reflected without needing to rebuild dist/install.cjs after the version bump.
55
- exports.pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '..', 'package.json'), 'utf-8'));
56
- // Resolve template asset root — bundled into dist/assets/templates at publish time
57
- exports.templatesRoot = path.resolve(__dirname, 'assets', 'templates');
58
- // Built-in skill names shipped with MAXSIM — used for cleanup during install/uninstall
59
- exports.builtInSkills = ['tdd', 'systematic-debugging', 'verification-before-completion', 'maxsim-simplify', 'code-review', 'memory-management', 'using-maxsim', 'brainstorming', 'roadmap-writing', 'sdd', 'maxsim-batch'];
60
- /**
61
- * Get the global config directory for Claude Code.
62
- * Priority: explicitDir > CLAUDE_CONFIG_DIR env > ~/.claude
63
- */
64
- function getGlobalDir(explicitDir = null) {
65
- if (explicitDir) {
66
- return (0, utils_js_1.expandTilde)(explicitDir);
67
- }
68
- if (process.env.CLAUDE_CONFIG_DIR) {
69
- return (0, utils_js_1.expandTilde)(process.env.CLAUDE_CONFIG_DIR);
70
- }
71
- return path.join(os.homedir(), '.claude');
72
- }
73
- /**
74
- * Get the config directory path relative to home for hook templating.
75
- * Used for path.join(homeDir, '<configDir>', ...) replacement in hooks.
76
- */
77
- function getConfigDirFromHome(_isGlobal) {
78
- return "'.claude'";
79
- }
80
- /**
81
- * Get the local directory name
82
- */
83
- function getDirName() {
84
- return '.claude';
85
- }
86
- /**
87
- * Recursively remove a directory, handling Windows read-only file attributes.
88
- * fs-extra handles cross-platform edge cases (EPERM on Windows, symlinks, etc.)
89
- */
90
- function safeRmDir(dirPath) {
91
- fs_extra_1.default.removeSync(dirPath);
92
- }
93
- /**
94
- * Recursively copy a directory (dereferences symlinks)
95
- */
96
- function copyDirRecursive(src, dest) {
97
- fs_extra_1.default.copySync(src, dest, { dereference: true });
98
- }
99
- /**
100
- * Verify a directory exists and contains files.
101
- * If expectedFiles is provided, also checks that those specific files exist inside the directory.
102
- */
103
- function verifyInstalled(dirPath, description, expectedFiles) {
104
- if (!fs.existsSync(dirPath)) {
105
- console.error(` \u2717 Failed to install ${description}: directory not created`);
106
- return false;
107
- }
108
- try {
109
- const entries = fs.readdirSync(dirPath);
110
- if (entries.length === 0) {
111
- console.error(` \u2717 Failed to install ${description}: directory is empty`);
112
- return false;
113
- }
114
- }
115
- catch (e) {
116
- console.error(` \u2717 Failed to install ${description}: ${e.message}`);
117
- return false;
118
- }
119
- if (expectedFiles && expectedFiles.length > 0) {
120
- const missing = expectedFiles.filter(f => !fs.existsSync(path.join(dirPath, f)));
121
- if (missing.length > 0) {
122
- console.error(` \u2717 Failed to install ${description}: missing files: ${missing.join(', ')}`);
123
- return false;
124
- }
125
- }
126
- return true;
127
- }
128
- /**
129
- * Verify a file exists
130
- */
131
- function verifyFileInstalled(filePath, description) {
132
- if (!fs.existsSync(filePath)) {
133
- console.error(` \u2717 Failed to install ${description}: file not created`);
134
- return false;
135
- }
136
- return true;
137
- }
138
- /**
139
- * Verify that all major install components are present. Uses the manifest
140
- * (if available) to check individual files; otherwise falls back to
141
- * directory-level checks.
142
- *
143
- * Returns an object with `complete` (boolean) and `missing` (list of
144
- * component names that are absent or incomplete).
145
- */
146
- function verifyInstallComplete(configDir, manifest = null) {
147
- const missing = [];
148
- // If a manifest exists, verify every file in it is still present
149
- if (manifest && manifest.files) {
150
- for (const relPath of Object.keys(manifest.files)) {
151
- if (!fs.existsSync(path.join(configDir, relPath))) {
152
- missing.push(relPath);
153
- }
154
- }
155
- return { complete: missing.length === 0, missing };
156
- }
157
- // Fallback: directory-level checks for major components
158
- const components = [
159
- { dir: path.join(configDir, 'maxsim'), label: 'maxsim (workflows/templates)' },
160
- { dir: path.join(configDir, 'agents'), label: 'agents' },
161
- { dir: path.join(configDir, 'commands', 'maxsim'), label: 'commands' },
162
- { dir: path.join(configDir, 'hooks'), label: 'hooks' },
163
- ];
164
- for (const { dir, label } of components) {
165
- if (!fs.existsSync(dir)) {
166
- missing.push(label);
167
- }
168
- else {
169
- try {
170
- const entries = fs.readdirSync(dir);
171
- if (entries.length === 0)
172
- missing.push(label);
173
- }
174
- catch {
175
- missing.push(label);
176
- }
177
- }
178
- }
179
- return { complete: missing.length === 0, missing };
180
- }
181
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/install/shared.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Uninstall MAXSIM from the specified directory
3
- */
4
- export declare function uninstall(isGlobal: boolean, explicitConfigDir?: string | null): void;
5
- //# sourceMappingURL=uninstall.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/install/uninstall.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,iBAAiB,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CA4O1F"}