oh-my-claude-sisyphus 3.7.5 → 3.7.6

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 (394) hide show
  1. package/dist/cli/analytics.js +0 -0
  2. package/dist/cli/index.js +0 -0
  3. package/dist/tools/ast-tools.d.ts.map +1 -1
  4. package/dist/tools/ast-tools.js +39 -19
  5. package/dist/tools/ast-tools.js.map +1 -1
  6. package/dist/tools/diagnostics/__tests__/detectProjectType.test.d.ts +5 -0
  7. package/dist/tools/diagnostics/__tests__/detectProjectType.test.d.ts.map +1 -0
  8. package/dist/tools/diagnostics/__tests__/detectProjectType.test.js +42 -0
  9. package/dist/tools/diagnostics/__tests__/detectProjectType.test.js.map +1 -0
  10. package/dist/tools/diagnostics/__tests__/integration.test.d.ts +5 -0
  11. package/dist/tools/diagnostics/__tests__/integration.test.d.ts.map +1 -0
  12. package/dist/tools/diagnostics/__tests__/integration.test.js +66 -0
  13. package/dist/tools/diagnostics/__tests__/integration.test.js.map +1 -0
  14. package/dist/tools/diagnostics/__tests__/parser-tests.d.ts +5 -0
  15. package/dist/tools/diagnostics/__tests__/parser-tests.d.ts.map +1 -0
  16. package/dist/tools/diagnostics/__tests__/parser-tests.js +86 -0
  17. package/dist/tools/diagnostics/__tests__/parser-tests.js.map +1 -0
  18. package/dist/tools/diagnostics/__tests__/parsers.test.d.ts +5 -0
  19. package/dist/tools/diagnostics/__tests__/parsers.test.d.ts.map +1 -0
  20. package/dist/tools/diagnostics/__tests__/parsers.test.js +199 -0
  21. package/dist/tools/diagnostics/__tests__/parsers.test.js.map +1 -0
  22. package/dist/tools/diagnostics/constants.d.ts +9 -0
  23. package/dist/tools/diagnostics/constants.d.ts.map +1 -0
  24. package/dist/tools/diagnostics/constants.js +9 -0
  25. package/dist/tools/diagnostics/constants.js.map +1 -0
  26. package/dist/tools/diagnostics/go-runner.d.ts +31 -0
  27. package/dist/tools/diagnostics/go-runner.d.ts.map +1 -0
  28. package/dist/tools/diagnostics/go-runner.js +78 -0
  29. package/dist/tools/diagnostics/go-runner.js.map +1 -0
  30. package/dist/tools/diagnostics/index.d.ts +32 -7
  31. package/dist/tools/diagnostics/index.d.ts.map +1 -1
  32. package/dist/tools/diagnostics/index.js +171 -41
  33. package/dist/tools/diagnostics/index.js.map +1 -1
  34. package/dist/tools/diagnostics/lsp-aggregator.d.ts +13 -1
  35. package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -1
  36. package/dist/tools/diagnostics/lsp-aggregator.js +32 -4
  37. package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -1
  38. package/dist/tools/diagnostics/python-runner.d.ts +39 -0
  39. package/dist/tools/diagnostics/python-runner.d.ts.map +1 -0
  40. package/dist/tools/diagnostics/python-runner.js +200 -0
  41. package/dist/tools/diagnostics/python-runner.js.map +1 -0
  42. package/dist/tools/diagnostics/rust-runner.d.ts +34 -0
  43. package/dist/tools/diagnostics/rust-runner.d.ts.map +1 -0
  44. package/dist/tools/diagnostics/rust-runner.js +106 -0
  45. package/dist/tools/diagnostics/rust-runner.js.map +1 -0
  46. package/dist/tools/diagnostics/tsc-runner.d.ts +6 -0
  47. package/dist/tools/diagnostics/tsc-runner.d.ts.map +1 -1
  48. package/dist/tools/diagnostics/tsc-runner.js +32 -5
  49. package/dist/tools/diagnostics/tsc-runner.js.map +1 -1
  50. package/dist/tools/lsp/client.d.ts.map +1 -1
  51. package/dist/tools/lsp/client.js +26 -1
  52. package/dist/tools/lsp/client.js.map +1 -1
  53. package/dist/tools/lsp/servers.d.ts +3 -0
  54. package/dist/tools/lsp/servers.d.ts.map +1 -1
  55. package/dist/tools/lsp/servers.js +111 -4
  56. package/dist/tools/lsp/servers.js.map +1 -1
  57. package/dist/tools/lsp-tools.d.ts +2 -2
  58. package/dist/tools/lsp-tools.d.ts.map +1 -1
  59. package/dist/tools/lsp-tools.js +2 -2
  60. package/dist/tools/lsp-tools.js.map +1 -1
  61. package/package.json +1 -1
  62. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  63. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  64. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  65. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  66. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  67. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  68. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  69. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  70. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  71. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  72. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  73. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  74. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  75. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  76. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  77. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  78. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  79. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  80. package/dist/__tests__/learned-skills/config.test.js +0 -37
  81. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  82. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  83. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  84. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  85. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  86. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  87. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  88. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  89. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  90. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  91. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  92. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  93. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  94. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  95. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  96. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  97. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  98. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  99. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  100. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  101. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  102. package/dist/agents/codex-agents.d.ts +0 -20
  103. package/dist/agents/codex-agents.d.ts.map +0 -1
  104. package/dist/agents/codex-agents.js +0 -36
  105. package/dist/agents/codex-agents.js.map +0 -1
  106. package/dist/agents/document-writer.d.ts +0 -11
  107. package/dist/agents/document-writer.d.ts.map +0 -1
  108. package/dist/agents/document-writer.js +0 -209
  109. package/dist/agents/document-writer.js.map +0 -1
  110. package/dist/agents/frontend-engineer.d.ts +0 -11
  111. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  112. package/dist/agents/frontend-engineer.js +0 -115
  113. package/dist/agents/frontend-engineer.js.map +0 -1
  114. package/dist/agents/librarian.d.ts +0 -12
  115. package/dist/agents/librarian.d.ts.map +0 -1
  116. package/dist/agents/librarian.js +0 -103
  117. package/dist/agents/librarian.js.map +0 -1
  118. package/dist/agents/metis.d.ts +0 -12
  119. package/dist/agents/metis.d.ts.map +0 -1
  120. package/dist/agents/metis.js +0 -117
  121. package/dist/agents/metis.js.map +0 -1
  122. package/dist/agents/momus.d.ts +0 -12
  123. package/dist/agents/momus.d.ts.map +0 -1
  124. package/dist/agents/momus.js +0 -128
  125. package/dist/agents/momus.js.map +0 -1
  126. package/dist/agents/multimodal-looker.d.ts +0 -11
  127. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  128. package/dist/agents/multimodal-looker.js +0 -70
  129. package/dist/agents/multimodal-looker.js.map +0 -1
  130. package/dist/agents/oracle.d.ts +0 -13
  131. package/dist/agents/oracle.d.ts.map +0 -1
  132. package/dist/agents/oracle.js +0 -191
  133. package/dist/agents/oracle.js.map +0 -1
  134. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  135. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  136. package/dist/agents/orchestrator-sisyphus.js +0 -115
  137. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  138. package/dist/agents/prometheus.d.ts +0 -12
  139. package/dist/agents/prometheus.d.ts.map +0 -1
  140. package/dist/agents/prometheus.js +0 -195
  141. package/dist/agents/prometheus.js.map +0 -1
  142. package/dist/agents/sisyphus-junior.d.ts +0 -12
  143. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  144. package/dist/agents/sisyphus-junior.js +0 -93
  145. package/dist/agents/sisyphus-junior.js.map +0 -1
  146. package/dist/cli/components/CostDashboard.d.ts +0 -15
  147. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  148. package/dist/cli/components/CostDashboard.js +0 -15
  149. package/dist/cli/components/CostDashboard.js.map +0 -1
  150. package/dist/cli/components/LiveStats.d.ts +0 -16
  151. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  152. package/dist/cli/components/LiveStats.js +0 -16
  153. package/dist/cli/components/LiveStats.js.map +0 -1
  154. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  155. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  156. package/dist/cli/components/SessionBrowser.js +0 -14
  157. package/dist/cli/components/SessionBrowser.js.map +0 -1
  158. package/dist/cli/tui.d.ts +0 -21
  159. package/dist/cli/tui.d.ts.map +0 -1
  160. package/dist/cli/tui.js +0 -21
  161. package/dist/cli/tui.js.map +0 -1
  162. package/dist/hooks/autopilot/signals.d.ts +0 -20
  163. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  164. package/dist/hooks/autopilot/signals.js +0 -75
  165. package/dist/hooks/autopilot/signals.js.map +0 -1
  166. package/dist/hooks/autopilot/summary.d.ts +0 -27
  167. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  168. package/dist/hooks/autopilot/summary.js +0 -160
  169. package/dist/hooks/autopilot/summary.js.map +0 -1
  170. package/dist/hooks/autopilot/transition.d.ts +0 -39
  171. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  172. package/dist/hooks/autopilot/transition.js +0 -216
  173. package/dist/hooks/autopilot/transition.js.map +0 -1
  174. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  175. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  176. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  177. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  178. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  179. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  180. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  181. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  182. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  183. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  184. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  185. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  186. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  187. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  188. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  189. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  190. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  191. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  192. package/dist/hooks/edit-error-recovery/index.js +0 -89
  193. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  194. package/dist/hooks/github-auto-responder/classifier.d.ts +0 -43
  195. package/dist/hooks/github-auto-responder/classifier.d.ts.map +0 -1
  196. package/dist/hooks/github-auto-responder/classifier.js +0 -150
  197. package/dist/hooks/github-auto-responder/classifier.js.map +0 -1
  198. package/dist/hooks/github-auto-responder/config.d.ts +0 -109
  199. package/dist/hooks/github-auto-responder/config.d.ts.map +0 -1
  200. package/dist/hooks/github-auto-responder/config.js +0 -69
  201. package/dist/hooks/github-auto-responder/config.js.map +0 -1
  202. package/dist/hooks/github-auto-responder/constants.d.ts +0 -45
  203. package/dist/hooks/github-auto-responder/constants.d.ts.map +0 -1
  204. package/dist/hooks/github-auto-responder/constants.js +0 -60
  205. package/dist/hooks/github-auto-responder/constants.js.map +0 -1
  206. package/dist/hooks/github-auto-responder/filters.d.ts +0 -95
  207. package/dist/hooks/github-auto-responder/filters.d.ts.map +0 -1
  208. package/dist/hooks/github-auto-responder/filters.js +0 -174
  209. package/dist/hooks/github-auto-responder/filters.js.map +0 -1
  210. package/dist/hooks/github-auto-responder/github-client.d.ts +0 -65
  211. package/dist/hooks/github-auto-responder/github-client.d.ts.map +0 -1
  212. package/dist/hooks/github-auto-responder/github-client.js +0 -128
  213. package/dist/hooks/github-auto-responder/github-client.js.map +0 -1
  214. package/dist/hooks/github-auto-responder/idempotency.d.ts +0 -68
  215. package/dist/hooks/github-auto-responder/idempotency.d.ts.map +0 -1
  216. package/dist/hooks/github-auto-responder/idempotency.js +0 -147
  217. package/dist/hooks/github-auto-responder/idempotency.js.map +0 -1
  218. package/dist/hooks/github-auto-responder/index.d.ts +0 -140
  219. package/dist/hooks/github-auto-responder/index.d.ts.map +0 -1
  220. package/dist/hooks/github-auto-responder/index.js +0 -145
  221. package/dist/hooks/github-auto-responder/index.js.map +0 -1
  222. package/dist/hooks/github-auto-responder/persona.d.ts +0 -40
  223. package/dist/hooks/github-auto-responder/persona.d.ts.map +0 -1
  224. package/dist/hooks/github-auto-responder/persona.js +0 -99
  225. package/dist/hooks/github-auto-responder/persona.js.map +0 -1
  226. package/dist/hooks/github-auto-responder/responder.d.ts +0 -122
  227. package/dist/hooks/github-auto-responder/responder.d.ts.map +0 -1
  228. package/dist/hooks/github-auto-responder/responder.js +0 -264
  229. package/dist/hooks/github-auto-responder/responder.js.map +0 -1
  230. package/dist/hooks/github-auto-responder/server.d.ts +0 -140
  231. package/dist/hooks/github-auto-responder/server.d.ts.map +0 -1
  232. package/dist/hooks/github-auto-responder/server.js +0 -301
  233. package/dist/hooks/github-auto-responder/server.js.map +0 -1
  234. package/dist/hooks/github-auto-responder/signature.d.ts +0 -34
  235. package/dist/hooks/github-auto-responder/signature.d.ts.map +0 -1
  236. package/dist/hooks/github-auto-responder/signature.js +0 -79
  237. package/dist/hooks/github-auto-responder/signature.js.map +0 -1
  238. package/dist/hooks/github-auto-responder/templates.d.ts +0 -16
  239. package/dist/hooks/github-auto-responder/templates.d.ts.map +0 -1
  240. package/dist/hooks/github-auto-responder/templates.js +0 -93
  241. package/dist/hooks/github-auto-responder/templates.js.map +0 -1
  242. package/dist/hooks/github-auto-responder/types.d.ts +0 -246
  243. package/dist/hooks/github-auto-responder/types.d.ts.map +0 -1
  244. package/dist/hooks/github-auto-responder/types.js +0 -7
  245. package/dist/hooks/github-auto-responder/types.js.map +0 -1
  246. package/dist/hooks/learned-skills/config.d.ts +0 -53
  247. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  248. package/dist/hooks/learned-skills/config.js +0 -103
  249. package/dist/hooks/learned-skills/config.js.map +0 -1
  250. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  251. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  252. package/dist/hooks/learned-skills/constants.js +0 -26
  253. package/dist/hooks/learned-skills/constants.js.map +0 -1
  254. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  255. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  256. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  257. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  258. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  259. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  260. package/dist/hooks/learned-skills/detector.js +0 -150
  261. package/dist/hooks/learned-skills/detector.js.map +0 -1
  262. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  263. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  264. package/dist/hooks/learned-skills/finder.js +0 -117
  265. package/dist/hooks/learned-skills/finder.js.map +0 -1
  266. package/dist/hooks/learned-skills/index.d.ts +0 -62
  267. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  268. package/dist/hooks/learned-skills/index.js +0 -137
  269. package/dist/hooks/learned-skills/index.js.map +0 -1
  270. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  271. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  272. package/dist/hooks/learned-skills/loader.js +0 -107
  273. package/dist/hooks/learned-skills/loader.js.map +0 -1
  274. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  275. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  276. package/dist/hooks/learned-skills/parser.js +0 -190
  277. package/dist/hooks/learned-skills/parser.js.map +0 -1
  278. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  279. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  280. package/dist/hooks/learned-skills/promotion.js +0 -87
  281. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  282. package/dist/hooks/learned-skills/types.d.ts +0 -109
  283. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  284. package/dist/hooks/learned-skills/types.js +0 -8
  285. package/dist/hooks/learned-skills/types.js.map +0 -1
  286. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  287. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  288. package/dist/hooks/learned-skills/validator.js +0 -87
  289. package/dist/hooks/learned-skills/validator.js.map +0 -1
  290. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  291. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  292. package/dist/hooks/learned-skills/writer.js +0 -126
  293. package/dist/hooks/learned-skills/writer.js.map +0 -1
  294. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  295. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  296. package/dist/hooks/mnemosyne/config.js +0 -103
  297. package/dist/hooks/mnemosyne/config.js.map +0 -1
  298. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  299. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  300. package/dist/hooks/mnemosyne/constants.js +0 -26
  301. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  302. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  303. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  304. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  305. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  306. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  307. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  308. package/dist/hooks/mnemosyne/detector.js +0 -150
  309. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  310. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  311. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  312. package/dist/hooks/mnemosyne/finder.js +0 -117
  313. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  314. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  315. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  316. package/dist/hooks/mnemosyne/index.js +0 -137
  317. package/dist/hooks/mnemosyne/index.js.map +0 -1
  318. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  319. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  320. package/dist/hooks/mnemosyne/loader.js +0 -113
  321. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  322. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  323. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  324. package/dist/hooks/mnemosyne/parser.js +0 -190
  325. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  326. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  327. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  328. package/dist/hooks/mnemosyne/promotion.js +0 -87
  329. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  330. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  331. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  332. package/dist/hooks/mnemosyne/types.js +0 -8
  333. package/dist/hooks/mnemosyne/types.js.map +0 -1
  334. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  335. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  336. package/dist/hooks/mnemosyne/validator.js +0 -87
  337. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  338. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  339. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  340. package/dist/hooks/mnemosyne/writer.js +0 -126
  341. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  342. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  343. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  344. package/dist/hooks/ralph-loop/index.js +0 -322
  345. package/dist/hooks/ralph-loop/index.js.map +0 -1
  346. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  347. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  348. package/dist/hooks/ralph-prd/index.js +0 -310
  349. package/dist/hooks/ralph-prd/index.js.map +0 -1
  350. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  351. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  352. package/dist/hooks/ralph-progress/index.js +0 -408
  353. package/dist/hooks/ralph-progress/index.js.map +0 -1
  354. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  355. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  356. package/dist/hooks/ralph-verifier/index.js +0 -223
  357. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  358. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  359. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  360. package/dist/hooks/session-recovery/constants.js +0 -78
  361. package/dist/hooks/session-recovery/constants.js.map +0 -1
  362. package/dist/hooks/session-recovery/index.d.ts +0 -53
  363. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  364. package/dist/hooks/session-recovery/index.js +0 -321
  365. package/dist/hooks/session-recovery/index.js.map +0 -1
  366. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  367. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  368. package/dist/hooks/session-recovery/storage.js +0 -383
  369. package/dist/hooks/session-recovery/storage.js.map +0 -1
  370. package/dist/hooks/session-recovery/types.d.ts +0 -145
  371. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  372. package/dist/hooks/session-recovery/types.js +0 -8
  373. package/dist/hooks/session-recovery/types.js.map +0 -1
  374. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  375. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  376. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  377. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  378. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  379. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  380. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  381. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  382. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  383. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  384. package/dist/hooks/ultraqa-loop/index.js +0 -216
  385. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  386. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  387. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  388. package/dist/hooks/ultrawork-state/index.js +0 -208
  389. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  390. package/dist/hud/sisyphus-state.d.ts +0 -31
  391. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  392. package/dist/hud/sisyphus-state.js +0 -163
  393. package/dist/hud/sisyphus-state.js.map +0 -1
  394. package/scripts/github-webhook-server.ts +0 -141
