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
File without changes
package/dist/cli/index.js CHANGED
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"ast-tools.d.ts","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiDxB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAkBrD,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AA4HrE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACxC,CAkIA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACrC,CA4LA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;aAnVV,CAAC,CAAC,SAAS;cACV,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;;aAyI7B,CAAC,CAAC,SAAS;iBACP,CAAC,CAAC,SAAS;cACd,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;KAkM0B,CAAC"}
1
+ {"version":3,"file":"ast-tools.d.ts","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4ExB,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,CACP,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAAC;CAClE;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAsB,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AA0IrE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACxC,CAkIA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CACrC,CA4LA,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;aAnVV,CAAC,CAAC,SAAS;cACV,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;;aAyI7B,CAAC,CAAC,SAAS;iBACP,CAAC,CAAC,SAAS;cACd,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;UACpC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACxB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;KAkM0B,CAAC"}
@@ -17,6 +17,23 @@ async function getSgModule() {
17
17
  }
18
18
  return sgModule;
19
19
  }
20
+ /**
21
+ * Single source of truth for supported language keys.
22
+ * Used by both SUPPORTED_LANGUAGES and toLangEnum.
23
+ * Adding a language here WITHOUT adding it to toLangEnum
24
+ * causes a TypeScript compile error (Record<LanguageKey, ...> requires all keys).
25
+ *
26
+ * Note: The 24 language keys here MUST correspond to valid values in the
27
+ * ast-grep Lang enum. This is verified at compile time by the
28
+ * Record<LanguageKey, Lang> type constraint in toLangEnum -- if ast-grep
29
+ * removes or renames a Lang variant, the build will fail with a type error
30
+ * on the corresponding langMap entry.
31
+ */
32
+ const LANGUAGE_KEYS = [
33
+ "javascript", "typescript", "tsx", "python", "ruby", "go", "rust",
34
+ "java", "kotlin", "swift", "c", "cpp", "csharp", "html", "css",
35
+ "json", "yaml", "bash", "elixir", "haskell", "lua", "php", "scala", "sql",
36
+ ];
20
37
  /**
21
38
  * Convert lowercase language string to ast-grep Lang enum value
22
39
  * This provides type-safe language conversion without using 'as any'
@@ -40,6 +57,13 @@ function toLangEnum(sg, language) {
40
57
  css: sg.Lang.Css,
41
58
  json: sg.Lang.Json,
42
59
  yaml: sg.Lang.Yaml,
60
+ bash: sg.Lang.Bash,
61
+ elixir: sg.Lang.Elixir,
62
+ haskell: sg.Lang.Haskell,
63
+ lua: sg.Lang.Lua,
64
+ php: sg.Lang.Php,
65
+ scala: sg.Lang.Scala,
66
+ sql: sg.Lang.Sql,
43
67
  };
44
68
  const lang = langMap[language];
45
69
  if (!lang) {
@@ -51,25 +75,7 @@ function toLangEnum(sg, language) {
51
75
  * Supported languages for AST analysis
52
76
  * Maps to ast-grep language identifiers
53
77
  */
54
- export const SUPPORTED_LANGUAGES = [
55
- "javascript",
56
- "typescript",
57
- "tsx",
58
- "python",
59
- "ruby",
60
- "go",
61
- "rust",
62
- "java",
63
- "kotlin",
64
- "swift",
65
- "c",
66
- "cpp",
67
- "csharp",
68
- "html",
69
- "css",
70
- "json",
71
- "yaml",
72
- ];
78
+ export const SUPPORTED_LANGUAGES = [...LANGUAGE_KEYS];
73
79
  /**
74
80
  * Map file extensions to ast-grep language identifiers
75
81
  */
