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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.test.js","sourceRoot":"","sources":["../../../../src/tools/diagnostics/__tests__/parsers.test.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,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,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;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,yDAAyD,CAAC;QACzE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAC5E,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,kCAAkC,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,aAAa,CAAC,kCAAkC,CAAC,CAAC;QACjE,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,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,MAAM,GAAG;2DACwC,CAAC;QAExD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAEtC,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,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,4EAA4E;SACtF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,iFAAiF,CAAC;QAEjG,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAEtC,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,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAClC,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;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,mEAAmE,CAAC;QACnF,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,8CAA8C;QAC9C,MAAM,MAAM,GAAG;YACb,wYAAwY;YACxY,qWAAqW;SACtW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,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;YACjB,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,8CAA8C;QAC9C,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;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG;YACb,6EAA6E;YAC7E,6CAA6C;YAC7C,2XAA2X;SAC5X,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,mWAAmW,CAAC;QAEnX,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,6DAA6D;QAC7D,MAAM,MAAM,GAAG,qNAAqN,CAAC;QAErO,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,2DAA2D;QAC3D,MAAM,MAAM,GAAG,2gBAA2gB,CAAC;QAE3hB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,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;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,MAAM,GAAG,oEAAoE,CAAC;QACpF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrE,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;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,MAAM,GAAG,6CAA6C,CAAC;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,mDAAmD,CAAC;QACnE,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared constants for diagnostics module.
3
+ * Extracted to break circular dependency between index.ts and runners.
4
+ */
5
+ /** Timeout for external process execution (5 minutes) */
6
+ export declare const EXTERNAL_PROCESS_TIMEOUT_MS = 300000;
7
+ /** Wait time for LSP diagnostics to be published */
8
+ export declare const LSP_DIAGNOSTICS_WAIT_MS = 300;
9
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,SAAS,CAAC;AAElD,oDAAoD;AACpD,eAAO,MAAM,uBAAuB,MAAM,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Shared constants for diagnostics module.
3
+ * Extracted to break circular dependency between index.ts and runners.
4
+ */
5
+ /** Timeout for external process execution (5 minutes) */
6
+ export const EXTERNAL_PROCESS_TIMEOUT_MS = 300000;
7
+ /** Wait time for LSP diagnostics to be published */
8
+ export const LSP_DIAGNOSTICS_WAIT_MS = 300;
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAElD,oDAAoD;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Go Diagnostics Runner
3
+ *
4
+ * Uses `go vet` for static analysis of Go projects.
5
+ */
6
+ export interface GoDiagnostic {
7
+ file: string;
8
+ line: number;
9
+ column: number;
10
+ message: string;
11
+ severity: 'error' | 'warning';
12
+ }
13
+ export interface GoResult {
14
+ success: boolean;
15
+ diagnostics: GoDiagnostic[];
16
+ errorCount: number;
17
+ warningCount: number;
18
+ skipped?: string;
19
+ }
20
+ /**
21
+ * Run Go vet diagnostics on a directory
22
+ * @param directory - Project directory containing go.mod
23
+ * @returns Result with diagnostics
24
+ */
25
+ export declare function runGoDiagnostics(directory: string): GoResult;
26
+ /**
27
+ * Parse go vet output
28
+ * Format: file.go:line:col: message
29
+ */
30
+ export declare function parseGoOutput(output: string): GoResult;
31
+ //# sourceMappingURL=go-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-runner.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/go-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAuC5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAqBtD"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Go Diagnostics Runner
3
+ *
4
+ * Uses `go vet` for static analysis of Go projects.
5
+ */
6
+ import { execFileSync } from 'child_process';
7
+ import { existsSync } from 'fs';
8
+ import { join } from 'path';
9
+ import { EXTERNAL_PROCESS_TIMEOUT_MS } from './constants.js';
10
+ /**
11
+ * Run Go vet diagnostics on a directory
12
+ * @param directory - Project directory containing go.mod
13
+ * @returns Result with diagnostics
14
+ */
15
+ export function runGoDiagnostics(directory) {
16
+ const goModPath = join(directory, 'go.mod');
17
+ if (!existsSync(goModPath)) {
18
+ return {
19
+ success: true,
20
+ diagnostics: [],
21
+ errorCount: 0,
22
+ warningCount: 0,
23
+ skipped: 'no go.mod found in directory'
24
+ };
25
+ }
26
+ try {
27
+ execFileSync('go', ['vet', './...'], {
28
+ cwd: directory,
29
+ encoding: 'utf-8',
30
+ stdio: ['pipe', 'pipe', 'pipe'],
31
+ timeout: EXTERNAL_PROCESS_TIMEOUT_MS
32
+ });
33
+ return {
34
+ success: true,
35
+ diagnostics: [],
36
+ errorCount: 0,
37
+ warningCount: 0
38
+ };
39
+ }
40
+ catch (error) {
41
+ if (error.code === 'ENOENT') {
42
+ return {
43
+ success: true,
44
+ diagnostics: [],
45
+ errorCount: 0,
46
+ warningCount: 0,
47
+ skipped: '`go` binary not found in PATH'
48
+ };
49
+ }
50
+ const output = error.stderr || error.stdout || '';
51
+ return parseGoOutput(output);
52
+ }
53
+ }
54
+ /**
55
+ * Parse go vet output
56
+ * Format: file.go:line:col: message
57
+ */
58
+ export function parseGoOutput(output) {
59
+ const diagnostics = [];
60
+ const regex = /^(.+?\.go):(\d+):(\d+):\s+(.+)$/gm;
61
+ let match;
62
+ while ((match = regex.exec(output)) !== null) {
63
+ diagnostics.push({
64
+ file: match[1],
65
+ line: parseInt(match[2], 10),
66
+ column: parseInt(match[3], 10),
67
+ message: match[4],
68
+ severity: 'warning'
69
+ });
70
+ }
71
+ return {
72
+ success: diagnostics.length === 0,
73
+ diagnostics,
74
+ errorCount: 0,
75
+ warningCount: diagnostics.length
76
+ };
77
+ }
78
+ //# sourceMappingURL=go-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"go-runner.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/go-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAkB7D;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,8BAA8B;SACxC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;YACnC,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,CAAC;gBACb,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,+BAA+B;aACzC,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,WAAW,GAAmB,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,mCAAmC,CAAC;IAClD,IAAI,KAAK,CAAC;IAEV,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7C,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACd,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC9B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACjB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC;QACjC,WAAW;QACX,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,WAAW,CAAC,MAAM;KACjC,CAAC;AACJ,CAAC"}
@@ -1,29 +1,54 @@
1
1
  /**
2
2
  * Directory Diagnostics - Project-level QA enforcement
3
3
  *
4
- * Provides dual strategy for checking TypeScript/JavaScript projects:
5
- * 1. Primary: tsc --noEmit (fast, comprehensive)
6
- * 2. Fallback: LSP iteration (when tsc not available)
4
+ * Provides strategy-based diagnostics for multiple languages:
5
+ * - TypeScript: tsc --noEmit
6
+ * - Go: go vet
7
+ * - Rust: cargo check
8
+ * - Python: mypy / pylint
9
+ * - Fallback: LSP iteration
7
10
  */
