oh-my-claude-sisyphus 3.7.2 → 3.7.3

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 (325) hide show
  1. package/dist/__tests__/compatibility-security.test.d.ts +13 -0
  2. package/dist/__tests__/compatibility-security.test.d.ts.map +1 -0
  3. package/dist/__tests__/compatibility-security.test.js +403 -0
  4. package/dist/__tests__/compatibility-security.test.js.map +1 -0
  5. package/dist/__tests__/compatibility.test.d.ts +7 -0
  6. package/dist/__tests__/compatibility.test.d.ts.map +1 -0
  7. package/dist/__tests__/compatibility.test.js +484 -0
  8. package/dist/__tests__/compatibility.test.js.map +1 -0
  9. package/dist/__tests__/hud/analytics-display.test.js +4 -0
  10. package/dist/__tests__/hud/analytics-display.test.js.map +1 -1
  11. package/dist/cli/analytics.js +0 -0
  12. package/dist/cli/index.js +0 -0
  13. package/dist/compatibility/discovery.d.ts +58 -0
  14. package/dist/compatibility/discovery.d.ts.map +1 -0
  15. package/dist/compatibility/discovery.js +619 -0
  16. package/dist/compatibility/discovery.js.map +1 -0
  17. package/dist/compatibility/index.d.ts +51 -0
  18. package/dist/compatibility/index.d.ts.map +1 -0
  19. package/dist/compatibility/index.js +72 -0
  20. package/dist/compatibility/index.js.map +1 -0
  21. package/dist/compatibility/mcp-bridge.d.ts +138 -0
  22. package/dist/compatibility/mcp-bridge.d.ts.map +1 -0
  23. package/dist/compatibility/mcp-bridge.js +524 -0
  24. package/dist/compatibility/mcp-bridge.js.map +1 -0
  25. package/dist/compatibility/permission-adapter.d.ts +79 -0
  26. package/dist/compatibility/permission-adapter.d.ts.map +1 -0
  27. package/dist/compatibility/permission-adapter.js +369 -0
  28. package/dist/compatibility/permission-adapter.js.map +1 -0
  29. package/dist/compatibility/registry.d.ts +161 -0
  30. package/dist/compatibility/registry.d.ts.map +1 -0
  31. package/dist/compatibility/registry.js +389 -0
  32. package/dist/compatibility/registry.js.map +1 -0
  33. package/dist/compatibility/types.d.ts +249 -0
  34. package/dist/compatibility/types.d.ts.map +1 -0
  35. package/dist/compatibility/types.js +8 -0
  36. package/dist/compatibility/types.js.map +1 -0
  37. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  38. package/dist/features/rate-limit-wait/daemon.js +3 -0
  39. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  40. package/dist/hud/analytics-display.d.ts +1 -1
  41. package/dist/hud/analytics-display.d.ts.map +1 -1
  42. package/dist/hud/analytics-display.js +24 -7
  43. package/dist/hud/analytics-display.js.map +1 -1
  44. package/docs/COMPATIBILITY.md +1051 -0
  45. package/package.json +3 -1
  46. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  47. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  48. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  49. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  50. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  51. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  52. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  53. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  54. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  55. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  56. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  57. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  58. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  59. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  60. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  61. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  62. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  63. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  64. package/dist/__tests__/learned-skills/config.test.js +0 -37
  65. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  66. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  67. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  68. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  69. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  70. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  71. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  72. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  73. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  74. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  75. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  76. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  77. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  78. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  79. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  80. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  81. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  82. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  83. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  84. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  85. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  86. package/dist/agents/codex-agents.d.ts +0 -20
  87. package/dist/agents/codex-agents.d.ts.map +0 -1
  88. package/dist/agents/codex-agents.js +0 -36
  89. package/dist/agents/codex-agents.js.map +0 -1
  90. package/dist/agents/document-writer.d.ts +0 -11
  91. package/dist/agents/document-writer.d.ts.map +0 -1
  92. package/dist/agents/document-writer.js +0 -209
  93. package/dist/agents/document-writer.js.map +0 -1
  94. package/dist/agents/frontend-engineer.d.ts +0 -11
  95. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  96. package/dist/agents/frontend-engineer.js +0 -115
  97. package/dist/agents/frontend-engineer.js.map +0 -1
  98. package/dist/agents/librarian.d.ts +0 -12
  99. package/dist/agents/librarian.d.ts.map +0 -1
  100. package/dist/agents/librarian.js +0 -103
  101. package/dist/agents/librarian.js.map +0 -1
  102. package/dist/agents/metis.d.ts +0 -12
  103. package/dist/agents/metis.d.ts.map +0 -1
  104. package/dist/agents/metis.js +0 -117
  105. package/dist/agents/metis.js.map +0 -1
  106. package/dist/agents/momus.d.ts +0 -12
  107. package/dist/agents/momus.d.ts.map +0 -1
  108. package/dist/agents/momus.js +0 -128
  109. package/dist/agents/momus.js.map +0 -1
  110. package/dist/agents/multimodal-looker.d.ts +0 -11
  111. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  112. package/dist/agents/multimodal-looker.js +0 -70
  113. package/dist/agents/multimodal-looker.js.map +0 -1
  114. package/dist/agents/oracle.d.ts +0 -13
  115. package/dist/agents/oracle.d.ts.map +0 -1
  116. package/dist/agents/oracle.js +0 -191
  117. package/dist/agents/oracle.js.map +0 -1
  118. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  119. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  120. package/dist/agents/orchestrator-sisyphus.js +0 -115
  121. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  122. package/dist/agents/prometheus.d.ts +0 -12
  123. package/dist/agents/prometheus.d.ts.map +0 -1
  124. package/dist/agents/prometheus.js +0 -195
  125. package/dist/agents/prometheus.js.map +0 -1
  126. package/dist/agents/sisyphus-junior.d.ts +0 -12
  127. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  128. package/dist/agents/sisyphus-junior.js +0 -93
  129. package/dist/agents/sisyphus-junior.js.map +0 -1
  130. package/dist/cli/components/CostDashboard.d.ts +0 -15
  131. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  132. package/dist/cli/components/CostDashboard.js +0 -15
  133. package/dist/cli/components/CostDashboard.js.map +0 -1
  134. package/dist/cli/components/LiveStats.d.ts +0 -16
  135. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  136. package/dist/cli/components/LiveStats.js +0 -16
  137. package/dist/cli/components/LiveStats.js.map +0 -1
  138. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  139. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  140. package/dist/cli/components/SessionBrowser.js +0 -14
  141. package/dist/cli/components/SessionBrowser.js.map +0 -1
  142. package/dist/cli/tui.d.ts +0 -21
  143. package/dist/cli/tui.d.ts.map +0 -1
  144. package/dist/cli/tui.js +0 -21
  145. package/dist/cli/tui.js.map +0 -1
  146. package/dist/hooks/autopilot/signals.d.ts +0 -20
  147. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  148. package/dist/hooks/autopilot/signals.js +0 -75
  149. package/dist/hooks/autopilot/signals.js.map +0 -1
  150. package/dist/hooks/autopilot/summary.d.ts +0 -27
  151. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  152. package/dist/hooks/autopilot/summary.js +0 -160
  153. package/dist/hooks/autopilot/summary.js.map +0 -1
  154. package/dist/hooks/autopilot/transition.d.ts +0 -39
  155. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  156. package/dist/hooks/autopilot/transition.js +0 -216
  157. package/dist/hooks/autopilot/transition.js.map +0 -1
  158. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  159. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  160. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  161. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  162. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  163. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  164. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  165. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  166. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  167. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  168. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  169. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  170. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  171. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  172. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  173. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  174. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  175. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  176. package/dist/hooks/edit-error-recovery/index.js +0 -89
  177. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  178. package/dist/hooks/learned-skills/config.d.ts +0 -53
  179. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  180. package/dist/hooks/learned-skills/config.js +0 -103
  181. package/dist/hooks/learned-skills/config.js.map +0 -1
  182. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  183. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  184. package/dist/hooks/learned-skills/constants.js +0 -26
  185. package/dist/hooks/learned-skills/constants.js.map +0 -1
  186. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  187. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  188. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  189. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  190. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  191. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  192. package/dist/hooks/learned-skills/detector.js +0 -150
  193. package/dist/hooks/learned-skills/detector.js.map +0 -1
  194. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  195. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  196. package/dist/hooks/learned-skills/finder.js +0 -117
  197. package/dist/hooks/learned-skills/finder.js.map +0 -1
  198. package/dist/hooks/learned-skills/index.d.ts +0 -62
  199. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  200. package/dist/hooks/learned-skills/index.js +0 -137
  201. package/dist/hooks/learned-skills/index.js.map +0 -1
  202. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  203. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  204. package/dist/hooks/learned-skills/loader.js +0 -107
  205. package/dist/hooks/learned-skills/loader.js.map +0 -1
  206. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  207. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  208. package/dist/hooks/learned-skills/parser.js +0 -190
  209. package/dist/hooks/learned-skills/parser.js.map +0 -1
  210. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  211. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  212. package/dist/hooks/learned-skills/promotion.js +0 -87
  213. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  214. package/dist/hooks/learned-skills/types.d.ts +0 -109
  215. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  216. package/dist/hooks/learned-skills/types.js +0 -8
  217. package/dist/hooks/learned-skills/types.js.map +0 -1
  218. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  219. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  220. package/dist/hooks/learned-skills/validator.js +0 -87
  221. package/dist/hooks/learned-skills/validator.js.map +0 -1
  222. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  223. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  224. package/dist/hooks/learned-skills/writer.js +0 -126
  225. package/dist/hooks/learned-skills/writer.js.map +0 -1
  226. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  227. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  228. package/dist/hooks/mnemosyne/config.js +0 -103
  229. package/dist/hooks/mnemosyne/config.js.map +0 -1
  230. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  231. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  232. package/dist/hooks/mnemosyne/constants.js +0 -26
  233. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  234. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  235. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  236. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  237. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  238. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  239. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  240. package/dist/hooks/mnemosyne/detector.js +0 -150
  241. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  242. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  243. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  244. package/dist/hooks/mnemosyne/finder.js +0 -117
  245. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  246. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  247. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  248. package/dist/hooks/mnemosyne/index.js +0 -137
  249. package/dist/hooks/mnemosyne/index.js.map +0 -1
  250. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  251. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  252. package/dist/hooks/mnemosyne/loader.js +0 -113
  253. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  254. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  255. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  256. package/dist/hooks/mnemosyne/parser.js +0 -190
  257. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  258. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  259. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  260. package/dist/hooks/mnemosyne/promotion.js +0 -87
  261. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  262. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  263. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  264. package/dist/hooks/mnemosyne/types.js +0 -8
  265. package/dist/hooks/mnemosyne/types.js.map +0 -1
  266. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  267. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  268. package/dist/hooks/mnemosyne/validator.js +0 -87
  269. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  270. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  271. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  272. package/dist/hooks/mnemosyne/writer.js +0 -126
  273. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  274. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  275. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  276. package/dist/hooks/ralph-loop/index.js +0 -322
  277. package/dist/hooks/ralph-loop/index.js.map +0 -1
  278. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  279. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  280. package/dist/hooks/ralph-prd/index.js +0 -310
  281. package/dist/hooks/ralph-prd/index.js.map +0 -1
  282. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  283. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  284. package/dist/hooks/ralph-progress/index.js +0 -408
  285. package/dist/hooks/ralph-progress/index.js.map +0 -1
  286. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  287. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  288. package/dist/hooks/ralph-verifier/index.js +0 -223
  289. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  290. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  291. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  292. package/dist/hooks/session-recovery/constants.js +0 -78
  293. package/dist/hooks/session-recovery/constants.js.map +0 -1
  294. package/dist/hooks/session-recovery/index.d.ts +0 -53
  295. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  296. package/dist/hooks/session-recovery/index.js +0 -321
  297. package/dist/hooks/session-recovery/index.js.map +0 -1
  298. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  299. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  300. package/dist/hooks/session-recovery/storage.js +0 -383
  301. package/dist/hooks/session-recovery/storage.js.map +0 -1
  302. package/dist/hooks/session-recovery/types.d.ts +0 -145
  303. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  304. package/dist/hooks/session-recovery/types.js +0 -8
  305. package/dist/hooks/session-recovery/types.js.map +0 -1
  306. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  307. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  308. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  309. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  310. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  311. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  312. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  313. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  314. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  315. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  316. package/dist/hooks/ultraqa-loop/index.js +0 -216
  317. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  318. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  319. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  320. package/dist/hooks/ultrawork-state/index.js +0 -208
  321. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  322. package/dist/hud/sisyphus-state.d.ts +0 -31
  323. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  324. package/dist/hud/sisyphus-state.js +0 -163
  325. package/dist/hud/sisyphus-state.js.map +0 -1
