kastell 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +1 -1
  3. package/README.tr.md +1 -1
  4. package/dist/commands/audit.d.ts +3 -0
  5. package/dist/commands/audit.d.ts.map +1 -1
  6. package/dist/commands/audit.js +61 -32
  7. package/dist/commands/audit.js.map +1 -1
  8. package/dist/commands/config.js +1 -1
  9. package/dist/commands/config.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +1 -0
  11. package/dist/commands/doctor.d.ts.map +1 -1
  12. package/dist/commands/doctor.js +25 -7
  13. package/dist/commands/doctor.js.map +1 -1
  14. package/dist/commands/explain.d.ts +6 -0
  15. package/dist/commands/explain.d.ts.map +1 -0
  16. package/dist/commands/explain.js +28 -0
  17. package/dist/commands/explain.js.map +1 -0
  18. package/dist/commands/fix.d.ts +2 -0
  19. package/dist/commands/fix.d.ts.map +1 -1
  20. package/dist/commands/fix.js +54 -15
  21. package/dist/commands/fix.js.map +1 -1
  22. package/dist/commands/fleet.d.ts.map +1 -1
  23. package/dist/commands/fleet.js +1 -0
  24. package/dist/commands/fleet.js.map +1 -1
  25. package/dist/commands/init.d.ts.map +1 -1
  26. package/dist/commands/init.js +175 -1
  27. package/dist/commands/init.js.map +1 -1
  28. package/dist/commands/interactive.d.ts.map +1 -1
  29. package/dist/commands/interactive.js +59 -1
  30. package/dist/commands/interactive.js.map +1 -1
  31. package/dist/commands/plugin.d.ts +8 -0
  32. package/dist/commands/plugin.d.ts.map +1 -0
  33. package/dist/commands/plugin.js +87 -0
  34. package/dist/commands/plugin.js.map +1 -0
  35. package/dist/commands/regression.d.ts +5 -0
  36. package/dist/commands/regression.d.ts.map +1 -0
  37. package/dist/commands/regression.js +40 -0
  38. package/dist/commands/regression.js.map +1 -0
  39. package/dist/core/audit/checkIds.d.ts +516 -0
  40. package/dist/core/audit/checkIds.d.ts.map +1 -0
  41. package/dist/core/audit/checkIds.js +515 -0
  42. package/dist/core/audit/checkIds.js.map +1 -0
  43. package/dist/core/audit/checks/accounts.d.ts.map +1 -1
  44. package/dist/core/audit/checks/accounts.js +23 -22
  45. package/dist/core/audit/checks/accounts.js.map +1 -1
  46. package/dist/core/audit/checks/auth.d.ts.map +1 -1
  47. package/dist/core/audit/checks/auth.js +23 -22
  48. package/dist/core/audit/checks/auth.js.map +1 -1
  49. package/dist/core/audit/checks/backup.d.ts.map +1 -1
  50. package/dist/core/audit/checks/backup.js +9 -8
  51. package/dist/core/audit/checks/backup.js.map +1 -1
  52. package/dist/core/audit/checks/banners.d.ts.map +1 -1
  53. package/dist/core/audit/checks/banners.js +7 -6
  54. package/dist/core/audit/checks/banners.js.map +1 -1
  55. package/dist/core/audit/checks/boot.d.ts.map +1 -1
  56. package/dist/core/audit/checks/boot.js +12 -11
  57. package/dist/core/audit/checks/boot.js.map +1 -1
  58. package/dist/core/audit/checks/cloudmeta.d.ts.map +1 -1
  59. package/dist/core/audit/checks/cloudmeta.js +7 -6
  60. package/dist/core/audit/checks/cloudmeta.js.map +1 -1
  61. package/dist/core/audit/checks/crypto.d.ts +0 -5
  62. package/dist/core/audit/checks/crypto.d.ts.map +1 -1
  63. package/dist/core/audit/checks/crypto.js +20 -19
  64. package/dist/core/audit/checks/crypto.js.map +1 -1
  65. package/dist/core/audit/checks/ddos.d.ts.map +1 -1
  66. package/dist/core/audit/checks/ddos.js +9 -8
  67. package/dist/core/audit/checks/ddos.js.map +1 -1
  68. package/dist/core/audit/checks/dns.d.ts.map +1 -1
  69. package/dist/core/audit/checks/dns.js +9 -8
  70. package/dist/core/audit/checks/dns.js.map +1 -1
  71. package/dist/core/audit/checks/docker.d.ts.map +1 -1
  72. package/dist/core/audit/checks/docker.js +65 -64
  73. package/dist/core/audit/checks/docker.js.map +1 -1
  74. package/dist/core/audit/checks/fileintegrity.d.ts.map +1 -1
  75. package/dist/core/audit/checks/fileintegrity.js +11 -10
  76. package/dist/core/audit/checks/fileintegrity.js.map +1 -1
  77. package/dist/core/audit/checks/filesystem.d.ts.map +1 -1
  78. package/dist/core/audit/checks/filesystem.js +21 -20
  79. package/dist/core/audit/checks/filesystem.js.map +1 -1
  80. package/dist/core/audit/checks/firewall.d.ts.map +1 -1
  81. package/dist/core/audit/checks/firewall.js +18 -17
  82. package/dist/core/audit/checks/firewall.js.map +1 -1
  83. package/dist/core/audit/checks/httpHeaders.d.ts.map +1 -1
  84. package/dist/core/audit/checks/httpHeaders.js +7 -6
  85. package/dist/core/audit/checks/httpHeaders.js.map +1 -1
  86. package/dist/core/audit/checks/incidentready.d.ts.map +1 -1
  87. package/dist/core/audit/checks/incidentready.js +13 -12
  88. package/dist/core/audit/checks/incidentready.js.map +1 -1
  89. package/dist/core/audit/checks/kernel.d.ts.map +1 -1
  90. package/dist/core/audit/checks/kernel.js +32 -31
  91. package/dist/core/audit/checks/kernel.js.map +1 -1
  92. package/dist/core/audit/checks/logging.d.ts.map +1 -1
  93. package/dist/core/audit/checks/logging.js +21 -20
  94. package/dist/core/audit/checks/logging.js.map +1 -1
  95. package/dist/core/audit/checks/mac.d.ts.map +1 -1
  96. package/dist/core/audit/checks/mac.js +11 -10
  97. package/dist/core/audit/checks/mac.js.map +1 -1
  98. package/dist/core/audit/checks/malware.d.ts.map +1 -1
  99. package/dist/core/audit/checks/malware.js +12 -11
  100. package/dist/core/audit/checks/malware.js.map +1 -1
  101. package/dist/core/audit/checks/memory.d.ts.map +1 -1
  102. package/dist/core/audit/checks/memory.js +12 -11
  103. package/dist/core/audit/checks/memory.js.map +1 -1
  104. package/dist/core/audit/checks/network.d.ts.map +1 -1
  105. package/dist/core/audit/checks/network.js +22 -21
  106. package/dist/core/audit/checks/network.js.map +1 -1
  107. package/dist/core/audit/checks/nginx.d.ts.map +1 -1
  108. package/dist/core/audit/checks/nginx.js +17 -16
  109. package/dist/core/audit/checks/nginx.js.map +1 -1
  110. package/dist/core/audit/checks/resourcelimits.d.ts.map +1 -1
  111. package/dist/core/audit/checks/resourcelimits.js +9 -8
  112. package/dist/core/audit/checks/resourcelimits.js.map +1 -1
  113. package/dist/core/audit/checks/scheduling.d.ts.map +1 -1
  114. package/dist/core/audit/checks/scheduling.js +13 -12
  115. package/dist/core/audit/checks/scheduling.js.map +1 -1
  116. package/dist/core/audit/checks/secrets.d.ts.map +1 -1
  117. package/dist/core/audit/checks/secrets.js +16 -15
  118. package/dist/core/audit/checks/secrets.js.map +1 -1
  119. package/dist/core/audit/checks/services.d.ts.map +1 -1
  120. package/dist/core/audit/checks/services.js +26 -25
  121. package/dist/core/audit/checks/services.js.map +1 -1
  122. package/dist/core/audit/checks/ssh.d.ts.map +1 -1
  123. package/dist/core/audit/checks/ssh.js +23 -22
  124. package/dist/core/audit/checks/ssh.js.map +1 -1
  125. package/dist/core/audit/checks/supplychain.d.ts.map +1 -1
  126. package/dist/core/audit/checks/supplychain.js +13 -12
  127. package/dist/core/audit/checks/supplychain.js.map +1 -1
  128. package/dist/core/audit/checks/time.d.ts.map +1 -1
  129. package/dist/core/audit/checks/time.js +10 -9
  130. package/dist/core/audit/checks/time.js.map +1 -1
  131. package/dist/core/audit/checks/tls.d.ts.map +1 -1
  132. package/dist/core/audit/checks/tls.js +9 -8
  133. package/dist/core/audit/checks/tls.js.map +1 -1
  134. package/dist/core/audit/checks/updates.d.ts.map +1 -1
  135. package/dist/core/audit/checks/updates.js +12 -11
  136. package/dist/core/audit/checks/updates.js.map +1 -1
  137. package/dist/core/audit/compliance/categories/index.d.ts +3 -0
  138. package/dist/core/audit/compliance/categories/index.d.ts.map +1 -0
  139. package/dist/core/audit/compliance/categories/index.js +737 -0
  140. package/dist/core/audit/compliance/categories/index.js.map +1 -0
  141. package/dist/core/audit/compliance/helpers.d.ts +17 -0
  142. package/dist/core/audit/compliance/helpers.d.ts.map +1 -0
  143. package/dist/core/audit/compliance/helpers.js +40 -0
  144. package/dist/core/audit/compliance/helpers.js.map +1 -0
  145. package/dist/core/audit/compliance/mapper.d.ts +4 -16
  146. package/dist/core/audit/compliance/mapper.d.ts.map +1 -1
  147. package/dist/core/audit/compliance/mapper.js +3 -776
  148. package/dist/core/audit/compliance/mapper.js.map +1 -1
  149. package/dist/core/audit/diff.d.ts +12 -1
  150. package/dist/core/audit/diff.d.ts.map +1 -1
  151. package/dist/core/audit/diff.js +121 -0
  152. package/dist/core/audit/diff.js.map +1 -1
  153. package/dist/core/audit/explainCheck.d.ts +26 -0
  154. package/dist/core/audit/explainCheck.d.ts.map +1 -0
  155. package/dist/core/audit/explainCheck.js +165 -0
  156. package/dist/core/audit/explainCheck.js.map +1 -0
  157. package/dist/core/audit/fix-history.d.ts +16 -7
  158. package/dist/core/audit/fix-history.d.ts.map +1 -1
  159. package/dist/core/audit/fix-history.js +25 -2
  160. package/dist/core/audit/fix-history.js.map +1 -1
  161. package/dist/core/audit/fix.d.ts +21 -6
  162. package/dist/core/audit/fix.d.ts.map +1 -1
  163. package/dist/core/audit/fix.js +139 -49
  164. package/dist/core/audit/fix.js.map +1 -1
  165. package/dist/core/audit/history.d.ts.map +1 -1
  166. package/dist/core/audit/history.js +2 -1
  167. package/dist/core/audit/history.js.map +1 -1
  168. package/dist/core/audit/index.d.ts.map +1 -1
  169. package/dist/core/audit/index.js +3 -2
  170. package/dist/core/audit/index.js.map +1 -1
  171. package/dist/core/audit/listChecks.d.ts +7 -0
  172. package/dist/core/audit/listChecks.d.ts.map +1 -1
  173. package/dist/core/audit/listChecks.js +1 -1
  174. package/dist/core/audit/listChecks.js.map +1 -1
  175. package/dist/core/audit/regression.d.ts +15 -0
  176. package/dist/core/audit/regression.d.ts.map +1 -0
  177. package/dist/core/audit/regression.js +149 -0
  178. package/dist/core/audit/regression.js.map +1 -0
  179. package/dist/core/audit/snapshot.d.ts.map +1 -1
  180. package/dist/core/audit/snapshot.js +91 -29
  181. package/dist/core/audit/snapshot.js.map +1 -1
  182. package/dist/core/audit/types.d.ts +63 -1
  183. package/dist/core/audit/types.d.ts.map +1 -1
  184. package/dist/core/audit/watch.d.ts.map +1 -1
  185. package/dist/core/audit/watch.js +3 -2
  186. package/dist/core/audit/watch.js.map +1 -1
  187. package/dist/core/bot/handlers.d.ts.map +1 -1
  188. package/dist/core/bot/handlers.js +9 -18
  189. package/dist/core/bot/handlers.js.map +1 -1
  190. package/dist/core/completions.d.ts.map +1 -1
  191. package/dist/core/completions.js +24 -2
  192. package/dist/core/completions.js.map +1 -1
  193. package/dist/core/defaults.d.ts +4 -0
  194. package/dist/core/defaults.d.ts.map +1 -0
  195. package/dist/core/defaults.js +34 -0
  196. package/dist/core/defaults.js.map +1 -0
  197. package/dist/core/doctor-fix.d.ts +1 -1
  198. package/dist/core/doctor-fix.d.ts.map +1 -1
  199. package/dist/core/doctor-fix.js +17 -2
  200. package/dist/core/doctor-fix.js.map +1 -1
  201. package/dist/core/doctor.d.ts +4 -0
  202. package/dist/core/doctor.d.ts.map +1 -1
  203. package/dist/core/doctor.js +26 -2
  204. package/dist/core/doctor.js.map +1 -1
  205. package/dist/core/firewall.d.ts +1 -4
  206. package/dist/core/firewall.d.ts.map +1 -1
  207. package/dist/core/firewall.js +19 -25
  208. package/dist/core/firewall.js.map +1 -1
  209. package/dist/core/fleet.d.ts +8 -0
  210. package/dist/core/fleet.d.ts.map +1 -1
  211. package/dist/core/fleet.js +49 -5
  212. package/dist/core/fleet.js.map +1 -1
  213. package/dist/core/manage.d.ts +9 -6
  214. package/dist/core/manage.d.ts.map +1 -1
  215. package/dist/core/manage.js +2 -1
  216. package/dist/core/manage.js.map +1 -1
  217. package/dist/core/notify.d.ts.map +1 -1
  218. package/dist/core/notify.js +2 -1
  219. package/dist/core/notify.js.map +1 -1
  220. package/dist/core/plugin.d.ts +23 -0
  221. package/dist/core/plugin.d.ts.map +1 -0
  222. package/dist/core/plugin.js +107 -0
  223. package/dist/core/plugin.js.map +1 -0
  224. package/dist/core/scheduleManager.d.ts +2 -1
  225. package/dist/core/scheduleManager.d.ts.map +1 -1
  226. package/dist/core/scheduleManager.js +8 -5
  227. package/dist/core/scheduleManager.js.map +1 -1
  228. package/dist/core/status.d.ts +1 -0
  229. package/dist/core/status.d.ts.map +1 -1
  230. package/dist/core/status.js +20 -6
  231. package/dist/core/status.js.map +1 -1
  232. package/dist/index.js +65 -2
  233. package/dist/index.js.map +1 -1
  234. package/dist/mcp/index.js +5 -9
  235. package/dist/mcp/index.js.map +1 -1
  236. package/dist/mcp/server.d.ts.map +1 -1
  237. package/dist/mcp/server.js +44 -2
  238. package/dist/mcp/server.js.map +1 -1
  239. package/dist/mcp/tools/serverAudit.d.ts.map +1 -1
  240. package/dist/mcp/tools/serverAudit.js +15 -0
  241. package/dist/mcp/tools/serverAudit.js.map +1 -1
  242. package/dist/mcp/tools/serverCompare.d.ts +15 -0
  243. package/dist/mcp/tools/serverCompare.d.ts.map +1 -0
  244. package/dist/mcp/tools/serverCompare.js +43 -0
  245. package/dist/mcp/tools/serverCompare.js.map +1 -0
  246. package/dist/mcp/tools/serverDoctor.d.ts.map +1 -1
  247. package/dist/mcp/tools/serverDoctor.js +2 -1
  248. package/dist/mcp/tools/serverDoctor.js.map +1 -1
  249. package/dist/mcp/tools/serverExplain.d.ts +8 -0
  250. package/dist/mcp/tools/serverExplain.d.ts.map +1 -0
  251. package/dist/mcp/tools/serverExplain.js +14 -0
  252. package/dist/mcp/tools/serverExplain.js.map +1 -0
  253. package/dist/mcp/tools/serverFix.d.ts +2 -0
  254. package/dist/mcp/tools/serverFix.d.ts.map +1 -1
  255. package/dist/mcp/tools/serverFix.js +40 -2
  256. package/dist/mcp/tools/serverFix.js.map +1 -1
  257. package/dist/mcp/tools/serverFleet.d.ts +2 -0
  258. package/dist/mcp/tools/serverFleet.d.ts.map +1 -1
  259. package/dist/mcp/tools/serverFleet.js +10 -1
  260. package/dist/mcp/tools/serverFleet.js.map +1 -1
  261. package/dist/mcp/tools/serverManage.d.ts.map +1 -1
  262. package/dist/mcp/tools/serverManage.js +10 -9
  263. package/dist/mcp/tools/serverManage.js.map +1 -1
  264. package/dist/mcp/tools/serverPlugin.d.ts +12 -0
  265. package/dist/mcp/tools/serverPlugin.d.ts.map +1 -0
  266. package/dist/mcp/tools/serverPlugin.js +22 -0
  267. package/dist/mcp/tools/serverPlugin.js.map +1 -0
  268. package/dist/plugin/loader.d.ts +10 -0
  269. package/dist/plugin/loader.d.ts.map +1 -0
  270. package/dist/plugin/loader.js +88 -0
  271. package/dist/plugin/loader.js.map +1 -0
  272. package/dist/plugin/registry.d.ts +16 -0
  273. package/dist/plugin/registry.d.ts.map +1 -0
  274. package/dist/plugin/registry.js +99 -0
  275. package/dist/plugin/registry.js.map +1 -0
  276. package/dist/plugin/sdk/constants.d.ts +3 -0
  277. package/dist/plugin/sdk/constants.d.ts.map +1 -0
  278. package/dist/plugin/sdk/constants.js +3 -0
  279. package/dist/plugin/sdk/constants.js.map +1 -0
  280. package/dist/plugin/sdk/types.d.ts +29 -0
  281. package/dist/plugin/sdk/types.d.ts.map +1 -0
  282. package/dist/plugin/sdk/types.js +2 -0
  283. package/dist/plugin/sdk/types.js.map +1 -0
  284. package/dist/plugin/validate.d.ts +3 -0
  285. package/dist/plugin/validate.d.ts.map +1 -0
  286. package/dist/plugin/validate.js +31 -0
  287. package/dist/plugin/validate.js.map +1 -0
  288. package/dist/providers/base.d.ts.map +1 -1
  289. package/dist/providers/base.js +2 -1
  290. package/dist/providers/base.js.map +1 -1
  291. package/dist/types/index.d.ts +8 -1
  292. package/dist/types/index.d.ts.map +1 -1
  293. package/dist/types/index.js +1 -1
  294. package/dist/types/index.js.map +1 -1
  295. package/dist/utils/dates.d.ts +3 -0
  296. package/dist/utils/dates.d.ts.map +1 -0
  297. package/dist/utils/dates.js +10 -0
  298. package/dist/utils/dates.js.map +1 -0
  299. package/dist/utils/errorMapper.d.ts.map +1 -1
  300. package/dist/utils/errorMapper.js +2 -1
  301. package/dist/utils/errorMapper.js.map +1 -1
  302. package/dist/utils/errors.d.ts +1 -0
  303. package/dist/utils/errors.d.ts.map +1 -1
  304. package/dist/utils/errors.js +3 -0
  305. package/dist/utils/errors.js.map +1 -1
  306. package/dist/utils/migration.d.ts.map +1 -1
  307. package/dist/utils/migration.js +2 -1
  308. package/dist/utils/migration.js.map +1 -1
  309. package/dist/utils/paths.d.ts +4 -0
  310. package/dist/utils/paths.d.ts.map +1 -1
  311. package/dist/utils/paths.js +4 -0
  312. package/dist/utils/paths.js.map +1 -1
  313. package/dist/utils/prompts.d.ts +6 -0
  314. package/dist/utils/prompts.d.ts.map +1 -1
  315. package/dist/utils/prompts.js +11 -0
  316. package/dist/utils/prompts.js.map +1 -1
  317. package/dist/utils/{defaults.d.ts → providerConfig.d.ts} +1 -1
  318. package/dist/utils/providerConfig.d.ts.map +1 -0
  319. package/dist/utils/{defaults.js → providerConfig.js} +1 -1
  320. package/dist/utils/providerConfig.js.map +1 -0
  321. package/dist/utils/secureWrite.d.ts.map +1 -1
  322. package/dist/utils/secureWrite.js +2 -1
  323. package/dist/utils/secureWrite.js.map +1 -1
  324. package/dist/utils/version.d.ts +4 -0
  325. package/dist/utils/version.d.ts.map +1 -0
  326. package/dist/utils/version.js +22 -0
  327. package/dist/utils/version.js.map +1 -0
  328. package/dist/utils/yamlConfig.d.ts.map +1 -1
  329. package/dist/utils/yamlConfig.js +3 -2
  330. package/dist/utils/yamlConfig.js.map +1 -1
  331. package/package.json +3 -1
  332. package/dist/utils/defaults.d.ts.map +0 -1
  333. package/dist/utils/defaults.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,91 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [2.2.0] - 2026-05-03
