oh-my-claude-sisyphus 3.8.9 → 3.8.10

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 (445) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +1 -1
  4. package/agents/architect.md +78 -0
  5. package/agents/explore.md +15 -0
  6. package/agents/qa-tester.md +159 -1
  7. package/agents/writer.md +20 -0
  8. package/commands/help.md +1 -1
  9. package/commands/omc-setup.md +1 -1
  10. package/dist/__tests__/agent-registry.test.d.ts +2 -0
  11. package/dist/__tests__/agent-registry.test.d.ts.map +1 -0
  12. package/dist/__tests__/agent-registry.test.js +39 -0
  13. package/dist/__tests__/agent-registry.test.js.map +1 -0
  14. package/dist/__tests__/load-agent-prompt.test.d.ts +2 -0
  15. package/dist/__tests__/load-agent-prompt.test.d.ts.map +1 -0
  16. package/dist/__tests__/load-agent-prompt.test.js +68 -0
  17. package/dist/__tests__/load-agent-prompt.test.js.map +1 -0
  18. package/dist/__tests__/model-routing.test.js +5 -34
  19. package/dist/__tests__/model-routing.test.js.map +1 -1
  20. package/dist/agents/analyst.d.ts.map +1 -1
  21. package/dist/agents/analyst.js +2 -77
  22. package/dist/agents/analyst.js.map +1 -1
  23. package/dist/agents/architect.d.ts.map +1 -1
  24. package/dist/agents/architect.js +3 -148
  25. package/dist/agents/architect.js.map +1 -1
  26. package/dist/agents/coordinator-deprecated.d.ts +18 -0
  27. package/dist/agents/coordinator-deprecated.d.ts.map +1 -0
  28. package/dist/agents/coordinator-deprecated.js +34 -0
  29. package/dist/agents/coordinator-deprecated.js.map +1 -0
  30. package/dist/agents/critic.d.ts.map +1 -1
  31. package/dist/agents/critic.js +2 -90
  32. package/dist/agents/critic.js.map +1 -1
  33. package/dist/agents/definitions.d.ts +2 -0
  34. package/dist/agents/definitions.d.ts.map +1 -1
  35. package/dist/agents/definitions.js +3 -32
  36. package/dist/agents/definitions.js.map +1 -1
  37. package/dist/agents/designer.d.ts.map +1 -1
  38. package/dist/agents/designer.js +2 -73
  39. package/dist/agents/designer.js.map +1 -1
  40. package/dist/agents/executor.d.ts +1 -0
  41. package/dist/agents/executor.d.ts.map +1 -1
  42. package/dist/agents/executor.js +3 -56
  43. package/dist/agents/executor.js.map +1 -1
  44. package/dist/agents/explore.d.ts.map +1 -1
  45. package/dist/agents/explore.js +2 -64
  46. package/dist/agents/explore.js.map +1 -1
  47. package/dist/agents/index.d.ts +4 -3
  48. package/dist/agents/index.d.ts.map +1 -1
  49. package/dist/agents/index.js +6 -3
  50. package/dist/agents/index.js.map +1 -1
  51. package/dist/agents/planner.d.ts.map +1 -1
  52. package/dist/agents/planner.js +2 -157
  53. package/dist/agents/planner.js.map +1 -1
  54. package/dist/agents/qa-tester.d.ts.map +1 -1
  55. package/dist/agents/qa-tester.js +2 -324
  56. package/dist/agents/qa-tester.js.map +1 -1
  57. package/dist/agents/researcher.d.ts.map +1 -1
  58. package/dist/agents/researcher.js +2 -65
  59. package/dist/agents/researcher.js.map +1 -1
  60. package/dist/agents/scientist.d.ts.map +1 -1
  61. package/dist/agents/scientist.js +2 -293
  62. package/dist/agents/scientist.js.map +1 -1
  63. package/dist/agents/utils.d.ts +7 -0
  64. package/dist/agents/utils.d.ts.map +1 -1
  65. package/dist/agents/utils.js +50 -0
  66. package/dist/agents/utils.js.map +1 -1
  67. package/dist/agents/vision.d.ts.map +1 -1
  68. package/dist/agents/vision.js +2 -32
  69. package/dist/agents/vision.js.map +1 -1
  70. package/dist/agents/writer.d.ts.map +1 -1
  71. package/dist/agents/writer.js +2 -171
  72. package/dist/agents/writer.js.map +1 -1
  73. package/dist/cli/analytics.js +0 -0
  74. package/dist/cli/index.js +0 -0
  75. package/dist/features/model-routing/index.d.ts +1 -1
  76. package/dist/features/model-routing/index.d.ts.map +1 -1
  77. package/dist/features/model-routing/index.js +1 -1
  78. package/dist/features/model-routing/index.js.map +1 -1
  79. package/dist/features/model-routing/router.d.ts +1 -15
  80. package/dist/features/model-routing/router.d.ts.map +1 -1
  81. package/dist/features/model-routing/router.js +2 -33
  82. package/dist/features/model-routing/router.js.map +1 -1
  83. package/dist/features/model-routing/rules.d.ts.map +1 -1
  84. package/dist/features/model-routing/rules.js +0 -8
  85. package/dist/features/model-routing/rules.js.map +1 -1
  86. package/dist/features/model-routing/types.d.ts +1 -2
  87. package/dist/features/model-routing/types.d.ts.map +1 -1
  88. package/dist/features/model-routing/types.js +2 -6
  89. package/dist/features/model-routing/types.js.map +1 -1
  90. package/dist/features/task-decomposer/index.d.ts +1 -1
  91. package/dist/features/task-decomposer/index.d.ts.map +1 -1
  92. package/dist/features/task-decomposer/index.js +5 -8
  93. package/dist/features/task-decomposer/index.js.map +1 -1
  94. package/dist/features/task-decomposer/types.d.ts +4 -4
  95. package/dist/features/task-decomposer/types.d.ts.map +1 -1
  96. package/dist/hooks/ultrapilot/decomposer.d.ts +1 -1
  97. package/dist/hooks/ultrapilot/decomposer.js +2 -2
  98. package/dist/index.d.ts +1 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +4 -2
  101. package/dist/index.js.map +1 -1
  102. package/docs/CLAUDE.md +44 -4
  103. package/docs/FEATURES.md +1 -1
  104. package/docs/MIGRATION.md +5 -5
  105. package/docs/REFERENCE.md +6 -2
  106. package/package.json +1 -1
  107. package/skills/help/SKILL.md +1 -1
  108. package/skills/omc-setup/SKILL.md +1 -1
  109. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  110. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  111. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  112. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  113. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  114. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  115. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  116. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  117. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  118. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  119. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  120. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  121. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  122. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  123. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  124. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  125. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  126. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  127. package/dist/__tests__/learned-skills/config.test.js +0 -37
  128. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  129. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  130. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  131. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  132. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  133. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  134. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  135. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  136. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  137. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  138. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  139. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  140. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  141. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  142. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  143. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  144. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  145. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  146. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  147. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  148. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  149. package/dist/agents/codex-agents.d.ts +0 -20
  150. package/dist/agents/codex-agents.d.ts.map +0 -1
  151. package/dist/agents/codex-agents.js +0 -36
  152. package/dist/agents/codex-agents.js.map +0 -1
  153. package/dist/agents/coordinator.d.ts +0 -11
  154. package/dist/agents/coordinator.d.ts.map +0 -1
  155. package/dist/agents/coordinator.js +0 -115
  156. package/dist/agents/coordinator.js.map +0 -1
  157. package/dist/agents/document-writer.d.ts +0 -11
  158. package/dist/agents/document-writer.d.ts.map +0 -1
  159. package/dist/agents/document-writer.js +0 -209
  160. package/dist/agents/document-writer.js.map +0 -1
  161. package/dist/agents/frontend-engineer.d.ts +0 -11
  162. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  163. package/dist/agents/frontend-engineer.js +0 -115
  164. package/dist/agents/frontend-engineer.js.map +0 -1
  165. package/dist/agents/librarian.d.ts +0 -12
  166. package/dist/agents/librarian.d.ts.map +0 -1
  167. package/dist/agents/librarian.js +0 -103
  168. package/dist/agents/librarian.js.map +0 -1
  169. package/dist/agents/metis.d.ts +0 -12
  170. package/dist/agents/metis.d.ts.map +0 -1
  171. package/dist/agents/metis.js +0 -117
  172. package/dist/agents/metis.js.map +0 -1
  173. package/dist/agents/momus.d.ts +0 -12
  174. package/dist/agents/momus.d.ts.map +0 -1
  175. package/dist/agents/momus.js +0 -128
  176. package/dist/agents/momus.js.map +0 -1
  177. package/dist/agents/multimodal-looker.d.ts +0 -11
  178. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  179. package/dist/agents/multimodal-looker.js +0 -70
  180. package/dist/agents/multimodal-looker.js.map +0 -1
  181. package/dist/agents/oracle.d.ts +0 -13
  182. package/dist/agents/oracle.d.ts.map +0 -1
  183. package/dist/agents/oracle.js +0 -191
  184. package/dist/agents/oracle.js.map +0 -1
  185. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  186. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  187. package/dist/agents/orchestrator-sisyphus.js +0 -115
  188. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  189. package/dist/agents/prometheus.d.ts +0 -12
  190. package/dist/agents/prometheus.d.ts.map +0 -1
  191. package/dist/agents/prometheus.js +0 -195
  192. package/dist/agents/prometheus.js.map +0 -1
  193. package/dist/agents/sisyphus-junior.d.ts +0 -12
  194. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  195. package/dist/agents/sisyphus-junior.js +0 -93
  196. package/dist/agents/sisyphus-junior.js.map +0 -1
  197. package/dist/cli/components/CostDashboard.d.ts +0 -15
  198. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  199. package/dist/cli/components/CostDashboard.js +0 -15
  200. package/dist/cli/components/CostDashboard.js.map +0 -1
  201. package/dist/cli/components/LiveStats.d.ts +0 -16
  202. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  203. package/dist/cli/components/LiveStats.js +0 -16
  204. package/dist/cli/components/LiveStats.js.map +0 -1
  205. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  206. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  207. package/dist/cli/components/SessionBrowser.js +0 -14
  208. package/dist/cli/components/SessionBrowser.js.map +0 -1
  209. package/dist/cli/tui.d.ts +0 -21
  210. package/dist/cli/tui.d.ts.map +0 -1
  211. package/dist/cli/tui.js +0 -21
  212. package/dist/cli/tui.js.map +0 -1
  213. package/dist/hooks/autopilot/signals.d.ts +0 -20
  214. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  215. package/dist/hooks/autopilot/signals.js +0 -75
  216. package/dist/hooks/autopilot/signals.js.map +0 -1
  217. package/dist/hooks/autopilot/summary.d.ts +0 -27
  218. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  219. package/dist/hooks/autopilot/summary.js +0 -160
  220. package/dist/hooks/autopilot/summary.js.map +0 -1
  221. package/dist/hooks/autopilot/transition.d.ts +0 -39
  222. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  223. package/dist/hooks/autopilot/transition.js +0 -216
  224. package/dist/hooks/autopilot/transition.js.map +0 -1
  225. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  226. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  227. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  228. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  229. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  230. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  231. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  232. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  233. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  234. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  235. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  236. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  237. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  238. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  239. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  240. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  241. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  242. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  243. package/dist/hooks/edit-error-recovery/index.js +0 -89
  244. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  245. package/dist/hooks/github-auto-responder/classifier.d.ts +0 -43
  246. package/dist/hooks/github-auto-responder/classifier.d.ts.map +0 -1
  247. package/dist/hooks/github-auto-responder/classifier.js +0 -150
  248. package/dist/hooks/github-auto-responder/classifier.js.map +0 -1
  249. package/dist/hooks/github-auto-responder/config.d.ts +0 -109
  250. package/dist/hooks/github-auto-responder/config.d.ts.map +0 -1
  251. package/dist/hooks/github-auto-responder/config.js +0 -69
  252. package/dist/hooks/github-auto-responder/config.js.map +0 -1
  253. package/dist/hooks/github-auto-responder/constants.d.ts +0 -45
  254. package/dist/hooks/github-auto-responder/constants.d.ts.map +0 -1
  255. package/dist/hooks/github-auto-responder/constants.js +0 -60
  256. package/dist/hooks/github-auto-responder/constants.js.map +0 -1
  257. package/dist/hooks/github-auto-responder/filters.d.ts +0 -95
  258. package/dist/hooks/github-auto-responder/filters.d.ts.map +0 -1
  259. package/dist/hooks/github-auto-responder/filters.js +0 -174
  260. package/dist/hooks/github-auto-responder/filters.js.map +0 -1
  261. package/dist/hooks/github-auto-responder/github-client.d.ts +0 -65
  262. package/dist/hooks/github-auto-responder/github-client.d.ts.map +0 -1
  263. package/dist/hooks/github-auto-responder/github-client.js +0 -128
  264. package/dist/hooks/github-auto-responder/github-client.js.map +0 -1
  265. package/dist/hooks/github-auto-responder/idempotency.d.ts +0 -68
  266. package/dist/hooks/github-auto-responder/idempotency.d.ts.map +0 -1
  267. package/dist/hooks/github-auto-responder/idempotency.js +0 -147
  268. package/dist/hooks/github-auto-responder/idempotency.js.map +0 -1
  269. package/dist/hooks/github-auto-responder/index.d.ts +0 -140
  270. package/dist/hooks/github-auto-responder/index.d.ts.map +0 -1
  271. package/dist/hooks/github-auto-responder/index.js +0 -145
  272. package/dist/hooks/github-auto-responder/index.js.map +0 -1
  273. package/dist/hooks/github-auto-responder/persona.d.ts +0 -40
  274. package/dist/hooks/github-auto-responder/persona.d.ts.map +0 -1
  275. package/dist/hooks/github-auto-responder/persona.js +0 -99
  276. package/dist/hooks/github-auto-responder/persona.js.map +0 -1
  277. package/dist/hooks/github-auto-responder/responder.d.ts +0 -122
  278. package/dist/hooks/github-auto-responder/responder.d.ts.map +0 -1
  279. package/dist/hooks/github-auto-responder/responder.js +0 -264
  280. package/dist/hooks/github-auto-responder/responder.js.map +0 -1
  281. package/dist/hooks/github-auto-responder/server.d.ts +0 -140
  282. package/dist/hooks/github-auto-responder/server.d.ts.map +0 -1
  283. package/dist/hooks/github-auto-responder/server.js +0 -301
  284. package/dist/hooks/github-auto-responder/server.js.map +0 -1
  285. package/dist/hooks/github-auto-responder/signature.d.ts +0 -34
  286. package/dist/hooks/github-auto-responder/signature.d.ts.map +0 -1
  287. package/dist/hooks/github-auto-responder/signature.js +0 -79
  288. package/dist/hooks/github-auto-responder/signature.js.map +0 -1
  289. package/dist/hooks/github-auto-responder/templates.d.ts +0 -16
  290. package/dist/hooks/github-auto-responder/templates.d.ts.map +0 -1
  291. package/dist/hooks/github-auto-responder/templates.js +0 -93
  292. package/dist/hooks/github-auto-responder/templates.js.map +0 -1
  293. package/dist/hooks/github-auto-responder/types.d.ts +0 -246
  294. package/dist/hooks/github-auto-responder/types.d.ts.map +0 -1
  295. package/dist/hooks/github-auto-responder/types.js +0 -7
  296. package/dist/hooks/github-auto-responder/types.js.map +0 -1
  297. package/dist/hooks/learned-skills/config.d.ts +0 -53
  298. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  299. package/dist/hooks/learned-skills/config.js +0 -103
  300. package/dist/hooks/learned-skills/config.js.map +0 -1
  301. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  302. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  303. package/dist/hooks/learned-skills/constants.js +0 -26
  304. package/dist/hooks/learned-skills/constants.js.map +0 -1
  305. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  306. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  307. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  308. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  309. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  310. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  311. package/dist/hooks/learned-skills/detector.js +0 -150
  312. package/dist/hooks/learned-skills/detector.js.map +0 -1
  313. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  314. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  315. package/dist/hooks/learned-skills/finder.js +0 -117
  316. package/dist/hooks/learned-skills/finder.js.map +0 -1
  317. package/dist/hooks/learned-skills/index.d.ts +0 -62
  318. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  319. package/dist/hooks/learned-skills/index.js +0 -137
  320. package/dist/hooks/learned-skills/index.js.map +0 -1
  321. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  322. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  323. package/dist/hooks/learned-skills/loader.js +0 -107
  324. package/dist/hooks/learned-skills/loader.js.map +0 -1
  325. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  326. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  327. package/dist/hooks/learned-skills/parser.js +0 -190
  328. package/dist/hooks/learned-skills/parser.js.map +0 -1
  329. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  330. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  331. package/dist/hooks/learned-skills/promotion.js +0 -87
  332. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  333. package/dist/hooks/learned-skills/types.d.ts +0 -109
  334. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  335. package/dist/hooks/learned-skills/types.js +0 -8
  336. package/dist/hooks/learned-skills/types.js.map +0 -1
  337. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  338. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  339. package/dist/hooks/learned-skills/validator.js +0 -87
  340. package/dist/hooks/learned-skills/validator.js.map +0 -1
  341. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  342. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  343. package/dist/hooks/learned-skills/writer.js +0 -126
  344. package/dist/hooks/learned-skills/writer.js.map +0 -1
  345. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  346. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  347. package/dist/hooks/mnemosyne/config.js +0 -103
  348. package/dist/hooks/mnemosyne/config.js.map +0 -1
  349. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  350. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  351. package/dist/hooks/mnemosyne/constants.js +0 -26
  352. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  353. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  354. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  355. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  356. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  357. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  358. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  359. package/dist/hooks/mnemosyne/detector.js +0 -150
  360. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  361. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  362. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  363. package/dist/hooks/mnemosyne/finder.js +0 -117
  364. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  365. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  366. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  367. package/dist/hooks/mnemosyne/index.js +0 -137
  368. package/dist/hooks/mnemosyne/index.js.map +0 -1
  369. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  370. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  371. package/dist/hooks/mnemosyne/loader.js +0 -113
  372. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  373. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  374. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  375. package/dist/hooks/mnemosyne/parser.js +0 -190
  376. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  377. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  378. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  379. package/dist/hooks/mnemosyne/promotion.js +0 -87
  380. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  381. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  382. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  383. package/dist/hooks/mnemosyne/types.js +0 -8
  384. package/dist/hooks/mnemosyne/types.js.map +0 -1
  385. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  386. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  387. package/dist/hooks/mnemosyne/validator.js +0 -87
  388. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  389. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  390. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  391. package/dist/hooks/mnemosyne/writer.js +0 -126
  392. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  393. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  394. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  395. package/dist/hooks/ralph-loop/index.js +0 -322
  396. package/dist/hooks/ralph-loop/index.js.map +0 -1
  397. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  398. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  399. package/dist/hooks/ralph-prd/index.js +0 -310
  400. package/dist/hooks/ralph-prd/index.js.map +0 -1
  401. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  402. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  403. package/dist/hooks/ralph-progress/index.js +0 -408
  404. package/dist/hooks/ralph-progress/index.js.map +0 -1
  405. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  406. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  407. package/dist/hooks/ralph-verifier/index.js +0 -223
  408. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  409. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  410. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  411. package/dist/hooks/session-recovery/constants.js +0 -78
  412. package/dist/hooks/session-recovery/constants.js.map +0 -1
  413. package/dist/hooks/session-recovery/index.d.ts +0 -53
  414. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  415. package/dist/hooks/session-recovery/index.js +0 -321
  416. package/dist/hooks/session-recovery/index.js.map +0 -1
  417. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  418. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  419. package/dist/hooks/session-recovery/storage.js +0 -383
  420. package/dist/hooks/session-recovery/storage.js.map +0 -1
  421. package/dist/hooks/session-recovery/types.d.ts +0 -145
  422. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  423. package/dist/hooks/session-recovery/types.js +0 -8
  424. package/dist/hooks/session-recovery/types.js.map +0 -1
  425. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  426. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  427. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  428. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  429. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  430. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  431. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  432. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  433. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  434. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  435. package/dist/hooks/ultraqa-loop/index.js +0 -216
  436. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  437. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  438. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  439. package/dist/hooks/ultrawork-state/index.js +0 -208
  440. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  441. package/dist/hud/sisyphus-state.d.ts +0 -31
  442. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  443. package/dist/hud/sisyphus-state.js +0 -163
  444. package/dist/hud/sisyphus-state.js.map +0 -1
  445. package/dist/mcp/standalone-server.cjs +0 -19135