@@ -0,0 +1,484 @@
1
+ /**
2
+ * Tests for the Compatibility Layer
3
+ *
4
+ * Tests plugin discovery, tool registry, permission adapter, and MCP bridge.
5
+ */
6
+ import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
7
+ import { join } from 'path';
8
+ import { mkdirSync, writeFileSync, rmSync, existsSync } from 'fs';
9
+ import { tmpdir } from 'os';
10
+ // Import functions under test
11
+ import { discoverPlugins, discoverMcpServers, discoverAll, } from '../compatibility/discovery.js';
12
+ import { ToolRegistry, getRegistry, } from '../compatibility/registry.js';
13
+ import { checkPermission, grantPermission, denyPermission, clearPermissionCache, addSafePattern, getSafePatterns, shouldDelegate, getDelegationTarget, } from '../compatibility/permission-adapter.js';
14
+ // Test fixtures
15
+ const TEST_DIR = join(tmpdir(), 'omc-compat-test-' + Date.now());
16
+ const TEST_PLUGINS_DIR = join(TEST_DIR, 'plugins');
17
+ const TEST_MCP_CONFIG = join(TEST_DIR, 'claude_desktop_config.json');
18
+ const TEST_SETTINGS = join(TEST_DIR, 'settings.json');
19
+ /**
20
+ * Create a test plugin directory structure
21
+ */
22
+ function createTestPlugin(name, manifest) {
23
+ const pluginDir = join(TEST_PLUGINS_DIR, name);
24
+ const manifestPath = join(pluginDir, 'plugin.json');
25
+ mkdirSync(pluginDir, { recursive: true });
26
+ const fullManifest = {
27
+ name,
28
+ version: '1.0.0',
29
+ ...manifest,
30
+ };
31
+ writeFileSync(manifestPath, JSON.stringify(fullManifest, null, 2));
32
+ // Create skills directory if specified
33
+ if (manifest.skills) {
34
+ const skillsDir = join(pluginDir, 'skills');
35
+ mkdirSync(skillsDir, { recursive: true });
36
+ // Create a sample skill
37
+ const sampleSkillDir = join(skillsDir, 'sample-skill');
38
+ mkdirSync(sampleSkillDir, { recursive: true });
39
+ writeFileSync(join(sampleSkillDir, 'SKILL.md'), `---
40
+ name: sample-skill
41
+ description: A sample skill for testing
42
+ ---
43
+
44
+ This is a sample skill.
45
+ `);
46
+ }
47
+ return pluginDir;
48
+ }
49
+ /**
50
+ * Create a test MCP config file
51
+ */
52
+ function createTestMcpConfig(servers) {
53
+ writeFileSync(TEST_MCP_CONFIG, JSON.stringify({ mcpServers: servers }, null, 2));
54
+ }
55
+ /**
56
+ * Create a test settings file
57
+ */
58
+ function createTestSettings(servers) {
59
+ writeFileSync(TEST_SETTINGS, JSON.stringify({ mcpServers: servers }, null, 2));
60
+ }
61
+ // ============================================================
62
+ // Discovery Tests
63
+ // ============================================================
64
+ describe('Discovery System', () => {
65
+ beforeEach(() => {
66
+ mkdirSync(TEST_PLUGINS_DIR, { recursive: true });
67
+ });
68
+ afterEach(() => {
69
+ if (existsSync(TEST_DIR)) {
70
+ rmSync(TEST_DIR, { recursive: true, force: true });
71
+ }
72
+ });
73
+ describe('discoverPlugins', () => {
74
+ it('should discover plugins in the configured directory', () => {
75
+ createTestPlugin('test-plugin', {
76
+ description: 'Test plugin',
77
+ skills: './skills/',
78
+ });
79
+ const plugins = discoverPlugins({ pluginPaths: [TEST_PLUGINS_DIR] });
80
+ expect(plugins.length).toBeGreaterThan(0);
81
+ const testPlugin = plugins.find(p => p.name === 'test-plugin');
82
+ expect(testPlugin).toBeDefined();
83
+ expect(testPlugin?.loaded).toBe(true);
84
+ expect(testPlugin?.manifest.description).toBe('Test plugin');
85
+ });
86
+ it('should discover skills from plugins', () => {
87
+ createTestPlugin('skill-plugin', {
88
+ skills: './skills/',
89
+ });
90
+ const plugins = discoverPlugins({ pluginPaths: [TEST_PLUGINS_DIR] });
91
+ const plugin = plugins.find(p => p.name === 'skill-plugin');
92
+ expect(plugin).toBeDefined();
93
+ expect(plugin?.tools.length).toBeGreaterThan(0);
94
+ const skill = plugin?.tools.find(t => t.name.includes('sample-skill'));
95
+ expect(skill).toBeDefined();
96
+ expect(skill?.type).toBe('skill');
97
+ });
98
+ it('should return empty array for non-existent directory', () => {
99
+ const plugins = discoverPlugins({ pluginPaths: ['/nonexistent/path'] });
100
+ expect(plugins).toHaveLength(0);
101
+ });
102
+ it('should skip oh-my-claudecode plugin directory', () => {
103
+ createTestPlugin('oh-my-claudecode', {
104
+ description: 'Should be skipped',
105
+ });
106
+ const plugins = discoverPlugins({ pluginPaths: [TEST_PLUGINS_DIR] });
107
+ const omcPlugin = plugins.find(p => p.name === 'oh-my-claudecode');
108
+ expect(omcPlugin).toBeUndefined();
109
+ });
110
+ });
111
+ describe('discoverMcpServers', () => {
112
+ it('should discover MCP servers from claude_desktop_config.json', () => {
113
+ createTestMcpConfig({
114
+ 'test-server': {
115
+ command: 'npx',
116
+ args: ['-y', 'test-server'],
117
+ },
118
+ });
119
+ const servers = discoverMcpServers({ mcpConfigPath: TEST_MCP_CONFIG });
120
+ expect(servers).toHaveLength(1);
121
+ expect(servers[0].name).toBe('test-server');
122
+ expect(servers[0].source).toBe('claude_desktop_config');
123
+ });
124
+ it('should discover MCP servers from settings.json', () => {
125
+ createTestSettings({
126
+ 'settings-server': {
127
+ command: 'node',
128
+ args: ['server.js'],
129
+ },
130
+ });
131
+ const servers = discoverMcpServers({ settingsPath: TEST_SETTINGS });
132
+ expect(servers).toHaveLength(1);
133
+ expect(servers[0].name).toBe('settings-server');
134
+ expect(servers[0].source).toBe('settings.json');
135
+ });
136
+ it('should prioritize settings.json over claude_desktop_config.json', () => {
137
+ createTestSettings({
138
+ 'shared-server': {
139
+ command: 'settings-command',
140
+ },
141
+ });
142
+ createTestMcpConfig({
143
+ 'shared-server': {
144
+ command: 'desktop-command',
145
+ },
146
+ });
147
+ const servers = discoverMcpServers({
148
+ settingsPath: TEST_SETTINGS,
149
+ mcpConfigPath: TEST_MCP_CONFIG,
150
+ });
151
+ expect(servers).toHaveLength(1);
152
+ expect(servers[0].config.command).toBe('settings-command');
153
+ });
154
+ });
155
+ describe('discoverAll', () => {
156
+ it('should discover both plugins and MCP servers', () => {
157
+ createTestPlugin('combined-plugin', { description: 'Combined test' });
158
+ createTestMcpConfig({
159
+ 'combined-server': { command: 'npx', args: ['server'] },
160
+ });
161
+ const result = discoverAll({
162
+ pluginPaths: [TEST_PLUGINS_DIR],
163
+ mcpConfigPath: TEST_MCP_CONFIG,
164
+ });
165
+ expect(result.plugins.length).toBeGreaterThan(0);
166
+ expect(result.mcpServers.length).toBeGreaterThan(0);
167
+ expect(result.timestamp).toBeGreaterThan(0);
168
+ });
169
+ });
170
+ });
171
+ // ============================================================
172
+ // Registry Tests
173
+ // ============================================================
174
+ describe('Tool Registry', () => {
175
+ let registry;
176
+ beforeEach(() => {
177
+ ToolRegistry.resetInstance();
178
+ registry = new ToolRegistry();
179
+ });
180
+ describe('registerTool', () => {
181
+ it('should register a tool', () => {
182
+ const tool = {
183
+ name: 'test:tool',
184
+ type: 'plugin',
185
+ source: 'test-plugin',
186
+ enabled: true,
187
+ };
188
+ registry.registerTool(tool);
189
+ expect(registry.getTool('test:tool')).toBeDefined();
190
+ });
191
+ it('should handle tool name conflicts by priority', () => {
192
+ const lowPriority = {
193
+ name: 'conflict:tool',
194
+ type: 'plugin',
195
+ source: 'low-priority',
196
+ enabled: true,
197
+ priority: 10,
198
+ };
199
+ const highPriority = {
200
+ name: 'conflict:tool',
201
+ type: 'plugin',
202
+ source: 'high-priority',
203
+ enabled: true,
204
+ priority: 100,
205
+ };
206
+ registry.registerTool(lowPriority);
207
+ registry.registerTool(highPriority);
208
+ const tool = registry.getTool('conflict:tool');
209
+ expect(tool?.source).toBe('high-priority');
210
+ });
211
+ it('should track conflicts', () => {
212
+ const tool1 = {
213
+ name: 'conflict:tool',
214
+ type: 'plugin',
215
+ source: 'plugin-1',
216
+ enabled: true,
217
+ };
218
+ const tool2 = {
219
+ name: 'conflict:tool',
220
+ type: 'plugin',
221
+ source: 'plugin-2',
222
+ enabled: true,
223
+ };
224
+ registry.registerTool(tool1);
225
+ registry.registerTool(tool2);
226
+ const conflicts = registry.getConflicts();
227
+ expect(conflicts).toHaveLength(1);
228
+ expect(conflicts[0].tools).toHaveLength(2);
229
+ });
230
+ });
231
+ describe('getTool', () => {
232
+ it('should find tool by exact name', () => {
233
+ const tool = {
234
+ name: 'exact:match',
235
+ type: 'plugin',
236
+ source: 'test',
237
+ enabled: true,
238
+ };
239
+ registry.registerTool(tool);
240
+ expect(registry.getTool('exact:match')).toBeDefined();
241
+ });
242
+ it('should find tool by short name', () => {
243
+ const tool = {
244
+ name: 'namespace:shortname',
245
+ type: 'plugin',
246
+ source: 'test',
247
+ enabled: true,
248
+ };
249
+ registry.registerTool(tool);
250
+ expect(registry.getTool('shortname')).toBeDefined();
251
+ });
252
+ });
253
+ describe('route', () => {
254
+ it('should create route for registered tool', () => {
255
+ const tool = {
256
+ name: 'route:test',
257
+ type: 'plugin',
258
+ source: 'test-plugin',
259
+ enabled: true,
260
+ capabilities: ['read'],
261
+ };
262
+ registry.registerTool(tool);
263
+ const route = registry.route('route:test');
264
+ expect(route).toBeDefined();
265
+ expect(route?.tool.name).toBe('route:test');
266
+ expect(route?.requiresPermission).toBe(false);
267
+ });
268
+ it('should require permission for write/execute tools', () => {
269
+ const tool = {
270
+ name: 'dangerous:tool',
271
+ type: 'plugin',
272
+ source: 'test',
273
+ enabled: true,
274
+ capabilities: ['write', 'execute'],
275
+ };
276
+ registry.registerTool(tool);
277
+ const route = registry.route('dangerous:tool');
278
+ expect(route?.requiresPermission).toBe(true);
279
+ });
280
+ });
281
+ describe('getToolsBySource', () => {
282
+ it('should filter tools by source', () => {
283
+ registry.registerTool({
284
+ name: 'source1:tool1',
285
+ type: 'plugin',
286
+ source: 'source1',
287
+ enabled: true,
288
+ });
289
+ registry.registerTool({
290
+ name: 'source1:tool2',
291
+ type: 'plugin',
292
+ source: 'source1',
293
+ enabled: true,
294
+ });
295
+ registry.registerTool({
296
+ name: 'source2:tool1',
297
+ type: 'plugin',
298
+ source: 'source2',
299
+ enabled: true,
300
+ });
301
+ const tools = registry.getToolsBySource('source1');
302
+ expect(tools).toHaveLength(2);
303
+ });
304
+ });
305
+ describe('searchTools', () => {
306
+ it('should search tools by keyword', () => {
307
+ registry.registerTool({
308
+ name: 'search:file-reader',
309
+ type: 'plugin',
310
+ source: 'test',
311
+ description: 'Reads files from disk',
312
+ enabled: true,
313
+ });
314
+ registry.registerTool({
315
+ name: 'search:file-writer',
316
+ type: 'plugin',
317
+ source: 'test',
318
+ description: 'Writes files to disk',
319
+ enabled: true,
320
+ });
321
+ const results = registry.searchTools('file');
322
+ expect(results).toHaveLength(2);
323
+ const readerOnly = registry.searchTools('reader');
324
+ expect(readerOnly).toHaveLength(1);
325
+ });
326
+ });
327
+ });
328
+ // ============================================================
329
+ // Permission Adapter Tests
330
+ // ============================================================
331
+ describe('Permission Adapter', () => {
332
+ beforeEach(() => {
333
+ clearPermissionCache();
334
+ ToolRegistry.resetInstance();
335
+ });
336
+ describe('checkPermission', () => {
337
+ it('should allow built-in safe MCP tools', () => {
338
+ const result = checkPermission('mcp__context7__query-docs');
339
+ expect(result.allowed).toBe(true);
340
+ });
341
+ it('should require permission for write operations', () => {
342
+ const result = checkPermission('mcp__filesystem__write_file', { path: '/test' });
343
+ expect(result.allowed).toBe(false);
344
+ expect(result.askUser).toBe(true);
345
+ });
346
+ it('should cache permission decisions', () => {
347
+ const first = checkPermission('mcp__context7__query-docs');
348
+ const second = checkPermission('mcp__context7__query-docs');
349
+ expect(first).toEqual(second);
350
+ });
351
+ });
352
+ describe('grantPermission', () => {
353
+ it('should cache granted permission', () => {
354
+ grantPermission('custom:tool');
355
+ const result = checkPermission('custom:tool');
356
+ expect(result.allowed).toBe(true);
357
+ expect(result.reason).toBe('User granted permission');
358
+ });
359
+ });
360
+ describe('denyPermission', () => {
361
+ it('should cache denied permission', () => {
362
+ denyPermission('custom:tool');
363
+ const result = checkPermission('custom:tool');
364
+ expect(result.allowed).toBe(false);
365
+ expect(result.reason).toBe('User denied permission');
366
+ });
367
+ });
368
+ describe('addSafePattern', () => {
369
+ it('should add custom safe patterns', () => {
370
+ addSafePattern({
371
+ tool: 'custom:safe-tool',
372
+ pattern: /.*/,
373
+ description: 'Custom safe tool',
374
+ source: 'test',
375
+ });
376
+ const patterns = getSafePatterns();
377
+ const found = patterns.find(p => p.tool === 'custom:safe-tool');
378
+ expect(found).toBeDefined();
379
+ });
380
+ });
381
+ describe('shouldDelegate', () => {
382
+ it('should delegate plugin tools', () => {
383
+ const registry = getRegistry();
384
+ registry.registerTool({
385
+ name: 'external:tool',
386
+ type: 'plugin',
387
+ source: 'external-plugin',
388
+ enabled: true,
389
+ });
390
+ expect(shouldDelegate('external:tool')).toBe(true);
391
+ });
392
+ it('should delegate MCP tools', () => {
393
+ const registry = getRegistry();
394
+ registry.registerTool({
395
+ name: 'mcp:tool',
396
+ type: 'mcp',
397
+ source: 'mcp-server',
398
+ enabled: true,
399
+ });
400
+ expect(shouldDelegate('mcp:tool')).toBe(true);
401
+ });
402
+ });
403
+ describe('getDelegationTarget', () => {
404
+ it('should return plugin target for plugin tools', () => {
405
+ const registry = getRegistry();
406
+ registry.registerTool({
407
+ name: 'plugin:tool',
408
+ type: 'plugin',
409
+ source: 'my-plugin',
410
+ enabled: true,
411
+ });
412
+ const target = getDelegationTarget('plugin:tool');
413
+ expect(target?.type).toBe('plugin');
414
+ expect(target?.target).toBe('my-plugin');
415
+ });
416
+ it('should return mcp target for MCP tools', () => {
417
+ const registry = getRegistry();
418
+ registry.registerTool({
419
+ name: 'mcp:tool',
420
+ type: 'mcp',
421
+ source: 'my-server',
422
+ enabled: true,
423
+ });
424
+ const target = getDelegationTarget('mcp:tool');
425
+ expect(target?.type).toBe('mcp');
426
+ expect(target?.target).toBe('my-server');
427
+ });
428
+ });
429
+ });
430
+ // ============================================================
431
+ // Event Listener Tests
432
+ // ============================================================
433
+ describe('Registry Events', () => {
434
+ let registry;
435
+ beforeEach(() => {
436
+ ToolRegistry.resetInstance();
437
+ registry = new ToolRegistry();
438
+ });
439
+ it('should emit tool-registered event', () => {
440
+ const listener = vi.fn();
441
+ registry.addEventListener(listener);
442
+ registry.registerTool({
443
+ name: 'event:tool',
444
+ type: 'plugin',
445
+ source: 'test',
446
+ enabled: true,
447
+ });
448
+ expect(listener).toHaveBeenCalledWith(expect.objectContaining({
449
+ type: 'tool-registered',
450
+ data: expect.objectContaining({ tool: 'event:tool' }),
451
+ }));
452
+ });
453
+ it('should emit tool-conflict event', () => {
454
+ const listener = vi.fn();
455
+ registry.addEventListener(listener);
456
+ registry.registerTool({
457
+ name: 'conflict:tool',
458
+ type: 'plugin',
459
+ source: 'first',
460
+ enabled: true,
461
+ });
462
+ registry.registerTool({
463
+ name: 'conflict:tool',
464
+ type: 'plugin',
465
+ source: 'second',
466
+ enabled: true,
467
+ });
468
+ const conflictEvent = listener.mock.calls.find(call => call[0].type === 'tool-conflict');
469
+ expect(conflictEvent).toBeDefined();
470
+ });
471
+ it('should allow removing event listeners', () => {
472
+ const listener = vi.fn();
473
+ registry.addEventListener(listener);
474
+ registry.removeEventListener(listener);
475
+ registry.registerTool({
476
+ name: 'removed:tool',
477
+ type: 'plugin',
478
+ source: 'test',
479
+ enabled: true,
480
+ });
481
+ expect(listener).not.toHaveBeenCalled();
482
+ });
483
+ });
484
+ //# sourceMappingURL=compatibility.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility.test.js","sourceRoot":"","sources":["../../src/__tests__/compatibility.test.ts"],"names":[],"mappings":"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"}
@@ -126,6 +126,10 @@ describe('renderAnalyticsLineWithConfig', () => {
126
126
  const result = renderAnalyticsLineWithConfig({ ...baseAnalytics, costColor: 'red' }, true, true);
127
127
  expect(result).toContain('🔴');
128
128
  });