@@ -1,212 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { calculateCost, formatCost, getCostColor, estimateDailyCost, estimateMonthlyCost } from '../../analytics/cost-estimator.js';
3
- describe('CostEstimator', () => {
4
- describe('calculateCost', () => {
5
- it('should calculate cost for Sonnet model', () => {
6
- const input = {
7
- modelName: 'claude-sonnet-4-5-20250929',
8
- inputTokens: 1_000_000,
9
- outputTokens: 1_000_000,
10
- cacheCreationTokens: 0,
11
- cacheReadTokens: 0
12
- };
13
- const cost = calculateCost(input);
14
- // Sonnet: input $3/M, output $15/M
15
- expect(cost.inputCost).toBe(3.0); // 1M * $3/M
16
- expect(cost.outputCost).toBe(15.0); // 1M * $15/M
17
- expect(cost.totalCost).toBe(18.0);
18
- });
19
- it('should calculate cost for Haiku model', () => {
20
- const input = {
21
- modelName: 'claude-haiku-4-5-20251001',
22
- inputTokens: 1_000_000,
23
- outputTokens: 1_000_000,
24
- cacheCreationTokens: 0,
25
- cacheReadTokens: 0
26
- };
27
- const cost = calculateCost(input);
28
- // Haiku: input $0.80/M, output $4.00/M
29
- expect(cost.inputCost).toBe(0.80);
30
- expect(cost.outputCost).toBe(4.0);
31
- expect(cost.totalCost).toBe(4.80);
32
- });
33
- it('should calculate cost for Opus model', () => {
34
- const input = {
35
- modelName: 'claude-opus-4-5-20251101',
36
- inputTokens: 1_000_000,
37
- outputTokens: 1_000_000,
38
- cacheCreationTokens: 0,
39
- cacheReadTokens: 0
40
- };
41
- const cost = calculateCost(input);
42
- // Opus: input $15/M, output $75/M
43
- expect(cost.inputCost).toBe(15.0);
44
- expect(cost.outputCost).toBe(75.0);
45
- expect(cost.totalCost).toBe(90.0);
46
- });
47
- it('should apply cache write markup (25%)', () => {
48
- const input = {
49
- modelName: 'claude-sonnet-4-5-20250929',
50
- inputTokens: 0,
51
- outputTokens: 0,
52
- cacheCreationTokens: 1_000_000,
53
- cacheReadTokens: 0
54
- };
55
- const cost = calculateCost(input);
56
- // Sonnet input: $3/M, cache write markup 25%
57
- // Cost = 1M * $3/M * (1 + 0.25) = $3.75
58
- expect(cost.cacheWriteCost).toBe(3.75);
59
- expect(cost.totalCost).toBe(3.75);
60
- });
61
- it('should apply cache read discount (90%)', () => {
62
- const input = {
63
- modelName: 'claude-sonnet-4-5-20250929',
64
- inputTokens: 0,
65
- outputTokens: 0,
66
- cacheCreationTokens: 0,
67
- cacheReadTokens: 1_000_000
68
- };
69
- const cost = calculateCost(input);
70
- // Sonnet input: $3/M, cache read discount 90%
71
- // Cost = 1M * $3/M * (1 - 0.90) = $0.30
72
- expect(cost.cacheReadCost).toBe(0.30);
73
- expect(cost.totalCost).toBe(0.30);
74
- });
75
- it('should sum all cost components', () => {
76
- const input = {
77
- modelName: 'claude-sonnet-4-5-20250929',
78
- inputTokens: 1_000_000,
79
- outputTokens: 1_000_000,
80
- cacheCreationTokens: 1_000_000,
81
- cacheReadTokens: 1_000_000
82
- };
83
- const cost = calculateCost(input);
84
- // Input: $3
85
- // Output: $15
86
- // Cache write: 1M * $3 * 1.25 = $3.75
87
- // Cache read: 1M * $3 * 0.10 = $0.30
88
- // Total: $3 + $15 + $3.75 + $0.30 = $22.05
89
- expect(cost.totalCost).toBeCloseTo(22.05, 2);
90
- });
91
- it('should handle partial token counts', () => {
92
- const input = {
93
- modelName: 'claude-sonnet-4-5-20250929',
94
- inputTokens: 100,
95
- outputTokens: 50,
96
- cacheCreationTokens: 0,
97
- cacheReadTokens: 0
98
- };
99
- const cost = calculateCost(input);
100
- // Input: 100/1M * $3 = $0.0003
101
- // Output: 50/1M * $15 = $0.00075
102
- const expected = (100 / 1_000_000) * 3 + (50 / 1_000_000) * 15;
103
- expect(cost.totalCost).toBeCloseTo(expected, 6);
104
- });
105
- it('should handle model name variations', () => {
106
- const inputs = [
107
- { modelName: 'claude-sonnet-4.5', inputTokens: 1_000_000, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0 },
108
- { modelName: 'Claude-Sonnet-4.5', inputTokens: 1_000_000, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0 },
109
- { modelName: 'claude-sonnet-4-5-20250929', inputTokens: 1_000_000, outputTokens: 0, cacheCreationTokens: 0, cacheReadTokens: 0 }
110
- ];
111
- const costs = inputs.map(calculateCost);
112
- // All should recognize as Sonnet
113
- costs.forEach(cost => {
114
- expect(cost.inputCost).toBe(3.0);
115
- });
116
- });
117
- it('should default to Sonnet for unknown models', () => {
118
- const input = {
119
- modelName: 'claude-unknown-future-model',
120
- inputTokens: 1_000_000,
121
- outputTokens: 0,
122
- cacheCreationTokens: 0,
123
- cacheReadTokens: 0
124
- };
125
- const cost = calculateCost(input);
126
- // Should use Sonnet pricing
127
- expect(cost.inputCost).toBe(3.0);
128
- });
129
- it('should handle zero tokens', () => {
130
- const input = {
131
- modelName: 'claude-sonnet-4-5-20250929',
132
- inputTokens: 0,
133
- outputTokens: 0,
134
- cacheCreationTokens: 0,
135
- cacheReadTokens: 0
136
- };
137
- const cost = calculateCost(input);
138
- expect(cost.totalCost).toBe(0);
139
- });
140
- });
141
- describe('formatCost', () => {
142
- it('should format costs under $0.01 in cents', () => {
143
- expect(formatCost(0.005)).toBe('$0.5000¢');
144
- expect(formatCost(0.0001)).toBe('$0.0100¢');
145
- });
146
- it('should format costs over $0.01 in dollars', () => {
147
- expect(formatCost(1.0)).toBe('$1.0000');
148
- expect(formatCost(0.5432)).toBe('$0.5432');
149
- });
150
- it('should handle zero', () => {
151
- expect(formatCost(0)).toBe('$0.0000¢');
152
- });
153
- it('should round to 4 decimal places', () => {
154
- expect(formatCost(1.23456)).toBe('$1.2346');
155
- expect(formatCost(0.005678)).toBe('$0.5678¢');
156
- });
157
- });
158
- describe('getCostColor', () => {
159
- it('should return green for low costs', () => {
160
- expect(getCostColor(0.50)).toBe('green');
161
- expect(getCostColor(0.99)).toBe('green');
162
- });
163
- it('should return yellow for medium costs', () => {
164
- expect(getCostColor(1.0)).toBe('yellow');
165
- expect(getCostColor(2.5)).toBe('yellow');
166
- expect(getCostColor(4.99)).toBe('yellow');
167
- });
168
- it('should return red for high costs', () => {
169
- expect(getCostColor(5.0)).toBe('red');
170
- expect(getCostColor(10.0)).toBe('red');
171
- });
172
- it('should handle boundary values', () => {
173
- expect(getCostColor(1.0)).toBe('yellow');
174
- expect(getCostColor(5.0)).toBe('red');
175
- });
176
- });
177
- describe('estimateDailyCost', () => {
178
- it('should estimate daily cost for Sonnet', () => {
179
- const dailyCost = estimateDailyCost(1000, 'claude-sonnet-4-5-20250929');
180
- // 1000 tokens/hour * 24 hours = 24000 tokens/day
181
- // 24000 * $3/M = $0.072
182
- expect(dailyCost).toBeCloseTo(0.072, 4);
183
- });
184
- it('should estimate daily cost for Haiku', () => {
185
- const dailyCost = estimateDailyCost(1000, 'claude-haiku-4-5-20251001');
186
- // 1000 tokens/hour * 24 hours = 24000 tokens/day
187
- // 24000 * $0.80/M = $0.0192
188
- expect(dailyCost).toBeCloseTo(0.0192, 4);
189
- });
190
- it('should scale with token rate', () => {
191
- const daily1000 = estimateDailyCost(1000, 'claude-sonnet-4-5-20250929');
192
- const daily2000 = estimateDailyCost(2000, 'claude-sonnet-4-5-20250929');
193
- expect(daily2000).toBeCloseTo(daily1000 * 2, 4);
194
- });
195
- });
196
- describe('estimateMonthlyCost', () => {
197
- it('should estimate monthly cost as 30x daily', () => {
198
- const dailyCost = estimateDailyCost(1000, 'claude-sonnet-4-5-20250929');
199
- const monthlyCost = estimateMonthlyCost(1000, 'claude-sonnet-4-5-20250929');
200
- expect(monthlyCost).toBeCloseTo(dailyCost * 30, 4);
201
- });
202
- it('should handle different models', () => {
203
- const monthlyHaiku = estimateMonthlyCost(1000, 'claude-haiku-4-5-20251001');
204
- const monthlySonnet = estimateMonthlyCost(1000, 'claude-sonnet-4-5-20250929');
205
- const monthlyOpus = estimateMonthlyCost(1000, 'claude-opus-4-5-20251101');
206
- // Haiku should be cheapest
207
- expect(monthlyHaiku).toBeLessThan(monthlySonnet);
208
- expect(monthlySonnet).toBeLessThan(monthlyOpus);
209
- });
210
- });
211
- });
212
- //# sourceMappingURL=cost-estimator.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cost-estimator.test.js","sourceRoot":"","sources":["../../../src/__tests__/analytics/cost-estimator.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Integration tests for learned skill discovery
3
- *
4
- * Tests the discoverAllCommands() functionality with project and user-scoped skills
5
- */
6
- export {};
7
- //# sourceMappingURL=executor.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/hooks/auto-slash-command/executor.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,374 +0,0 @@
1
- /**
2
- * Integration tests for learned skill discovery
3
- *
4
- * Tests the discoverAllCommands() functionality with project and user-scoped skills
5
- */
6
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
- import { mkdirSync, writeFileSync, rmSync, existsSync, readdirSync } from 'fs';
8
- import { join } from 'path';
9
- import { tmpdir } from 'os';
10
- import { discoverAllCommands, findCommand, executeSlashCommand } from '../../../hooks/auto-slash-command/executor.js';
11
- describe('Learned Skill Discovery', () => {
12
- let testProjectRoot;
13
- let testUserSkillsDir;
14
- let originalCwd;
15
- beforeEach(() => {
16
- // Save original CWD
17
- originalCwd = process.cwd();
18
- // Create temp project root
19
- testProjectRoot = join(tmpdir(), `omc-test-${Date.now()}`);
20
- mkdirSync(testProjectRoot, { recursive: true });
21
- // Create temp user skills directory
22
- testUserSkillsDir = join(tmpdir(), `omc-user-skills-${Date.now()}`);
23
- mkdirSync(testUserSkillsDir, { recursive: true });
24
- // Change to test project root
25
- process.chdir(testProjectRoot);
26
- });
27
- afterEach(() => {
28
- // Restore original CWD
29
- process.chdir(originalCwd);
30
- // Clean up temp directories
31
- if (existsSync(testProjectRoot)) {
32
- rmSync(testProjectRoot, { recursive: true, force: true });
33
- }
34
- if (existsSync(testUserSkillsDir)) {
35
- rmSync(testUserSkillsDir, { recursive: true, force: true });
36
- }
37
- });
38
- it('should discover skills in project .omc/skills/', () => {
39
- // Create project skills directory
40
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
41
- mkdirSync(projectSkillsDir, { recursive: true });
42
- // Create a test skill file
43
- const skillContent = `---
44
- name: test-project-skill
45
- description: A test project skill
46
- model: sonnet
47
- ---
48
-
49
- This is a test project skill template.
50
-
51
- User request: $ARGUMENTS
52
- `;
53
- writeFileSync(join(projectSkillsDir, 'test-project-skill.md'), skillContent);
54
- // Discover commands
55
- const commands = discoverAllCommands();
56
- // Verify skill is discovered
57
- const projectSkill = commands.find(cmd => cmd.name === 'test-project-skill');
58
- expect(projectSkill).toBeDefined();
59
- expect(projectSkill?.scope).toBe('project-skill');
60
- expect(projectSkill?.metadata.description).toBe('A test project skill');
61
- expect(projectSkill?.metadata.model).toBe('sonnet');
62
- });
63
- it('should discover skills in user ~/.claude/skills/omc-learned/', () => {
64
- // Mock the user skills directory by creating it in our test location
65
- // Note: This test would need to mock homedir() or use environment variables
66
- // For now, we'll test the discoverCommandsFromDir function indirectly
67
- // Create user skills directory (simulated)
68
- const userSkillsDir = join(testProjectRoot, '.test-user-skills');
69
- mkdirSync(userSkillsDir, { recursive: true });
70
- // Create a test user skill file
71
- const skillContent = `---
72
- name: test-user-skill
73
- description: A test user skill
74
- agent: executor
75
- ---
76
-
77
- This is a test user skill template.
78
-
79
- Arguments provided: $ARGUMENTS
80
- `;
81
- writeFileSync(join(userSkillsDir, 'test-user-skill.md'), skillContent);
82
- // Manually test discovery logic (since we can't easily mock homedir)
83
- const entries = readdirSync(userSkillsDir, { withFileTypes: true });
84
- const mdFiles = entries.filter((e) => e.isFile() && e.name.endsWith('.md'));
85
- expect(mdFiles.length).toBeGreaterThan(0);
86
- expect(mdFiles[0].name).toBe('test-user-skill.md');
87
- });
88
- it('should prioritize project skills over user skills with same name', () => {
89
- // Create both project and user skills directories
90
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
91
- mkdirSync(projectSkillsDir, { recursive: true });
92
- // Create project skill
93
- const projectSkillContent = `---
94
- name: duplicate-skill
95
- description: Project version
96
- ---
97
-
98
- This is the PROJECT version.
99
- `;
100
- writeFileSync(join(projectSkillsDir, 'duplicate-skill.md'), projectSkillContent);
101
- // Create .claude/commands user skill (simulating user-level command)
102
- const userCommandsDir = join(testProjectRoot, '.claude-user-sim', 'commands');
103
- mkdirSync(userCommandsDir, { recursive: true });
104
- const userSkillContent = `---
105
- name: duplicate-skill
106
- description: User version
107
- ---
108
-
109
- This is the USER version.
110
- `;
111
- writeFileSync(join(userCommandsDir, 'duplicate-skill.md'), userSkillContent);
112
- // Discover all commands
113
- const commands = discoverAllCommands();
114
- // Find all instances of duplicate-skill
115
- const duplicateSkills = commands.filter(cmd => cmd.name === 'duplicate-skill');
116
- // The first one should be the project skill (higher priority)
117
- if (duplicateSkills.length > 0) {
118
- expect(duplicateSkills[0].scope).toBe('project-skill');
119
- expect(duplicateSkills[0].metadata.description).toBe('Project version');
120
- }
121
- });
122
- it('should parse flat .md format with frontmatter correctly', () => {
123
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
124
- mkdirSync(projectSkillsDir, { recursive: true });
125
- // Create skill with comprehensive frontmatter
126
- const skillContent = `---
127
- name: comprehensive-skill
128
- description: A comprehensive test skill
129
- argument-hint: <task description>
130
- model: opus
131
- agent: architect
132
- ---
133
-
134
- # Comprehensive Skill Template
135
-
136
- This template uses all metadata fields.
137
-
138
- ## Task
139
- $ARGUMENTS
140
-
141
- ## Instructions
142
- 1. Analyze the task
143
- 2. Execute with precision
144
- 3. Verify results
145
- `;
146
- writeFileSync(join(projectSkillsDir, 'comprehensive-skill.md'), skillContent);
147
- const commands = discoverAllCommands();
148
- const skill = commands.find(cmd => cmd.name === 'comprehensive-skill');
149
- expect(skill).toBeDefined();
150
- expect(skill?.metadata.name).toBe('comprehensive-skill');
151
- expect(skill?.metadata.description).toBe('A comprehensive test skill');
152
- expect(skill?.metadata.argumentHint).toBe('<task description>');
153
- expect(skill?.metadata.model).toBe('opus');
154
- expect(skill?.metadata.agent).toBe('architect');
155
- expect(skill?.content).toContain('# Comprehensive Skill Template');
156
- expect(skill?.content).toContain('$ARGUMENTS');
157
- });
158
- it('should fallback to filename if no name field in frontmatter', () => {
159
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
160
- mkdirSync(projectSkillsDir, { recursive: true });
161
- // Create skill WITHOUT name field
162
- const skillContent = `---
163
- description: Skill without explicit name
164
- ---
165
-
166
- This skill has no name field.
167
- `;
168
- writeFileSync(join(projectSkillsDir, 'unnamed-skill.md'), skillContent);
169
- const commands = discoverAllCommands();
170
- const skill = commands.find(cmd => cmd.name === 'unnamed-skill');
171
- expect(skill).toBeDefined();
172
- expect(skill?.metadata.name).toBe('unnamed-skill'); // Should use filename
173
- expect(skill?.metadata.description).toBe('Skill without explicit name');
174
- });
175
- it('should find learned skill by name via findCommand()', () => {
176
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
177
- mkdirSync(projectSkillsDir, { recursive: true });
178
- const skillContent = `---
179
- name: findable-skill
180
- description: A skill that can be found
181
- ---
182
-
183
- This skill should be findable.
184
- `;
185
- writeFileSync(join(projectSkillsDir, 'findable-skill.md'), skillContent);
186
- // Use findCommand to locate it
187
- const found = findCommand('findable-skill');
188
- expect(found).not.toBeNull();
189
- expect(found?.name).toBe('findable-skill');
190
- expect(found?.scope).toBe('project-skill');
191
- expect(found?.metadata.description).toBe('A skill that can be found');
192
- });
193
- it('should execute learned skill slash command correctly', () => {
194
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
195
- mkdirSync(projectSkillsDir, { recursive: true });
196
- const skillContent = `---
197
- name: executable-skill
198
- description: An executable skill
199
- model: sonnet
200
- agent: executor
201
- ---
202
-
203
- Execute the following task:
204
-
205
- $ARGUMENTS
206
-
207
- Please proceed with care.
208
- `;
209
- writeFileSync(join(projectSkillsDir, 'executable-skill.md'), skillContent);
210
- // Simulate slash command execution
211
- const parsed = {
212
- command: 'executable-skill',
213
- args: 'implement feature X',
214
- raw: '/executable-skill implement feature X',
215
- };
216
- const result = executeSlashCommand(parsed);
217
- expect(result.success).toBe(true);
218
- expect(result.replacementText).toBeDefined();
219
- expect(result.replacementText).toContain('executable-skill');
220
- expect(result.replacementText).toContain('An executable skill');
221
- expect(result.replacementText).toContain('**Model**: sonnet');
222
- expect(result.replacementText).toContain('**Agent**: executor');
223
- expect(result.replacementText).toContain('**Scope**: project-skill');
224
- expect(result.replacementText).toContain('implement feature X');
225
- expect(result.replacementText).toContain('Execute the following task:');
226
- });
227
- it('should handle $ARGUMENTS placeholder replacement', () => {
228
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
229
- mkdirSync(projectSkillsDir, { recursive: true });
230
- const skillContent = `---
231
- name: args-test
232
- description: Test argument replacement
233
- ---
234
-
235
- Task: $ARGUMENTS
236
- Context: Processing $ARGUMENTS
237
- Result: Completed $ARGUMENTS
238
- `;
239
- writeFileSync(join(projectSkillsDir, 'args-test.md'), skillContent);
240
- const parsed = {
241
- command: 'args-test',
242
- args: 'build authentication system',
243
- raw: '/args-test build authentication system',
244
- };
245
- const result = executeSlashCommand(parsed);
246
- expect(result.success).toBe(true);
247
- expect(result.replacementText).toContain('Task: build authentication system');
248
- expect(result.replacementText).toContain('Context: Processing build authentication system');
249
- expect(result.replacementText).toContain('Result: Completed build authentication system');
250
- });
251
- it('should handle skills without $ARGUMENTS placeholder', () => {
252
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
253
- mkdirSync(projectSkillsDir, { recursive: true });
254
- const skillContent = `---
255
- name: no-args-placeholder
256
- description: Skill without placeholder
257
- ---
258
-
259
- This is a static template.
260
- It does not use argument placeholders.
261
- `;
262
- writeFileSync(join(projectSkillsDir, 'no-args-placeholder.md'), skillContent);
263
- const parsed = {
264
- command: 'no-args-placeholder',
265
- args: 'some user input',
266
- raw: '/no-args-placeholder some user input',
267
- };
268
- const result = executeSlashCommand(parsed);
269
- expect(result.success).toBe(true);
270
- // Should append user request section when no $ARGUMENTS found
271
- expect(result.replacementText).toContain('This is a static template');
272
- expect(result.replacementText).toContain('## User Request');
273
- expect(result.replacementText).toContain('some user input');
274
- });
275
- it('should return error for non-existent skill', () => {
276
- const parsed = {
277
- command: 'non-existent-skill',
278
- args: 'test',
279
- raw: '/non-existent-skill test',
280
- };
281
- const result = executeSlashCommand(parsed);
282
- expect(result.success).toBe(false);
283
- expect(result.error).toBeDefined();
284
- expect(result.error).toContain('not found');
285
- });
286
- it('should handle empty arguments gracefully', () => {
287
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
288
- mkdirSync(projectSkillsDir, { recursive: true });
289
- const skillContent = `---
290
- name: empty-args-skill
291
- description: Test empty arguments
292
- ---
293
-
294
- Arguments: $ARGUMENTS
295
- `;
296
- writeFileSync(join(projectSkillsDir, 'empty-args-skill.md'), skillContent);
297
- const parsed = {
298
- command: 'empty-args-skill',
299
- args: '',
300
- raw: '/empty-args-skill',
301
- };
302
- const result = executeSlashCommand(parsed);
303
- expect(result.success).toBe(true);
304
- expect(result.replacementText).toContain('Arguments: (no arguments provided)');
305
- });
306
- it('should discover multiple skills from same directory', () => {
307
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
308
- mkdirSync(projectSkillsDir, { recursive: true });
309
- // Create multiple skills
310
- for (let i = 1; i <= 3; i++) {
311
- const skillContent = `---
312
- name: multi-skill-${i}
313
- description: Skill number ${i}
314
- ---
315
-
316
- Template ${i}
317
- `;
318
- writeFileSync(join(projectSkillsDir, `multi-skill-${i}.md`), skillContent);
319
- }
320
- const commands = discoverAllCommands();
321
- const multiSkills = commands.filter(cmd => cmd.name.startsWith('multi-skill-'));
322
- expect(multiSkills.length).toBe(3);
323
- expect(multiSkills.every(s => s.scope === 'project-skill')).toBe(true);
324
- });
325
- it('should ignore non-.md files in skills directory', () => {
326
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
327
- mkdirSync(projectSkillsDir, { recursive: true });
328
- // Create .md file
329
- writeFileSync(join(projectSkillsDir, 'valid-skill.md'), '---\nname: valid\n---\nContent');
330
- // Create non-.md files
331
- writeFileSync(join(projectSkillsDir, 'invalid.txt'), 'Should be ignored');
332
- writeFileSync(join(projectSkillsDir, 'README'), 'Should be ignored');
333
- const commands = discoverAllCommands();
334
- const projectSkills = commands.filter(cmd => cmd.scope === 'project-skill');
335
- expect(projectSkills.length).toBe(1);
336
- expect(projectSkills[0].name).toBe('valid-skill');
337
- });
338
- it('should handle malformed frontmatter gracefully', () => {
339
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
340
- mkdirSync(projectSkillsDir, { recursive: true });
341
- // Create skill with malformed frontmatter
342
- const malformedContent = `---
343
- this is not valid yaml
344
- no colons here
345
- ---
346
-
347
- Body content
348
- `;
349
- writeFileSync(join(projectSkillsDir, 'malformed.md'), malformedContent);
350
- // Should not throw, just skip the malformed file
351
- const commands = discoverAllCommands();
352
- const malformed = commands.find(cmd => cmd.name === 'malformed');
353
- // Should still parse (frontmatter parsing is lenient)
354
- // It will have empty metadata but valid name from filename
355
- expect(malformed?.metadata.name).toBe('malformed');
356
- });
357
- it('should handle skills without frontmatter', () => {
358
- const projectSkillsDir = join(testProjectRoot, '.omc', 'skills');
359
- mkdirSync(projectSkillsDir, { recursive: true });
360
- // Create skill without frontmatter
361
- const noFrontmatter = `This is just plain markdown content.
362
-
363
- No frontmatter at all.
364
- `;
365
- writeFileSync(join(projectSkillsDir, 'no-frontmatter.md'), noFrontmatter);
366
- const commands = discoverAllCommands();
367
- const skill = commands.find(cmd => cmd.name === 'no-frontmatter');
368
- expect(skill).toBeDefined();
369
- expect(skill?.metadata.name).toBe('no-frontmatter');
370
- expect(skill?.metadata.description).toBe(''); // Empty string for missing description
371
- expect(skill?.content).toContain('This is just plain markdown content');
372
- });
373
- });
374
- //# sourceMappingURL=executor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor.test.js","sourceRoot":"","sources":["../../../../src/__tests__/hooks/auto-slash-command/executor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=auto-tracking.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-tracking.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/hud/auto-tracking.integration.test.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- describe('Auto-Tracking Integration', () => {
3
- it('should record tokens on HUD render', async () => {
4
- // TODO: Test end-to-end auto-recording
5
- expect(true).toBe(true);
6
- });
7
- it('should associate tokens with running agents', async () => {
8
- // TODO: Test agent correlation
9
- expect(true).toBe(true);
10
- });
11
- });
12
- //# sourceMappingURL=auto-tracking.integration.test.js.map