@mycelish/cli 0.1.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 (418) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/init-auto.test.d.ts +2 -0
  3. package/dist/__tests__/init-auto.test.d.ts.map +1 -0
  4. package/dist/__tests__/init-auto.test.js +60 -0
  5. package/dist/__tests__/init-auto.test.js.map +1 -0
  6. package/dist/commands/add.d.ts +20 -0
  7. package/dist/commands/add.d.ts.map +1 -0
  8. package/dist/commands/add.js +99 -0
  9. package/dist/commands/add.js.map +1 -0
  10. package/dist/commands/add.test.d.ts +25 -0
  11. package/dist/commands/add.test.d.ts.map +1 -0
  12. package/dist/commands/add.test.js +574 -0
  13. package/dist/commands/add.test.js.map +1 -0
  14. package/dist/commands/disable.d.ts +33 -0
  15. package/dist/commands/disable.d.ts.map +1 -0
  16. package/dist/commands/disable.js +201 -0
  17. package/dist/commands/disable.js.map +1 -0
  18. package/dist/commands/disable.test.d.ts +6 -0
  19. package/dist/commands/disable.test.d.ts.map +1 -0
  20. package/dist/commands/disable.test.js +290 -0
  21. package/dist/commands/disable.test.js.map +1 -0
  22. package/dist/commands/doctor.d.ts +11 -0
  23. package/dist/commands/doctor.d.ts.map +1 -0
  24. package/dist/commands/doctor.js +33 -0
  25. package/dist/commands/doctor.js.map +1 -0
  26. package/dist/commands/doctor.test.d.ts +17 -0
  27. package/dist/commands/doctor.test.d.ts.map +1 -0
  28. package/dist/commands/doctor.test.js +691 -0
  29. package/dist/commands/doctor.test.js.map +1 -0
  30. package/dist/commands/enable.d.ts +33 -0
  31. package/dist/commands/enable.d.ts.map +1 -0
  32. package/dist/commands/enable.js +199 -0
  33. package/dist/commands/enable.js.map +1 -0
  34. package/dist/commands/enable.test.d.ts +6 -0
  35. package/dist/commands/enable.test.d.ts.map +1 -0
  36. package/dist/commands/enable.test.js +301 -0
  37. package/dist/commands/enable.test.js.map +1 -0
  38. package/dist/commands/health-checks/config-check.d.ts +34 -0
  39. package/dist/commands/health-checks/config-check.d.ts.map +1 -0
  40. package/dist/commands/health-checks/config-check.js +267 -0
  41. package/dist/commands/health-checks/config-check.js.map +1 -0
  42. package/dist/commands/health-checks/formatter.d.ts +13 -0
  43. package/dist/commands/health-checks/formatter.d.ts.map +1 -0
  44. package/dist/commands/health-checks/formatter.js +72 -0
  45. package/dist/commands/health-checks/formatter.js.map +1 -0
  46. package/dist/commands/health-checks/index.d.ts +8 -0
  47. package/dist/commands/health-checks/index.d.ts.map +1 -0
  48. package/dist/commands/health-checks/index.js +7 -0
  49. package/dist/commands/health-checks/index.js.map +1 -0
  50. package/dist/commands/health-checks/mcp-check.d.ts +9 -0
  51. package/dist/commands/health-checks/mcp-check.d.ts.map +1 -0
  52. package/dist/commands/health-checks/mcp-check.js +37 -0
  53. package/dist/commands/health-checks/mcp-check.js.map +1 -0
  54. package/dist/commands/health-checks/memory-check.d.ts +15 -0
  55. package/dist/commands/health-checks/memory-check.d.ts.map +1 -0
  56. package/dist/commands/health-checks/memory-check.js +92 -0
  57. package/dist/commands/health-checks/memory-check.js.map +1 -0
  58. package/dist/commands/health-checks/runner.d.ts +9 -0
  59. package/dist/commands/health-checks/runner.d.ts.map +1 -0
  60. package/dist/commands/health-checks/runner.js +74 -0
  61. package/dist/commands/health-checks/runner.js.map +1 -0
  62. package/dist/commands/health-checks/tool-version-check.d.ts +9 -0
  63. package/dist/commands/health-checks/tool-version-check.d.ts.map +1 -0
  64. package/dist/commands/health-checks/tool-version-check.js +35 -0
  65. package/dist/commands/health-checks/tool-version-check.js.map +1 -0
  66. package/dist/commands/health-checks/types.d.ts +16 -0
  67. package/dist/commands/health-checks/types.d.ts.map +1 -0
  68. package/dist/commands/health-checks/types.js +2 -0
  69. package/dist/commands/health-checks/types.js.map +1 -0
  70. package/dist/commands/init.d.ts +120 -0
  71. package/dist/commands/init.d.ts.map +1 -0
  72. package/dist/commands/init.js +436 -0
  73. package/dist/commands/init.js.map +1 -0
  74. package/dist/commands/init.test.d.ts +16 -0
  75. package/dist/commands/init.test.d.ts.map +1 -0
  76. package/dist/commands/init.test.js +286 -0
  77. package/dist/commands/init.test.js.map +1 -0
  78. package/dist/commands/marketplace.d.ts +13 -0
  79. package/dist/commands/marketplace.d.ts.map +1 -0
  80. package/dist/commands/marketplace.js +85 -0
  81. package/dist/commands/marketplace.js.map +1 -0
  82. package/dist/commands/marketplace.test.d.ts +2 -0
  83. package/dist/commands/marketplace.test.d.ts.map +1 -0
  84. package/dist/commands/marketplace.test.js +78 -0
  85. package/dist/commands/marketplace.test.js.map +1 -0
  86. package/dist/commands/migrate.d.ts +15 -0
  87. package/dist/commands/migrate.d.ts.map +1 -0
  88. package/dist/commands/migrate.js +179 -0
  89. package/dist/commands/migrate.js.map +1 -0
  90. package/dist/commands/migrate.test.d.ts +2 -0
  91. package/dist/commands/migrate.test.d.ts.map +1 -0
  92. package/dist/commands/migrate.test.js +109 -0
  93. package/dist/commands/migrate.test.js.map +1 -0
  94. package/dist/commands/preset.d.ts +11 -0
  95. package/dist/commands/preset.d.ts.map +1 -0
  96. package/dist/commands/preset.js +99 -0
  97. package/dist/commands/preset.js.map +1 -0
  98. package/dist/commands/preset.test.d.ts +2 -0
  99. package/dist/commands/preset.test.d.ts.map +1 -0
  100. package/dist/commands/preset.test.js +106 -0
  101. package/dist/commands/preset.test.js.map +1 -0
  102. package/dist/commands/remote.d.ts +9 -0
  103. package/dist/commands/remote.d.ts.map +1 -0
  104. package/dist/commands/remote.js +212 -0
  105. package/dist/commands/remote.js.map +1 -0
  106. package/dist/commands/remote.test.d.ts +2 -0
  107. package/dist/commands/remote.test.d.ts.map +1 -0
  108. package/dist/commands/remote.test.js +125 -0
  109. package/dist/commands/remote.test.js.map +1 -0
  110. package/dist/commands/remove.d.ts +34 -0
  111. package/dist/commands/remove.d.ts.map +1 -0
  112. package/dist/commands/remove.js +296 -0
  113. package/dist/commands/remove.js.map +1 -0
  114. package/dist/commands/remove.test.d.ts +2 -0
  115. package/dist/commands/remove.test.d.ts.map +1 -0
  116. package/dist/commands/remove.test.js +109 -0
  117. package/dist/commands/remove.test.js.map +1 -0
  118. package/dist/commands/serve.d.ts +3 -0
  119. package/dist/commands/serve.d.ts.map +1 -0
  120. package/dist/commands/serve.js +29 -0
  121. package/dist/commands/serve.js.map +1 -0
  122. package/dist/commands/serve.test.d.ts +2 -0
  123. package/dist/commands/serve.test.d.ts.map +1 -0
  124. package/dist/commands/serve.test.js +74 -0
  125. package/dist/commands/serve.test.js.map +1 -0
  126. package/dist/commands/status.d.ts +49 -0
  127. package/dist/commands/status.d.ts.map +1 -0
  128. package/dist/commands/status.js +272 -0
  129. package/dist/commands/status.js.map +1 -0
  130. package/dist/commands/status.test.d.ts +11 -0
  131. package/dist/commands/status.test.d.ts.map +1 -0
  132. package/dist/commands/status.test.js +334 -0
  133. package/dist/commands/status.test.js.map +1 -0
  134. package/dist/commands/sync.d.ts +38 -0
  135. package/dist/commands/sync.d.ts.map +1 -0
  136. package/dist/commands/sync.js +286 -0
  137. package/dist/commands/sync.js.map +1 -0
  138. package/dist/commands/sync.test.d.ts +6 -0
  139. package/dist/commands/sync.test.d.ts.map +1 -0
  140. package/dist/commands/sync.test.js +341 -0
  141. package/dist/commands/sync.test.js.map +1 -0
  142. package/dist/commands/teams.d.ts +18 -0
  143. package/dist/commands/teams.d.ts.map +1 -0
  144. package/dist/commands/teams.js +68 -0
  145. package/dist/commands/teams.js.map +1 -0
  146. package/dist/commands/teams.test.d.ts +2 -0
  147. package/dist/commands/teams.test.d.ts.map +1 -0
  148. package/dist/commands/teams.test.js +94 -0
  149. package/dist/commands/teams.test.js.map +1 -0
  150. package/dist/core/adapter-base.d.ts +51 -0
  151. package/dist/core/adapter-base.d.ts.map +1 -0
  152. package/dist/core/adapter-base.js +89 -0
  153. package/dist/core/adapter-base.js.map +1 -0
  154. package/dist/core/add-helpers.d.ts +55 -0
  155. package/dist/core/add-helpers.d.ts.map +1 -0
  156. package/dist/core/add-helpers.js +273 -0
  157. package/dist/core/add-helpers.js.map +1 -0
  158. package/dist/core/agent-teams.d.ts +10 -0
  159. package/dist/core/agent-teams.d.ts.map +1 -0
  160. package/dist/core/agent-teams.js +40 -0
  161. package/dist/core/agent-teams.js.map +1 -0
  162. package/dist/core/agent-teams.test.d.ts +2 -0
  163. package/dist/core/agent-teams.test.d.ts.map +1 -0
  164. package/dist/core/agent-teams.test.js +64 -0
  165. package/dist/core/agent-teams.test.js.map +1 -0
  166. package/dist/core/auto-adapter.d.ts +27 -0
  167. package/dist/core/auto-adapter.d.ts.map +1 -0
  168. package/dist/core/auto-adapter.js +324 -0
  169. package/dist/core/auto-adapter.js.map +1 -0
  170. package/dist/core/auto-adapter.test.d.ts +2 -0
  171. package/dist/core/auto-adapter.test.d.ts.map +1 -0
  172. package/dist/core/auto-adapter.test.js +125 -0
  173. package/dist/core/auto-adapter.test.js.map +1 -0
  174. package/dist/core/config-merger.d.ts +33 -0
  175. package/dist/core/config-merger.d.ts.map +1 -0
  176. package/dist/core/config-merger.js +238 -0
  177. package/dist/core/config-merger.js.map +1 -0
  178. package/dist/core/config-merger.test.d.ts +10 -0
  179. package/dist/core/config-merger.test.d.ts.map +1 -0
  180. package/dist/core/config-merger.test.js +406 -0
  181. package/dist/core/config-merger.test.js.map +1 -0
  182. package/dist/core/conflict-detector.d.ts +23 -0
  183. package/dist/core/conflict-detector.d.ts.map +1 -0
  184. package/dist/core/conflict-detector.js +58 -0
  185. package/dist/core/conflict-detector.js.map +1 -0
  186. package/dist/core/conflict-detector.test.d.ts +2 -0
  187. package/dist/core/conflict-detector.test.d.ts.map +1 -0
  188. package/dist/core/conflict-detector.test.js +40 -0
  189. package/dist/core/conflict-detector.test.js.map +1 -0
  190. package/dist/core/env-template.d.ts +22 -0
  191. package/dist/core/env-template.d.ts.map +1 -0
  192. package/dist/core/env-template.js +125 -0
  193. package/dist/core/env-template.js.map +1 -0
  194. package/dist/core/env-template.test.d.ts +2 -0
  195. package/dist/core/env-template.test.d.ts.map +1 -0
  196. package/dist/core/env-template.test.js +145 -0
  197. package/dist/core/env-template.test.js.map +1 -0
  198. package/dist/core/fs-helpers.d.ts +8 -0
  199. package/dist/core/fs-helpers.d.ts.map +1 -0
  200. package/dist/core/fs-helpers.js +26 -0
  201. package/dist/core/fs-helpers.js.map +1 -0
  202. package/dist/core/fs-helpers.test.d.ts +2 -0
  203. package/dist/core/fs-helpers.test.d.ts.map +1 -0
  204. package/dist/core/fs-helpers.test.js +51 -0
  205. package/dist/core/fs-helpers.test.js.map +1 -0
  206. package/dist/core/machine-overrides.d.ts +13 -0
  207. package/dist/core/machine-overrides.d.ts.map +1 -0
  208. package/dist/core/machine-overrides.js +155 -0
  209. package/dist/core/machine-overrides.js.map +1 -0
  210. package/dist/core/machine-overrides.test.d.ts +2 -0
  211. package/dist/core/machine-overrides.test.d.ts.map +1 -0
  212. package/dist/core/machine-overrides.test.js +160 -0
  213. package/dist/core/machine-overrides.test.js.map +1 -0
  214. package/dist/core/marketplace-registry.d.ts +14 -0
  215. package/dist/core/marketplace-registry.d.ts.map +1 -0
  216. package/dist/core/marketplace-registry.js +215 -0
  217. package/dist/core/marketplace-registry.js.map +1 -0
  218. package/dist/core/marketplace-registry.test.d.ts +2 -0
  219. package/dist/core/marketplace-registry.test.d.ts.map +1 -0
  220. package/dist/core/marketplace-registry.test.js +232 -0
  221. package/dist/core/marketplace-registry.test.js.map +1 -0
  222. package/dist/core/marketplace-sources.d.ts +39 -0
  223. package/dist/core/marketplace-sources.d.ts.map +1 -0
  224. package/dist/core/marketplace-sources.js +199 -0
  225. package/dist/core/marketplace-sources.js.map +1 -0
  226. package/dist/core/marketplace.d.ts +18 -0
  227. package/dist/core/marketplace.d.ts.map +1 -0
  228. package/dist/core/marketplace.js +211 -0
  229. package/dist/core/marketplace.js.map +1 -0
  230. package/dist/core/marketplace.test.d.ts +2 -0
  231. package/dist/core/marketplace.test.d.ts.map +1 -0
  232. package/dist/core/marketplace.test.js +177 -0
  233. package/dist/core/marketplace.test.js.map +1 -0
  234. package/dist/core/mcp-injector.d.ts +43 -0
  235. package/dist/core/mcp-injector.d.ts.map +1 -0
  236. package/dist/core/mcp-injector.js +164 -0
  237. package/dist/core/mcp-injector.js.map +1 -0
  238. package/dist/core/mcp-injector.test.d.ts +6 -0
  239. package/dist/core/mcp-injector.test.d.ts.map +1 -0
  240. package/dist/core/mcp-injector.test.js +315 -0
  241. package/dist/core/mcp-injector.test.js.map +1 -0
  242. package/dist/core/mcp-registry.d.ts +17 -0
  243. package/dist/core/mcp-registry.d.ts.map +1 -0
  244. package/dist/core/mcp-registry.js +52 -0
  245. package/dist/core/mcp-registry.js.map +1 -0
  246. package/dist/core/mcp-registry.test.d.ts +2 -0
  247. package/dist/core/mcp-registry.test.d.ts.map +1 -0
  248. package/dist/core/mcp-registry.test.js +78 -0
  249. package/dist/core/mcp-registry.test.js.map +1 -0
  250. package/dist/core/mcp-router.d.ts +21 -0
  251. package/dist/core/mcp-router.d.ts.map +1 -0
  252. package/dist/core/mcp-router.js +67 -0
  253. package/dist/core/mcp-router.js.map +1 -0
  254. package/dist/core/mcp-router.test.d.ts +2 -0
  255. package/dist/core/mcp-router.test.d.ts.map +1 -0
  256. package/dist/core/mcp-router.test.js +40 -0
  257. package/dist/core/mcp-router.test.js.map +1 -0
  258. package/dist/core/memory-scoper.d.ts +43 -0
  259. package/dist/core/memory-scoper.d.ts.map +1 -0
  260. package/dist/core/memory-scoper.js +165 -0
  261. package/dist/core/memory-scoper.js.map +1 -0
  262. package/dist/core/memory-scoper.test.d.ts +6 -0
  263. package/dist/core/memory-scoper.test.d.ts.map +1 -0
  264. package/dist/core/memory-scoper.test.js +467 -0
  265. package/dist/core/memory-scoper.test.js.map +1 -0
  266. package/dist/core/migrator/executor.d.ts +9 -0
  267. package/dist/core/migrator/executor.d.ts.map +1 -0
  268. package/dist/core/migrator/executor.js +233 -0
  269. package/dist/core/migrator/executor.js.map +1 -0
  270. package/dist/core/migrator/index.d.ts +8 -0
  271. package/dist/core/migrator/index.d.ts.map +1 -0
  272. package/dist/core/migrator/index.js +12 -0
  273. package/dist/core/migrator/index.js.map +1 -0
  274. package/dist/core/migrator/manifest.d.ts +8 -0
  275. package/dist/core/migrator/manifest.d.ts.map +1 -0
  276. package/dist/core/migrator/manifest.js +83 -0
  277. package/dist/core/migrator/manifest.js.map +1 -0
  278. package/dist/core/migrator/planner.d.ts +6 -0
  279. package/dist/core/migrator/planner.d.ts.map +1 -0
  280. package/dist/core/migrator/planner.js +112 -0
  281. package/dist/core/migrator/planner.js.map +1 -0
  282. package/dist/core/migrator/scanners.d.ts +19 -0
  283. package/dist/core/migrator/scanners.d.ts.map +1 -0
  284. package/dist/core/migrator/scanners.js +612 -0
  285. package/dist/core/migrator/scanners.js.map +1 -0
  286. package/dist/core/migrator/scanners.test.d.ts +2 -0
  287. package/dist/core/migrator/scanners.test.d.ts.map +1 -0
  288. package/dist/core/migrator/scanners.test.js +257 -0
  289. package/dist/core/migrator/scanners.test.js.map +1 -0
  290. package/dist/core/migrator.test.d.ts +2 -0
  291. package/dist/core/migrator.test.d.ts.map +1 -0
  292. package/dist/core/migrator.test.js +451 -0
  293. package/dist/core/migrator.test.js.map +1 -0
  294. package/dist/core/plugin-scanner.d.ts +30 -0
  295. package/dist/core/plugin-scanner.d.ts.map +1 -0
  296. package/dist/core/plugin-scanner.js +174 -0
  297. package/dist/core/plugin-scanner.js.map +1 -0
  298. package/dist/core/plugin-scanner.test.d.ts +2 -0
  299. package/dist/core/plugin-scanner.test.d.ts.map +1 -0
  300. package/dist/core/plugin-scanner.test.js +279 -0
  301. package/dist/core/plugin-scanner.test.js.map +1 -0
  302. package/dist/core/presets.d.ts +55 -0
  303. package/dist/core/presets.d.ts.map +1 -0
  304. package/dist/core/presets.js +84 -0
  305. package/dist/core/presets.js.map +1 -0
  306. package/dist/core/presets.test.d.ts +2 -0
  307. package/dist/core/presets.test.d.ts.map +1 -0
  308. package/dist/core/presets.test.js +40 -0
  309. package/dist/core/presets.test.js.map +1 -0
  310. package/dist/core/skill-parser.d.ts +21 -0
  311. package/dist/core/skill-parser.d.ts.map +1 -0
  312. package/dist/core/skill-parser.js +53 -0
  313. package/dist/core/skill-parser.js.map +1 -0
  314. package/dist/core/skill-parser.test.d.ts +2 -0
  315. package/dist/core/skill-parser.test.d.ts.map +1 -0
  316. package/dist/core/skill-parser.test.js +83 -0
  317. package/dist/core/skill-parser.test.js.map +1 -0
  318. package/dist/core/smart-memory.d.ts +22 -0
  319. package/dist/core/smart-memory.d.ts.map +1 -0
  320. package/dist/core/smart-memory.js +72 -0
  321. package/dist/core/smart-memory.js.map +1 -0
  322. package/dist/core/smart-memory.test.d.ts +2 -0
  323. package/dist/core/smart-memory.test.d.ts.map +1 -0
  324. package/dist/core/smart-memory.test.js +114 -0
  325. package/dist/core/smart-memory.test.js.map +1 -0
  326. package/dist/core/snapshot.d.ts +6 -0
  327. package/dist/core/snapshot.d.ts.map +1 -0
  328. package/dist/core/snapshot.js +179 -0
  329. package/dist/core/snapshot.js.map +1 -0
  330. package/dist/core/snapshot.test.d.ts +2 -0
  331. package/dist/core/snapshot.test.d.ts.map +1 -0
  332. package/dist/core/snapshot.test.js +132 -0
  333. package/dist/core/snapshot.test.js.map +1 -0
  334. package/dist/core/symlink-manager.d.ts +78 -0
  335. package/dist/core/symlink-manager.d.ts.map +1 -0
  336. package/dist/core/symlink-manager.js +227 -0
  337. package/dist/core/symlink-manager.js.map +1 -0
  338. package/dist/core/symlink-manager.test.d.ts +8 -0
  339. package/dist/core/symlink-manager.test.d.ts.map +1 -0
  340. package/dist/core/symlink-manager.test.js +354 -0
  341. package/dist/core/symlink-manager.test.js.map +1 -0
  342. package/dist/core/sync-writer.d.ts +20 -0
  343. package/dist/core/sync-writer.d.ts.map +1 -0
  344. package/dist/core/sync-writer.js +150 -0
  345. package/dist/core/sync-writer.js.map +1 -0
  346. package/dist/core/sync-writer.test.d.ts +2 -0
  347. package/dist/core/sync-writer.test.d.ts.map +1 -0
  348. package/dist/core/sync-writer.test.js +134 -0
  349. package/dist/core/sync-writer.test.js.map +1 -0
  350. package/dist/core/toml-helpers.d.ts +9 -0
  351. package/dist/core/toml-helpers.d.ts.map +1 -0
  352. package/dist/core/toml-helpers.js +33 -0
  353. package/dist/core/toml-helpers.js.map +1 -0
  354. package/dist/core/tool-adapter.d.ts +24 -0
  355. package/dist/core/tool-adapter.d.ts.map +1 -0
  356. package/dist/core/tool-adapter.js +156 -0
  357. package/dist/core/tool-adapter.js.map +1 -0
  358. package/dist/core/tool-adapter.test.d.ts +2 -0
  359. package/dist/core/tool-adapter.test.d.ts.map +1 -0
  360. package/dist/core/tool-adapter.test.js +264 -0
  361. package/dist/core/tool-adapter.test.js.map +1 -0
  362. package/dist/core/tool-detector.d.ts +31 -0
  363. package/dist/core/tool-detector.d.ts.map +1 -0
  364. package/dist/core/tool-detector.js +67 -0
  365. package/dist/core/tool-detector.js.map +1 -0
  366. package/dist/core/tool-detector.test.d.ts +2 -0
  367. package/dist/core/tool-detector.test.d.ts.map +1 -0
  368. package/dist/core/tool-detector.test.js +126 -0
  369. package/dist/core/tool-detector.test.js.map +1 -0
  370. package/dist/core/watcher.d.ts +22 -0
  371. package/dist/core/watcher.d.ts.map +1 -0
  372. package/dist/core/watcher.js +68 -0
  373. package/dist/core/watcher.js.map +1 -0
  374. package/dist/core/watcher.test.d.ts +2 -0
  375. package/dist/core/watcher.test.d.ts.map +1 -0
  376. package/dist/core/watcher.test.js +26 -0
  377. package/dist/core/watcher.test.js.map +1 -0
  378. package/dist/index.d.ts +9 -0
  379. package/dist/index.d.ts.map +1 -0
  380. package/dist/index.js +47 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/routes/async-handler.d.ts +6 -0
  383. package/dist/routes/async-handler.d.ts.map +1 -0
  384. package/dist/routes/async-handler.js +9 -0
  385. package/dist/routes/async-handler.js.map +1 -0
  386. package/dist/routes/marketplace.d.ts +3 -0
  387. package/dist/routes/marketplace.d.ts.map +1 -0
  388. package/dist/routes/marketplace.js +51 -0
  389. package/dist/routes/marketplace.js.map +1 -0
  390. package/dist/routes/migrate.d.ts +3 -0
  391. package/dist/routes/migrate.d.ts.map +1 -0
  392. package/dist/routes/migrate.js +22 -0
  393. package/dist/routes/migrate.js.map +1 -0
  394. package/dist/routes/plugin-map.d.ts +11 -0
  395. package/dist/routes/plugin-map.d.ts.map +1 -0
  396. package/dist/routes/plugin-map.js +37 -0
  397. package/dist/routes/plugin-map.js.map +1 -0
  398. package/dist/routes/plugins.d.ts +3 -0
  399. package/dist/routes/plugins.d.ts.map +1 -0
  400. package/dist/routes/plugins.js +51 -0
  401. package/dist/routes/plugins.js.map +1 -0
  402. package/dist/routes/remove.d.ts +3 -0
  403. package/dist/routes/remove.d.ts.map +1 -0
  404. package/dist/routes/remove.js +27 -0
  405. package/dist/routes/remove.js.map +1 -0
  406. package/dist/routes/state.d.ts +3 -0
  407. package/dist/routes/state.d.ts.map +1 -0
  408. package/dist/routes/state.js +177 -0
  409. package/dist/routes/state.js.map +1 -0
  410. package/dist/routes/sync.d.ts +3 -0
  411. package/dist/routes/sync.d.ts.map +1 -0
  412. package/dist/routes/sync.js +12 -0
  413. package/dist/routes/sync.js.map +1 -0
  414. package/dist/server.d.ts +4 -0
  415. package/dist/server.d.ts.map +1 -0
  416. package/dist/server.js +59 -0
  417. package/dist/server.js.map +1 -0
  418. package/package.json +48 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Config file validation checks for doctor command.