6
+
7
+ ### Added
8
+ - **Plugin Ecosystem** — third-party audit check plugins via `kastell-plugin-*` npm packages
9
+ - `kastell plugin install/remove/list/validate` CLI commands
10
+ - `server_plugin` MCP tool (list + validate actions)
11
+ - Plugin SDK types (`PluginManifest`, `PluginCheck`, `PluginSeverity`, `PluginFixTier`)
12
+ - Manifest validation with Zod + semver compatibility check
13
+ - Plugin loader with collision detection, cache, and startup integration
14
+ - Bash/Zsh/Fish completions for plugin commands
15
+ - Example plugins: `kastell-plugin-wordpress` (3 checks), `kastell-plugin-auditor` (2 checks)
16
+ - **`--include-forbidden` flag** — run FORBIDDEN tier fixes with per-fix confirmation prompt
17
+ - **`--auto-fix --schedule` pipeline** — combines doctor diagnosis + fix application on a cron schedule (DOC-04)
18
+ - **Fix session logging** — per-command execution log with stdout/stderr and duration in `FixHistoryEntry` (AH-03)
19
+ - **Doctor fix history merge** — doctor fix results persisted to `fix-history.json` audit trail (DOC-02)
20
+ - **FORBIDDEN rawCommand handler** — shows dangerous commands to user with confirmation before execution (DOC-03)
21
+
22
+ ### Changed
23
+ - **CHECK_IDS constants** — all 481 audit check IDs migrated from string literals to typed const object (`CHECK_IDS.SSH.PASSWORD_AUTH` etc.), zero string literals remain in src/ or tests/
24
+ - **`extractReason` shared helper** — replaces 18 inline `instanceof Error ? .message : String()` patterns across codebase
25
+ - **`createMockProcess` shared helper** — unified test mock for spawn processes with stderr support, replaces 3 inline duplicates
26
+ - **`executeSingleFix` extraction** — shared fix execution logic between safe and forbidden paths with backup support
27
+ - **`compliance/mapper.ts` split** — category-based sub-modules (`categories/index.ts` barrel) for maintainability (DEF-06)
28
+ - **`buildFirewallSetupCommand` merge** — bare firewall command merged into single function (DEF-07)
29
+ - **Plugin list dynamic columns** — table sizing adapts to terminal width
30
+ - **Plugin install UX** — name validation before confirmation prompt (not after)
31
+ - **`PLUGIN_NAME_PATTERN`** — single source of truth in `sdk/constants.ts`
32
+ - **`mapRegistryPlugins` helper** — replaces inline registry iteration in list/validate/loader
33
+
34
+ ### Fixed
35
+ - **Backup idempotent** — first-writer-wins prevents SAFE/FORBIDDEN backup overwrite on repeated fix runs
36
+ - **Plugin remove ghost check** — `deletePlugin` + cache update instead of full reload prevents stale entries
37
+ - **Plugin install shell injection** — VERSION_PATTERN + name validation closes injection vector
38
+ - **Windows npm spawn** — Node 24 `shell:true` DEP0190 fix via joined command string
39
+ - **Commander.js `--version` collision** — renamed to `--ver` flag for plugin version display
40
+ - **Notify completions restore** — bash completions case label fix (append, not replace)
41
+ - **Doctor `--schedule` validation** — requires `--auto-fix` flag, rejects invalid combinations
42
+
43
+ ### Security
44
+ - **Plugin loader path traversal guard** — resolve+startsWith prevents directory escape (SEC-08)
45
+ - **Snapshot path traversal guard** — loadSnapshot validates path stays within snapshots dir (SEC-09)
46
+ - **`server_lock` MCP destructiveHint** — marked as destructive for client-side gating (SEC-10)
47
+ - **SHELL_METACHAR duplicate fix** — removed duplicate `&` from regex (SEC-11)
48
+ - **CI expression injection fix** — `inputs.server_size` and `inputs.concurrency` moved to `env:` (SEC-07)
49
+
50
+ ### Stats
51
+ - 10401 tests (267 suites, 14 snapshots), coverage 96.33%
52
+ - 100 files changed across 6 phases (P124-P129)
53
+ - 35+ commits (30 Minimax + 5 Opus fix/simplify)
54
+
55
+ ## [2.1.0] - 2026-04-28
56
+
57
+ ### Added
58
+ - **`kastell init` 3-way wizard** — interactive setup with three paths: provision a new server, register an existing server, or configure defaults (compliance framework, notification channels)
59
+ - **`kastell explain <check-id>`** — deep-dive into any audit check: why it matters, fix command, fix tier (SAFE/GUARDED/FORBIDDEN), CIS/PCI-DSS/HIPAA compliance references. Supports `--format terminal|json|md`
60
+ - **`audit --ci` flag** — CI mode with JSON output, no spinner, requires `--threshold` for exit code gating
61
+ - **`fleet --categories`** — shows weakest audit category per server in fleet dashboard
62
+ - **`audit --compare` enhancements** — `--fresh` flag for live audit (skip snapshots), `--detail` for check-level diff instead of category summary
63
+ - **`server_compare` MCP tool** — side-by-side server comparison with snapshot fallback and detail mode (16th MCP tool)
64
+ - **Doctor score** — `computeDoctorScore` with severity-weighted findings, wired into CLI and MCP
65
+ - **Regression gating** — pre-fix regression check with `--force` bypass, conditional baseline save, `kastell regression status/reset` commands
66
+ - **Substring fuzzy match** — `kastell explain ssh-password` resolves to `SSH-PASSWORD-AUTH` (single match returns result, multiple returns suggestions)
67
+ - **`defaults.json` support** — `loadDefaults`/`saveDefaults` with Zod validation for threshold/framework fallback
68
+
69
+ ### Changed
70
+ - **Regression wiring** — `saveBaseline`/`checkRegression` integrated into all 4 callers (CLI audit, CLI fix, MCP serverAudit, MCP serverFix)
71
+ - **`confirmOrCancel` helper** — extracted to `prompts.ts` with DI pattern, replacing inline confirm logic in fix and regression flows
72
+ - **`hasRegression()` helper** — single source of truth for regression detection, replaces 3 inline copies
73
+ - **`resolveAuditPair` extraction** — DRY compare logic with exit code bug fix
74
+ - **`formatRegressionSummary`** — typed DRY helper for consistent regression display across CLI and MCP
75
+ - **`runPostFixReAudit`** — returns full AuditResult for accurate post-fix baseline
76
+ - **`scoreRegressed` removed from interface** — derived inline via `hasRegression()`, 8 test fixtures updated
77
+ - **Discriminated union for `AddServerResult`** — type-safe success/failure branching in init wizard
78
+ - **`providerConfig.ts` rename** — `utils/defaults.ts` renamed for clarity
79
+ - **`formatSuggestions` DRY helper** — shared between explain command and MCP tool
80
+ - **Index-based `listSnapshots`** — O(1) read instead of O(N) file parse
81
+ - **Firewall port deduplication** — uses `adapter.platformPorts` as single source
82
+
83
+ ### Security
84
+ - **Dependency updates** — actions/checkout v6, actions/setup-node v6, actions/upload-artifact v7
85
+
86
+ ### Tests
87
+ - 255 suites, 10265 tests, 12 snapshots (up from 240 suites, 10127 tests in v2.0.0)
88
+ - Coverage threshold: 90% global, 95% audit, 90% provider, 90% MCP
89
+
5
90
  ## [2.0.0] - 2026-04-20