@@ -1,301 +0,0 @@
1
- /**
2
- * GitHub Auto Responder - HTTP Webhook Server
3
- *
4
- * HTTP server that receives GitHub webhook events, verifies signatures,
5
- * and delegates to the AutoResponder for processing.
6
- *
7
- * Features:
8
- * - HMAC-SHA256 signature verification for security
9
- * - 1MB body size limit to prevent memory exhaustion
10
- * - Graceful shutdown on SIGTERM/SIGINT
11
- * - Health check endpoint for monitoring
12
- * - Fire-and-forget webhook processing (responds 200 immediately)
13
- * - JSON responses for all endpoints
14
- */
15
- import http from 'node:http';
16
- import { verifySignature } from './signature.js';
17
- /** Maximum request body size (1MB) */
18
- const MAX_BODY_SIZE = 1024 * 1024;
19
- /**
20
- * Read the full request body as a Buffer.
21
- *
22
- * Enforces a maximum size limit to prevent memory exhaustion attacks.
23
- *
24
- * @param req - HTTP request
25
- * @returns Request body as Buffer
26
- * @throws Error if body exceeds MAX_BODY_SIZE
27
- */
28
- async function readBody(req) {
29
- return new Promise((resolve, reject) => {
30
- const chunks = [];
31
- let totalSize = 0;
32
- req.on('data', (chunk) => {
33
- totalSize += chunk.length;
34
- if (totalSize > MAX_BODY_SIZE) {
35
- req.destroy();
36
- reject(new Error(`Request body exceeds ${MAX_BODY_SIZE} bytes`));
37
- return;
38
- }
39
- chunks.push(chunk);
40
- });
41
- req.on('end', () => {
42
- resolve(Buffer.concat(chunks));
43
- });
44
- req.on('error', (err) => {
45
- reject(err);
46
- });
47
- });
48
- }
49
- /**
50
- * HTTP webhook server for GitHub events.
51
- *
52
- * Endpoints:
53
- * - GET /health - Health check (returns 200 with status)
54
- * - POST /webhook - Webhook receiver (signature verification + processing)
55
- * - Other routes - 404 Not Found
56
- *
57
- * Webhook processing is fire-and-forget: the server responds 200 immediately
58
- * after signature verification, then processes asynchronously. Errors during
59
- * processing are logged but don't affect the HTTP response.
60
- *
61
- * @example
62
- * ```typescript
63
- * const responder = createAutoResponder(config);
64
- * await responder.init();
65
- *
66
- * const server = createWebhookServer(responder, config);
67
- * await server.start();
68
- *
69
- * // Later...
70
- * await server.stop();
71
- * ```
72
- */
73
- export class WebhookServer {
74
- responder;
75
- config;
76
- /** HTTP server instance */
77
- server;
78
- /** Whether the server is currently running */
79
- running = false;
80
- /**
81
- * Create a new webhook server.
82
- *
83
- * @param responder - AutoResponder instance for webhook processing
84
- * @param config - Server configuration (port, webhook secret, etc.)
85
- */
86
- constructor(responder, config) {
87
- this.responder = responder;
88
- this.config = config;
89
- this.server = http.createServer((req, res) => this.handleRequest(req, res));
90
- }
91
- /**
92
- * Start the HTTP server and listen on configured port.
93
- *
94
- * @throws Error if server is already running or fails to bind
95
- */
96
- async start() {
97
- if (this.running) {
98
- throw new Error('Server is already running');
99
- }
100
- return new Promise((resolve, reject) => {
101
- this.server.once('error', reject);
102
- this.server.listen(this.config.port, () => {
103
- this.running = true;
104
- console.log(`[webhook-server] Listening on http://localhost:${this.config.port}`);
105
- resolve();
106
- });
107
- });
108
- }
109
- /**
110
- * Route incoming requests to appropriate handlers.
111
- *
112
- * Routes:
113
- * - GET /health → handleHealth()
114
- * - POST /webhook → handleWebhook()
115
- * - Other → 404
116
- *
117
- * @param req - HTTP request
118
- * @param res - HTTP response
119
- */
120
- handleRequest(req, res) {
121
- const { method, url } = req;
122
- if (method === 'GET' && url === '/health') {
123
- this.handleHealth(res);
124
- }
125
- else if (method === 'POST' && url === '/webhook') {
126
- this.handleWebhook(req, res).catch((err) => {
127
- console.error('[webhook-server] Unhandled error in webhook handler:', err);
128
- if (!res.headersSent) {
129
- res.writeHead(500, { 'Content-Type': 'application/json' });
130
- res.end(JSON.stringify({ error: 'Internal server error' }));
131
- }
132
- });
133
- }
134
- else {
135
- res.writeHead(404, { 'Content-Type': 'application/json' });
136
- res.end(JSON.stringify({ error: 'Not found' }));
137
- }
138
- }
139
- /**
140
- * Handle health check requests.
141
- *
142
- * Returns 200 with JSON status payload.
143
- *
144
- * @param res - HTTP response
145
- */
146
- handleHealth(res) {
147
- res.writeHead(200, { 'Content-Type': 'application/json' });
148
- res.end(JSON.stringify({ status: 'healthy' }));
149
- }
150
- /**
151
- * Handle webhook POST requests.
152
- *
153
- * Processing pipeline:
154
- * 1. Read raw request body as Buffer
155
- * 2. Verify HMAC-SHA256 signature
156
- * 3. Parse JSON payload
157
- * 4. Extract event type and delivery ID from headers
158
- * 5. Respond 200 OK immediately
159
- * 6. Process webhook asynchronously (fire-and-forget)
160
- *
161
- * Errors during validation return appropriate HTTP status codes.
162
- * Errors during async processing are logged but don't affect the response.
163
- *
164
- * @param req - HTTP request
165
- * @param res - HTTP response
166
- */
167
- async handleWebhook(req, res) {
168
- try {
169
- // Step 1: Read raw body (needed for signature verification)
170
- const rawBody = await readBody(req);
171
- // Step 2: Verify signature
172
- const signature = req.headers['x-hub-signature-256'];
173
- if (!signature) {
174
- res.writeHead(400, { 'Content-Type': 'application/json' });
175
- res.end(JSON.stringify({ error: 'Missing X-Hub-Signature-256 header' }));
176
- return;
177
- }
178
- const isValid = verifySignature(rawBody, signature, this.config.webhookSecret);
179
- if (!isValid) {
180
- console.error('[webhook-server] Invalid signature');
181
- res.writeHead(401, { 'Content-Type': 'application/json' });
182
- res.end(JSON.stringify({ error: 'Invalid signature' }));
183
- return;
184
- }
185
- // Step 3: Parse JSON payload
186
- let payload;
187
- try {
188
- payload = JSON.parse(rawBody.toString('utf-8'));
189
- }
190
- catch (err) {
191
- console.error('[webhook-server] Invalid JSON:', err);
192
- res.writeHead(400, { 'Content-Type': 'application/json' });
193
- res.end(JSON.stringify({ error: 'Invalid JSON payload' }));
194
- return;
195
- }
196
- // Step 4: Extract metadata from headers
197
- const eventType = req.headers['x-github-event'];
198
- const deliveryId = req.headers['x-github-delivery'];
199
- if (!eventType) {
200
- res.writeHead(400, { 'Content-Type': 'application/json' });
201
- res.end(JSON.stringify({ error: 'Missing X-GitHub-Event header' }));
202
- return;
203
- }
204
- if (!deliveryId) {
205
- res.writeHead(400, { 'Content-Type': 'application/json' });
206
- res.end(JSON.stringify({ error: 'Missing X-GitHub-Delivery header' }));
207
- return;
208
- }
209
- console.log(`[webhook-server] Received ${eventType} event (delivery: ${deliveryId})`);
210
- // Step 5: Respond 200 immediately (GitHub expects quick response)
211
- res.writeHead(200, { 'Content-Type': 'application/json' });
212
- res.end(JSON.stringify({ status: 'accepted' }));
213
- // Step 6: Process webhook asynchronously (fire-and-forget)
214
- this.responder.processWebhook(deliveryId, payload).catch((err) => {
215
- console.error(`[webhook-server] Error processing webhook ${deliveryId}:`, err);
216
- });
217
- }
218
- catch (err) {
219
- // Errors during validation (before response sent)
220
- console.error('[webhook-server] Webhook validation error:', err);
221
- if (!res.headersSent) {
222
- res.writeHead(500, { 'Content-Type': 'application/json' });
223
- res.end(JSON.stringify({ error: 'Internal server error' }));
224
- }
225
- }
226
- }
227
- /**
228
- * Gracefully shut down the server.
229
- *
230
- * Stops accepting new connections and waits for existing requests
231
- * to complete. Also closes the AutoResponder.
232
- *
233
- * Safe to call multiple times.
234
- */
235
- async stop() {
236
- if (!this.running) {
237
- return;
238
- }
239
- return new Promise((resolve, reject) => {
240
- this.server.close((err) => {
241
- if (err) {
242
- reject(err);
243
- }
244
- else {
245
- this.running = false;
246
- console.log('[webhook-server] Server stopped');
247
- // Close the responder (shuts down idempotency store)
248
- this.responder.close().then(resolve).catch(reject);
249
- }
250
- });
251
- });
252
- }
253
- }
254
- /**
255
- * Factory function to create a new webhook server.
256
- *
257
- * @param responder - AutoResponder instance for webhook processing
258
- * @param config - Server configuration
259
- * @returns New WebhookServer instance (call start() to begin listening)
260
- *
261
- * @example
262
- * ```typescript
263
- * import { loadConfig } from './config.js';
264
- * import { createAutoResponder } from './responder.js';
265
- * import { createWebhookServer } from './server.js';
266
- *
267
- * const config = loadConfig();
268
- * const responder = createAutoResponder(config);
269
- * await responder.init();
270
- *
271
- * const server = createWebhookServer(responder, config);
272
- * await server.start();
273
- * ```
274
- */
275
- export function createWebhookServer(responder, config) {
276
- return new WebhookServer(responder, config);
277
- }
278
- /**
279
- * Register signal handlers for graceful shutdown.
280
- *
281
- * Listens for SIGTERM and SIGINT (Ctrl+C) and gracefully shuts down
282
- * the server before exiting.
283
- *
284
- * @param server - Webhook server to shut down
285
- */
286
- export function registerShutdownHandlers(server) {
287
- const shutdown = async (signal) => {
288
- console.log(`[webhook-server] Received ${signal}, shutting down gracefully...`);
289
- try {
290
- await server.stop();
291
- process.exit(0);
292
- }
293
- catch (err) {
294
- console.error('[webhook-server] Error during shutdown:', err);
295
- process.exit(1);
296
- }
297
- };
298
- process.on('SIGTERM', () => shutdown('SIGTERM'));
299
- process.on('SIGINT', () => shutdown('SIGINT'));
300
- }
301
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/server.ts"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Extracts the HMAC signature from the GitHub webhook signature header.
3
- *
4
- * @param header - The X-Hub-Signature-256 header value (format: "sha256=...")
5
- * @returns The hex digest string if valid, null if malformed or missing
6
- *
7
- * @example
8
- * ```ts
9
- * extractSignature("sha256=abc123") // => "abc123"
10
- * extractSignature("invalid") // => null
11
- * ```
12
- */
13
- export declare function extractSignature(header: string): string | null;
14
- /**
15
- * Verifies a GitHub webhook signature using HMAC-SHA256.
16
- *
17
- * Uses constant-time comparison to prevent timing attacks.
18
- *
19
- * @param payload - The raw request body as a Buffer
20
- * @param signature - The X-Hub-Signature-256 header value (format: "sha256=...")
21
- * @param secret - The webhook secret configured in GitHub
22
- * @returns true if signature is valid, false otherwise
23
- *
24
- * @example
25
- * ```ts
26
- * const isValid = verifySignature(
27
- * Buffer.from(requestBody),
28
- * req.headers['x-hub-signature-256'],
29
- * process.env.GITHUB_WEBHOOK_SECRET
30
- * );
31
- * ```
32
- */
33
- export declare function verifySignature(payload: Buffer, signature: string, secret: string): boolean;
34
- //# sourceMappingURL=signature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/signature.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiB9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAmCT"}
@@ -1,79 +0,0 @@
1
- import { createHmac, timingSafeEqual } from 'node:crypto';
2
- /**
3
- * Extracts the HMAC signature from the GitHub webhook signature header.
4
- *
5
- * @param header - The X-Hub-Signature-256 header value (format: "sha256=...")
6
- * @returns The hex digest string if valid, null if malformed or missing
7
- *
8
- * @example
9
- * ```ts
10
- * extractSignature("sha256=abc123") // => "abc123"
11
- * extractSignature("invalid") // => null
12
- * ```
13
- */
14
- export function extractSignature(header) {
15
- if (!header || typeof header !== 'string') {
16
- return null;
17
- }
18
- const parts = header.split('=');
19
- if (parts.length !== 2 || parts[0] !== 'sha256') {
20
- return null;
21
- }
22
- const digest = parts[1];
23
- // Validate hex format (64 chars for SHA256)
24
- if (!/^[a-f0-9]{64}$/i.test(digest)) {
25
- return null;
26
- }
27
- return digest;
28
- }
29
- /**
30
- * Verifies a GitHub webhook signature using HMAC-SHA256.
31
- *
32
- * Uses constant-time comparison to prevent timing attacks.
33
- *
34
- * @param payload - The raw request body as a Buffer
35
- * @param signature - The X-Hub-Signature-256 header value (format: "sha256=...")
36
- * @param secret - The webhook secret configured in GitHub
37
- * @returns true if signature is valid, false otherwise
38
- *
39
- * @example
40
- * ```ts
41
- * const isValid = verifySignature(
42
- * Buffer.from(requestBody),
43
- * req.headers['x-hub-signature-256'],
44
- * process.env.GITHUB_WEBHOOK_SECRET
45
- * );
46
- * ```
47
- */
48
- export function verifySignature(payload, signature, secret) {
49
- // Validate inputs
50
- if (!payload || !Buffer.isBuffer(payload)) {
51
- return false;
52
- }
53
- if (!secret || typeof secret !== 'string') {
54
- return false;
55
- }
56
- // Extract signature from header
57
- const expectedDigest = extractSignature(signature);
58
- if (!expectedDigest) {
59
- return false;
60
- }
61
- // Compute HMAC-SHA256 of payload
62
- const hmac = createHmac('sha256', secret);
63
- hmac.update(payload);
64
- const actualDigest = hmac.digest('hex');
65
- // Constant-time comparison to prevent timing attacks
66
- try {
67
- const expectedBuffer = Buffer.from(expectedDigest, 'hex');
68
- const actualBuffer = Buffer.from(actualDigest, 'hex');
69
- if (expectedBuffer.length !== actualBuffer.length) {
70
- return false;
71
- }
72
- return timingSafeEqual(expectedBuffer, actualBuffer);
73
- }
74
- catch {
75
- // Buffer conversion or comparison failed
76
- return false;
77
- }
78
- }
79
- //# sourceMappingURL=signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,4CAA4C;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,kBAAkB;IAClB,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gCAAgC;IAChC,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAExC,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAEtD,IAAI,cAAc,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,eAAe,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * GitHub Auto Responder Templates
3
- *
4
- * Static fallback response templates for different issue/PR categories.
5
- * These are used when LLM generation is not available or as a basis for LLM-enhanced responses.
6
- */
7
- import type { ResponseCategory, PersonaConfig } from './types.js';
8
- /**
9
- * Get static template for a given response category
10
- *
11
- * @param category - The category of response needed
12
- * @param persona - Persona configuration for customization
13
- * @returns Template string with {emoji} placeholder
14
- */
15
- export declare function getTemplate(category: ResponseCategory, persona: PersonaConfig): string;
16
- //# sourceMappingURL=templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,aAAa,GACrB,MAAM,CAeR"}
@@ -1,93 +0,0 @@
1
- /**
2
- * GitHub Auto Responder Templates
3
- *
4
- * Static fallback response templates for different issue/PR categories.
5
- * These are used when LLM generation is not available or as a basis for LLM-enhanced responses.
6
- */
7
- /**
8
- * Get static template for a given response category
9
- *
10
- * @param category - The category of response needed
11
- * @param persona - Persona configuration for customization
12
- * @returns Template string with {emoji} placeholder
13
- */
14
- export function getTemplate(category, persona) {
15
- const emoji = persona.signatureEmoji;
16
- switch (category) {
17
- case 'bug':
18
- return getBugReportTemplate(emoji);
19
- case 'feature':
20
- return getFeatureRequestTemplate(emoji);
21
- case 'question':
22
- return getQuestionTemplate(emoji);
23
- case 'pr':
24
- return getPRTemplate(emoji);
25
- default:
26
- return getGenericTemplate(emoji);
27
- }
28
- }
29
- /**
30
- * Bug report template
31
- */
32
- function getBugReportTemplate(emoji) {
33
- return `Thanks for reporting! ${emoji}
34
-
35
- To help us fix this faster:
36
- 1. Steps to reproduce
37
- 2. Expected vs actual behavior
38
- 3. OMC version (\`omc --version\`)
39
- 4. OS & Node version
40
-
41
- 잘 부탁드립니다!`;
42
- }
43
- /**
44
- * Feature request template
45
- */
46
- function getFeatureRequestTemplate(emoji) {
47
- return `Interesting idea! ${emoji}
48
-
49
- 몇 가지 궁금한 점:
50
- - What's your use case?
51
- - Have you tried existing alternatives?
52
- - How should it integrate with current features?
53
-
54
- Thanks for the suggestion!`;
55
- }
56
- /**
57
- * Question template
58
- */
59
- function getQuestionTemplate(emoji) {
60
- return `Thanks for asking! ${emoji}
61
-
62
- Check out our docs first: [README](../../README.md)
63
- If that doesn't help, please share:
64
- - What you're trying to do
65
- - What you've tried
66
- - Error messages (if any)
67
-
68
- 질문 감사합니다!`;
69
- }
70
- /**
71
- * Pull request template
72
- */
73
- function getPRTemplate(emoji) {
74
- return `Thanks for the PR! ${emoji}
75
-
76
- Quick checklist:
77
- - [ ] Tests added/updated?
78
- - [ ] Docs updated if needed?
79
- - [ ] Breaking changes noted?
80
-
81
- Will review in detail soon. 감사합니다!`;
82
- }
83
- /**
84
- * Generic fallback template
85
- */
86
- function getGenericTemplate(emoji) {
87
- return `Thanks for your contribution! ${emoji}
88
-
89
- We'll take a look and get back to you soon.
90
-
91
- 감사합니다!`;
92
- }
93
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/hooks/github-auto-responder/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,QAA0B,EAC1B,OAAsB;IAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;IAErC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC1C,KAAK,UAAU;YACb,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACpC,KAAK,IAAI;YACP,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;QAC9B;YACE,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,yBAAyB,KAAK;;;;;;;;UAQ7B,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,KAAa;IAC9C,OAAO,qBAAqB,KAAK;;;;;;;2BAOR,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,sBAAsB,KAAK;;;;;;;;UAQ1B,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,sBAAsB,KAAK;;;;;;;mCAOD,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,iCAAiC,KAAK;;;;OAIxC,CAAC;AACR,CAAC"}