@@ -83,6 +89,7 @@ const EXT_TO_LANG = {
83
89
  ".cts": "typescript",
84
90
  ".tsx": "tsx",
85
91
  ".py": "python",
92
+ ".pyw": "python",
86
93
  ".rb": "ruby",
87
94
  ".go": "go",
88
95
  ".rs": "rust",
@@ -103,6 +110,19 @@ const EXT_TO_LANG = {
103
110
  ".json": "json",
104
111
  ".yaml": "yaml",
105
112
  ".yml": "yaml",
113
+ ".sh": "bash",
114
+ ".bash": "bash",
115
+ ".zsh": "bash", // NOTE: ast-grep uses bash parser; some zsh-specific syntax may not parse correctly
116
+ ".ex": "elixir",
117
+ ".exs": "elixir",
118
+ ".hs": "haskell",
119
+ ".lhs": "haskell",
120
+ ".lua": "lua",
121
+ ".php": "php",
122
+ ".phtml": "php",
123
+ ".scala": "scala",
124
+ ".sc": "scala",
125
+ ".sql": "sql",
106
126
  };
107
127
  /**
108
128
  * Get files matching the language in a directory
@@ -1 +1 @@
1
- {"version":3,"file":"ast-tools.js","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-tools.js","sourceRoot":"","sources":["../../src/tools/ast-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for detectProjectType function
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=detectProjectType.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectProjectType.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/detectProjectType.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Unit tests for detectProjectType function
3
+ */
4
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
5
+ import { mkdtempSync, writeFileSync, rmSync } from 'fs';
6
+ import { join } from 'path';
7
+ import { tmpdir } from 'os';
8
+ import { detectProjectType } from '../index.js';
9
+ describe('detectProjectType', () => {
10
+ let tempDir;
11
+ beforeEach(() => {
12
+ tempDir = mkdtempSync(join(tmpdir(), 'detect-test-'));
13
+ });
14
+ afterEach(() => {
15
+ rmSync(tempDir, { recursive: true, force: true });
16
+ });
17
+ it('detects TypeScript project from tsconfig.json', () => {
18
+ writeFileSync(join(tempDir, 'tsconfig.json'), '{}');
19
+ expect(detectProjectType(tempDir)).toBe('typescript');
20
+ });
21
+ it('detects Go project from go.mod', () => {
22
+ writeFileSync(join(tempDir, 'go.mod'), 'module test');
23
+ expect(detectProjectType(tempDir)).toBe('go');
24
+ });
25
+ it('detects Rust project from Cargo.toml', () => {
26
+ writeFileSync(join(tempDir, 'Cargo.toml'), '[package]');
27
+ expect(detectProjectType(tempDir)).toBe('rust');
28
+ });
29
+ it('detects Python from pyproject.toml', () => {
30
+ writeFileSync(join(tempDir, 'pyproject.toml'), '[project]');
31
+ expect(detectProjectType(tempDir)).toBe('python');
32
+ });
33
+ it('returns unknown for empty directory', () => {
34
+ expect(detectProjectType(tempDir)).toBe('unknown');
35
+ });
36
+ it('respects tsconfig.json priority over go.mod', () => {
37
+ writeFileSync(join(tempDir, 'tsconfig.json'), '{}');
38
+ writeFileSync(join(tempDir, 'go.mod'), 'module test');
39
+ expect(detectProjectType(tempDir)).toBe('typescript');
40
+ });
41
+ });
42
+ //# sourceMappingURL=detectProjectType.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectProjectType.test.js","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/detectProjectType.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,WAAW,CAAC,CAAC;QAC5D,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QACpD,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Integration tests for directory diagnostics
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Integration tests for directory diagnostics
3
+ */
4
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
5
+ import * as path from 'path';
6
+ import * as os from 'os';
7
+ // Mock fs before importing the module under test
8
+ vi.mock('fs', async () => {
9
+ const actual = await vi.importActual('fs');
10
+ return {
11
+ ...actual,
12
+ realpathSync: vi.fn(actual.realpathSync),
13
+ };
14
+ });
15
+ import * as fs from 'fs';
16
+ import { runDirectoryDiagnostics } from '../index.js';
17
+ import { getAllSupportedExtensions, invalidateExtensionCache } from '../lsp-aggregator.js';
18
+ describe('runDirectoryDiagnostics path validation', () => {
19
+ beforeEach(() => {
20
+ // Reset all mocks to their default implementation before each test
21
+ vi.mocked(fs.realpathSync).mockRestore();
22
+ });
23
+ it('returns skipped strategy when realpathSync fails', async () => {
24
+ // Create a valid temp directory
25
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'diag-test-'));
26
+ try {
27
+ // Mock realpathSync to throw for this specific path
28
+ const actualFs = await vi.importActual('fs');
29
+ vi.mocked(fs.realpathSync).mockImplementation((p) => {
30
+ if (p === tmpDir || p.toString() === tmpDir) {
31
+ throw new Error('Mock realpathSync failure');
32
+ }
33
+ // Call the real implementation for other paths
34
+ return actualFs.realpathSync(p);
35
+ });
36
+ const result = await runDirectoryDiagnostics(tmpDir);
37
+ expect(result.strategy).toBe('skipped');
38
+ expect(result.success).toBe(true);
39
+ expect(result.errorCount).toBe(0);
40
+ expect(result.summary).toContain('cannot resolve directory path');
41
+ }
42
+ finally {
43
+ fs.rmdirSync(tmpDir);
44
+ }
45
+ });
46
+ it('returns skipped strategy for non-existent directory', async () => {
47
+ const result = await runDirectoryDiagnostics('/nonexistent/path/that/does/not/exist');
48
+ expect(result.strategy).toBe('skipped');
49
+ expect(result.success).toBe(true);
50
+ expect(result.errorCount).toBe(0);
51
+ expect(result.summary).toContain('does not exist');
52
+ });
53
+ });
54
+ describe('invalidateExtensionCache', () => {
55
+ it('clears the cached extensions so next call recomputes', () => {
56
+ // First call populates the cache
57
+ const extensions1 = getAllSupportedExtensions();
58
+ expect(extensions1.length).toBeGreaterThan(0);
59
+ // Invalidate
60
+ invalidateExtensionCache();
61
+ // Second call should still return the same result (recomputed from same data)
62
+ const extensions2 = getAllSupportedExtensions();
63
+ expect(extensions2).toEqual(extensions1);
64
+ });
65
+ });
66
+ //# sourceMappingURL=integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for diagnostic output parsers
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=parser-tests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-tests.d.ts","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/parser-tests.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Unit tests for diagnostic output parsers
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ import { parseGoOutput } from '../go-runner.js';
6
+ import { parseRustOutput } from '../rust-runner.js';
7
+ import { parseMypyOutput, parsePylintOutput } from '../python-runner.js';
8
+ describe('parseGoOutput', () => {
9
+ it('parses go vet output correctly', () => {
10
+ const output = `main.go:10:5: unreachable code
11
+ pkg/util.go:25:12: result of fmt.Sprintf call not used`;
12
+ const result = parseGoOutput(output);
13
+ expect(result.diagnostics).toHaveLength(2);
14
+ expect(result.diagnostics[0]).toMatchObject({
15
+ file: 'main.go',
16
+ line: 10,
17
+ column: 5,
18
+ message: 'unreachable code',
19
+ severity: 'warning'
20
+ });
21
+ expect(result.warningCount).toBe(2);
22
+ });
23
+ it('returns empty for clean output', () => {
24
+ const result = parseGoOutput('');
25
+ expect(result.diagnostics).toHaveLength(0);
26
+ expect(result.success).toBe(true);
27
+ });
28
+ });
29
+ describe('parseRustOutput', () => {
30
+ it('parses cargo check errors', () => {
31
+ const output = `error[E0382]: borrow of moved value: \`x\`
32
+ --> src/main.rs:5:20
33
+ warning: unused variable: \`y\`
34
+ --> src/lib.rs:10:9`;
35
+ const result = parseRustOutput(output);
36
+ expect(result.diagnostics).toHaveLength(2);
37
+ expect(result.errorCount).toBe(1);
38
+ expect(result.warningCount).toBe(1);
39
+ expect(result.diagnostics[0]).toMatchObject({
40
+ file: 'src/main.rs',
41
+ line: 5,
42
+ column: 20,
43
+ code: 'E0382',
44
+ severity: 'error'
45
+ });
46
+ });
47
+ it('returns empty for clean output', () => {
48
+ const result = parseRustOutput('');
49
+ expect(result.diagnostics).toHaveLength(0);
50
+ expect(result.success).toBe(true);
51
+ });
52
+ });
53
+ describe('parseMypyOutput', () => {
54
+ it('parses mypy errors', () => {
55
+ const output = `main.py:10:5: error: Incompatible types [arg-type]
56
+ utils.py:25:1: warning: Unused variable [unused-variable]
57
+ main.py:15:1: note: See docs for details`;
58
+ const result = parseMypyOutput(output);
59
+ expect(result.diagnostics).toHaveLength(2); // note should be skipped
60
+ expect(result.errorCount).toBe(1);
61
+ expect(result.warningCount).toBe(1);
62
+ expect(result.tool).toBe('mypy');
63
+ });
64
+ it('returns empty for clean output', () => {
65
+ const result = parseMypyOutput('');
66
+ expect(result.diagnostics).toHaveLength(0);
67
+ expect(result.success).toBe(true);
68
+ });
69
+ });
70
+ describe('parsePylintOutput', () => {
71
+ it('parses pylint errors', () => {
72
+ const output = `main.py:10:5: E0001: syntax error
73
+ main.py:20:0: W0611: Unused import`;
74
+ const result = parsePylintOutput(output);
75
+ expect(result.diagnostics).toHaveLength(2);
76
+ expect(result.errorCount).toBe(1);
77
+ expect(result.warningCount).toBe(1);
78
+ expect(result.tool).toBe('pylint');
79
+ });
80
+ it('returns empty for clean output', () => {
81
+ const result = parsePylintOutput('');
82
+ expect(result.diagnostics).toHaveLength(0);
83
+ expect(result.success).toBe(true);
84
+ });
85
+ });
86
+ //# sourceMappingURL=parser-tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser-tests.js","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/parser-tests.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG;uDACoC,CAAC;QAEpD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAErC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,kBAAkB;YAC3B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG;;;qBAGE,CAAC;QAElB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,MAAM,GAAG;;yCAEsB,CAAC;QAEtC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB;QACrE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,MAAM,GAAG;mCACgB,CAAC;QAEhC,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Unit tests for diagnostic output parsers
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=parsers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.test.d.ts","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/parsers.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * Unit tests for diagnostic output parsers
3
+ */
4
+ import { describe, it, expect } from 'vitest';
5
+ import { parseGoOutput } from '../go-runner.js';
6
+ import { parseTscOutput } from '../tsc-runner.js';
7
+ import { parseRustOutput } from '../rust-runner.js';
8
+ import { parseMypyOutput, parsePylintOutput } from '../python-runner.js';
9
+ describe('parseGoOutput', () => {
10
+ it('parses go vet output correctly', () => {
11
+ const output = `main.go:10:5: unreachable code
12
+ pkg/util.go:25:12: result of fmt.Sprintf call not used`;
13
+ const result = parseGoOutput(output);
14
+ expect(result.diagnostics).toHaveLength(2);
15
+ expect(result.diagnostics[0]).toMatchObject({
16
+ file: 'main.go',
17
+ line: 10,
18
+ column: 5,
19
+ message: 'unreachable code',
20
+ severity: 'warning'
21
+ });
22
+ expect(result.warningCount).toBe(2);
23
+ });
24
+ it('returns empty for clean output', () => {
25
+ const result = parseGoOutput('');
26
+ expect(result.diagnostics).toHaveLength(0);
27
+ expect(result.success).toBe(true);
28
+ });
29
+ it('parses Windows-style paths correctly', () => {
30
+ const output = `C:\\Users\\dev\\project\\main.go:10:5: unreachable code`;
31
+ const result = parseGoOutput(output);
32
+ expect(result.diagnostics).toHaveLength(1);
33
+ expect(result.diagnostics[0].file).toBe('C:\\Users\\dev\\project\\main.go');
34
+ expect(result.diagnostics[0].line).toBe(10);
35
+ expect(result.diagnostics[0].column).toBe(5);
36
+ });
37
+ it('handles Unicode filenames', () => {
38
+ const output = `pkg/日本語.go:5:3: unreachable code`;
39
+ const result = parseGoOutput(output);
40
+ expect(result.diagnostics).toHaveLength(1);
41
+ expect(result.diagnostics[0].file).toBe('pkg/日本語.go');
42
+ });
43
+ it('handles malformed output gracefully', () => {
44
+ const result = parseGoOutput('not valid output\nrandom noise\n');
45
+ expect(result.diagnostics).toHaveLength(0);
46
+ expect(result.success).toBe(true);
47
+ });
48
+ });
49
+ describe('parseTscOutput', () => {
50
+ it('parses tsc errors correctly', () => {
51
+ const output = `src/index.ts(10,5): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
52
+ src/utils.ts(25,12): error TS2304: Cannot find name 'foo'.`;
53
+ const result = parseTscOutput(output);
54
+ expect(result.diagnostics).toHaveLength(2);
55
+ expect(result.errorCount).toBe(2);
56
+ expect(result.warningCount).toBe(0);
57
+ expect(result.success).toBe(false);
58
+ expect(result.diagnostics[0]).toMatchObject({
59
+ file: 'src/index.ts',
60
+ line: 10,
61
+ column: 5,
62
+ code: 'TS2345',
63
+ severity: 'error',
64
+ message: "Argument of type 'string' is not assignable to parameter of type 'number'."
65
+ });
66
+ });
67
+ it('parses tsc warnings correctly', () => {
68
+ const output = `src/index.ts(5,1): warning TS6133: 'x' is declared but its value is never read.`;
69
+ const result = parseTscOutput(output);
70
+ expect(result.diagnostics).toHaveLength(1);
71
+ expect(result.errorCount).toBe(0);
72
+ expect(result.warningCount).toBe(1);
73
+ expect(result.success).toBe(true);
74
+ });
75
+ it('returns empty for clean output', () => {
76
+ const result = parseTscOutput('');
77
+ expect(result.diagnostics).toHaveLength(0);
78
+ expect(result.success).toBe(true);
79
+ });
80
+ it('parses Windows-style paths correctly', () => {
81
+ const output = `C:\\Users\\dev\\src\\index.ts(10,5): error TS2345: Type mismatch.`;
82
+ const result = parseTscOutput(output);
83
+ expect(result.diagnostics).toHaveLength(1);
84
+ expect(result.diagnostics[0].file).toBe('C:\\Users\\dev\\src\\index.ts');
85
+ });
86
+ });
87
+ describe('parseRustOutput', () => {
88
+ it('parses cargo check JSON errors', () => {
89
+ // Cargo JSON format: one JSON object per line
90
+ const output = [
91
+ '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"borrow of moved value: `x`","code":{"code":"E0382","explanation":null},"level":"error","spans":[{"file_name":"src/main.rs","line_start":5,"line_end":5,"column_start":20,"column_end":21,"is_primary":true,"text":[],"label":null}],"children":[],"rendered":null}}',
92
+ '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"unused variable: `y`","code":null,"level":"warning","spans":[{"file_name":"src/lib.rs","line_start":10,"line_end":10,"column_start":9,"column_end":10,"is_primary":true,"text":[],"label":null}],"children":[],"rendered":null}}'
93
+ ].join('\n');
94
+ const result = parseRustOutput(output);
95
+ expect(result.diagnostics).toHaveLength(2);
96
+ expect(result.errorCount).toBe(1);
97
+ expect(result.warningCount).toBe(1);
98
+ expect(result.diagnostics[0]).toMatchObject({
99
+ file: 'src/main.rs',
100
+ line: 5,
101
+ column: 20,
102
+ code: 'E0382',
103
+ severity: 'error',
104
+ message: 'borrow of moved value: `x`'
105
+ });
106
+ });
107
+ it('returns empty for clean output', () => {
108
+ // Empty output or only build-finished message
109
+ const result = parseRustOutput('');
110
+ expect(result.diagnostics).toHaveLength(0);
111
+ expect(result.success).toBe(true);
112
+ });
113
+ it('ignores non-compiler-message JSON lines', () => {
114
+ const output = [
115
+ '{"reason":"compiler-artifact","package_id":"test","target":{"name":"test"}}',
116
+ '{"reason":"build-finished","success":false}',
117
+ '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"type mismatch","code":{"code":"E0308","explanation":null},"level":"error","spans":[{"file_name":"src/main.rs","line_start":3,"line_end":3,"column_start":18,"column_end":25,"is_primary":true,"text":[],"label":null}],"children":[],"rendered":null}}'
118
+ ].join('\n');
119
+ const result = parseRustOutput(output);
120
+ expect(result.diagnostics).toHaveLength(1);
121
+ expect(result.diagnostics[0].file).toBe('src/main.rs');
122
+ expect(result.diagnostics[0].code).toBe('E0308');
123
+ });
124
+ it('handles warnings without error codes', () => {
125
+ const output = '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"unused variable: `x`","code":null,"level":"warning","spans":[{"file_name":"src/lib.rs","line_start":3,"line_end":3,"column_start":9,"column_end":10,"is_primary":true,"text":[],"label":null}],"children":[],"rendered":null}}';
126
+ const result = parseRustOutput(output);
127
+ expect(result.diagnostics).toHaveLength(1);
128
+ expect(result.diagnostics[0].code).toBe('');
129
+ expect(result.diagnostics[0].severity).toBe('warning');
130
+ });
131
+ it('skips messages without primary span', () => {
132
+ // Message with no spans or no primary span should be skipped
133
+ const output = '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"some note","code":null,"level":"note","spans":[],"children":[],"rendered":null}}';
134
+ const result = parseRustOutput(output);
135
+ expect(result.diagnostics).toHaveLength(0);
136
+ });
137
+ it('uses primary span when multiple spans exist', () => {
138
+ // Multiple spans, only primary should be used for location
139
+ const output = '{"reason":"compiler-message","package_id":"test","manifest_path":"/test/Cargo.toml","target":{"name":"test"},"message":{"message":"mismatched types","code":{"code":"E0308","explanation":null},"level":"error","spans":[{"file_name":"src/other.rs","line_start":1,"line_end":1,"column_start":1,"column_end":2,"is_primary":false,"text":[],"label":"expected"},{"file_name":"src/main.rs","line_start":10,"line_end":10,"column_start":5,"column_end":15,"is_primary":true,"text":[],"label":"found"}],"children":[],"rendered":null}}';
140
+ const result = parseRustOutput(output);
141
+ expect(result.diagnostics).toHaveLength(1);
142
+ expect(result.diagnostics[0].file).toBe('src/main.rs');
143
+ expect(result.diagnostics[0].line).toBe(10);
144
+ expect(result.diagnostics[0].column).toBe(5);
145
+ });
146
+ });
147
+ describe('parseMypyOutput', () => {
148
+ it('parses mypy errors', () => {
149
+ const output = `main.py:10:5: error: Incompatible types [arg-type]
150
+ utils.py:25:1: warning: Unused variable [unused-variable]
151
+ main.py:15:1: note: See docs for details`;
152
+ const result = parseMypyOutput(output);
153
+ expect(result.diagnostics).toHaveLength(2); // note should be skipped
154
+ expect(result.errorCount).toBe(1);
155
+ expect(result.warningCount).toBe(1);
156
+ expect(result.tool).toBe('mypy');
157
+ });
158
+ it('returns empty for clean output', () => {
159
+ const result = parseMypyOutput('');
160
+ expect(result.diagnostics).toHaveLength(0);
161
+ expect(result.success).toBe(true);
162
+ });
163
+ it('parses Windows-style mypy paths', () => {
164
+ const output = `C:\\Users\\dev\\main.py:10:5: error: Incompatible types [arg-type]`;
165
+ const result = parseMypyOutput(output);
166
+ expect(result.diagnostics).toHaveLength(1);
167
+ expect(result.diagnostics[0].file).toBe('C:\\Users\\dev\\main.py');
168
+ });
169
+ });
170
+ describe('parsePylintOutput', () => {
171
+ it('parses pylint errors', () => {
172
+ const output = `main.py:10:5: E0001: syntax error
173
+ main.py:20:0: W0611: Unused import`;
174
+ const result = parsePylintOutput(output);
175
+ expect(result.diagnostics).toHaveLength(2);
176
+ expect(result.errorCount).toBe(1);
177
+ expect(result.warningCount).toBe(1);
178
+ expect(result.tool).toBe('pylint');
179
+ });
180
+ it('returns empty for clean output', () => {
181
+ const result = parsePylintOutput('');
182
+ expect(result.diagnostics).toHaveLength(0);
183
+ expect(result.success).toBe(true);
184
+ });
185
+ it('classifies F (Fatal) codes as errors', () => {
186
+ const output = `main.py:1:0: F0001: error in module (fatal)`;
187
+ const result = parsePylintOutput(output);
188
+ expect(result.diagnostics).toHaveLength(1);
189
+ expect(result.diagnostics[0].severity).toBe('error');
190
+ expect(result.errorCount).toBe(1);
191
+ });
192
+ it('parses Windows-style pylint paths', () => {
193
+ const output = `C:\\Users\\dev\\main.py:10:5: E0001: syntax error`;
194
+ const result = parsePylintOutput(output);
195
+ expect(result.diagnostics).toHaveLength(1);
196
+ expect(result.diagnostics[0].file).toBe('C:\\Users\\dev\\main.py');
197
+ });
198
+ });
199
+ //# sourceMappingURL=parsers.test.js.map