3
+ */
4
+ import { type ToolId } from "@mycelish/core";
5
+ import type { DiagnosticResult } from "./types.js";
6
+ /**
7
+ * Check if global ~/.mycelium directory exists
8
+ */
9
+ export declare function checkGlobalMyceliumExists(): Promise<DiagnosticResult>;
10
+ /**
11
+ * Check if manifest.yaml is valid
12
+ */
13
+ export declare function checkManifestValid(): Promise<DiagnosticResult>;
14
+ /**
15
+ * Check if tool skills directory exists
16
+ */
17
+ export declare function checkToolPathExists(toolId: ToolId): Promise<DiagnosticResult>;
18
+ /**
19
+ * Check for broken symlinks in a directory
20
+ */
21
+ export declare function checkBrokenSymlinks(dirPath: string): Promise<DiagnosticResult>;
22
+ /**
23
+ * Check if MCP JSON config is valid
24
+ */
25
+ export declare function checkMcpConfigJson(configPath: string): Promise<DiagnosticResult>;
26
+ /**
27
+ * Check if MCP YAML config is valid
28
+ */
29
+ export declare function checkMcpConfigYaml(configPath: string): Promise<DiagnosticResult>;
30
+ /**
31
+ * Check for orphaned configs (skills synced to disabled tools)
32
+ */
33
+ export declare function checkOrphanedConfigs(): Promise<DiagnosticResult>;
34
+ //# sourceMappingURL=config-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-check.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/config-check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EACL,KAAK,MAAM,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAkB3E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA8BpE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAmB3B;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAuD3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA4B3B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAyEtE"}
@@ -0,0 +1,267 @@
1
+ /**
2
+ * Config file validation checks for doctor command.
3
+ */
4
+ import * as fs from "node:fs/promises";
5
+ import * as path from "node:path";
6
+ import * as yaml from "yaml";
7
+ import { TOOL_REGISTRY, resolvePath, expandPath, pathExists, } from "@mycelish/core";
8
+ /**
9
+ * Check if global ~/.mycelium directory exists
10
+ */
11
+ export async function checkGlobalMyceliumExists() {
12
+ const globalPath = expandPath("~/.mycelium");
13
+ const exists = await pathExists(globalPath);
14
+ if (exists) {
15
+ return {
16
+ name: "Global Mycelium Directory",
17
+ status: "pass",
18
+ message: `~/.mycelium exists`,
19
+ };
20
+ }
21
+ return {
22
+ name: "Global Mycelium Directory",
23
+ status: "fail",
24
+ message: "~/.mycelium not found",
25
+ fix: "Run: mycelium init --global",
26
+ };
27
+ }
28
+ /**
29
+ * Check if manifest.yaml is valid
30
+ */
31
+ export async function checkManifestValid() {
32
+ const manifestPath = expandPath("~/.mycelium/manifest.yaml");
33
+ const exists = await pathExists(manifestPath);
34
+ if (!exists) {
35
+ return {
36
+ name: "Manifest Configuration",
37
+ status: "fail",
38
+ message: "manifest.yaml not found",
39
+ fix: "Run: mycelium init --global",
40
+ };
41
+ }
42
+ try {
43
+ const content = await fs.readFile(manifestPath, "utf-8");
44
+ yaml.parse(content);
45
+ return {
46
+ name: "Manifest Configuration",
47
+ status: "pass",
48
+ message: "manifest.yaml is valid",
49
+ };
50
+ }
51
+ catch (error) {
52
+ return {
53
+ name: "Manifest Configuration",
54
+ status: "fail",
55
+ message: `Invalid YAML syntax: ${error instanceof Error ? error.message : String(error)}`,
56
+ fix: "Check manifest.yaml for syntax errors",
57
+ };
58
+ }
59
+ }
60
+ /**
61
+ * Check if tool skills directory exists
62
+ */
63
+ export async function checkToolPathExists(toolId) {
64
+ const desc = TOOL_REGISTRY[toolId];
65
+ const skillsPath = resolvePath(desc.paths.skills);
66
+ const exists = skillsPath ? await pathExists(skillsPath) : false;
67
+ if (exists) {
68
+ return {
69
+ name: `${desc.display.name} Skills Path`,
70
+ status: "pass",
71
+ message: `Skills directory exists: ${skillsPath}`,
72
+ };
73
+ }
74
+ return {
75
+ name: `${desc.display.name} Skills Path`,
76
+ status: "warn",
77
+ message: `Skills directory not found: ${skillsPath ?? "(none)"}`,
78
+ fix: "Run: mycelium sync",
79
+ };
80
+ }
81
+ /**
82
+ * Check for broken symlinks in a directory
83
+ */
84
+ export async function checkBrokenSymlinks(dirPath) {
85
+ const exists = await pathExists(dirPath);
86
+ if (!exists) {
87
+ return {
88
+ name: "Symlink Check",
89
+ status: "pass",
90
+ message: `Directory not present: ${dirPath}`,
91
+ };
92
+ }
93
+ try {
94
+ const entries = await fs.readdir(dirPath, { withFileTypes: true });
95
+ const symlinks = entries.filter((e) => e.isSymbolicLink());
96
+ if (symlinks.length === 0) {
97
+ return {
98
+ name: "Symlink Check",
99
+ status: "pass",
100
+ message: "All symlinks are valid (no symlinks found)",
101
+ };
102
+ }
103
+ const brokenSymlinks = [];
104
+ for (const symlink of symlinks) {
105
+ const symlinkPath = path.join(dirPath, symlink.name);
106
+ try {
107
+ await fs.stat(symlinkPath); // stat follows symlinks
108
+ }
109
+ catch {
110
+ brokenSymlinks.push(symlink.name);
111
+ }
112
+ }
113
+ if (brokenSymlinks.length === 0) {
114
+ return {
115
+ name: "Symlink Check",
116
+ status: "pass",
117
+ message: `All ${symlinks.length} symlinks are valid`,
118
+ };
119
+ }
120
+ return {
121
+ name: "Symlink Check",
122
+ status: "fail",
123
+ message: `${brokenSymlinks.length} broken symlinks: ${brokenSymlinks.join(", ")}`,
124
+ fix: "Run: mycelium sync --force",
125
+ };
126
+ }
127
+ catch (error) {
128
+ return {
129
+ name: "Symlink Check",
130
+ status: "fail",
131
+ message: `Error checking symlinks: ${error instanceof Error ? error.message : String(error)}`,
132
+ };
133
+ }
134
+ }
135
+ /**
136
+ * Check if MCP JSON config is valid
137
+ */
138
+ export async function checkMcpConfigJson(configPath) {
139
+ const exists = await pathExists(configPath);
140
+ if (!exists) {
141
+ return {
142
+ name: "MCP JSON Config",
143
+ status: "pass",
144
+ message: `Config not present: ${configPath}`,
145
+ };
146
+ }
147
+ try {
148
+ const content = await fs.readFile(configPath, "utf-8");
149
+ JSON.parse(content);
150
+ return {
151
+ name: "MCP JSON Config",
152
+ status: "pass",
153
+ message: `Config is valid: ${configPath}`,
154
+ };
155
+ }
156
+ catch (error) {
157
+ return {
158
+ name: "MCP JSON Config",
159
+ status: "fail",
160
+ message: `Invalid JSON syntax in ${configPath}: ${error instanceof Error ? error.message : String(error)}`,
161
+ fix: `Check ${configPath} for syntax errors`,
162
+ };
163
+ }
164
+ }
165
+ /**
166
+ * Check if MCP YAML config is valid
167
+ */
168
+ export async function checkMcpConfigYaml(configPath) {
169
+ const exists = await pathExists(configPath);
170
+ if (!exists) {
171
+ return {
172
+ name: "MCP YAML Config",
173
+ status: "pass",
174
+ message: `Config not present: ${configPath}`,
175
+ };
176
+ }
177
+ try {
178
+ const content = await fs.readFile(configPath, "utf-8");
179
+ yaml.parse(content);
180
+ return {
181
+ name: "MCP YAML Config",
182
+ status: "pass",
183
+ message: `Config is valid: ${configPath}`,
184
+ };
185
+ }
186
+ catch (error) {
187
+ return {
188
+ name: "MCP YAML Config",
189
+ status: "fail",
190
+ message: `Invalid YAML syntax in ${configPath}: ${error instanceof Error ? error.message : String(error)}`,
191
+ fix: `Check ${configPath} for syntax errors`,
192
+ };
193
+ }
194
+ }
195
+ /**
196
+ * Check for orphaned configs (skills synced to disabled tools)
197
+ */
198
+ export async function checkOrphanedConfigs() {
199
+ const manifestPath = expandPath("~/.mycelium/manifest.yaml");
200
+ const exists = await pathExists(manifestPath);
201
+ if (!exists) {
202
+ return {
203
+ name: "Orphaned Configs",
204
+ status: "pass",
205
+ message: "No manifest to check against",
206
+ };
207
+ }
208
+ try {
209
+ const content = await fs.readFile(manifestPath, "utf-8");
210
+ const manifest = yaml.parse(content);
211
+ const disabledTools = [];
212
+ // Find disabled tools
213
+ for (const [toolId, config] of Object.entries(manifest.tools || {})) {
214
+ if (config.enabled === false) {
215
+ disabledTools.push(toolId);
216
+ }
217
+ }
218
+ if (disabledTools.length === 0) {
219
+ return {
220
+ name: "Orphaned Configs",
221
+ status: "pass",
222
+ message: "No disabled tools to check",
223
+ };
224
+ }
225
+ // Check if disabled tools have skills synced
226
+ const orphanedTools = [];
227
+ for (const toolId of disabledTools) {
228
+ const desc = TOOL_REGISTRY[toolId];
229
+ if (!desc)
230
+ continue;
231
+ const skillsPath = resolvePath(desc.paths.skills);
232
+ if (skillsPath && await pathExists(skillsPath)) {
233
+ try {
234
+ const entries = await fs.readdir(skillsPath, { withFileTypes: true });
235
+ const symlinks = entries.filter((e) => e.isSymbolicLink());
236
+ if (symlinks.length > 0) {
237
+ orphanedTools.push(desc.display.name);
238
+ }
239
+ }
240
+ catch {
241
+ // Ignore read errors
242
+ }
243
+ }
244
+ }
245
+ if (orphanedTools.length === 0) {
246
+ return {
247
+ name: "Orphaned Configs",
248
+ status: "pass",
249
+ message: "No orphaned skill symlinks found",
250
+ };
251
+ }
252
+ return {
253
+ name: "Orphaned Configs",
254
+ status: "warn",
255
+ message: `Found orphaned skill symlinks in: ${orphanedTools.join(", ")}`,
256
+ fix: "Run: mycelium sync --force",
257
+ };
258
+ }
259
+ catch (error) {
260
+ return {
261
+ name: "Orphaned Configs",
262
+ status: "warn",
263
+ message: `Error checking orphaned configs: ${error instanceof Error ? error.message : String(error)}`,
264
+ };
265
+ }
266
+ }
267
+ //# sourceMappingURL=config-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-check.js","sourceRoot":"","sources":["../../../src/commands/health-checks/config-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Formatting functions for doctor output.
3
+ */
4
+ import type { DoctorResult } from "./types.js";
5
+ /**
6
+ * Format doctor output for terminal display
7
+ */
8
+ export declare function formatDoctorOutput(result: DoctorResult): string;
9
+ /**
10
+ * Format doctor output as JSON
11
+ */
12
+ export declare function formatDoctorJson(result: DoctorResult): string;
13
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAgE/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE7D"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Formatting functions for doctor output.
3
+ */
4
+ /**
5
+ * Format doctor output for terminal display
6
+ */
7
+ export function formatDoctorOutput(result) {
8
+ const lines = [];
9
+ // Header
10
+ lines.push("Mycelium Doctor");
11
+ lines.push("===============");
12
+ lines.push("");
13
+ // Checks
14
+ for (const check of result.checks) {
15
+ let icon;
16
+ let color;
17
+ switch (check.status) {
18
+ case "pass":
19
+ icon = "\u2714"; // Checkmark
20
+ color = "\u001b[32m"; // Green
21
+ break;
22
+ case "fail":
23
+ icon = "\u2718"; // X mark
24
+ color = "\u001b[31m"; // Red
25
+ break;
26
+ case "warn":
27
+ icon = "\u26A0"; // Warning
28
+ color = "\u001b[33m"; // Yellow
29
+ break;
30
+ }
31
+ const reset = "\u001b[0m";
32
+ lines.push(`${color}${icon}${reset} ${check.name}`);
33
+ lines.push(` ${check.message}`);
34
+ if (check.fix && check.status !== "pass") {
35
+ lines.push(` ${color}Fix:${reset} ${check.fix}`);
36
+ }
37
+ lines.push("");
38
+ }
39
+ // Summary
40
+ lines.push("Summary:");
41
+ lines.push(` ${result.summary.passed} passed`);
42
+ if (result.summary.failed > 0) {
43
+ lines.push(` \u001b[31m${result.summary.failed} failed\u001b[0m`);
44
+ }
45
+ else {
46
+ lines.push(` ${result.summary.failed} failed`);
47
+ }
48
+ if (result.summary.warnings > 0) {
49
+ lines.push(` \u001b[33m${result.summary.warnings} warning${result.summary.warnings !== 1 ? "s" : ""}\u001b[0m`);
50
+ }
51
+ else {
52
+ lines.push(` ${result.summary.warnings} warnings`);
53
+ }
54
+ // Overall status
55
+ lines.push("");
56
+ if (result.success) {
57
+ lines.push("\u001b[32m\u2714 System health check passed\u001b[0m");
58
+ }
59
+ else {
60
+ lines.push("\u001b[31m\u2718 System health check failed\u001b[0m");
61
+ lines.push("");
62
+ lines.push("Run suggested fixes above to resolve issues.");
63
+ }
64
+ return lines.join("\n");
65
+ }
66
+ /**
67
+ * Format doctor output as JSON
68
+ */
69
+ export function formatDoctorJson(result) {
70
+ return JSON.stringify(result, null, 2);
71
+ }
72
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/commands/health-checks/formatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,SAAS;IACT,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,IAAY,CAAC;QACjB,IAAI,KAAa,CAAC;QAElB,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;YACrB,KAAK,MAAM;gBACT,IAAI,GAAG,QAAQ,CAAC,CAAC,YAAY;gBAC7B,KAAK,GAAG,YAAY,CAAC,CAAC,QAAQ;gBAC9B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,GAAG,QAAQ,CAAC,CAAC,SAAS;gBAC1B,KAAK,GAAG,YAAY,CAAC,CAAC,MAAM;gBAC5B,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,GAAG,QAAQ,CAAC,CAAC,UAAU;gBAC3B,KAAK,GAAG,YAAY,CAAC,CAAC,SAAS;gBAC/B,MAAM;QACV,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEnC,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,MAAM,kBAAkB,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,WAAW,MAAM,CAAC,OAAO,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACnH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,QAAQ,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACnD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type { DiagnosticResult, DoctorResult } from "./types.js";
2
+ export { checkGlobalMyceliumExists, checkManifestValid, checkToolPathExists, checkBrokenSymlinks, checkMcpConfigJson, checkMcpConfigYaml, checkOrphanedConfigs, } from "./config-check.js";
3
+ export { checkMcpServerConnectivity } from "./mcp-check.js";
4
+ export { checkMemoryFilesExist, checkMemoryFileSize, } from "./memory-check.js";
5
+ export { checkToolVersions } from "./tool-version-check.js";
6
+ export { runAllChecks } from "./runner.js";
7
+ export { formatDoctorOutput, formatDoctorJson } from "./formatter.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { checkGlobalMyceliumExists, checkManifestValid, checkToolPathExists, checkBrokenSymlinks, checkMcpConfigJson, checkMcpConfigYaml, checkOrphanedConfigs, } from "./config-check.js";
2
+ export { checkMcpServerConnectivity } from "./mcp-check.js";
3
+ export { checkMemoryFilesExist, checkMemoryFileSize, } from "./memory-check.js";
4
+ export { checkToolVersions } from "./tool-version-check.js";
5
+ export { runAllChecks } from "./runner.js";
6
+ export { formatDoctorOutput, formatDoctorJson } from "./formatter.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/health-checks/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * MCP server connectivity checks for doctor command.
3
+ */
4
+ import type { DiagnosticResult } from "./types.js";
5
+ /**
6
+ * Check if an MCP server command is accessible
7
+ */
8
+ export declare function checkMcpServerConnectivity(command: string, args: string[]): Promise<DiagnosticResult>;
9
+ //# sourceMappingURL=mcp-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-check.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/mcp-check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,gBAAgB,CAAC,CA0B3B"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * MCP server connectivity checks for doctor command.
3
+ */
4
+ import { execFile } from "node:child_process";
5
+ import { promisify } from "node:util";
6
+ /**
7
+ * Check if an MCP server command is accessible
8
+ */
9
+ export async function checkMcpServerConnectivity(command, args) {
10
+ const execFileAsync = promisify(execFile);
11
+ try {
12
+ await execFileAsync(command, args, { timeout: 5000 });
13
+ return {
14
+ name: "MCP Server Connectivity",
15
+ status: "pass",
16
+ message: `Command "${command}" is accessible`,
17
+ };
18
+ }
19
+ catch (error) {
20
+ const err = error;
21
+ if (err.code === "ENOENT") {
22
+ return {
23
+ name: "MCP Server Connectivity",
24
+ status: "fail",
25
+ message: `Command "${command}" not found`,
26
+ fix: `Install or verify the path for "${command}"`,
27
+ };
28
+ }
29
+ // Command exists but may have exited with error (still accessible)
30
+ return {
31
+ name: "MCP Server Connectivity",
32
+ status: "pass",
33
+ message: `Command "${command}" is accessible`,
34
+ };
35
+ }
36
+ }
37
+ //# sourceMappingURL=mcp-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-check.js","sourceRoot":"","sources":["../../../src/commands/health-checks/mcp-check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,IAAc;IAEd,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,YAAY,OAAO,iBAAiB;SAC9C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAA0B,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,yBAAyB;gBAC/B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAY,OAAO,aAAa;gBACzC,GAAG,EAAE,mCAAmC,OAAO,GAAG;aACnD,CAAC;QACJ,CAAC;QACD,mEAAmE;QACnE,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,YAAY,OAAO,iBAAiB;SAC9C,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Memory size/limit checks for doctor command.
3
+ */
4
+ import { MEMORY_LINE_LIMIT } from "../../core/fs-helpers.js";
5
+ import type { DiagnosticResult } from "./types.js";
6
+ export { MEMORY_LINE_LIMIT };
7
+ /**
8
+ * Check if memory files exist
9
+ */
10
+ export declare function checkMemoryFilesExist(): Promise<DiagnosticResult>;
11
+ /**
12
+ * Check if a memory file exceeds the line limit for a tool
13
+ */
14
+ export declare function checkMemoryFileSize(filePath: string, maxLines: number): Promise<DiagnosticResult>;
15
+ //# sourceMappingURL=memory-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-check.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/memory-check.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA+CvE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CAkC3B"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Memory size/limit checks for doctor command.
3
+ */
4
+ import * as fs from "node:fs/promises";
5
+ import * as path from "node:path";
6
+ import { expandPath, pathExists } from "@mycelish/core";
7
+ import { MEMORY_LINE_LIMIT } from "../../core/fs-helpers.js";
8
+ export { MEMORY_LINE_LIMIT };
9
+ /**
10
+ * Check if memory files exist
11
+ */
12
+ export async function checkMemoryFilesExist() {
13
+ const memoryBasePath = expandPath("~/.mycelium/global/memory");
14
+ const exists = await pathExists(memoryBasePath);
15
+ if (!exists) {
16
+ return {
17
+ name: "Memory Files",
18
+ status: "warn",
19
+ message: "Memory directory not found",
20
+ fix: "Run: mycelium init --global",
21
+ };
22
+ }
23
+ try {
24
+ const scopes = ["shared", "coding", "personal"];
25
+ let totalFiles = 0;
26
+ for (const scope of scopes) {
27
+ const scopePath = path.join(memoryBasePath, scope);
28
+ if (await pathExists(scopePath)) {
29
+ const files = await fs.readdir(scopePath);
30
+ const mdFiles = files.filter((f) => f.endsWith(".md"));
31
+ totalFiles += mdFiles.length;
32
+ }
33
+ }
34
+ if (totalFiles === 0) {
35
+ return {
36
+ name: "Memory Files",
37
+ status: "warn",
38
+ message: "No memory files found in any scope",
39
+ fix: "Add .md files to ~/.mycelium/global/memory/{shared,coding,personal}/",
40
+ };
41
+ }
42
+ return {
43
+ name: "Memory Files",
44
+ status: "pass",
45
+ message: `${totalFiles} memory files found`,
46
+ };
47
+ }
48
+ catch (error) {
49
+ return {
50
+ name: "Memory Files",
51
+ status: "warn",
52
+ message: `Error checking memory files: ${error instanceof Error ? error.message : String(error)}`,
53
+ };
54
+ }
55
+ }
56
+ /**
57
+ * Check if a memory file exceeds the line limit for a tool
58
+ */
59
+ export async function checkMemoryFileSize(filePath, maxLines) {
60
+ if (!(await pathExists(filePath))) {
61
+ return {
62
+ name: "Memory File Size",
63
+ status: "pass",
64
+ message: `File not present: ${filePath}`,
65
+ };
66
+ }
67
+ try {
68
+ const content = await fs.readFile(filePath, "utf-8");
69
+ const lineCount = content.split("\n").length;
70
+ if (lineCount > maxLines) {
71
+ return {
72
+ name: "Memory File Size",
73
+ status: "warn",
74
+ message: `${filePath} has ${lineCount} lines (limit: ${maxLines})`,
75
+ fix: "Run: mycelium sync (smart compression will reduce it)",
76
+ };
77
+ }
78
+ return {
79
+ name: "Memory File Size",
80
+ status: "pass",
81
+ message: `${filePath} is within limits (${lineCount}/${maxLines} lines)`,
82
+ };
83
+ }
84
+ catch (error) {
85
+ return {
86
+ name: "Memory File Size",
87
+ status: "warn",
88
+ message: `Error reading ${filePath}: ${error instanceof Error ? error.message : String(error)}`,
89
+ };
90
+ }
91
+ }
92
+ //# sourceMappingURL=memory-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-check.js","sourceRoot":"","sources":["../../../src/commands/health-checks/memory-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Orchestrates running all doctor health checks.
3
+ */
4
+ import type { DoctorResult } from "./types.js";
5
+ /**
6
+ * Run all diagnostic checks
7
+ */
8
+ export declare function runAllChecks(): Promise<DoctorResult>;
9
+ //# sourceMappingURL=runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/health-checks/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAuE1D"}