8
- export declare const LSP_DIAGNOSTICS_WAIT_MS = 300;
9
- export type DiagnosticsStrategy = 'tsc' | 'lsp' | 'auto';
11
+ export { EXTERNAL_PROCESS_TIMEOUT_MS, LSP_DIAGNOSTICS_WAIT_MS } from './constants.js';
12
+ export type DiagnosticsStrategy = 'tsc' | 'go' | 'rust' | 'python' | 'lsp' | 'auto';
10
13
  export interface DirectoryDiagnosticResult {
11
- strategy: 'tsc' | 'lsp';
14
+ strategy: 'tsc' | 'go' | 'rust' | 'python' | 'lsp' | 'skipped';
12
15
  success: boolean;
13
16
  errorCount: number;
14
17
  warningCount: number;
15
18
  diagnostics: string;
16
19
  summary: string;
17
20
  }
21
+ /**
22
+ * Detect project type from directory contents
23
+ *
24
+ * Priority order (first match wins):
25
+ * 1. tsconfig.json → 'typescript'
26
+ * 2. go.mod → 'go'
27
+ * 3. Cargo.toml → 'rust'
28
+ * 4. pyproject.toml / requirements.txt / setup.py → 'python'
29
+ * 5. (none) → 'unknown'
30
+ *
31
+ * Note: In monorepo scenarios with multiple project types,
32
+ * only the first match is returned. Use explicit strategy
33
+ * parameter to target a specific language.
34
+ */
35
+ declare function detectProjectType(directory: string): 'typescript' | 'go' | 'rust' | 'python' | 'unknown';
18
36
  /**
19
37
  * Run directory-level diagnostics using the best available strategy
20
38
  * @param directory - Project directory to check
21
- * @param strategy - Strategy to use ('tsc', 'lsp', or 'auto')
39
+ * @param strategy - Strategy to use ('tsc', 'go', 'rust', 'python', 'lsp', or 'auto')
22
40
  * @returns Diagnostic results
23
41
  */
