oh-my-claude-sisyphus 3.7.6 → 3.7.9

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 (428) hide show
  1. package/.claude-plugin/marketplace.json +24 -0
  2. package/.claude-plugin/plugin.json +7 -0
  3. package/.mcp.json +8 -0
  4. package/agents/AGENTS.md +144 -0
  5. package/dist/__tests__/analytics/analytics-summary.test.d.ts +2 -0
  6. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +1 -0
  7. package/dist/__tests__/analytics/analytics-summary.test.js +267 -0
  8. package/dist/__tests__/analytics/analytics-summary.test.js.map +1 -0
  9. package/dist/__tests__/analytics/cost-estimator.test.d.ts +2 -0
  10. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +1 -0
  11. package/dist/__tests__/analytics/cost-estimator.test.js +212 -0
  12. package/dist/__tests__/analytics/cost-estimator.test.js.map +1 -0
  13. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +7 -0
  14. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +1 -0
  15. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +374 -0
  16. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +1 -0
  17. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +2 -0
  18. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +1 -0
  19. package/dist/__tests__/hud/auto-tracking.integration.test.js +12 -0
  20. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +1 -0
  21. package/dist/__tests__/learned-skills/config.test.d.ts +2 -0
  22. package/dist/__tests__/learned-skills/config.test.d.ts.map +1 -0
  23. package/dist/__tests__/learned-skills/config.test.js +37 -0
  24. package/dist/__tests__/learned-skills/config.test.js.map +1 -0
  25. package/dist/__tests__/learned-skills/detector.test.d.ts +2 -0
  26. package/dist/__tests__/learned-skills/detector.test.d.ts.map +1 -0
  27. package/dist/__tests__/learned-skills/detector.test.js +99 -0
  28. package/dist/__tests__/learned-skills/detector.test.js.map +1 -0
  29. package/dist/__tests__/learned-skills/finder.test.d.ts +2 -0
  30. package/dist/__tests__/learned-skills/finder.test.d.ts.map +1 -0
  31. package/dist/__tests__/learned-skills/finder.test.js +59 -0
  32. package/dist/__tests__/learned-skills/finder.test.js.map +1 -0
  33. package/dist/__tests__/learned-skills/loader.test.d.ts +2 -0
  34. package/dist/__tests__/learned-skills/loader.test.d.ts.map +1 -0
  35. package/dist/__tests__/learned-skills/loader.test.js +69 -0
  36. package/dist/__tests__/learned-skills/loader.test.js.map +1 -0
  37. package/dist/__tests__/learned-skills/parser.test.d.ts +2 -0
  38. package/dist/__tests__/learned-skills/parser.test.d.ts.map +1 -0
  39. package/dist/__tests__/learned-skills/parser.test.js +81 -0
  40. package/dist/__tests__/learned-skills/parser.test.js.map +1 -0
  41. package/dist/__tests__/learned-skills/validator.test.d.ts +2 -0
  42. package/dist/__tests__/learned-skills/validator.test.d.ts.map +1 -0
  43. package/dist/__tests__/learned-skills/validator.test.js +85 -0
  44. package/dist/__tests__/learned-skills/validator.test.js.map +1 -0
  45. package/dist/__tests__/omc-tools-server.test.d.ts +2 -0
  46. package/dist/__tests__/omc-tools-server.test.d.ts.map +1 -0
  47. package/dist/__tests__/omc-tools-server.test.js +52 -0
  48. package/dist/__tests__/omc-tools-server.test.js.map +1 -0
  49. package/dist/agents/architect.js +1 -1
  50. package/dist/agents/architect.js.map +1 -1
  51. package/dist/agents/codex-agents.d.ts +20 -0
  52. package/dist/agents/codex-agents.d.ts.map +1 -0
  53. package/dist/agents/codex-agents.js +36 -0
  54. package/dist/agents/codex-agents.js.map +1 -0
  55. package/dist/agents/definitions.js +13 -13
  56. package/dist/agents/definitions.js.map +1 -1
  57. package/dist/agents/document-writer.d.ts +11 -0
  58. package/dist/agents/document-writer.d.ts.map +1 -0
  59. package/dist/agents/document-writer.js +209 -0
  60. package/dist/agents/document-writer.js.map +1 -0
  61. package/dist/agents/executor.js +1 -1
  62. package/dist/agents/executor.js.map +1 -1
  63. package/dist/agents/explore.js +1 -1
  64. package/dist/agents/explore.js.map +1 -1
  65. package/dist/agents/frontend-engineer.d.ts +11 -0
  66. package/dist/agents/frontend-engineer.d.ts.map +1 -0
  67. package/dist/agents/frontend-engineer.js +115 -0
  68. package/dist/agents/frontend-engineer.js.map +1 -0
  69. package/dist/agents/librarian.d.ts +12 -0
  70. package/dist/agents/librarian.d.ts.map +1 -0
  71. package/dist/agents/librarian.js +103 -0
  72. package/dist/agents/librarian.js.map +1 -0
  73. package/dist/agents/metis.d.ts +12 -0
  74. package/dist/agents/metis.d.ts.map +1 -0
  75. package/dist/agents/metis.js +117 -0
  76. package/dist/agents/metis.js.map +1 -0
  77. package/dist/agents/momus.d.ts +12 -0
  78. package/dist/agents/momus.d.ts.map +1 -0
  79. package/dist/agents/momus.js +128 -0
  80. package/dist/agents/momus.js.map +1 -0
  81. package/dist/agents/multimodal-looker.d.ts +11 -0
  82. package/dist/agents/multimodal-looker.d.ts.map +1 -0
  83. package/dist/agents/multimodal-looker.js +70 -0
  84. package/dist/agents/multimodal-looker.js.map +1 -0
  85. package/dist/agents/oracle.d.ts +13 -0
  86. package/dist/agents/oracle.d.ts.map +1 -0
  87. package/dist/agents/oracle.js +191 -0
  88. package/dist/agents/oracle.js.map +1 -0
  89. package/dist/agents/orchestrator-sisyphus.d.ts +11 -0
  90. package/dist/agents/orchestrator-sisyphus.d.ts.map +1 -0
  91. package/dist/agents/orchestrator-sisyphus.js +115 -0
  92. package/dist/agents/orchestrator-sisyphus.js.map +1 -0
  93. package/dist/agents/prometheus.d.ts +12 -0
  94. package/dist/agents/prometheus.d.ts.map +1 -0
  95. package/dist/agents/prometheus.js +195 -0
  96. package/dist/agents/prometheus.js.map +1 -0
  97. package/dist/agents/qa-tester.js +1 -1
  98. package/dist/agents/qa-tester.js.map +1 -1
  99. package/dist/agents/sisyphus-junior.d.ts +12 -0
  100. package/dist/agents/sisyphus-junior.d.ts.map +1 -0
  101. package/dist/agents/sisyphus-junior.js +93 -0
  102. package/dist/agents/sisyphus-junior.js.map +1 -0
  103. package/dist/cli/analytics.js +0 -0
  104. package/dist/cli/components/CostDashboard.d.ts +15 -0
  105. package/dist/cli/components/CostDashboard.d.ts.map +1 -0
  106. package/dist/cli/components/CostDashboard.js +15 -0
  107. package/dist/cli/components/CostDashboard.js.map +1 -0
  108. package/dist/cli/components/LiveStats.d.ts +16 -0
  109. package/dist/cli/components/LiveStats.d.ts.map +1 -0
  110. package/dist/cli/components/LiveStats.js +16 -0
  111. package/dist/cli/components/LiveStats.js.map +1 -0
  112. package/dist/cli/components/SessionBrowser.d.ts +14 -0
  113. package/dist/cli/components/SessionBrowser.d.ts.map +1 -0
  114. package/dist/cli/components/SessionBrowser.js +14 -0
  115. package/dist/cli/components/SessionBrowser.js.map +1 -0
  116. package/dist/cli/index.js +0 -0
  117. package/dist/cli/tui.d.ts +21 -0
  118. package/dist/cli/tui.d.ts.map +1 -0
  119. package/dist/cli/tui.js +21 -0
  120. package/dist/cli/tui.js.map +1 -0
  121. package/dist/hooks/autopilot/signals.d.ts +20 -0
  122. package/dist/hooks/autopilot/signals.d.ts.map +1 -0
  123. package/dist/hooks/autopilot/signals.js +75 -0
  124. package/dist/hooks/autopilot/signals.js.map +1 -0
  125. package/dist/hooks/autopilot/summary.d.ts +27 -0
  126. package/dist/hooks/autopilot/summary.d.ts.map +1 -0
  127. package/dist/hooks/autopilot/summary.js +160 -0
  128. package/dist/hooks/autopilot/summary.js.map +1 -0
  129. package/dist/hooks/autopilot/transition.d.ts +39 -0
  130. package/dist/hooks/autopilot/transition.d.ts.map +1 -0
  131. package/dist/hooks/autopilot/transition.js +216 -0
  132. package/dist/hooks/autopilot/transition.js.map +1 -0
  133. package/dist/hooks/context-window-limit-recovery/constants.d.ts +28 -0
  134. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +1 -0
  135. package/dist/hooks/context-window-limit-recovery/constants.js +85 -0
  136. package/dist/hooks/context-window-limit-recovery/constants.js.map +1 -0
  137. package/dist/hooks/context-window-limit-recovery/index.d.ts +62 -0
  138. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +1 -0
  139. package/dist/hooks/context-window-limit-recovery/index.js +201 -0
  140. package/dist/hooks/context-window-limit-recovery/index.js.map +1 -0
  141. package/dist/hooks/context-window-limit-recovery/parser.d.ts +31 -0
  142. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +1 -0
  143. package/dist/hooks/context-window-limit-recovery/parser.js +241 -0
  144. package/dist/hooks/context-window-limit-recovery/parser.js.map +1 -0
  145. package/dist/hooks/context-window-limit-recovery/types.d.ts +84 -0
  146. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +1 -0
  147. package/dist/hooks/context-window-limit-recovery/types.js +34 -0
  148. package/dist/hooks/context-window-limit-recovery/types.js.map +1 -0
  149. package/dist/hooks/edit-error-recovery/index.d.ts +62 -0
  150. package/dist/hooks/edit-error-recovery/index.d.ts.map +1 -0
  151. package/dist/hooks/edit-error-recovery/index.js +89 -0
  152. package/dist/hooks/edit-error-recovery/index.js.map +1 -0
  153. package/dist/hooks/github-auto-responder/classifier.d.ts +43 -0
  154. package/dist/hooks/github-auto-responder/classifier.d.ts.map +1 -0
  155. package/dist/hooks/github-auto-responder/classifier.js +150 -0
  156. package/dist/hooks/github-auto-responder/classifier.js.map +1 -0
  157. package/dist/hooks/github-auto-responder/config.d.ts +109 -0
  158. package/dist/hooks/github-auto-responder/config.d.ts.map +1 -0
  159. package/dist/hooks/github-auto-responder/config.js +69 -0
  160. package/dist/hooks/github-auto-responder/config.js.map +1 -0
  161. package/dist/hooks/github-auto-responder/constants.d.ts +45 -0
  162. package/dist/hooks/github-auto-responder/constants.d.ts.map +1 -0
  163. package/dist/hooks/github-auto-responder/constants.js +60 -0
  164. package/dist/hooks/github-auto-responder/constants.js.map +1 -0
  165. package/dist/hooks/github-auto-responder/filters.d.ts +95 -0
  166. package/dist/hooks/github-auto-responder/filters.d.ts.map +1 -0
  167. package/dist/hooks/github-auto-responder/filters.js +174 -0
  168. package/dist/hooks/github-auto-responder/filters.js.map +1 -0
  169. package/dist/hooks/github-auto-responder/github-client.d.ts +65 -0
  170. package/dist/hooks/github-auto-responder/github-client.d.ts.map +1 -0
  171. package/dist/hooks/github-auto-responder/github-client.js +128 -0
  172. package/dist/hooks/github-auto-responder/github-client.js.map +1 -0
  173. package/dist/hooks/github-auto-responder/idempotency.d.ts +68 -0
  174. package/dist/hooks/github-auto-responder/idempotency.d.ts.map +1 -0
  175. package/dist/hooks/github-auto-responder/idempotency.js +147 -0
  176. package/dist/hooks/github-auto-responder/idempotency.js.map +1 -0
  177. package/dist/hooks/github-auto-responder/index.d.ts +140 -0
  178. package/dist/hooks/github-auto-responder/index.d.ts.map +1 -0
  179. package/dist/hooks/github-auto-responder/index.js +145 -0
  180. package/dist/hooks/github-auto-responder/index.js.map +1 -0
  181. package/dist/hooks/github-auto-responder/persona.d.ts +40 -0
  182. package/dist/hooks/github-auto-responder/persona.d.ts.map +1 -0
  183. package/dist/hooks/github-auto-responder/persona.js +99 -0
  184. package/dist/hooks/github-auto-responder/persona.js.map +1 -0
  185. package/dist/hooks/github-auto-responder/responder.d.ts +122 -0
  186. package/dist/hooks/github-auto-responder/responder.d.ts.map +1 -0
  187. package/dist/hooks/github-auto-responder/responder.js +264 -0
  188. package/dist/hooks/github-auto-responder/responder.js.map +1 -0
  189. package/dist/hooks/github-auto-responder/server.d.ts +140 -0
  190. package/dist/hooks/github-auto-responder/server.d.ts.map +1 -0
  191. package/dist/hooks/github-auto-responder/server.js +301 -0
  192. package/dist/hooks/github-auto-responder/server.js.map +1 -0
  193. package/dist/hooks/github-auto-responder/signature.d.ts +34 -0
  194. package/dist/hooks/github-auto-responder/signature.d.ts.map +1 -0
  195. package/dist/hooks/github-auto-responder/signature.js +79 -0
  196. package/dist/hooks/github-auto-responder/signature.js.map +1 -0
  197. package/dist/hooks/github-auto-responder/templates.d.ts +16 -0
  198. package/dist/hooks/github-auto-responder/templates.d.ts.map +1 -0
  199. package/dist/hooks/github-auto-responder/templates.js +93 -0
  200. package/dist/hooks/github-auto-responder/templates.js.map +1 -0
  201. package/dist/hooks/github-auto-responder/types.d.ts +246 -0
  202. package/dist/hooks/github-auto-responder/types.d.ts.map +1 -0
  203. package/dist/hooks/github-auto-responder/types.js +7 -0
  204. package/dist/hooks/github-auto-responder/types.js.map +1 -0
  205. package/dist/hooks/learned-skills/config.d.ts +53 -0
  206. package/dist/hooks/learned-skills/config.d.ts.map +1 -0
  207. package/dist/hooks/learned-skills/config.js +103 -0
  208. package/dist/hooks/learned-skills/config.js.map +1 -0
  209. package/dist/hooks/learned-skills/constants.d.ts +24 -0
  210. package/dist/hooks/learned-skills/constants.d.ts.map +1 -0
  211. package/dist/hooks/learned-skills/constants.js +26 -0
  212. package/dist/hooks/learned-skills/constants.js.map +1 -0
  213. package/dist/hooks/learned-skills/detection-hook.d.ts +39 -0
  214. package/dist/hooks/learned-skills/detection-hook.d.ts.map +1 -0
  215. package/dist/hooks/learned-skills/detection-hook.js +83 -0
  216. package/dist/hooks/learned-skills/detection-hook.js.map +1 -0
  217. package/dist/hooks/learned-skills/detector.d.ts +30 -0
  218. package/dist/hooks/learned-skills/detector.d.ts.map +1 -0
  219. package/dist/hooks/learned-skills/detector.js +150 -0
  220. package/dist/hooks/learned-skills/detector.js.map +1 -0
  221. package/dist/hooks/learned-skills/finder.d.ts +21 -0
  222. package/dist/hooks/learned-skills/finder.d.ts.map +1 -0
  223. package/dist/hooks/learned-skills/finder.js +117 -0
  224. package/dist/hooks/learned-skills/finder.js.map +1 -0
  225. package/dist/hooks/learned-skills/index.d.ts +62 -0
  226. package/dist/hooks/learned-skills/index.d.ts.map +1 -0
  227. package/dist/hooks/learned-skills/index.js +137 -0
  228. package/dist/hooks/learned-skills/index.js.map +1 -0
  229. package/dist/hooks/learned-skills/loader.d.ts +20 -0
  230. package/dist/hooks/learned-skills/loader.d.ts.map +1 -0
  231. package/dist/hooks/learned-skills/loader.js +107 -0
  232. package/dist/hooks/learned-skills/loader.js.map +1 -0
  233. package/dist/hooks/learned-skills/parser.d.ts +21 -0
  234. package/dist/hooks/learned-skills/parser.d.ts.map +1 -0
  235. package/dist/hooks/learned-skills/parser.js +190 -0
  236. package/dist/hooks/learned-skills/parser.js.map +1 -0
  237. package/dist/hooks/learned-skills/promotion.d.ts +29 -0
  238. package/dist/hooks/learned-skills/promotion.d.ts.map +1 -0
  239. package/dist/hooks/learned-skills/promotion.js +87 -0
  240. package/dist/hooks/learned-skills/promotion.js.map +1 -0
  241. package/dist/hooks/learned-skills/types.d.ts +109 -0
  242. package/dist/hooks/learned-skills/types.d.ts.map +1 -0
  243. package/dist/hooks/learned-skills/types.js +8 -0
  244. package/dist/hooks/learned-skills/types.js.map +1 -0
  245. package/dist/hooks/learned-skills/validator.d.ts +15 -0
  246. package/dist/hooks/learned-skills/validator.d.ts.map +1 -0
  247. package/dist/hooks/learned-skills/validator.js +87 -0
  248. package/dist/hooks/learned-skills/validator.js.map +1 -0
  249. package/dist/hooks/learned-skills/writer.d.ts +27 -0
  250. package/dist/hooks/learned-skills/writer.d.ts.map +1 -0
  251. package/dist/hooks/learned-skills/writer.js +126 -0
  252. package/dist/hooks/learned-skills/writer.js.map +1 -0
  253. package/dist/hooks/mnemosyne/config.d.ts +53 -0
  254. package/dist/hooks/mnemosyne/config.d.ts.map +1 -0
  255. package/dist/hooks/mnemosyne/config.js +103 -0
  256. package/dist/hooks/mnemosyne/config.js.map +1 -0
  257. package/dist/hooks/mnemosyne/constants.d.ts +24 -0
  258. package/dist/hooks/mnemosyne/constants.d.ts.map +1 -0
  259. package/dist/hooks/mnemosyne/constants.js +26 -0
  260. package/dist/hooks/mnemosyne/constants.js.map +1 -0
  261. package/dist/hooks/mnemosyne/detection-hook.d.ts +39 -0
  262. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +1 -0
  263. package/dist/hooks/mnemosyne/detection-hook.js +83 -0
  264. package/dist/hooks/mnemosyne/detection-hook.js.map +1 -0
  265. package/dist/hooks/mnemosyne/detector.d.ts +30 -0
  266. package/dist/hooks/mnemosyne/detector.d.ts.map +1 -0
  267. package/dist/hooks/mnemosyne/detector.js +150 -0
  268. package/dist/hooks/mnemosyne/detector.js.map +1 -0
  269. package/dist/hooks/mnemosyne/finder.d.ts +21 -0
  270. package/dist/hooks/mnemosyne/finder.d.ts.map +1 -0
  271. package/dist/hooks/mnemosyne/finder.js +117 -0
  272. package/dist/hooks/mnemosyne/finder.js.map +1 -0
  273. package/dist/hooks/mnemosyne/index.d.ts +62 -0
  274. package/dist/hooks/mnemosyne/index.d.ts.map +1 -0
  275. package/dist/hooks/mnemosyne/index.js +137 -0
  276. package/dist/hooks/mnemosyne/index.js.map +1 -0
  277. package/dist/hooks/mnemosyne/loader.d.ts +20 -0
  278. package/dist/hooks/mnemosyne/loader.d.ts.map +1 -0
  279. package/dist/hooks/mnemosyne/loader.js +113 -0
  280. package/dist/hooks/mnemosyne/loader.js.map +1 -0
  281. package/dist/hooks/mnemosyne/parser.d.ts +21 -0
  282. package/dist/hooks/mnemosyne/parser.d.ts.map +1 -0
  283. package/dist/hooks/mnemosyne/parser.js +190 -0
  284. package/dist/hooks/mnemosyne/parser.js.map +1 -0
  285. package/dist/hooks/mnemosyne/promotion.d.ts +29 -0
  286. package/dist/hooks/mnemosyne/promotion.d.ts.map +1 -0
  287. package/dist/hooks/mnemosyne/promotion.js +87 -0
  288. package/dist/hooks/mnemosyne/promotion.js.map +1 -0
  289. package/dist/hooks/mnemosyne/types.d.ts +109 -0
  290. package/dist/hooks/mnemosyne/types.d.ts.map +1 -0
  291. package/dist/hooks/mnemosyne/types.js +8 -0
  292. package/dist/hooks/mnemosyne/types.js.map +1 -0
  293. package/dist/hooks/mnemosyne/validator.d.ts +15 -0
  294. package/dist/hooks/mnemosyne/validator.d.ts.map +1 -0
  295. package/dist/hooks/mnemosyne/validator.js +87 -0
  296. package/dist/hooks/mnemosyne/validator.js.map +1 -0
  297. package/dist/hooks/mnemosyne/writer.d.ts +27 -0
  298. package/dist/hooks/mnemosyne/writer.d.ts.map +1 -0
  299. package/dist/hooks/mnemosyne/writer.js +126 -0
  300. package/dist/hooks/mnemosyne/writer.js.map +1 -0
  301. package/dist/hooks/ralph-loop/index.d.ts +116 -0
  302. package/dist/hooks/ralph-loop/index.d.ts.map +1 -0
  303. package/dist/hooks/ralph-loop/index.js +322 -0
  304. package/dist/hooks/ralph-loop/index.js.map +1 -0
  305. package/dist/hooks/ralph-prd/index.d.ts +130 -0
  306. package/dist/hooks/ralph-prd/index.d.ts.map +1 -0
  307. package/dist/hooks/ralph-prd/index.js +310 -0
  308. package/dist/hooks/ralph-prd/index.js.map +1 -0
  309. package/dist/hooks/ralph-progress/index.d.ts +102 -0
  310. package/dist/hooks/ralph-progress/index.d.ts.map +1 -0
  311. package/dist/hooks/ralph-progress/index.js +408 -0
  312. package/dist/hooks/ralph-progress/index.js.map +1 -0
  313. package/dist/hooks/ralph-verifier/index.d.ts +72 -0
  314. package/dist/hooks/ralph-verifier/index.d.ts.map +1 -0
  315. package/dist/hooks/ralph-verifier/index.js +223 -0
  316. package/dist/hooks/ralph-verifier/index.js.map +1 -0
  317. package/dist/hooks/session-recovery/constants.d.ts +56 -0
  318. package/dist/hooks/session-recovery/constants.d.ts.map +1 -0
  319. package/dist/hooks/session-recovery/constants.js +78 -0
  320. package/dist/hooks/session-recovery/constants.js.map +1 -0
  321. package/dist/hooks/session-recovery/index.d.ts +53 -0
  322. package/dist/hooks/session-recovery/index.d.ts.map +1 -0
  323. package/dist/hooks/session-recovery/index.js +321 -0
  324. package/dist/hooks/session-recovery/index.js.map +1 -0
  325. package/dist/hooks/session-recovery/storage.d.ts +76 -0
  326. package/dist/hooks/session-recovery/storage.d.ts.map +1 -0
  327. package/dist/hooks/session-recovery/storage.js +383 -0
  328. package/dist/hooks/session-recovery/storage.js.map +1 -0
  329. package/dist/hooks/session-recovery/types.d.ts +145 -0
  330. package/dist/hooks/session-recovery/types.d.ts.map +1 -0
  331. package/dist/hooks/session-recovery/types.js +8 -0
  332. package/dist/hooks/session-recovery/types.js.map +1 -0
  333. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +23 -0
  334. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +1 -0
  335. package/dist/hooks/sisyphus-orchestrator/constants.js +142 -0
  336. package/dist/hooks/sisyphus-orchestrator/constants.js.map +1 -0
  337. package/dist/hooks/sisyphus-orchestrator/index.d.ts +113 -0
  338. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +1 -0
  339. package/dist/hooks/sisyphus-orchestrator/index.js +309 -0
  340. package/dist/hooks/sisyphus-orchestrator/index.js.map +1 -0
  341. package/dist/hooks/ultraqa-loop/index.d.ts +94 -0
  342. package/dist/hooks/ultraqa-loop/index.d.ts.map +1 -0
  343. package/dist/hooks/ultraqa-loop/index.js +216 -0
  344. package/dist/hooks/ultraqa-loop/index.js.map +1 -0
  345. package/dist/hooks/ultrawork-state/index.d.ts +62 -0
  346. package/dist/hooks/ultrawork-state/index.d.ts.map +1 -0
  347. package/dist/hooks/ultrawork-state/index.js +208 -0
  348. package/dist/hooks/ultrawork-state/index.js.map +1 -0
  349. package/dist/hud/sisyphus-state.d.ts +31 -0
  350. package/dist/hud/sisyphus-state.d.ts.map +1 -0
  351. package/dist/hud/sisyphus-state.js +163 -0
  352. package/dist/hud/sisyphus-state.js.map +1 -0
  353. package/dist/index.d.ts +1 -0
  354. package/dist/index.d.ts.map +1 -1
  355. package/dist/index.js +15 -3
  356. package/dist/index.js.map +1 -1
  357. package/dist/mcp/index.d.ts +1 -0
  358. package/dist/mcp/index.d.ts.map +1 -1
  359. package/dist/mcp/index.js +2 -0
  360. package/dist/mcp/index.js.map +1 -1
  361. package/dist/mcp/omc-tools-server.d.ts +25 -0
  362. package/dist/mcp/omc-tools-server.d.ts.map +1 -0
  363. package/dist/mcp/omc-tools-server.js +49 -0
  364. package/dist/mcp/omc-tools-server.js.map +1 -0
  365. package/dist/mcp/standalone-server.d.ts +11 -0
  366. package/dist/mcp/standalone-server.d.ts.map +1 -0
  367. package/dist/mcp/standalone-server.js +139 -0
  368. package/dist/mcp/standalone-server.js.map +1 -0
  369. package/dist/tools/ast-tools.d.ts.map +1 -1
  370. package/dist/tools/ast-tools.js +19 -39
  371. package/dist/tools/ast-tools.js.map +1 -1
  372. package/dist/tools/diagnostics/index.d.ts +7 -32
  373. package/dist/tools/diagnostics/index.d.ts.map +1 -1
  374. package/dist/tools/diagnostics/index.js +41 -171
  375. package/dist/tools/diagnostics/index.js.map +1 -1
  376. package/dist/tools/diagnostics/lsp-aggregator.d.ts +1 -13
  377. package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -1
  378. package/dist/tools/diagnostics/lsp-aggregator.js +4 -32
  379. package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -1
  380. package/dist/tools/diagnostics/tsc-runner.d.ts +0 -6
  381. package/dist/tools/diagnostics/tsc-runner.d.ts.map +1 -1
  382. package/dist/tools/diagnostics/tsc-runner.js +5 -32
  383. package/dist/tools/diagnostics/tsc-runner.js.map +1 -1
  384. package/dist/tools/lsp/client.d.ts.map +1 -1
  385. package/dist/tools/lsp/client.js +1 -26
  386. package/dist/tools/lsp/client.js.map +1 -1
  387. package/dist/tools/lsp/servers.d.ts +0 -3
  388. package/dist/tools/lsp/servers.d.ts.map +1 -1
  389. package/dist/tools/lsp/servers.js +4 -111
  390. package/dist/tools/lsp/servers.js.map +1 -1
  391. package/dist/tools/lsp-tools.d.ts +2 -2
  392. package/dist/tools/lsp-tools.d.ts.map +1 -1
  393. package/dist/tools/lsp-tools.js +2 -2
  394. package/dist/tools/lsp-tools.js.map +1 -1
  395. package/package.json +4 -2
  396. package/skills/AGENTS.md +187 -0
  397. package/dist/tools/diagnostics/__tests__/detectProjectType.test.d.ts +0 -5
  398. package/dist/tools/diagnostics/__tests__/detectProjectType.test.d.ts.map +0 -1
  399. package/dist/tools/diagnostics/__tests__/detectProjectType.test.js +0 -42
  400. package/dist/tools/diagnostics/__tests__/detectProjectType.test.js.map +0 -1
  401. package/dist/tools/diagnostics/__tests__/integration.test.d.ts +0 -5
  402. package/dist/tools/diagnostics/__tests__/integration.test.d.ts.map +0 -1
  403. package/dist/tools/diagnostics/__tests__/integration.test.js +0 -66
  404. package/dist/tools/diagnostics/__tests__/integration.test.js.map +0 -1
  405. package/dist/tools/diagnostics/__tests__/parser-tests.d.ts +0 -5
  406. package/dist/tools/diagnostics/__tests__/parser-tests.d.ts.map +0 -1
  407. package/dist/tools/diagnostics/__tests__/parser-tests.js +0 -86
  408. package/dist/tools/diagnostics/__tests__/parser-tests.js.map +0 -1
  409. package/dist/tools/diagnostics/__tests__/parsers.test.d.ts +0 -5
  410. package/dist/tools/diagnostics/__tests__/parsers.test.d.ts.map +0 -1
  411. package/dist/tools/diagnostics/__tests__/parsers.test.js +0 -199
  412. package/dist/tools/diagnostics/__tests__/parsers.test.js.map +0 -1
  413. package/dist/tools/diagnostics/constants.d.ts +0 -9
  414. package/dist/tools/diagnostics/constants.d.ts.map +0 -1
  415. package/dist/tools/diagnostics/constants.js +0 -9
  416. package/dist/tools/diagnostics/constants.js.map +0 -1
  417. package/dist/tools/diagnostics/go-runner.d.ts +0 -31
  418. package/dist/tools/diagnostics/go-runner.d.ts.map +0 -1
  419. package/dist/tools/diagnostics/go-runner.js +0 -78
  420. package/dist/tools/diagnostics/go-runner.js.map +0 -1
  421. package/dist/tools/diagnostics/python-runner.d.ts +0 -39
  422. package/dist/tools/diagnostics/python-runner.d.ts.map +0 -1
  423. package/dist/tools/diagnostics/python-runner.js +0 -200
  424. package/dist/tools/diagnostics/python-runner.js.map +0 -1
  425. package/dist/tools/diagnostics/rust-runner.d.ts +0 -34
  426. package/dist/tools/diagnostics/rust-runner.d.ts.map +0 -1
  427. package/dist/tools/diagnostics/rust-runner.js +0 -106
  428. package/dist/tools/diagnostics/rust-runner.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ /**
2
+ * GitHub Auto-Responder - Public API Entry Point
3
+ *
4
+ * This module provides a high-level API for creating and managing
5
+ * GitHub webhook auto-responders powered by Claude.
6
+ *
7
+ * @example Quick Start
8
+ * ```typescript
9
+ * import { startGitHubAutoResponder } from '@/hooks/github-auto-responder';
10
+ *
11
+ * // Start with environment variables
12
+ * const { server, responder, config, stop } = await startGitHubAutoResponder();
13
+ *
14
+ * // Or with config overrides
15
+ * const instance = await startGitHubAutoResponder({
16
+ * mode: 'auto',
17
+ * port: 3001,
18
+ * });
19
+ *
20
+ * // Later...
21
+ * await instance.stop();
22
+ * ```
23
+ *
24
+ * @example Manual Setup
25
+ * ```typescript
26
+ * import { createGitHubAutoResponder } from '@/hooks/github-auto-responder';
27
+ *
28
+ * const { server, responder, config } = createGitHubAutoResponder({
29
+ * webhookSecret: process.env.GITHUB_WEBHOOK_SECRET!,
30
+ * githubToken: process.env.GITHUB_TOKEN!,
31
+ * anthropicApiKey: process.env.ANTHROPIC_API_KEY!,
32
+ * selfLogin: 'my-bot',
33
+ * });
34
+ *
35
+ * await responder.init();
36
+ * await server.start();
37
+ *
38
+ * // Later...
39
+ * await server.stop();
40
+ * ```
41
+ */
42
+ import type { AutoResponderConfig, PersonaConfig, ResponseCategory, ResponseMode, WebhookPayload, WebhookHeaders, GitHubUser, GitHubLabel, GitHubRepository, GitHubIssue, GitHubPullRequest, GitHubIssuePayload, GitHubPRPayload, FilterResult, WebhookFilter, IdempotencyRecord, LLMResponse, CommentResult } from './types.js';
43
+ import { loadConfig, loadConfigFromEnv } from './config.js';
44
+ import { DEFAULT_PERSONA, DEFAULT_SKIP_LABELS, DEFAULT_SPAM_PATTERNS, DEFAULT_PORT, DEFAULT_LLM_MODEL, DEFAULT_MAX_RESPONSE_TOKENS, GITHUB_API_BASE, ANTHROPIC_API_URL, RESPONSE_TIMEOUT_MS, IDEMPOTENCY_TTL_MS } from './constants.js';
45
+ import { AutoResponder, createAutoResponder } from './responder.js';
46
+ import type { ResponderResult } from './responder.js';
47
+ import { WebhookServer, createWebhookServer, registerShutdownHandlers } from './server.js';
48
+ export type { AutoResponderConfig, PersonaConfig, ResponseCategory, ResponseMode, WebhookPayload, WebhookHeaders, GitHubUser, GitHubLabel, GitHubRepository, GitHubIssue, GitHubPullRequest, GitHubIssuePayload, GitHubPRPayload, FilterResult, WebhookFilter, IdempotencyRecord, LLMResponse, CommentResult, ResponderResult, };
49
+ export { loadConfig, loadConfigFromEnv };
50
+ export { DEFAULT_PERSONA, DEFAULT_SKIP_LABELS, DEFAULT_SPAM_PATTERNS, DEFAULT_PORT, DEFAULT_LLM_MODEL, DEFAULT_MAX_RESPONSE_TOKENS, GITHUB_API_BASE, ANTHROPIC_API_URL, RESPONSE_TIMEOUT_MS, IDEMPOTENCY_TTL_MS, };
51
+ export { AutoResponder, createAutoResponder };
52
+ export { WebhookServer, createWebhookServer, registerShutdownHandlers };
53
+ /**
54
+ * Result of creating a GitHub auto-responder instance.
55
+ */
56
+ export interface GitHubAutoResponderInstance {
57
+ /** Auto-responder for webhook processing */
58
+ responder: AutoResponder;
59
+ /** HTTP webhook server */
60
+ server: WebhookServer;
61
+ /** Resolved configuration */
62
+ config: AutoResponderConfig;
63
+ }
64
+ /**
65
+ * Result of starting a GitHub auto-responder (includes stop function).
66
+ */
67
+ export interface StartedGitHubAutoResponder extends GitHubAutoResponderInstance {
68
+ /** Stop the server and close the responder */
69
+ stop: () => Promise<void>;
70
+ }
71
+ /**
72
+ * Create a GitHub auto-responder instance (server + responder).
73
+ *
74
+ * This factory function creates both the webhook server and the auto-responder,
75
+ * but does NOT initialize or start them. You must call:
76
+ * 1. `responder.init()` to initialize the idempotency store
77
+ * 2. `server.start()` to begin listening for webhooks
78
+ *
79
+ * Use {@link startGitHubAutoResponder} if you want a fully initialized and
80
+ * running instance in a single call.
81
+ *
82
+ * @param configOverrides - Partial configuration to override defaults/env vars
83
+ * @returns Auto-responder instance with server, responder, and resolved config
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * const { server, responder, config } = createGitHubAutoResponder({
88
+ * mode: 'draft', // Draft mode: log responses without posting
89
+ * port: 3001,
90
+ * });
91
+ *
92
+ * await responder.init();
93
+ * await server.start();
94
+ *
95
+ * console.log(`Webhook server running on port ${config.port}`);
96
+ * ```
97
+ */
98
+ export declare function createGitHubAutoResponder(configOverrides?: Partial<AutoResponderConfig>): GitHubAutoResponderInstance;
99
+ /**
100
+ * Create and start a fully initialized GitHub auto-responder.
101
+ *
102
+ * This is the recommended high-level API for most use cases. It:
103
+ * 1. Loads configuration from environment + overrides
104
+ * 2. Creates the auto-responder and webhook server
105
+ * 3. Initializes the responder (idempotency store)
106
+ * 4. Starts the HTTP server
107
+ * 5. Returns a handle with a convenient `stop()` function
108
+ *
109
+ * @param configOverrides - Partial configuration to override defaults/env vars
110
+ * @returns Started instance with server, responder, config, and stop function
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * // Start in auto mode (post comments automatically)
115
+ * const instance = await startGitHubAutoResponder({ mode: 'auto' });
116
+ *
117
+ * console.log(`Listening on port ${instance.config.port}`);
118
+ *
119
+ * // Later: gracefully shut down
120
+ * await instance.stop();
121
+ * ```
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Start in draft mode (log responses without posting)
126
+ * const instance = await startGitHubAutoResponder({
127
+ * mode: 'draft',
128
+ * port: 3001,
129
+ * persona: {
130
+ * tone: 'friendly',
131
+ * technicalDepth: 'intermediate',
132
+ * language: 'en',
133
+ * signatureEmoji: '🤖',
134
+ * maintainerName: 'Bot Master',
135
+ * },
136
+ * });
137
+ * ```
138
+ */
139
+ export declare function startGitHubAutoResponder(configOverrides?: Partial<AutoResponderConfig>): Promise<StartedGitHubAutoResponder>;
140
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,eAAe,GAChB,CAAC;AAGF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAGzC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAGF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,4CAA4C;IAC5C,SAAS,EAAE,aAAa,CAAC;IACzB,0BAA0B;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,2BAA2B;IAC7E,8CAA8C;IAC9C,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAC7C,2BAA2B,CAW7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,wBAAwB,CAC5C,eAAe,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAC7C,OAAO,CAAC,0BAA0B,CAAC,CAkBrC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * GitHub Auto-Responder - Public API Entry Point
3
+ *
4
+ * This module provides a high-level API for creating and managing
5
+ * GitHub webhook auto-responders powered by Claude.
6
+ *
7
+ * @example Quick Start
8
+ * ```typescript
9
+ * import { startGitHubAutoResponder } from '@/hooks/github-auto-responder';
10
+ *
11
+ * // Start with environment variables
12
+ * const { server, responder, config, stop } = await startGitHubAutoResponder();
13
+ *
14
+ * // Or with config overrides
15
+ * const instance = await startGitHubAutoResponder({
16
+ * mode: 'auto',
17
+ * port: 3001,
18
+ * });
19
+ *
20
+ * // Later...
21
+ * await instance.stop();
22
+ * ```
23
+ *
24
+ * @example Manual Setup
25
+ * ```typescript
26
+ * import { createGitHubAutoResponder } from '@/hooks/github-auto-responder';
27
+ *
28
+ * const { server, responder, config } = createGitHubAutoResponder({
29
+ * webhookSecret: process.env.GITHUB_WEBHOOK_SECRET!,
30
+ * githubToken: process.env.GITHUB_TOKEN!,
31
+ * anthropicApiKey: process.env.ANTHROPIC_API_KEY!,
32
+ * selfLogin: 'my-bot',
33
+ * });
34
+ *
35
+ * await responder.init();
36
+ * await server.start();
37
+ *
38
+ * // Later...
39
+ * await server.stop();
40
+ * ```
41
+ */
42
+ import { loadConfig, loadConfigFromEnv } from './config.js';
43
+ import { DEFAULT_PERSONA, DEFAULT_SKIP_LABELS, DEFAULT_SPAM_PATTERNS, DEFAULT_PORT, DEFAULT_LLM_MODEL, DEFAULT_MAX_RESPONSE_TOKENS, GITHUB_API_BASE, ANTHROPIC_API_URL, RESPONSE_TIMEOUT_MS, IDEMPOTENCY_TTL_MS, } from './constants.js';
44
+ import { AutoResponder, createAutoResponder } from './responder.js';
45
+ import { WebhookServer, createWebhookServer, registerShutdownHandlers, } from './server.js';
46
+ // Re-export config utilities
47
+ export { loadConfig, loadConfigFromEnv };
48
+ // Re-export constants
49
+ export { DEFAULT_PERSONA, DEFAULT_SKIP_LABELS, DEFAULT_SPAM_PATTERNS, DEFAULT_PORT, DEFAULT_LLM_MODEL, DEFAULT_MAX_RESPONSE_TOKENS, GITHUB_API_BASE, ANTHROPIC_API_URL, RESPONSE_TIMEOUT_MS, IDEMPOTENCY_TTL_MS, };
50
+ // Re-export core classes and factories
51
+ export { AutoResponder, createAutoResponder };
52
+ export { WebhookServer, createWebhookServer, registerShutdownHandlers };
53
+ /**
54
+ * Create a GitHub auto-responder instance (server + responder).
55
+ *
56
+ * This factory function creates both the webhook server and the auto-responder,
57
+ * but does NOT initialize or start them. You must call:
58
+ * 1. `responder.init()` to initialize the idempotency store
59
+ * 2. `server.start()` to begin listening for webhooks
60
+ *
61
+ * Use {@link startGitHubAutoResponder} if you want a fully initialized and
62
+ * running instance in a single call.
63
+ *
64
+ * @param configOverrides - Partial configuration to override defaults/env vars
65
+ * @returns Auto-responder instance with server, responder, and resolved config
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const { server, responder, config } = createGitHubAutoResponder({
70
+ * mode: 'draft', // Draft mode: log responses without posting
71
+ * port: 3001,
72
+ * });
73
+ *
74
+ * await responder.init();
75
+ * await server.start();
76
+ *
77
+ * console.log(`Webhook server running on port ${config.port}`);
78
+ * ```
79
+ */
80
+ export function createGitHubAutoResponder(configOverrides) {
81
+ // Load config from environment + overrides
82
+ const config = loadConfig(configOverrides);
83
+ // Create responder
84
+ const responder = createAutoResponder(config);
85
+ // Create webhook server
86
+ const server = createWebhookServer(responder, config);
87
+ return { responder, server, config };
88
+ }
89
+ /**
90
+ * Create and start a fully initialized GitHub auto-responder.
91
+ *
92
+ * This is the recommended high-level API for most use cases. It:
93
+ * 1. Loads configuration from environment + overrides
94
+ * 2. Creates the auto-responder and webhook server
95
+ * 3. Initializes the responder (idempotency store)
96
+ * 4. Starts the HTTP server
97
+ * 5. Returns a handle with a convenient `stop()` function
98
+ *
99
+ * @param configOverrides - Partial configuration to override defaults/env vars
100
+ * @returns Started instance with server, responder, config, and stop function
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * // Start in auto mode (post comments automatically)
105
+ * const instance = await startGitHubAutoResponder({ mode: 'auto' });
106
+ *
107
+ * console.log(`Listening on port ${instance.config.port}`);
108
+ *
109
+ * // Later: gracefully shut down
110
+ * await instance.stop();
111
+ * ```
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * // Start in draft mode (log responses without posting)
116
+ * const instance = await startGitHubAutoResponder({
117
+ * mode: 'draft',
118
+ * port: 3001,
119
+ * persona: {
120
+ * tone: 'friendly',
121
+ * technicalDepth: 'intermediate',
122
+ * language: 'en',
123
+ * signatureEmoji: '🤖',
124
+ * maintainerName: 'Bot Master',
125
+ * },
126
+ * });
127
+ * ```
128
+ */
129
+ export async function startGitHubAutoResponder(configOverrides) {
130
+ const { responder, server, config } = createGitHubAutoResponder(configOverrides);
131
+ // Initialize responder (idempotency store)
132
+ await responder.init();
133
+ // Start HTTP server
134
+ await server.start();
135
+ // Return handle with convenient stop function
136
+ return {
137
+ responder,
138
+ server,
139
+ config,
140
+ stop: async () => {
141
+ await server.stop();
142
+ },
143
+ };
144
+ }
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAwBH,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGpE,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAyBrB,6BAA6B;AAC7B,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAEzC,sBAAsB;AACtB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAEF,uCAAuC;AACvC,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,CAAC;AAsBxE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,yBAAyB,CACvC,eAA8C;IAE9C,2CAA2C;IAC3C,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE3C,mBAAmB;IACnB,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE9C,wBAAwB;IACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,eAA8C;IAE9C,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAEjF,2CAA2C;IAC3C,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAEvB,oBAAoB;IACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,8CAA8C;IAC9C,OAAO;QACL,SAAS;QACT,MAAM;QACN,MAAM;QACN,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * GitHub Auto Responder - Persona & Prompt Building
3
+ *
4
+ * Constructs LLM prompts that encode maintainer persona and response guidelines.
5
+ */
6
+ import type { ResponseCategory, PersonaConfig, WebhookPayload } from './types.js';
7
+ /**
8
+ * Context for LLM prompt generation
9
+ */
10
+ export interface PromptContext {
11
+ /** System prompt defining persona and guidelines */
12
+ system: string;
13
+ /** User prompt with issue/PR context */
14
+ user: string;
15
+ }
16
+ /**
17
+ * Builds the system prompt encoding maintainer persona and response guidelines.
18
+ *
19
+ * @param persona - Persona configuration
20
+ * @returns System prompt string
21
+ */
22
+ export declare function buildSystemPrompt(persona: PersonaConfig): string;
23
+ /**
24
+ * Builds the user prompt with issue/PR context.
25
+ *
26
+ * @param category - Classified response category
27
+ * @param payload - GitHub webhook payload
28
+ * @returns User prompt string
29
+ */
30
+ export declare function buildUserPrompt(category: ResponseCategory, payload: WebhookPayload): string;
31
+ /**
32
+ * Builds complete prompt context (system + user prompts).
33
+ *
34
+ * @param persona - Persona configuration
35
+ * @param category - Response category
36
+ * @param payload - GitHub webhook payload
37
+ * @returns Complete prompt context
38
+ */
39
+ export declare function buildPrompt(persona: PersonaConfig, category: ResponseCategory, payload: WebhookPayload): PromptContext;
40
+ //# sourceMappingURL=persona.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/persona.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EAGf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CA4ChE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,cAAc,GACtB,MAAM,CA8BR;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,cAAc,GACtB,aAAa,CAKf"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * GitHub Auto Responder - Persona & Prompt Building
3
+ *
4
+ * Constructs LLM prompts that encode maintainer persona and response guidelines.
5
+ */
6
+ /**
7
+ * Builds the system prompt encoding maintainer persona and response guidelines.
8
+ *
9
+ * @param persona - Persona configuration
10
+ * @returns System prompt string
11
+ */
12
+ export function buildSystemPrompt(persona) {
13
+ const toneDescriptions = {
14
+ formal: 'professional and formal',
15
+ friendly: 'warm and approachable',
16
+ technical: 'direct and technical',
17
+ casual: 'relaxed and conversational',
18
+ direct: 'straightforward and to the point',
19
+ };
20
+ const depthDescriptions = {
21
+ beginner: 'accessible to beginners with clear explanations',
22
+ intermediate: 'assuming some technical knowledge',
23
+ expert: 'technical and detailed for experienced developers',
24
+ high: 'highly technical with advanced details',
25
+ };
26
+ const languageInstructions = {
27
+ en: 'Respond in English only.',
28
+ 'ko-mix': 'You may use a mix of Korean and English. Use Korean for friendliness and English for technical terms.',
29
+ };
30
+ return `You are responding on behalf of ${persona.maintainerName}, maintainer of oh-my-claudecode, a multi-agent orchestration system for Claude Code.
31
+
32
+ **Tone & Style:**
33
+ - Be ${toneDescriptions[persona.tone]}
34
+ - Make responses ${depthDescriptions[persona.technicalDepth]}
35
+ - ${languageInstructions[persona.language]}
36
+ - Use the emoji ${persona.signatureEmoji} once at the start of your response
37
+ - Keep responses concise: 150-200 words maximum
38
+
39
+ **Response Guidelines:**
40
+ - Be friendly but professional
41
+ - Acknowledge the contribution or concern
42
+ - Ask clarifying questions if information is missing
43
+ - For bug reports: request reproduction steps, environment details, logs
44
+ - For feature requests: ask about use cases, priority, alternatives considered
45
+ - For pull requests: note what you'll look for in review (tests, docs, breaking changes)
46
+ - For questions: point to documentation first if available, then provide guidance
47
+
48
+ **Important:**
49
+ - Never commit to timelines or features without verification
50
+ - Be honest about limitations or current project status
51
+ - Thank contributors for their time and effort`;
52
+ }
53
+ /**
54
+ * Builds the user prompt with issue/PR context.
55
+ *
56
+ * @param category - Classified response category
57
+ * @param payload - GitHub webhook payload
58
+ * @returns User prompt string
59
+ */
60
+ export function buildUserPrompt(category, payload) {
61
+ const isIssue = 'issue' in payload;
62
+ const item = isIssue
63
+ ? payload.issue
64
+ : payload.pull_request;
65
+ const eventType = isIssue ? 'Issue' : 'Pull Request';
66
+ const title = item.title;
67
+ const body = item.body || 'No description provided';
68
+ const labels = item.labels.map((l) => l.name).join(', ') || 'None';
69
+ const author = item.user.login;
70
+ let contextParts = [
71
+ `**Event Type:** ${eventType}`,
72
+ `**Category:** ${category}`,
73
+ `**Title:** ${title}`,
74
+ `**Body:**\n${body}`,
75
+ `**Labels:** ${labels}`,
76
+ `**Author:** @${author}`,
77
+ ];
78
+ // Add PR-specific context
79
+ if (!isIssue) {
80
+ const pr = item;
81
+ contextParts.push(`**Changes:** +${pr.additions}/-${pr.deletions} in ${pr.changed_files} file(s)`);
82
+ }
83
+ return contextParts.join('\n\n');
84
+ }
85
+ /**
86
+ * Builds complete prompt context (system + user prompts).
87
+ *
88
+ * @param persona - Persona configuration
89
+ * @param category - Response category
90
+ * @param payload - GitHub webhook payload
91
+ * @returns Complete prompt context
92
+ */
93
+ export function buildPrompt(persona, category, payload) {
94
+ return {
95
+ system: buildSystemPrompt(persona),
96
+ user: buildUserPrompt(category, payload),
97
+ };
98
+ }
99
+ //# sourceMappingURL=persona.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/persona.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAsB;IACtD,MAAM,gBAAgB,GAAG;QACvB,MAAM,EAAE,yBAAyB;QACjC,QAAQ,EAAE,uBAAuB;QACjC,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,4BAA4B;QACpC,MAAM,EAAE,kCAAkC;KAC3C,CAAC;IAEF,MAAM,iBAAiB,GAAG;QACxB,QAAQ,EAAE,iDAAiD;QAC3D,YAAY,EAAE,mCAAmC;QACjD,MAAM,EAAE,mDAAmD;QAC3D,IAAI,EAAE,wCAAwC;KAC/C,CAAC;IAEF,MAAM,oBAAoB,GAAG;QAC3B,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EACN,uGAAuG;KAC1G,CAAC;IAEF,OAAO,mCAAmC,OAAO,CAAC,cAAc;;;OAG3D,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;mBAClB,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC;IACxD,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACxB,OAAO,CAAC,cAAc;;;;;;;;;;;;;;;+CAeO,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,QAA0B,EAC1B,OAAuB;IAEvB,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;IACnC,MAAM,IAAI,GAAG,OAAO;QAClB,CAAC,CAAE,OAA8B,CAAC,KAAK;QACvC,CAAC,CAAE,OAA2B,CAAC,YAAY,CAAC;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,yBAAyB,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAE/B,IAAI,YAAY,GAAG;QACjB,mBAAmB,SAAS,EAAE;QAC9B,iBAAiB,QAAQ,EAAE;QAC3B,cAAc,KAAK,EAAE;QACrB,cAAc,IAAI,EAAE;QACpB,eAAe,MAAM,EAAE;QACvB,gBAAgB,MAAM,EAAE;KACzB,CAAC;IAEF,0BAA0B;IAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,EAAE,GAAG,IAAuC,CAAC;QACnD,YAAY,CAAC,IAAI,CACf,iBAAiB,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,aAAa,UAAU,CAChF,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,OAAsB,EACtB,QAA0B,EAC1B,OAAuB;IAEvB,OAAO;QACL,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;QAClC,IAAI,EAAE,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC;KACzC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * GitHub Auto Responder - Main Orchestrator
3
+ *
4
+ * Core pipeline that ties together filtering, classification, prompt building,
5
+ * LLM generation, template fallbacks, and GitHub comment posting.
6
+ *
7
+ * Processing pipeline:
8
+ * 1. Idempotency check (skip duplicates)
9
+ * 2. Filter pipeline (bot, self, action, label, spam)
10
+ * 3. Classify event (bug, feature, question, pr)
11
+ * 4. Build persona-driven prompts
12
+ * 5. Generate response via Anthropic API (with template fallback)
13
+ * 6. Post comment to GitHub (auto mode) or log (draft mode)
14
+ * 7. Mark as processed for deduplication
15
+ */
16
+ import type { AutoResponderConfig, ResponseCategory, WebhookPayload } from './types.js';
17
+ /**
18
+ * Result of processing a single webhook delivery
19
+ */
20
+ export interface ResponderResult {
21
+ /** Whether the webhook was fully processed */
22
+ processed: boolean;
23
+ /** Whether processing was skipped */
24
+ skipped: boolean;
25
+ /** Reason for skipping (if skipped) */
26
+ skipReason?: string;
27
+ /** Classified response category */
28
+ category?: ResponseCategory;
29
+ /** Whether a response was posted to GitHub */
30
+ responsePosted?: boolean;
31
+ /** URL of the posted comment */
32
+ responseUrl?: string;
33
+ /** Error message if processing failed */
34
+ error?: string;
35
+ /** Whether the fallback template was used instead of LLM */
36
+ usedFallback?: boolean;
37
+ }
38
+ /**
39
+ * Main auto-responder orchestrator.
40
+ *
41
+ * Manages the full lifecycle of webhook processing: initialization,
42
+ * filtering, classification, response generation, and posting.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const responder = createAutoResponder(config);
47
+ * await responder.init();
48
+ *
49
+ * const result = await responder.processWebhook(deliveryId, payload);
50
+ * if (result.processed) {
51
+ * console.log('Response posted:', result.responseUrl);
52
+ * }
53
+ *
54
+ * await responder.close();
55
+ * ```
56
+ */
57
+ export declare class AutoResponder {
58
+ private readonly config;
59
+ /** Idempotency store for deduplication */
60
+ private idempotencyStore;
61
+ /** GitHub API client */
62
+ private githubClient;
63
+ /** Filter pipeline function */
64
+ private filterPipeline;
65
+ /** Whether the responder has been initialized */
66
+ private initialized;
67
+ /**
68
+ * Create a new AutoResponder instance.
69
+ *
70
+ * @param config - Full auto-responder configuration
71
+ */
72
+ constructor(config: AutoResponderConfig);
73
+ /**
74
+ * Initialize the responder (must be called before processing webhooks).
75
+ *
76
+ * Sets up the idempotency store database connection and schema.
77
+ * Safe to call multiple times (no-op after first initialization).
78
+ */
79
+ init(): Promise<void>;
80
+ /**
81
+ * Process a single GitHub webhook delivery through the full pipeline.
82
+ *
83
+ * Pipeline stages:
84
+ * 1. **Idempotency** - Skip if delivery ID already processed
85
+ * 2. **Filter** - Skip bots, self, non-opened actions, excluded labels, spam
86
+ * 3. **Classify** - Determine response category (bug/feature/question/pr)
87
+ * 4. **Prompt** - Build persona-driven system and user prompts
88
+ * 5. **Generate** - Call Anthropic API (fall back to template on failure)
89
+ * 6. **Post** - Post comment to GitHub (auto mode) or log (draft mode)
90
+ * 7. **Record** - Mark delivery ID as processed
91
+ *
92
+ * @param deliveryId - GitHub webhook delivery ID (for idempotency)
93
+ * @param payload - Parsed webhook payload
94
+ * @returns Processing result with status, category, and response details
95
+ */
96
+ processWebhook(deliveryId: string, payload: WebhookPayload): Promise<ResponderResult>;
97
+ /**
98
+ * Gracefully shut down the responder.
99
+ *
100
+ * Closes the idempotency store database connection. Safe to call
101
+ * multiple times. Should be called when the server shuts down.
102
+ */
103
+ close(): Promise<void>;
104
+ }
105
+ /**
106
+ * Factory function to create a new AutoResponder instance.
107
+ *
108
+ * @param config - Full auto-responder configuration
109
+ * @returns New AutoResponder instance (call init() before use)
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * import { loadConfig } from './config.js';
114
+ * import { createAutoResponder } from './responder.js';
115
+ *
116
+ * const config = loadConfig();
117
+ * const responder = createAutoResponder(config);
118
+ * await responder.init();
119
+ * ```
120
+ */
121
+ export declare function createAutoResponder(config: AutoResponderConfig): AutoResponder;
122
+ //# sourceMappingURL=responder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responder.d.ts","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/responder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEf,MAAM,YAAY,CAAC;AAUpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAkED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,aAAa;IAeZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAdnC,0CAA0C;IAC1C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,wBAAwB;IACxB,OAAO,CAAC,YAAY,CAAe;IACnC,+BAA+B;IAC/B,OAAO,CAAC,cAAc,CAA0C;IAChE,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;OAIG;gBAC0B,MAAM,EAAE,mBAAmB;IAcxD;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B;;;;;;;;;;;;;;;OAeG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,eAAe,CAAC;IAiH3B;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,GAC1B,aAAa,CAEf"}