6
91
 
7
92
  ### Added
package/README.md CHANGED
@@ -46,7 +46,7 @@ Running `kastell` without any arguments launches an **interactive search menu**
46
46
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
47
47
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
48
48
 
49
- KASTELL v2.0.0 · Your infrastructure, fortified.
49
+ KASTELL v2.2.0 · Your infrastructure, fortified.
50
50
 
51
51
  $ kastell init --template production → deploy a new server
52
52
  $ kastell status --all → check all servers
package/README.tr.md CHANGED
@@ -46,7 +46,7 @@ npx kastell
46
46
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
47
47
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
48
48
 
49
- KASTELL v2.0.0 · Your infrastructure, fortified.
49
+ KASTELL v2.2.0 · Your infrastructure, fortified.
50
50
 
51
51
  $ kastell init --template production → deploy a new server
52
52
  $ kastell status --all → check all servers
@@ -20,6 +20,9 @@ export interface AuditCommandOptions extends AuditCliOptions {
20
20
  listChecks?: boolean;
21
21
  profile?: string;
22
22
  compliance?: string;
23
+ fresh?: boolean;
24
+ detail?: boolean;
25
+ ci?: boolean;
23
26
  }
24
27
  /**
25
28
  * Execute the audit command.
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAYzE,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA+Uf"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAczE,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAiXf"}
@@ -11,15 +11,17 @@ import { selectFormatter } from "../core/audit/formatters/index.js";
11
11
  import { saveAuditHistory, loadAuditHistory, detectTrend, computeTrend } from "../core/audit/history.js";
12
12
  import { formatTrendTerminal, formatTrendJson } from "../core/audit/formatters/trend.js";
13
13
  import { saveSnapshot, listSnapshots } from "../core/audit/snapshot.js";
14
- import { runFix, runScoreCheck } from "../core/audit/fix.js";
14
+ import { runFix, runPostFixReAudit, extractAffectedCategories } from "../core/audit/fix.js";
15
15
  import { watchAudit } from "../core/audit/watch.js";
16
- import { diffAudits, resolveSnapshotRef, formatDiffTerminal, formatDiffJson } from "../core/audit/diff.js";
16
+ import { diffAudits, resolveSnapshotRef, formatDiffTerminal, formatDiffJson, buildCategorySummary, formatCompareSummaryTerminal, formatCompareSummaryJson, resolveAuditPair } from "../core/audit/diff.js";
17
17
  import { getServers } from "../utils/config.js";
18
18
  import { listAllChecks, formatListChecksTerminal, formatListChecksJson } from "../core/audit/listChecks.js";
19
19
  import { filterByProfile, calculateComplianceDetail } from "../core/audit/compliance/scoring.js";
20
20
  import { formatComplianceReport } from "../core/audit/formatters/compliance.js";
21
21
  import { FRAMEWORK_KEY_MAP } from "../core/audit/compliance/types.js";
22
22
  import { filterAuditResult, buildFilterAnnotation, parseSeverity } from "../core/audit/filter.js";
23
+ import { saveBaselineSafe, loadBaseline, checkRegression, formatRegressionSummary, extractPassedCheckIds, shouldUpdateBaseline } from "../core/audit/regression.js";
24
+ import { loadDefaults } from "../core/defaults.js";
23
25
  function printDiff(diff, json) {
24
26
  console.log(json ? formatDiffJson(diff) : formatDiffTerminal(diff));
25
27
  if (diff.regressions.length > 0) {
@@ -50,6 +52,23 @@ export async function auditCommand(serverName, options = {}) {
50
52
  }
51
53
  return;
52
54
  }
55
+ if (options.threshold === undefined || options.compliance === undefined) {
56
+ const userDefaults = loadDefaults();
57
+ if (options.threshold === undefined && userDefaults.threshold !== undefined) {
58
+ options.threshold = String(userDefaults.threshold);
59
+ }
60
+ if (options.compliance === undefined && userDefaults.framework !== undefined) {
61
+ options.compliance = userDefaults.framework;
62
+ }
63
+ }
64
+ // --ci mode: validate threshold requirement early (before server resolution)
65
+ if (options.ci) {
66
+ if (options.threshold === undefined) {
67
+ logger.error("--ci requires --threshold (e.g. --ci --threshold 70)");
68
+ return;
69
+ }
70
+ options.json = true;
71
+ }
53
72
  let ip;
54
73
  let name;
55
74
  let platform;
@@ -132,7 +151,7 @@ export async function auditCommand(serverName, options = {}) {
132
151
  printDiff(diff, options.json);
133
152
  return;
134
153
  }
135
- // --compare mode: compare latest snapshots from two servers
154
+ // --compare mode: compare two servers
136
155
  if (options.compare) {
137
156
  const parts = options.compare.split(":");
138
157
  if (parts.length !== 2) {
@@ -151,21 +170,23 @@ export async function auditCommand(serverName, options = {}) {
151
170
  logger.error(`Server not found: ${serverBRef}`);
152
171
  return;
153
172
  }
154
- const snapA = await resolveSnapshotRef(serverA.ip, "latest");
155
- const snapB = await resolveSnapshotRef(serverB.ip, "latest");
156
- if (!snapA) {
157
- logger.error(`No snapshots for ${serverA.name}`);
173
+ const spinner = createSpinner("Comparing servers...");
174
+ spinner.start();
175
+ const pairResult = await resolveAuditPair(serverA, serverB, !!options.fresh);
176
+ spinner.stop();
177
+ if (!pairResult.success) {
178
+ logger.error(pairResult.error ?? "Compare failed");
158
179
  return;
159
180
  }
160
- if (!snapB) {
161
- logger.error(`No snapshots for ${serverB.name}`);
162
- return;
181
+ const { auditA, auditB } = pairResult.data;
182
+ if (options.detail) {
183
+ const diff = diffAudits(auditA, auditB, { before: serverA.name, after: serverB.name });
184
+ console.log(options.json ? formatDiffJson(diff) : formatDiffTerminal(diff));
185
+ }
186
+ else {
187
+ const summary = buildCategorySummary(auditA, auditB, { before: serverA.name, after: serverB.name });
188
+ console.log(options.json ? formatCompareSummaryJson(summary) : formatCompareSummaryTerminal(summary));
163
189
  }
164
- const diff = diffAudits(snapA.audit, snapB.audit, {
165
- before: serverA.name,
166
- after: serverB.name,
167
- });
168
- printDiff(diff, options.json);
169
190
  return;
170
191
  }
171
192
  // --watch mode: delegate to watchAudit and return
@@ -183,17 +204,17 @@ export async function auditCommand(serverName, options = {}) {
183
204
  });
184
205
  return;
185
206
  }
186
- const spinner = createSpinner(`Running security audit on ${name}...`);
187
- spinner.start();
207
+ const spinner = options.ci ? null : createSpinner(`Running security audit on ${name}...`);
208
+ spinner?.start();
188
209
  const result = await runAudit(ip, name, platform);
189
210
  if (!result.success || !result.data) {
190
- spinner.fail(result.error ?? "Audit failed");
211
+ spinner?.fail(result.error ?? "Audit failed");
191
212
  if (result.hint) {
192
213
  logger.info(result.hint);
193
214
  }
194
215
  return;
195
216
  }
196
- spinner.succeed(`Audit complete for ${name}`);
217
+ spinner?.succeed(`Audit complete for ${name}`);
197
218
  const auditResult = result.data;
198
219
  // Detect trend from history (load BEFORE save so we compare against previous)
199
220
  const history = loadAuditHistory(auditResult.serverIp);
@@ -206,6 +227,23 @@ export async function auditCommand(serverName, options = {}) {
206
227
  else if (trend !== "first audit") {
207
228
  logger.info(`Trend: ${trend}`);
208
229
  }
230
+ const baseline = loadBaseline(auditResult.serverIp);
231
+ const passedIds = extractPassedCheckIds(auditResult);
232
+ let regression = null;
233
+ if (baseline) {
234
+ regression = checkRegression(baseline, auditResult, passedIds);
235
+ }
236
+ if (shouldUpdateBaseline(regression, false)) {
237
+ await saveBaselineSafe(auditResult, baseline, passedIds);
238
+ }
239
+ if (regression) {
240
+ for (const line of formatRegressionSummary(regression)) {
241
+ if (line.severity === "warning")
242
+ logger.warning(line.text);
243
+ else
244
+ logger.info(line.text);
245
+ }
246
+ }
209
247
  // --compliance: detailed Framework>Control>Check grouped report
210
248
  if (options.compliance) {
211
249
  const frameworks = options.compliance
@@ -293,22 +331,13 @@ export async function auditCommand(serverName, options = {}) {
293
331
  // Score delta after fix (AUX-05, AUX-06, AUX-07)
294
332
  // Guard: only run when fixes were actually applied (not dry-run, not zero-fix)
295
333
  if (fixResult.applied.length > 0) {
296
- const affectedCats = [
297
- ...new Set(fixResult.applied
298
- .map((checkId) => {
299
- for (const cat of auditResult.categories) {
300
- if (cat.checks.some((ch) => ch.id === checkId))
301
- return cat.name;
302
- }
303
- return undefined;
304
- })
305
- .filter((name) => name !== undefined)),
306
- ];
307
- const newScore = await runScoreCheck(ip, platform, auditResult, affectedCats);
334
+ const affectedCats = extractAffectedCategories(fixResult.applied, auditResult.categories);
335
+ const postFixResult = await runPostFixReAudit(ip, platform, auditResult, affectedCats);
336
+ const newScore = postFixResult?.overallScore ?? null;
308
337
  if (newScore !== null) {
309
338
  const delta = newScore - auditResult.overallScore;
310
339
  const sign = delta >= 0 ? "+" : "";
311
- logger.success(`Score: ${auditResult.overallScore} \u2192 ${newScore} (${sign}${delta})`);
340
+ logger.success(`Score: ${auditResult.overallScore} ${newScore} (${sign}${delta})`);
312
341
  }
313
342
  }
314
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getDefaults, setDefault, getDefault, resetDefaults, VALID_KEYS, } from "../utils/defaults.js";
1
+ import { getDefaults, setDefault, getDefault, resetDefaults, VALID_KEYS, } from "../utils/providerConfig.js";
2
2
  import { logger } from "../utils/logger.js";
3
3
  import { classifyError } from "../utils/errorMapper.js";
4
4
  export async function configCommand(subcommand, args) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export declare function doctorCommand(server?: string, options?: {
6
6
  force?: boolean;
7
7
  dryRun?: boolean;
8
8
  autoFix?: boolean;
9
+ schedule?: string;
9
10
  }, version?: string): Promise<void>;
10
11
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA0DA,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EACD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgKf"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA+DA,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA+Kf"}
@@ -3,6 +3,8 @@ import { logger, createSpinner } from "../utils/logger.js";
3
3
  import { runServerDoctor } from "../core/doctor.js";
4
4
  import { runDoctorFix } from "../core/doctor-fix.js";
5
5
  import { runDoctorChecks, checkProviderTokens } from "../core/doctor-local.js";
6
+ import { scoreColor } from "../core/audit/formatters/shared.js";
7
+ import { installLocalCron } from "../core/scheduleManager.js";
6
8
  // ─── Server mode display helpers ──────────────────────────────────────────────
7
9
  const SEVERITY_LABEL = {
8
10
  critical: "CRITICAL",
@@ -44,12 +46,18 @@ function displayFindings(result) {
44
46
  console.log();
45
47
  logger.info(`${total} finding${total === 1 ? "" : "s"} (${parts.join(", ")})`);
46
48
  }
49
+ console.log();
50
+ logger.info(`Doctor Score: ${scoreColor(result.score)(`${result.score}/100`)}`);
47
51
  if (!result.usedFreshData) {
48
52
  logger.info("Using cached data. Run with --fresh for live analysis.");
49
53
  }
50
54
  }
51
55
  // ─── Main command ──────────────────────────────────────────────────────────────
52
56
  export async function doctorCommand(server, options, version) {
57
+ if (options?.schedule && !options?.autoFix) {
58
+ logger.error("--schedule requires --auto-fix");
59
+ return;
60
+ }
53
61
  if ((options?.fix || options?.autoFix) && !server) {
54
62
  logger.error(`${options?.autoFix ? "--auto-fix" : "--fix"} requires a server argument`);
55
63
  return;
@@ -82,6 +90,9 @@ export async function doctorCommand(server, options, version) {
82
90
  return;
83
91
  }
84
92
  displayFindings(result.data);
93
+ if (!options?.fix && !options?.autoFix) {
94
+ return;
95
+ }
85
96
  if (options?.autoFix) {
86
97
  const findings = result.data.findings;
87
98
  const fixable = findings.filter((f) => f.fixCommand);
@@ -106,7 +117,7 @@ export async function doctorCommand(server, options, version) {
106
117
  const fixResult = await runDoctorFix(resolved.ip, findings, {
107
118
  dryRun: false,
108
119
  force: options.force ?? false,
109
- });
120
+ }, resolved.name);
110
121
  // Finding count delta summary (per D-03)
111
122
  console.log();
112
123
  logger.title("Auto-Fix Summary");
@@ -123,14 +134,21 @@ export async function doctorCommand(server, options, version) {
123
134
  logger.error(` ${entry}`);
124
135
  }
125
136
  }
126
- return;
127
- }
128
- if (!options?.fix) {
137
+ if (options.schedule) {
138
+ const installResult = installLocalCron(options.schedule, resolved.name, "doctor-fix");
139
+ if (installResult.success) {
140
+ logger.success(`Doctor+fix scheduled: ${options.schedule}`);
141
+ }
142
+ else {
143
+ logger.error(`Schedule failed: ${installResult.error}`);
144
+ }
145
+ return;
146
+ }
129
147
  return;
130
148
  }
131
149
  // ── Fix mode ──────────────────────────────────────────────────────────────
132
150
  const findings = result.data.findings;
133
- if (options.dryRun) {
151
+ if (options?.dryRun) {
134
152
  console.log();
135
153
  logger.title("Fix Preview (--dry-run — no SSH will be executed)");
136
154
  for (const finding of findings) {
@@ -146,8 +164,8 @@ export async function doctorCommand(server, options, version) {
146
164
  }
147
165
  const fixResult = await runDoctorFix(resolved.ip, findings, {
148
166
  dryRun: false,
149
- force: options.force ?? false,
150
- });
167
+ force: options?.force ?? false,
168
+ }, resolved.name);
151
169
  console.log();
152
170
  if (fixResult.applied.length > 0) {
153
171
  logger.success(`Fixed: ${fixResult.applied.length} finding(s) applied`);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface ExplainOptions {
2
+ format?: "terminal" | "json" | "md";
3
+ }
4
+ export declare function explainCommand(checkId: string, options: ExplainOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
@@ -0,0 +1,28 @@
1
+ import { findCheckById, formatSuggestions, formatExplainTerminal, formatExplainJson, formatExplainMarkdown, } from "../core/audit/explainCheck.js";
2
+ import { logger } from "../utils/logger.js";
3
+ export async function explainCommand(checkId, options) {
4
+ const result = findCheckById(checkId);
5
+ if (!result.match) {
6
+ logger.error(`Unknown check ID: ${checkId}`);
7
+ logger.info(formatSuggestions(result.suggestions));
8
+ process.exit(1);
9
+ }
10
+ const validFormats = ["terminal", "json", "md"];
11
+ const format = options.format ?? "terminal";
12
+ if (!validFormats.includes(format)) {
13
+ logger.error(`Invalid format: ${format}. Use terminal, json, or md.`);
14
+ process.exit(1);
15
+ }
16
+ switch (format) {
17
+ case "json":
18
+ console.log(formatExplainJson(result.match));
19
+ break;
20
+ case "md":
21
+ console.log(formatExplainMarkdown(result.match));
22
+ break;
23
+ default:
24
+ console.log(formatExplainTerminal(result.match));
25
+ break;
26
+ }
27
+ }
28
+ //# sourceMappingURL=explain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAM5C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,OAAuB;IAEvB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAU,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAqC,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,8BAA8B,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjD,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -20,5 +20,7 @@ export declare function fixSafeCommand(query: string | undefined, options: {
20
20
  diff?: boolean;
21
21
  report?: boolean;
22
22
  interactive?: boolean;
23
+ force?: boolean;
24
+ includeForbidden?: boolean;
23
25
  }): Promise<void>;
24
26
  //# sourceMappingURL=fix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAoCA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,IAAI,CAAC,CAmef"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAwCA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CA6gBf"}