24
42
  export declare function runDirectoryDiagnostics(directory: string, strategy?: DiagnosticsStrategy): Promise<DirectoryDiagnosticResult>;
25
43
  export type { TscDiagnostic, TscResult } from './tsc-runner.js';
26
44
  export type { LspDiagnosticWithFile, LspAggregationResult } from './lsp-aggregator.js';
45
+ export type { GoDiagnostic, GoResult } from './go-runner.js';
46
+ export type { RustDiagnostic, RustResult } from './rust-runner.js';
47
+ export type { PythonDiagnostic, PythonResult } from './python-runner.js';
27
48
  export { runTscDiagnostics } from './tsc-runner.js';
28
49
  export { runLspAggregatedDiagnostics } from './lsp-aggregator.js';
50
+ export { runGoDiagnostics } from './go-runner.js';
51
+ export { runRustDiagnostics } from './rust-runner.js';
52
+ export { runPythonDiagnostics } from './python-runner.js';
53
+ export { detectProjectType };
29
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,mBAA4B,GACrC,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAwFD,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEpF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AA0FD;;;;;;;;;;;;;GAaG;AACH,iBAAS,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAQjG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,mBAA4B,GACrC,OAAO,CAAC,yBAAyB,CAAC,CAkDpC;AAqFD,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,74 +1,60 @@
1
1
  /**
2
2
  * Directory Diagnostics - Project-level QA enforcement
3
3
  *
4
- * Provides dual strategy for checking TypeScript/JavaScript projects:
5
- * 1. Primary: tsc --noEmit (fast, comprehensive)
6
- * 2. Fallback: LSP iteration (when tsc not available)
4
+ * Provides strategy-based diagnostics for multiple languages:
5
+ * - TypeScript: tsc --noEmit
6
+ * - Go: go vet
7
+ * - Rust: cargo check
8
+ * - Python: mypy / pylint
9
+ * - Fallback: LSP iteration
7
10
  */
8
- import { existsSync } from 'fs';
11
+ import { existsSync, statSync, realpathSync } from 'fs';
9
12
  import { join } from 'path';
10
13
  import { runTscDiagnostics } from './tsc-runner.js';
11
14
  import { runLspAggregatedDiagnostics } from './lsp-aggregator.js';
15
+ import { runGoDiagnostics } from './go-runner.js';
16
+ import { runRustDiagnostics } from './rust-runner.js';
17
+ import { runPythonDiagnostics } from './python-runner.js';
12
18
  import { formatDiagnostics } from '../lsp/utils.js';