129
+ it('handles empty topAgents gracefully', () => {
130
+ const result = renderAnalyticsLineWithConfig({ ...baseAnalytics, topAgents: 'none' }, true, true);
131
+ expect(result).toContain('Top: none');
132
+ });
129
133
  });
130
134
  describe('showCost=false, showCache=true', () => {
131
135
  it('hides cost but shows cache', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-display.test.js","sourceRoot":"","sources":["../../../src/__tests__/hud/analytics-display.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics-display.test.js","sourceRoot":"","sources":["../../../src/__tests__/hud/analytics-display.test.ts"],"names":[],"mappings":"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"}
File without changes
package/dist/cli/index.js CHANGED
File without changes
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Plugin and MCP Server Discovery
3
+ *
4
+ * Discovers external plugins, MCP servers, and tools from:
5
+ * - ~/.claude/plugins/ (Claude Code plugins)
6
+ * - ~/.claude/settings.json (MCP servers config)
7
+ * - ~/.claude/claude_desktop_config.json (Desktop app MCP config)
8
+ * - Project-local .claude-plugin/ directories
9
+ */
10
+ import type { DiscoveryOptions, DiscoveredPlugin, DiscoveredMcpServer, ExternalTool } from './types.js';
11
+ /**
12
+ * Security Error for discovery operations
13
+ */
14
+ export declare class DiscoverySecurityError extends Error {
15
+ constructor(message: string);
16
+ }
17
+ /**
18
+ * Discover all plugins from configured paths
19
+ */
20
+ export declare function discoverPlugins(options?: DiscoveryOptions): DiscoveredPlugin[];
21
+ /**
22
+ * Discover all MCP servers from configuration files
23
+ */
24
+ export declare function discoverMcpServers(options?: DiscoveryOptions): DiscoveredMcpServer[];
25
+ /**
26
+ * Discover MCP servers from plugin manifests
27
+ */
28
+ export declare function discoverPluginMcpServers(plugins: DiscoveredPlugin[]): DiscoveredMcpServer[];
29
+ /**
30
+ * Full discovery of all external resources
31
+ */
32
+ export interface DiscoveryResult {
33
+ plugins: DiscoveredPlugin[];
34
+ mcpServers: DiscoveredMcpServer[];
35
+ allTools: ExternalTool[];
36
+ timestamp: number;
37
+ }
38
+ /**
39
+ * Perform full discovery of plugins and MCP servers
40
+ */
41
+ export declare function discoverAll(options?: DiscoveryOptions): DiscoveryResult;
42
+ /**
43
+ * Get paths being scanned for plugins
44
+ */
45
+ export declare function getPluginPaths(): string[];
46
+ /**
47
+ * Get path to MCP config file if it exists
48
+ */
49
+ export declare function getMcpConfigPath(): string | null;
50
+ /**
51
+ * Check if a specific plugin is installed
52
+ */
53
+ export declare function isPluginInstalled(pluginName: string): boolean;
54
+ /**
55
+ * Get plugin info by name
56
+ */
57
+ export declare function getPluginInfo(pluginName: string): DiscoveredPlugin | null;
58
+ //# sourceMappingURL=discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/compatibility/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAGnB,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAoZD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CA2B9E;AA4FD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAyBpF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,EAAE,CAkB3F;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,UAAU,EAAE,mBAAmB,EAAE,CAAC;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe,CA+BvE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAEzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAQhD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAQ7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAQzE"}