13
- export const LSP_DIAGNOSTICS_WAIT_MS = 300;
19
+ export { EXTERNAL_PROCESS_TIMEOUT_MS, LSP_DIAGNOSTICS_WAIT_MS } from './constants.js';
14
20
  /**
15
- * Run directory-level diagnostics using the best available strategy
16
- * @param directory - Project directory to check
17
- * @param strategy - Strategy to use ('tsc', 'lsp', or 'auto')
18
- * @returns Diagnostic results
19
- */
20
- export async function runDirectoryDiagnostics(directory, strategy = 'auto') {
21
- const tsconfigPath = join(directory, 'tsconfig.json');
22
- const hasTsconfig = existsSync(tsconfigPath);
23
- // Determine which strategy to use
24
- let useStrategy;
25
- if (strategy === 'auto') {
26
- useStrategy = hasTsconfig ? 'tsc' : 'lsp';
27
- }
28
- else {
29
- useStrategy = strategy;
30
- }
31
- // Run diagnostics based on strategy
32
- if (useStrategy === 'tsc' && hasTsconfig) {
33
- return formatTscResult(runTscDiagnostics(directory));
34
- }
35
- else {
36
- return formatLspResult(await runLspAggregatedDiagnostics(directory));
37
- }
38
- }
39
- /**
40
- * Format tsc results into standard format
21
+ * Format any diagnostic result into standard DirectoryDiagnosticResult
22
+ * Uses generics to accept any diagnostic type that extends BaseDiagnostic.
23
+ * The `code` property is accessed via runtime check since not all diagnostics have it.
24
+ *
25
+ * @param result - Result with diagnostics (TscResult, GoResult, RustResult, PythonResult)
26
+ * @param strategy - The strategy name
27
+ * @param toolName - Human-readable tool name for messages
41
28
  */
42
- function formatTscResult(result) {
29
+ function formatDiagnosticResult(result, strategy, toolName) {
43
30
  let diagnostics = '';
44
31
  let summary = '';
45
32
  if (result.diagnostics.length === 0) {
46
- diagnostics = 'No diagnostics found. All files are clean!';
47
- summary = 'TypeScript check passed: 0 errors, 0 warnings';
33
+ diagnostics = `No diagnostics found. ${toolName} passed!`;
34
+ summary = `${toolName} passed: 0 errors, 0 warnings`;
48
35
  }
49
36
  else {
50
- // Group diagnostics by file
51
37
  const byFile = new Map();
52
38
  for (const diag of result.diagnostics) {
53
- if (!byFile.has(diag.file)) {
39
+ if (!byFile.has(diag.file))
54
40
  byFile.set(diag.file, []);
55
- }
56
41
  byFile.get(diag.file).push(diag);
57
42
  }
58
- // Format each file's diagnostics
59
43
  const fileOutputs = [];
60
44
  for (const [file, diags] of byFile) {
61
45
  let fileOutput = `${file}:\n`;
62
46
  for (const diag of diags) {
63
- fileOutput += ` ${diag.line}:${diag.column} - ${diag.severity} ${diag.code}: ${diag.message}\n`;
47
+ // Use runtime check for 'code' since GoDiagnostic doesn't have it
48
+ const code = 'code' in diag && diag.code ? ` [${diag.code}]` : '';
49
+ fileOutput += ` ${diag.line}:${diag.column} - ${diag.severity}${code}: ${diag.message}\n`;
64
50
  }
65
51
  fileOutputs.push(fileOutput);
66
52
  }
67
53
  diagnostics = fileOutputs.join('\n');
68
- summary = `TypeScript check ${result.success ? 'passed' : 'failed'}: ${result.errorCount} errors, ${result.warningCount} warnings`;
54
+ summary = `${toolName} ${result.success ? 'passed' : 'failed'}: ${result.errorCount} errors, ${result.warningCount} warnings`;
69
55
  }
70
56
  return {
71
- strategy: 'tsc',
57
+ strategy,
72
58
  success: result.success,
73
59
  errorCount: result.errorCount,
74
60
  warningCount: result.warningCount,
@@ -76,6 +62,118 @@ function formatTscResult(result) {
76
62
  summary
77
63
  };
78
64
  }
65
+ /**
66
+ * Create a standardized skipped result
67
+ * @param summary - Reason for skipping (will be prefixed appropriately)
68
+ */
69
+ function makeSkippedResult(summary) {
70
+ return {
71
+ strategy: 'skipped',
72
+ success: true,
73
+ errorCount: 0,
74
+ warningCount: 0,
75
+ diagnostics: '',
76
+ summary
77
+ };
78
+ }
79
+ /**
80
+ * Detect project type from directory contents
81
+ *
82
+ * Priority order (first match wins):
83
+ * 1. tsconfig.json → 'typescript'
84
+ * 2. go.mod → 'go'
85
+ * 3. Cargo.toml → 'rust'
86
+ * 4. pyproject.toml / requirements.txt / setup.py → 'python'
87
+ * 5. (none) → 'unknown'
88
+ *
89
+ * Note: In monorepo scenarios with multiple project types,
90
+ * only the first match is returned. Use explicit strategy
91
+ * parameter to target a specific language.
92
+ */
93
+ function detectProjectType(directory) {
94
+ if (existsSync(join(directory, 'tsconfig.json')))
95
+ return 'typescript';
96
+ if (existsSync(join(directory, 'go.mod')))
97
+ return 'go';
98
+ if (existsSync(join(directory, 'Cargo.toml')))
99
+ return 'rust';
100
+ if (existsSync(join(directory, 'pyproject.toml')) ||
101
+ existsSync(join(directory, 'requirements.txt')) ||
102
+ existsSync(join(directory, 'setup.py')))
103
+ return 'python';
104
+ return 'unknown';
105
+ }
106
+ /**
107
+ * Run directory-level diagnostics using the best available strategy
108
+ * @param directory - Project directory to check
109
+ * @param strategy - Strategy to use ('tsc', 'go', 'rust', 'python', 'lsp', or 'auto')
110
+ * @returns Diagnostic results
111
+ */
112
+ export async function runDirectoryDiagnostics(directory, strategy = 'auto') {
113
+ // Validate directory exists
114
+ if (!existsSync(directory)) {
115
+ return makeSkippedResult(`Diagnostics skipped: directory does not exist: ${directory}`);
116
+ }
117
+ // Check if it's actually a directory (not a file)
118
+ if (!statSync(directory).isDirectory()) {
119
+ return makeSkippedResult(`Diagnostics skipped: path is not a directory: ${directory}`);
120
+ }
121
+ // Resolve symlinks to normalize the path
122
+ let resolvedDirectory;
123
+ try {
124
+ resolvedDirectory = realpathSync(directory);
125
+ }
126
+ catch {
127
+ return makeSkippedResult(`Diagnostics skipped: cannot resolve directory path: ${directory}`);
128
+ }
129
+ let useStrategy;
130
+ if (strategy === 'auto') {
131
+ const projectType = detectProjectType(resolvedDirectory);
132
+ switch (projectType) {
133
+ case 'typescript':
134
+ useStrategy = 'tsc';
135
+ break;
136
+ case 'go':
137
+ useStrategy = 'go';
138
+ break;
139
+ case 'rust':
140
+ useStrategy = 'rust';
141
+ break;
142
+ case 'python':
143
+ useStrategy = 'python';
144
+ break;
145
+ default: useStrategy = 'lsp';
146
+ }
147
+ }
148
+ else {
149
+ // Explicit strategy requested - use it directly.
150
+ // NOTE: Unlike the old behavior, explicit 'tsc' without tsconfig.json
151
+ // will NOT fall back to 'lsp'. The runner handles missing config gracefully.
152
+ useStrategy = strategy;
153
+ }
154
+ switch (useStrategy) {
155
+ case 'tsc':
156
+ return formatTscResult(runTscDiagnostics(resolvedDirectory));
157
+ case 'go':
158
+ return formatGoResult(runGoDiagnostics(resolvedDirectory));
159
+ case 'rust':
160
+ return formatRustResult(runRustDiagnostics(resolvedDirectory));
161
+ case 'python':
162
+ return formatPythonResult(runPythonDiagnostics(resolvedDirectory));
163
+ case 'lsp':
164
+ default:
165
+ return formatLspResult(await runLspAggregatedDiagnostics(resolvedDirectory));
166
+ }
167
+ }
168
+ /**
169
+ * Format tsc results into standard format
170
+ */
171
+ function formatTscResult(result) {
172
+ if (result.skipped) {
173
+ return makeSkippedResult(`TypeScript diagnostics skipped: ${result.skipped}`);
174
+ }
175
+ return formatDiagnosticResult(result, 'tsc', 'TypeScript check');
176
+ }
79
177
  /**
80
178
  * Format LSP aggregation results into standard format
81
179
  */
@@ -113,6 +211,38 @@ function formatLspResult(result) {
113
211
  summary
114
212
  };
115
213
  }
214
+ /**
215
+ * Format Go vet results into standard format
216
+ */
217
+ function formatGoResult(result) {
218
+ if (result.skipped) {
219
+ return makeSkippedResult(`Go diagnostics skipped: ${result.skipped}`);
220
+ }
221
+ return formatDiagnosticResult(result, 'go', 'Go vet');
222
+ }
223
+ /**
224
+ * Format Cargo check results into standard format
225
+ */
226
+ function formatRustResult(result) {
227
+ if (result.skipped) {
228
+ return makeSkippedResult(`Rust diagnostics skipped: ${result.skipped}`);
229
+ }
230
+ return formatDiagnosticResult(result, 'rust', 'Cargo check');
231
+ }
232
+ /**
233
+ * Format Python diagnostics results into standard format
234
+ */
235
+ function formatPythonResult(result) {
236
+ if (result.skipped) {
237
+ return makeSkippedResult(`Python diagnostics skipped: ${result.skipped}`);
238
+ }
239
+ const toolName = result.tool === 'mypy' ? 'Mypy' : result.tool === 'pylint' ? 'Pylint' : 'Python';
240
+ return formatDiagnosticResult(result, 'python', toolName);
241
+ }
116
242
  export { runTscDiagnostics } from './tsc-runner.js';
117
243
  export { runLspAggregatedDiagnostics } from './lsp-aggregator.js';
244
+ export { runGoDiagnostics } from './go-runner.js';
245
+ export { runRustDiagnostics } from './rust-runner.js';
246
+ export { runPythonDiagnostics } from './python-runner.js';
247
+ export { detectProjectType };
118
248
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/index.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,22 @@ export interface LspAggregationResult {
16
16
  warningCount: number;
17
17
  filesChecked: number;
18
18
  }
19
+ /**
20
+ * Get all file extensions supported by configured LSP servers.
21
+ * Cached at module level because LSP_SERVERS is a static configuration.
22
+ * Call invalidateExtensionCache() if LSP_SERVERS is ever made dynamic.
23
+ */
24
+ export declare function getAllSupportedExtensions(): string[];
25
+ /**
26
+ * Invalidate the cached extensions list.
27
+ * Call this if LSP_SERVERS is modified at runtime.
28
+ * Currently LSP_SERVERS is a static const, so this is for future-proofing.
29
+ */
30
+ export declare function invalidateExtensionCache(): void;
19
31
  /**
20
32
  * Run LSP diagnostics on all TypeScript/JavaScript files in a directory
21
33
  * @param directory - Project directory to scan
22
- * @param extensions - File extensions to check (default: ['.ts', '.tsx', '.js', '.jsx'])
34
+ * @param extensions - File extensions to check (optional, defaults to all LSP-supported extensions)
23
35
  * @returns Aggregated diagnostics from all files
24
36
  */
25
37
  export declare function runLspAggregatedDiagnostics(directory: string, extensions?: string[]): Promise<LspAggregationResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-aggregator.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/lsp-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AA6CD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,UAAU,GAAE,MAAM,EAAmC,GACpD,OAAO,CAAC,oBAAoB,CAAC,CAiD/B"}
1
+ {"version":3,"file":"lsp-aggregator.d.ts","sourceRoot":"","sources":["../../../src/tools/diagnostics/lsp-aggregator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID;;;;GAIG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAWpD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AA6CD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAkD/B"}
@@ -7,7 +7,34 @@
7
7
  import { readdirSync, statSync } from 'fs';
8
8
  import { join, extname } from 'path';
9
9
  import { lspClientManager } from '../lsp/index.js';
10
- import { LSP_DIAGNOSTICS_WAIT_MS } from './index.js';
10
+ import { LSP_DIAGNOSTICS_WAIT_MS } from './constants.js';
11
+ import { LSP_SERVERS } from '../lsp/servers.js';
12
+ let _cachedExtensions = null;
13
+ /**
14
+ * Get all file extensions supported by configured LSP servers.
15
+ * Cached at module level because LSP_SERVERS is a static configuration.
16
+ * Call invalidateExtensionCache() if LSP_SERVERS is ever made dynamic.
17
+ */
18
+ export function getAllSupportedExtensions() {
19
+ if (_cachedExtensions)
20
+ return _cachedExtensions;
21
+ const extensions = new Set();
22
+ for (const config of Object.values(LSP_SERVERS)) {
23
+ for (const ext of config.extensions) {
24
+ extensions.add(ext);
25
+ }
26
+ }
27
+ _cachedExtensions = Array.from(extensions);
28
+ return _cachedExtensions;
29
+ }
30
+ /**
31
+ * Invalidate the cached extensions list.
32
+ * Call this if LSP_SERVERS is modified at runtime.
33
+ * Currently LSP_SERVERS is a static const, so this is for future-proofing.
34
+ */
35
+ export function invalidateExtensionCache() {
36
+ _cachedExtensions = null;
37
+ }
11
38
  /**
12
39
  * Recursively find files with given extensions
13
40
  */
@@ -51,12 +78,13 @@ function findFiles(directory, extensions, ignoreDirs = []) {
51
78
  /**
52
79
  * Run LSP diagnostics on all TypeScript/JavaScript files in a directory
53
80
  * @param directory - Project directory to scan
54
- * @param extensions - File extensions to check (default: ['.ts', '.tsx', '.js', '.jsx'])
81
+ * @param extensions - File extensions to check (optional, defaults to all LSP-supported extensions)
55
82
  * @returns Aggregated diagnostics from all files
56
83
  */
57
- export async function runLspAggregatedDiagnostics(directory, extensions = ['.ts', '.tsx', '.js', '.jsx']) {
84
+ export async function runLspAggregatedDiagnostics(directory, extensions) {
85
+ const effectiveExtensions = extensions ?? getAllSupportedExtensions();
58
86
  // Find all matching files
59
- const files = findFiles(directory, extensions, ['node_modules', 'dist', 'build', '.git']);
87
+ const files = findFiles(directory, effectiveExtensions, ['node_modules', 'dist', 'build', '.git']);
60
88
  const allDiagnostics = [];
61
89
  let filesChecked = 0;
62
90
  for (const file of files) {
@@ -1 +1 @@
1
- {"version":3,"file":"lsp-aggregator.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/lsp-aggregator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lsp-aggregator.js","sourceRoot":"","sources":["../../../src/tools/diagnostics/lsp-aggregator.ts"],"names":[],"mappings":"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"}