oh-my-claude-sisyphus 3.7.0 → 3.7.3

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 (381) hide show
  1. package/README.md +24 -1
  2. package/commands/hud.md +37 -5
  3. package/commands/omc-setup.md +105 -0
  4. package/dist/__tests__/compatibility-security.test.d.ts +13 -0
  5. package/dist/__tests__/compatibility-security.test.d.ts.map +1 -0
  6. package/dist/__tests__/compatibility-security.test.js +403 -0
  7. package/dist/__tests__/compatibility-security.test.js.map +1 -0
  8. package/dist/__tests__/compatibility.test.d.ts +7 -0
  9. package/dist/__tests__/compatibility.test.d.ts.map +1 -0
  10. package/dist/__tests__/compatibility.test.js +484 -0
  11. package/dist/__tests__/compatibility.test.js.map +1 -0
  12. package/dist/__tests__/hud/analytics-display.test.js +141 -1
  13. package/dist/__tests__/hud/analytics-display.test.js.map +1 -1
  14. package/dist/__tests__/hud-windows.test.d.ts +2 -0
  15. package/dist/__tests__/hud-windows.test.d.ts.map +1 -0
  16. package/dist/__tests__/hud-windows.test.js +91 -0
  17. package/dist/__tests__/hud-windows.test.js.map +1 -0
  18. package/dist/cli/analytics.js +0 -0
  19. package/dist/cli/index.js +0 -0
  20. package/dist/compatibility/discovery.d.ts +58 -0
  21. package/dist/compatibility/discovery.d.ts.map +1 -0
  22. package/dist/compatibility/discovery.js +619 -0
  23. package/dist/compatibility/discovery.js.map +1 -0
  24. package/dist/compatibility/index.d.ts +51 -0
  25. package/dist/compatibility/index.d.ts.map +1 -0
  26. package/dist/compatibility/index.js +72 -0
  27. package/dist/compatibility/index.js.map +1 -0
  28. package/dist/compatibility/mcp-bridge.d.ts +138 -0
  29. package/dist/compatibility/mcp-bridge.d.ts.map +1 -0
  30. package/dist/compatibility/mcp-bridge.js +524 -0
  31. package/dist/compatibility/mcp-bridge.js.map +1 -0
  32. package/dist/compatibility/permission-adapter.d.ts +79 -0
  33. package/dist/compatibility/permission-adapter.d.ts.map +1 -0
  34. package/dist/compatibility/permission-adapter.js +369 -0
  35. package/dist/compatibility/permission-adapter.js.map +1 -0
  36. package/dist/compatibility/registry.d.ts +161 -0
  37. package/dist/compatibility/registry.d.ts.map +1 -0
  38. package/dist/compatibility/registry.js +389 -0
  39. package/dist/compatibility/registry.js.map +1 -0
  40. package/dist/compatibility/types.d.ts +249 -0
  41. package/dist/compatibility/types.d.ts.map +1 -0
  42. package/dist/compatibility/types.js +8 -0
  43. package/dist/compatibility/types.js.map +1 -0
  44. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  45. package/dist/features/rate-limit-wait/daemon.js +44 -1
  46. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  47. package/dist/features/state-manager/index.d.ts.map +1 -1
  48. package/dist/features/state-manager/index.js +4 -1
  49. package/dist/features/state-manager/index.js.map +1 -1
  50. package/dist/hooks/permission-handler/__tests__/index.test.js +47 -0
  51. package/dist/hooks/permission-handler/__tests__/index.test.js.map +1 -1
  52. package/dist/hooks/permission-handler/index.d.ts +1 -1
  53. package/dist/hooks/permission-handler/index.d.ts.map +1 -1
  54. package/dist/hooks/permission-handler/index.js +11 -15
  55. package/dist/hooks/permission-handler/index.js.map +1 -1
  56. package/dist/hooks/plugin-patterns/index.d.ts +5 -0
  57. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
  58. package/dist/hooks/plugin-patterns/index.js +26 -1
  59. package/dist/hooks/plugin-patterns/index.js.map +1 -1
  60. package/dist/hooks/session-end/index.d.ts +0 -8
  61. package/dist/hooks/session-end/index.d.ts.map +1 -1
  62. package/dist/hooks/session-end/index.js +5 -12
  63. package/dist/hooks/session-end/index.js.map +1 -1
  64. package/dist/hooks/subagent-tracker/index.d.ts.map +1 -1
  65. package/dist/hooks/subagent-tracker/index.js +32 -17
  66. package/dist/hooks/subagent-tracker/index.js.map +1 -1
  67. package/dist/hud/analytics-display.d.ts +17 -1
  68. package/dist/hud/analytics-display.d.ts.map +1 -1
  69. package/dist/hud/analytics-display.js +55 -12
  70. package/dist/hud/analytics-display.js.map +1 -1
  71. package/dist/hud/render.d.ts.map +1 -1
  72. package/dist/hud/render.js +49 -18
  73. package/dist/hud/render.js.map +1 -1
  74. package/dist/hud/types.d.ts +2 -0
  75. package/dist/hud/types.d.ts.map +1 -1
  76. package/dist/hud/types.js +14 -0
  77. package/dist/hud/types.js.map +1 -1
  78. package/dist/installer/index.d.ts.map +1 -1
  79. package/dist/installer/index.js +3 -2
  80. package/dist/installer/index.js.map +1 -1
  81. package/docs/COMPATIBILITY.md +1051 -0
  82. package/hooks/keyword-detector.sh +4 -4
  83. package/hooks/persistent-mode.sh +10 -10
  84. package/hooks/session-start.sh +4 -4
  85. package/package.json +3 -1
  86. package/scripts/keyword-detector.mjs +4 -4
  87. package/scripts/persistent-mode.mjs +6 -6
  88. package/scripts/persistent-mode.sh +10 -10
  89. package/scripts/session-start.mjs +4 -4
  90. package/skills/hud/SKILL.md +37 -5
  91. package/skills/omc-setup/SKILL.md +162 -4
  92. package/skills/writer-memory/SKILL.md +443 -0
  93. package/skills/writer-memory/lib/character-tracker.ts +338 -0
  94. package/skills/writer-memory/lib/memory-manager.ts +804 -0
  95. package/skills/writer-memory/lib/relationship-graph.ts +400 -0
  96. package/skills/writer-memory/lib/scene-organizer.ts +544 -0
  97. package/skills/writer-memory/lib/synopsis-builder.ts +339 -0
  98. package/skills/writer-memory/templates/synopsis-template.md +46 -0
  99. package/templates/hooks/keyword-detector.sh +4 -4
  100. package/templates/hooks/persistent-mode.sh +10 -10
  101. package/templates/hooks/session-start.sh +4 -4
  102. package/dist/__tests__/analytics/analytics-summary.test.d.ts +0 -2
  103. package/dist/__tests__/analytics/analytics-summary.test.d.ts.map +0 -1
  104. package/dist/__tests__/analytics/analytics-summary.test.js +0 -267
  105. package/dist/__tests__/analytics/analytics-summary.test.js.map +0 -1
  106. package/dist/__tests__/analytics/cost-estimator.test.d.ts +0 -2
  107. package/dist/__tests__/analytics/cost-estimator.test.d.ts.map +0 -1
  108. package/dist/__tests__/analytics/cost-estimator.test.js +0 -212
  109. package/dist/__tests__/analytics/cost-estimator.test.js.map +0 -1
  110. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts +0 -7
  111. package/dist/__tests__/hooks/auto-slash-command/executor.test.d.ts.map +0 -1
  112. package/dist/__tests__/hooks/auto-slash-command/executor.test.js +0 -374
  113. package/dist/__tests__/hooks/auto-slash-command/executor.test.js.map +0 -1
  114. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts +0 -2
  115. package/dist/__tests__/hud/auto-tracking.integration.test.d.ts.map +0 -1
  116. package/dist/__tests__/hud/auto-tracking.integration.test.js +0 -12
  117. package/dist/__tests__/hud/auto-tracking.integration.test.js.map +0 -1
  118. package/dist/__tests__/learned-skills/config.test.d.ts +0 -2
  119. package/dist/__tests__/learned-skills/config.test.d.ts.map +0 -1
  120. package/dist/__tests__/learned-skills/config.test.js +0 -37
  121. package/dist/__tests__/learned-skills/config.test.js.map +0 -1
  122. package/dist/__tests__/learned-skills/detector.test.d.ts +0 -2
  123. package/dist/__tests__/learned-skills/detector.test.d.ts.map +0 -1
  124. package/dist/__tests__/learned-skills/detector.test.js +0 -99
  125. package/dist/__tests__/learned-skills/detector.test.js.map +0 -1
  126. package/dist/__tests__/learned-skills/finder.test.d.ts +0 -2
  127. package/dist/__tests__/learned-skills/finder.test.d.ts.map +0 -1
  128. package/dist/__tests__/learned-skills/finder.test.js +0 -59
  129. package/dist/__tests__/learned-skills/finder.test.js.map +0 -1
  130. package/dist/__tests__/learned-skills/loader.test.d.ts +0 -2
  131. package/dist/__tests__/learned-skills/loader.test.d.ts.map +0 -1
  132. package/dist/__tests__/learned-skills/loader.test.js +0 -69
  133. package/dist/__tests__/learned-skills/loader.test.js.map +0 -1
  134. package/dist/__tests__/learned-skills/parser.test.d.ts +0 -2
  135. package/dist/__tests__/learned-skills/parser.test.d.ts.map +0 -1
  136. package/dist/__tests__/learned-skills/parser.test.js +0 -81
  137. package/dist/__tests__/learned-skills/parser.test.js.map +0 -1
  138. package/dist/__tests__/learned-skills/validator.test.d.ts +0 -2
  139. package/dist/__tests__/learned-skills/validator.test.d.ts.map +0 -1
  140. package/dist/__tests__/learned-skills/validator.test.js +0 -85
  141. package/dist/__tests__/learned-skills/validator.test.js.map +0 -1
  142. package/dist/agents/codex-agents.d.ts +0 -20
  143. package/dist/agents/codex-agents.d.ts.map +0 -1
  144. package/dist/agents/codex-agents.js +0 -36
  145. package/dist/agents/codex-agents.js.map +0 -1
  146. package/dist/agents/document-writer.d.ts +0 -11
  147. package/dist/agents/document-writer.d.ts.map +0 -1
  148. package/dist/agents/document-writer.js +0 -209
  149. package/dist/agents/document-writer.js.map +0 -1
  150. package/dist/agents/frontend-engineer.d.ts +0 -11
  151. package/dist/agents/frontend-engineer.d.ts.map +0 -1
  152. package/dist/agents/frontend-engineer.js +0 -115
  153. package/dist/agents/frontend-engineer.js.map +0 -1
  154. package/dist/agents/librarian.d.ts +0 -12
  155. package/dist/agents/librarian.d.ts.map +0 -1
  156. package/dist/agents/librarian.js +0 -103
  157. package/dist/agents/librarian.js.map +0 -1
  158. package/dist/agents/metis.d.ts +0 -12
  159. package/dist/agents/metis.d.ts.map +0 -1
  160. package/dist/agents/metis.js +0 -117
  161. package/dist/agents/metis.js.map +0 -1
  162. package/dist/agents/momus.d.ts +0 -12
  163. package/dist/agents/momus.d.ts.map +0 -1
  164. package/dist/agents/momus.js +0 -128
  165. package/dist/agents/momus.js.map +0 -1
  166. package/dist/agents/multimodal-looker.d.ts +0 -11
  167. package/dist/agents/multimodal-looker.d.ts.map +0 -1
  168. package/dist/agents/multimodal-looker.js +0 -70
  169. package/dist/agents/multimodal-looker.js.map +0 -1
  170. package/dist/agents/oracle.d.ts +0 -13
  171. package/dist/agents/oracle.d.ts.map +0 -1
  172. package/dist/agents/oracle.js +0 -191
  173. package/dist/agents/oracle.js.map +0 -1
  174. package/dist/agents/orchestrator-sisyphus.d.ts +0 -11
  175. package/dist/agents/orchestrator-sisyphus.d.ts.map +0 -1
  176. package/dist/agents/orchestrator-sisyphus.js +0 -115
  177. package/dist/agents/orchestrator-sisyphus.js.map +0 -1
  178. package/dist/agents/prometheus.d.ts +0 -12
  179. package/dist/agents/prometheus.d.ts.map +0 -1
  180. package/dist/agents/prometheus.js +0 -195
  181. package/dist/agents/prometheus.js.map +0 -1
  182. package/dist/agents/sisyphus-junior.d.ts +0 -12
  183. package/dist/agents/sisyphus-junior.d.ts.map +0 -1
  184. package/dist/agents/sisyphus-junior.js +0 -93
  185. package/dist/agents/sisyphus-junior.js.map +0 -1
  186. package/dist/cli/components/CostDashboard.d.ts +0 -15
  187. package/dist/cli/components/CostDashboard.d.ts.map +0 -1
  188. package/dist/cli/components/CostDashboard.js +0 -15
  189. package/dist/cli/components/CostDashboard.js.map +0 -1
  190. package/dist/cli/components/LiveStats.d.ts +0 -16
  191. package/dist/cli/components/LiveStats.d.ts.map +0 -1
  192. package/dist/cli/components/LiveStats.js +0 -16
  193. package/dist/cli/components/LiveStats.js.map +0 -1
  194. package/dist/cli/components/SessionBrowser.d.ts +0 -14
  195. package/dist/cli/components/SessionBrowser.d.ts.map +0 -1
  196. package/dist/cli/components/SessionBrowser.js +0 -14
  197. package/dist/cli/components/SessionBrowser.js.map +0 -1
  198. package/dist/cli/tui.d.ts +0 -21
  199. package/dist/cli/tui.d.ts.map +0 -1
  200. package/dist/cli/tui.js +0 -21
  201. package/dist/cli/tui.js.map +0 -1
  202. package/dist/hooks/autopilot/signals.d.ts +0 -20
  203. package/dist/hooks/autopilot/signals.d.ts.map +0 -1
  204. package/dist/hooks/autopilot/signals.js +0 -75
  205. package/dist/hooks/autopilot/signals.js.map +0 -1
  206. package/dist/hooks/autopilot/summary.d.ts +0 -27
  207. package/dist/hooks/autopilot/summary.d.ts.map +0 -1
  208. package/dist/hooks/autopilot/summary.js +0 -160
  209. package/dist/hooks/autopilot/summary.js.map +0 -1
  210. package/dist/hooks/autopilot/transition.d.ts +0 -39
  211. package/dist/hooks/autopilot/transition.d.ts.map +0 -1
  212. package/dist/hooks/autopilot/transition.js +0 -216
  213. package/dist/hooks/autopilot/transition.js.map +0 -1
  214. package/dist/hooks/context-window-limit-recovery/constants.d.ts +0 -28
  215. package/dist/hooks/context-window-limit-recovery/constants.d.ts.map +0 -1
  216. package/dist/hooks/context-window-limit-recovery/constants.js +0 -85
  217. package/dist/hooks/context-window-limit-recovery/constants.js.map +0 -1
  218. package/dist/hooks/context-window-limit-recovery/index.d.ts +0 -62
  219. package/dist/hooks/context-window-limit-recovery/index.d.ts.map +0 -1
  220. package/dist/hooks/context-window-limit-recovery/index.js +0 -201
  221. package/dist/hooks/context-window-limit-recovery/index.js.map +0 -1
  222. package/dist/hooks/context-window-limit-recovery/parser.d.ts +0 -31
  223. package/dist/hooks/context-window-limit-recovery/parser.d.ts.map +0 -1
  224. package/dist/hooks/context-window-limit-recovery/parser.js +0 -241
  225. package/dist/hooks/context-window-limit-recovery/parser.js.map +0 -1
  226. package/dist/hooks/context-window-limit-recovery/types.d.ts +0 -84
  227. package/dist/hooks/context-window-limit-recovery/types.d.ts.map +0 -1
  228. package/dist/hooks/context-window-limit-recovery/types.js +0 -34
  229. package/dist/hooks/context-window-limit-recovery/types.js.map +0 -1
  230. package/dist/hooks/edit-error-recovery/index.d.ts +0 -62
  231. package/dist/hooks/edit-error-recovery/index.d.ts.map +0 -1
  232. package/dist/hooks/edit-error-recovery/index.js +0 -89
  233. package/dist/hooks/edit-error-recovery/index.js.map +0 -1
  234. package/dist/hooks/learned-skills/config.d.ts +0 -53
  235. package/dist/hooks/learned-skills/config.d.ts.map +0 -1
  236. package/dist/hooks/learned-skills/config.js +0 -103
  237. package/dist/hooks/learned-skills/config.js.map +0 -1
  238. package/dist/hooks/learned-skills/constants.d.ts +0 -24
  239. package/dist/hooks/learned-skills/constants.d.ts.map +0 -1
  240. package/dist/hooks/learned-skills/constants.js +0 -26
  241. package/dist/hooks/learned-skills/constants.js.map +0 -1
  242. package/dist/hooks/learned-skills/detection-hook.d.ts +0 -39
  243. package/dist/hooks/learned-skills/detection-hook.d.ts.map +0 -1
  244. package/dist/hooks/learned-skills/detection-hook.js +0 -83
  245. package/dist/hooks/learned-skills/detection-hook.js.map +0 -1
  246. package/dist/hooks/learned-skills/detector.d.ts +0 -30
  247. package/dist/hooks/learned-skills/detector.d.ts.map +0 -1
  248. package/dist/hooks/learned-skills/detector.js +0 -150
  249. package/dist/hooks/learned-skills/detector.js.map +0 -1
  250. package/dist/hooks/learned-skills/finder.d.ts +0 -21
  251. package/dist/hooks/learned-skills/finder.d.ts.map +0 -1
  252. package/dist/hooks/learned-skills/finder.js +0 -117
  253. package/dist/hooks/learned-skills/finder.js.map +0 -1
  254. package/dist/hooks/learned-skills/index.d.ts +0 -62
  255. package/dist/hooks/learned-skills/index.d.ts.map +0 -1
  256. package/dist/hooks/learned-skills/index.js +0 -137
  257. package/dist/hooks/learned-skills/index.js.map +0 -1
  258. package/dist/hooks/learned-skills/loader.d.ts +0 -20
  259. package/dist/hooks/learned-skills/loader.d.ts.map +0 -1
  260. package/dist/hooks/learned-skills/loader.js +0 -107
  261. package/dist/hooks/learned-skills/loader.js.map +0 -1
  262. package/dist/hooks/learned-skills/parser.d.ts +0 -21
  263. package/dist/hooks/learned-skills/parser.d.ts.map +0 -1
  264. package/dist/hooks/learned-skills/parser.js +0 -190
  265. package/dist/hooks/learned-skills/parser.js.map +0 -1
  266. package/dist/hooks/learned-skills/promotion.d.ts +0 -29
  267. package/dist/hooks/learned-skills/promotion.d.ts.map +0 -1
  268. package/dist/hooks/learned-skills/promotion.js +0 -87
  269. package/dist/hooks/learned-skills/promotion.js.map +0 -1
  270. package/dist/hooks/learned-skills/types.d.ts +0 -109
  271. package/dist/hooks/learned-skills/types.d.ts.map +0 -1
  272. package/dist/hooks/learned-skills/types.js +0 -8
  273. package/dist/hooks/learned-skills/types.js.map +0 -1
  274. package/dist/hooks/learned-skills/validator.d.ts +0 -15
  275. package/dist/hooks/learned-skills/validator.d.ts.map +0 -1
  276. package/dist/hooks/learned-skills/validator.js +0 -87
  277. package/dist/hooks/learned-skills/validator.js.map +0 -1
  278. package/dist/hooks/learned-skills/writer.d.ts +0 -27
  279. package/dist/hooks/learned-skills/writer.d.ts.map +0 -1
  280. package/dist/hooks/learned-skills/writer.js +0 -126
  281. package/dist/hooks/learned-skills/writer.js.map +0 -1
  282. package/dist/hooks/mnemosyne/config.d.ts +0 -53
  283. package/dist/hooks/mnemosyne/config.d.ts.map +0 -1
  284. package/dist/hooks/mnemosyne/config.js +0 -103
  285. package/dist/hooks/mnemosyne/config.js.map +0 -1
  286. package/dist/hooks/mnemosyne/constants.d.ts +0 -24
  287. package/dist/hooks/mnemosyne/constants.d.ts.map +0 -1
  288. package/dist/hooks/mnemosyne/constants.js +0 -26
  289. package/dist/hooks/mnemosyne/constants.js.map +0 -1
  290. package/dist/hooks/mnemosyne/detection-hook.d.ts +0 -39
  291. package/dist/hooks/mnemosyne/detection-hook.d.ts.map +0 -1
  292. package/dist/hooks/mnemosyne/detection-hook.js +0 -83
  293. package/dist/hooks/mnemosyne/detection-hook.js.map +0 -1
  294. package/dist/hooks/mnemosyne/detector.d.ts +0 -30
  295. package/dist/hooks/mnemosyne/detector.d.ts.map +0 -1
  296. package/dist/hooks/mnemosyne/detector.js +0 -150
  297. package/dist/hooks/mnemosyne/detector.js.map +0 -1
  298. package/dist/hooks/mnemosyne/finder.d.ts +0 -21
  299. package/dist/hooks/mnemosyne/finder.d.ts.map +0 -1
  300. package/dist/hooks/mnemosyne/finder.js +0 -117
  301. package/dist/hooks/mnemosyne/finder.js.map +0 -1
  302. package/dist/hooks/mnemosyne/index.d.ts +0 -62
  303. package/dist/hooks/mnemosyne/index.d.ts.map +0 -1
  304. package/dist/hooks/mnemosyne/index.js +0 -137
  305. package/dist/hooks/mnemosyne/index.js.map +0 -1
  306. package/dist/hooks/mnemosyne/loader.d.ts +0 -20
  307. package/dist/hooks/mnemosyne/loader.d.ts.map +0 -1
  308. package/dist/hooks/mnemosyne/loader.js +0 -113
  309. package/dist/hooks/mnemosyne/loader.js.map +0 -1
  310. package/dist/hooks/mnemosyne/parser.d.ts +0 -21
  311. package/dist/hooks/mnemosyne/parser.d.ts.map +0 -1
  312. package/dist/hooks/mnemosyne/parser.js +0 -190
  313. package/dist/hooks/mnemosyne/parser.js.map +0 -1
  314. package/dist/hooks/mnemosyne/promotion.d.ts +0 -29
  315. package/dist/hooks/mnemosyne/promotion.d.ts.map +0 -1
  316. package/dist/hooks/mnemosyne/promotion.js +0 -87
  317. package/dist/hooks/mnemosyne/promotion.js.map +0 -1
  318. package/dist/hooks/mnemosyne/types.d.ts +0 -109
  319. package/dist/hooks/mnemosyne/types.d.ts.map +0 -1
  320. package/dist/hooks/mnemosyne/types.js +0 -8
  321. package/dist/hooks/mnemosyne/types.js.map +0 -1
  322. package/dist/hooks/mnemosyne/validator.d.ts +0 -15
  323. package/dist/hooks/mnemosyne/validator.d.ts.map +0 -1
  324. package/dist/hooks/mnemosyne/validator.js +0 -87
  325. package/dist/hooks/mnemosyne/validator.js.map +0 -1
  326. package/dist/hooks/mnemosyne/writer.d.ts +0 -27
  327. package/dist/hooks/mnemosyne/writer.d.ts.map +0 -1
  328. package/dist/hooks/mnemosyne/writer.js +0 -126
  329. package/dist/hooks/mnemosyne/writer.js.map +0 -1
  330. package/dist/hooks/ralph-loop/index.d.ts +0 -116
  331. package/dist/hooks/ralph-loop/index.d.ts.map +0 -1
  332. package/dist/hooks/ralph-loop/index.js +0 -322
  333. package/dist/hooks/ralph-loop/index.js.map +0 -1
  334. package/dist/hooks/ralph-prd/index.d.ts +0 -130
  335. package/dist/hooks/ralph-prd/index.d.ts.map +0 -1
  336. package/dist/hooks/ralph-prd/index.js +0 -310
  337. package/dist/hooks/ralph-prd/index.js.map +0 -1
  338. package/dist/hooks/ralph-progress/index.d.ts +0 -102
  339. package/dist/hooks/ralph-progress/index.d.ts.map +0 -1
  340. package/dist/hooks/ralph-progress/index.js +0 -408
  341. package/dist/hooks/ralph-progress/index.js.map +0 -1
  342. package/dist/hooks/ralph-verifier/index.d.ts +0 -72
  343. package/dist/hooks/ralph-verifier/index.d.ts.map +0 -1
  344. package/dist/hooks/ralph-verifier/index.js +0 -223
  345. package/dist/hooks/ralph-verifier/index.js.map +0 -1
  346. package/dist/hooks/session-recovery/constants.d.ts +0 -56
  347. package/dist/hooks/session-recovery/constants.d.ts.map +0 -1
  348. package/dist/hooks/session-recovery/constants.js +0 -78
  349. package/dist/hooks/session-recovery/constants.js.map +0 -1
  350. package/dist/hooks/session-recovery/index.d.ts +0 -53
  351. package/dist/hooks/session-recovery/index.d.ts.map +0 -1
  352. package/dist/hooks/session-recovery/index.js +0 -321
  353. package/dist/hooks/session-recovery/index.js.map +0 -1
  354. package/dist/hooks/session-recovery/storage.d.ts +0 -76
  355. package/dist/hooks/session-recovery/storage.d.ts.map +0 -1
  356. package/dist/hooks/session-recovery/storage.js +0 -383
  357. package/dist/hooks/session-recovery/storage.js.map +0 -1
  358. package/dist/hooks/session-recovery/types.d.ts +0 -145
  359. package/dist/hooks/session-recovery/types.d.ts.map +0 -1
  360. package/dist/hooks/session-recovery/types.js +0 -8
  361. package/dist/hooks/session-recovery/types.js.map +0 -1
  362. package/dist/hooks/sisyphus-orchestrator/constants.d.ts +0 -23
  363. package/dist/hooks/sisyphus-orchestrator/constants.d.ts.map +0 -1
  364. package/dist/hooks/sisyphus-orchestrator/constants.js +0 -142
  365. package/dist/hooks/sisyphus-orchestrator/constants.js.map +0 -1
  366. package/dist/hooks/sisyphus-orchestrator/index.d.ts +0 -113
  367. package/dist/hooks/sisyphus-orchestrator/index.d.ts.map +0 -1
  368. package/dist/hooks/sisyphus-orchestrator/index.js +0 -309
  369. package/dist/hooks/sisyphus-orchestrator/index.js.map +0 -1
  370. package/dist/hooks/ultraqa-loop/index.d.ts +0 -94
  371. package/dist/hooks/ultraqa-loop/index.d.ts.map +0 -1
  372. package/dist/hooks/ultraqa-loop/index.js +0 -216
  373. package/dist/hooks/ultraqa-loop/index.js.map +0 -1
  374. package/dist/hooks/ultrawork-state/index.d.ts +0 -62
  375. package/dist/hooks/ultrawork-state/index.d.ts.map +0 -1
  376. package/dist/hooks/ultrawork-state/index.js +0 -208
  377. package/dist/hooks/ultrawork-state/index.js.map +0 -1
  378. package/dist/hud/sisyphus-state.d.ts +0 -31
  379. package/dist/hud/sisyphus-state.d.ts.map +0 -1
  380. package/dist/hud/sisyphus-state.js +0 -163
  381. package/dist/hud/sisyphus-state.js.map +0 -1
@@ -1,103 +0,0 @@
1
- /**
2
- * Claudeception Configuration
3
- *
4
- * Handles configuration loading and validation.
5
- */
6
- import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
7
- import { join } from 'path';
8
- import { homedir } from 'os';
9
- import { DEBUG_ENABLED } from './constants.js';
10
- const DEFAULT_CONFIG = {
11
- enabled: true,
12
- detection: {
13
- enabled: true,
14
- promptThreshold: 60,
15
- promptCooldown: 5,
16
- },
17
- quality: {
18
- minScore: 50,
19
- minProblemLength: 10,
20
- minSolutionLength: 20,
21
- },
22
- storage: {
23
- maxSkillsPerScope: 100,
24
- autoPrune: false,
25
- pruneDays: 90,
26
- },
27
- };
28
- const CONFIG_PATH = join(homedir(), '.claude', 'sisyphus', 'claudeception.json');
29
- /**
30
- * Load configuration from disk.
31
- */
32
- export function loadConfig() {
33
- if (!existsSync(CONFIG_PATH)) {
34
- return DEFAULT_CONFIG;
35
- }
36
- try {
37
- const content = readFileSync(CONFIG_PATH, 'utf-8');
38
- const loaded = JSON.parse(content);
39
- return mergeConfig(DEFAULT_CONFIG, loaded);
40
- }
41
- catch (error) {
42
- if (DEBUG_ENABLED) {
43
- console.error('[learned-skills] Error loading config:', error);
44
- }
45
- return DEFAULT_CONFIG;
46
- }
47
- }
48
- /**
49
- * Save configuration to disk.
50
- */
51
- export function saveConfig(config) {
52
- const merged = mergeConfig(DEFAULT_CONFIG, config);
53
- try {
54
- const dir = join(homedir(), '.claude', 'sisyphus');
55
- if (!existsSync(dir)) {
56
- mkdirSync(dir, { recursive: true });
57
- }
58
- writeFileSync(CONFIG_PATH, JSON.stringify(merged, null, 2));
59
- return true;
60
- }
61
- catch (error) {
62
- if (DEBUG_ENABLED) {
63
- console.error('[learned-skills] Error saving config:', error);
64
- }
65
- return false;
66
- }
67
- }
68
- /**
69
- * Merge partial config with defaults.
70
- */
71
- function mergeConfig(defaults, partial) {
72
- return {
73
- enabled: partial.enabled ?? defaults.enabled,
74
- detection: {
75
- ...defaults.detection,
76
- ...partial.detection,
77
- },
78
- quality: {
79
- ...defaults.quality,
80
- ...partial.quality,
81
- },
82
- storage: {
83
- ...defaults.storage,
84
- ...partial.storage,
85
- },
86
- };
87
- }
88
- /**
89
- * Get a specific config value.
90
- */
91
- export function getConfigValue(key) {
92
- const config = loadConfig();
93
- return config[key];
94
- }
95
- /**
96
- * Update a specific config value.
97
- */
98
- export function setConfigValue(key, value) {
99
- const config = loadConfig();
100
- config[key] = value;
101
- return saveConfig(config);
102
- }
103
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/hooks/learned-skills/config.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Learned Skills Constants
3
- */
4
- /** User-level skills directory */
5
- export declare const USER_SKILLS_DIR: string;
6
- /** Project-level skills subdirectory */
7
- export declare const PROJECT_SKILLS_SUBDIR = ".sisyphus/skills";
8
- /** Valid skill file extension */
9
- export declare const SKILL_EXTENSION = ".md";
10
- /** Feature flag key for enabling/disabling */
11
- export declare const FEATURE_FLAG_KEY = "claudeception.enabled";
12
- /** Default feature flag value */
13
- export declare const FEATURE_FLAG_DEFAULT = true;
14
- /** Maximum skill content length (characters) */
15
- export declare const MAX_SKILL_CONTENT_LENGTH = 4000;
16
- /** Minimum quality score for auto-injection */
17
- export declare const MIN_QUALITY_SCORE = 50;
18
- /** Required metadata fields */
19
- export declare const REQUIRED_METADATA_FIELDS: string[];
20
- /** Maximum skills to inject per session */
21
- export declare const MAX_SKILLS_PER_SESSION = 10;
22
- /** Debug mode enabled */
23
- export declare const DEBUG_ENABLED: boolean;
24
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/hooks/learned-skills/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,kCAAkC;AAClC,eAAO,MAAM,eAAe,QAA2D,CAAC;AAExF,wCAAwC;AACxC,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,iCAAiC;AACjC,eAAO,MAAM,eAAe,QAAQ,CAAC;AAErC,8CAA8C;AAC9C,eAAO,MAAM,gBAAgB,0BAA0B,CAAC;AAExD,iCAAiC;AACjC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,gDAAgD;AAChD,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,UAAsD,CAAC;AAE5F,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAEzC,yBAAyB;AACzB,eAAO,MAAM,aAAa,SAAqC,CAAC"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Learned Skills Constants
3
- */
4
- import { join } from 'path';
5
- import { homedir } from 'os';
6
- /** User-level skills directory */
7
- export const USER_SKILLS_DIR = join(homedir(), '.claude', 'skills', 'sisyphus-learned');
8
- /** Project-level skills subdirectory */
9
- export const PROJECT_SKILLS_SUBDIR = '.sisyphus/skills';
10
- /** Valid skill file extension */
11
- export const SKILL_EXTENSION = '.md';
12
- /** Feature flag key for enabling/disabling */
13
- export const FEATURE_FLAG_KEY = 'claudeception.enabled';
14
- /** Default feature flag value */
15
- export const FEATURE_FLAG_DEFAULT = true;
16
- /** Maximum skill content length (characters) */
17
- export const MAX_SKILL_CONTENT_LENGTH = 4000;
18
- /** Minimum quality score for auto-injection */
19
- export const MIN_QUALITY_SCORE = 50;
20
- /** Required metadata fields */
21
- export const REQUIRED_METADATA_FIELDS = ['id', 'name', 'description', 'triggers', 'source'];
22
- /** Maximum skills to inject per session */
23
- export const MAX_SKILLS_PER_SESSION = 10;
24
- /** Debug mode enabled */
25
- export const DEBUG_ENABLED = process.env.SISYPHUS_DEBUG === '1';
26
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/hooks/learned-skills/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAExF,wCAAwC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAExD,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AAErC,8CAA8C;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AAExD,iCAAiC;AACjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,gDAAgD;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAE5F,2CAA2C;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,yBAAyB;AACzB,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Detection Hook
3
- *
4
- * Integrates skill detection into the message flow.
5
- */
6
- import type { DetectionResult } from './detector.js';
7
- /**
8
- * Configuration for detection behavior.
9
- */
10
- export interface DetectionConfig {
11
- /** Minimum confidence to prompt (0-100) */
12
- promptThreshold: number;
13
- /** Cooldown between prompts (messages) */
14
- promptCooldown: number;
15
- /** Enable/disable auto-detection */
16
- enabled: boolean;
17
- }
18
- /**
19
- * Process assistant response for skill detection.
20
- * Returns prompt text if extraction should be suggested, null otherwise.
21
- */
22
- export declare function processResponseForDetection(assistantMessage: string, userMessage: string | undefined, sessionId: string, config?: Partial<DetectionConfig>): string | null;
23
- /**
24
- * Get the last detection result for a session.
25
- */
26
- export declare function getLastDetection(sessionId: string): DetectionResult | null;
27
- /**
28
- * Clear detection state for a session.
29
- */
30
- export declare function clearDetectionState(sessionId: string): void;
31
- /**
32
- * Get detection statistics for a session.
33
- */
34
- export declare function getDetectionStats(sessionId: string): {
35
- messagesSincePrompt: number;
36
- promptedCount: number;
37
- lastDetection: DetectionResult | null;
38
- };
39
- //# sourceMappingURL=detection-hook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detection-hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/learned-skills/detection-hook.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;CAClB;AAiCD;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,OAAO,CAAC,eAAe,CAAM,GACpC,MAAM,GAAG,IAAI,CA2Bf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG;IACpD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;CACvC,CAcA"}
@@ -1,83 +0,0 @@
1
- /**
2
- * Detection Hook
3
- *
4
- * Integrates skill detection into the message flow.
5
- */
6
- import { detectExtractableMoment, shouldPromptExtraction, generateExtractionPrompt } from './detector.js';
7
- import { isClaudeceptionEnabled } from './index.js';
8
- const DEFAULT_CONFIG = {
9
- promptThreshold: 60,
10
- promptCooldown: 5,
11
- enabled: true,
12
- };
13
- const sessionStates = new Map();
14
- /**
15
- * Get or create session state.
16
- */
17
- function getSessionState(sessionId) {
18
- if (!sessionStates.has(sessionId)) {
19
- sessionStates.set(sessionId, {
20
- messagesSincePrompt: 0,
21
- lastDetection: null,
22
- promptedCount: 0,
23
- });
24
- }
25
- return sessionStates.get(sessionId);
26
- }
27
- /**
28
- * Process assistant response for skill detection.
29
- * Returns prompt text if extraction should be suggested, null otherwise.
30
- */
31
- export function processResponseForDetection(assistantMessage, userMessage, sessionId, config = {}) {
32
- const mergedConfig = { ...DEFAULT_CONFIG, ...config };
33
- if (!mergedConfig.enabled || !isClaudeceptionEnabled()) {
34
- return null;
35
- }
36
- const state = getSessionState(sessionId);
37
- state.messagesSincePrompt++;
38
- // Check cooldown
39
- if (state.messagesSincePrompt < mergedConfig.promptCooldown) {
40
- return null;
41
- }
42
- // Detect extractable moment
43
- const detection = detectExtractableMoment(assistantMessage, userMessage);
44
- state.lastDetection = detection;
45
- // Check if we should prompt
46
- if (shouldPromptExtraction(detection, mergedConfig.promptThreshold)) {
47
- state.messagesSincePrompt = 0;
48
- state.promptedCount++;
49
- return generateExtractionPrompt(detection);
50
- }
51
- return null;
52
- }
53
- /**
54
- * Get the last detection result for a session.
55
- */
56
- export function getLastDetection(sessionId) {
57
- return sessionStates.get(sessionId)?.lastDetection || null;
58
- }
59
- /**
60
- * Clear detection state for a session.
61
- */
62
- export function clearDetectionState(sessionId) {
63
- sessionStates.delete(sessionId);
64
- }
65
- /**
66
- * Get detection statistics for a session.
67
- */
68
- export function getDetectionStats(sessionId) {
69
- const state = sessionStates.get(sessionId);
70
- if (!state) {
71
- return {
72
- messagesSincePrompt: 0,
73
- promptedCount: 0,
74
- lastDetection: null,
75
- };
76
- }
77
- return {
78
- messagesSincePrompt: state.messagesSincePrompt,
79
- promptedCount: state.promptedCount,
80
- lastDetection: state.lastDetection,
81
- };
82
- }
83
- //# sourceMappingURL=detection-hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detection-hook.js","sourceRoot":"","sources":["../../../src/hooks/learned-skills/detection-hook.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAepD,MAAM,cAAc,GAAoB;IACtC,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,CAAC;IACjB,OAAO,EAAE,IAAI;CACd,CAAC;AAWF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE/D;;GAEG;AACH,SAAS,eAAe,CAAC,SAAiB;IACxC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE;YAC3B,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,IAAI;YACnB,aAAa,EAAE,CAAC;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CACzC,gBAAwB,EACxB,WAA+B,EAC/B,SAAiB,EACjB,SAAmC,EAAE;IAErC,MAAM,YAAY,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAEtD,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAE5B,iBAAiB;IACjB,IAAI,KAAK,CAAC,mBAAmB,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACzE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAEhC,4BAA4B;IAC5B,IAAI,sBAAsB,CAAC,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,aAAa,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IAKjD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,IAAI;SACpB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;KACnC,CAAC;AACJ,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Extractable Moment Detector
3
- *
4
- * Detects patterns in conversation that indicate a skill could be extracted.
5
- */
6
- export interface DetectionResult {
7
- /** Whether an extractable moment was detected */
8
- detected: boolean;
9
- /** Confidence score (0-100) */
10
- confidence: number;
11
- /** Type of pattern detected */
12
- patternType: 'problem-solution' | 'technique' | 'workaround' | 'optimization' | 'best-practice';
13
- /** Suggested trigger keywords */
14
- suggestedTriggers: string[];
15
- /** Reason for detection */
16
- reason: string;
17
- }
18
- /**
19
- * Detect if a message contains an extractable skill moment.
20
- */
21
- export declare function detectExtractableMoment(assistantMessage: string, userMessage?: string): DetectionResult;
22
- /**
23
- * Check if detection confidence meets threshold for prompting.
24
- */
25
- export declare function shouldPromptExtraction(detection: DetectionResult, threshold?: number): boolean;
26
- /**
27
- * Generate a prompt for skill extraction confirmation.
28
- */
29
- export declare function generateExtractionPrompt(detection: DetectionResult): string;
30
- //# sourceMappingURL=detector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../../src/hooks/learned-skills/detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,WAAW,EAAE,kBAAkB,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,CAAC;IAChG,iCAAiC;IACjC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AA2ED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,EACxB,WAAW,CAAC,EAAE,MAAM,GACnB,eAAe,CAiDjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,eAAe,EAC1B,SAAS,GAAE,MAAW,GACrB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAiB3E"}
@@ -1,150 +0,0 @@
1
- /**
2
- * Extractable Moment Detector
3
- *
4
- * Detects patterns in conversation that indicate a skill could be extracted.
5
- */
6
- /**
7
- * Patterns that indicate a skill might be extractable.
8
- */
9
- const DETECTION_PATTERNS = [
10
- // Problem-Solution patterns
11
- {
12
- type: 'problem-solution',
13
- patterns: [
14
- /the (?:issue|problem|bug|error) was (?:caused by|due to|because)/i,
15
- /(?:fixed|resolved|solved) (?:the|this) (?:by|with|using)/i,
16
- /the (?:solution|fix|answer) (?:is|was) to/i,
17
- /(?:here's|here is) (?:how|what) (?:to|you need to)/i,
18
- ],
19
- confidence: 80,
20
- },
21
- // Technique patterns
22
- {
23
- type: 'technique',
24
- patterns: [
25
- /(?:a|the) (?:better|good|proper|correct) (?:way|approach|method) (?:is|to)/i,
26
- /(?:you should|we should|it's better to) (?:always|never|usually)/i,
27
- /(?:the trick|the key|the secret) (?:is|here is)/i,
28
- ],
29
- confidence: 70,
30
- },
31
- // Workaround patterns
32
- {
33
- type: 'workaround',
34
- patterns: [
35
- /(?:as a|for a) workaround/i,
36
- /(?:temporarily|for now|until).*(?:you can|we can)/i,
37
- /(?:hack|trick) (?:to|for|that)/i,
38
- ],
39
- confidence: 60,
40
- },
41
- // Optimization patterns
42
- {
43
- type: 'optimization',
44
- patterns: [
45
- /(?:to|for) (?:better|improved|faster) performance/i,
46
- /(?:optimize|optimizing|optimization) (?:by|with|using)/i,
47
- /(?:more efficient|efficiently) (?:by|to|if)/i,
48
- ],
49
- confidence: 65,
50
- },
51
- // Best practice patterns
52
- {
53
- type: 'best-practice',
54
- patterns: [
55
- /(?:best practice|best practices) (?:is|are|include)/i,
56
- /(?:recommended|standard|common) (?:approach|pattern|practice)/i,
57
- /(?:you should always|always make sure to)/i,
58
- ],
59
- confidence: 75,
60
- },
61
- ];
62
- /**
63
- * Keywords that often appear in extractable content.
64
- */
65
- const TRIGGER_KEYWORDS = [
66
- // Technical domains
67
- 'react', 'typescript', 'javascript', 'python', 'rust', 'go', 'node',
68
- 'api', 'database', 'sql', 'graphql', 'rest', 'authentication', 'authorization',
69
- 'testing', 'debugging', 'deployment', 'docker', 'kubernetes', 'ci/cd',
70
- 'git', 'webpack', 'vite', 'eslint', 'prettier',
71
- // Actions
72
- 'error handling', 'state management', 'performance', 'optimization',
73
- 'refactoring', 'migration', 'integration', 'configuration',
74
- // Patterns
75
- 'pattern', 'architecture', 'design', 'structure', 'convention',
76
- ];
77
- /**
78
- * Detect if a message contains an extractable skill moment.
79
- */
80
- export function detectExtractableMoment(assistantMessage, userMessage) {
81
- const combined = `${userMessage || ''} ${assistantMessage}`.toLowerCase();
82
- let bestMatch = null;
83
- // Check against detection patterns
84
- for (const patternGroup of DETECTION_PATTERNS) {
85
- for (const pattern of patternGroup.patterns) {
86
- if (pattern.test(assistantMessage)) {
87
- if (!bestMatch || patternGroup.confidence > bestMatch.confidence) {
88
- bestMatch = {
89
- type: patternGroup.type,
90
- confidence: patternGroup.confidence,
91
- reason: `Detected ${patternGroup.type} pattern`,
92
- };
93
- }
94
- }
95
- }
96
- }
97
- if (!bestMatch) {
98
- return {
99
- detected: false,
100
- confidence: 0,
101
- patternType: 'problem-solution',
102
- suggestedTriggers: [],
103
- reason: 'No extractable pattern detected',
104
- };
105
- }
106
- // Extract potential trigger keywords
107
- const suggestedTriggers = [];
108
- for (const keyword of TRIGGER_KEYWORDS) {
109
- if (combined.includes(keyword.toLowerCase())) {
110
- suggestedTriggers.push(keyword);
111
- }
112
- }
113
- // Boost confidence if multiple triggers found
114
- const triggerBoost = Math.min(suggestedTriggers.length * 5, 15);
115
- const finalConfidence = Math.min(bestMatch.confidence + triggerBoost, 100);
116
- return {
117
- detected: true,
118
- confidence: finalConfidence,
119
- patternType: bestMatch.type,
120
- suggestedTriggers: suggestedTriggers.slice(0, 5), // Max 5 triggers
121
- reason: bestMatch.reason,
122
- };
123
- }
124
- /**
125
- * Check if detection confidence meets threshold for prompting.
126
- */
127
- export function shouldPromptExtraction(detection, threshold = 60) {
128
- return detection.detected && detection.confidence >= threshold;
129
- }
130
- /**
131
- * Generate a prompt for skill extraction confirmation.
132
- */
133
- export function generateExtractionPrompt(detection) {
134
- const typeDescriptions = {
135
- 'problem-solution': 'a problem and its solution',
136
- 'technique': 'a useful technique',
137
- 'workaround': 'a workaround for a limitation',
138
- 'optimization': 'an optimization approach',
139
- 'best-practice': 'a best practice',
140
- };
141
- return `
142
- I noticed this conversation contains ${typeDescriptions[detection.patternType]} that might be worth saving as a reusable skill.
143
-
144
- **Confidence:** ${detection.confidence}%
145
- **Suggested triggers:** ${detection.suggestedTriggers.join(', ') || 'None detected'}
146
-
147
- Would you like me to extract this as a learned skill? Type \`/claudeception\` to save it, or continue with your current task.
148
- `.trim();
149
- }
150
- //# sourceMappingURL=detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../../src/hooks/learned-skills/detector.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Skill Finder
3
- *
4
- * Discovers skill files using hybrid search (user + project).
5
- * Project skills override user skills with same ID.
6
- */
7
- import type { SkillFileCandidate } from './types.js';
8
- /**
9
- * Find all skill files for a given project.
10
- * Returns project skills first (higher priority), then user skills.
11
- */
12
- export declare function findSkillFiles(projectRoot: string | null): SkillFileCandidate[];
13
- /**
14
- * Get skills directory path for a scope.
15
- */
16
- export declare function getSkillsDir(scope: 'user' | 'project', projectRoot?: string): string;
17
- /**
18
- * Ensure skills directory exists.
19
- */
20
- export declare function ensureSkillsDir(scope: 'user' | 'project', projectRoot?: string): boolean;
21
- //# sourceMappingURL=finder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finder.d.ts","sourceRoot":"","sources":["../../../src/hooks/learned-skills/finder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsCrD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAwC/E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAQpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAgBxF"}
@@ -1,117 +0,0 @@
1
- /**
2
- * Skill Finder
3
- *
4
- * Discovers skill files using hybrid search (user + project).
5
- * Project skills override user skills with same ID.
6
- */
7
- import { existsSync, readdirSync, realpathSync, mkdirSync } from 'fs';
8
- import { join } from 'path';
9
- import { USER_SKILLS_DIR, PROJECT_SKILLS_SUBDIR, SKILL_EXTENSION, DEBUG_ENABLED } from './constants.js';
10
- /**
11
- * Recursively find all skill files in a directory.
12
- */
13
- function findSkillFilesRecursive(dir, results) {
14
- if (!existsSync(dir))
15
- return;
16
- try {
17
- const entries = readdirSync(dir, { withFileTypes: true });
18
- for (const entry of entries) {
19
- const fullPath = join(dir, entry.name);
20
- if (entry.isDirectory()) {
21
- findSkillFilesRecursive(fullPath, results);
22
- }
23
- else if (entry.isFile() && entry.name.endsWith(SKILL_EXTENSION)) {
24
- results.push(fullPath);
25
- }
26
- }
27
- }
28
- catch (error) {
29
- // Permission denied or other errors - silently skip
30
- if (DEBUG_ENABLED) {
31
- console.error('[learned-skills] Error scanning directory:', error);
32
- }
33
- }
34
- }
35
- /**
36
- * Resolve symlinks safely with fallback.
37
- */
38
- function safeRealpathSync(filePath) {
39
- try {
40
- return realpathSync(filePath);
41
- }
42
- catch {
43
- return filePath;
44
- }
45
- }
46
- /**
47
- * Find all skill files for a given project.
48
- * Returns project skills first (higher priority), then user skills.
49
- */
50
- export function findSkillFiles(projectRoot) {
51
- const candidates = [];
52
- const seenRealPaths = new Set();
53
- // 1. Search project-level skills (higher priority)
54
- if (projectRoot) {
55
- const projectSkillsDir = join(projectRoot, PROJECT_SKILLS_SUBDIR);
56
- const projectFiles = [];
57
- findSkillFilesRecursive(projectSkillsDir, projectFiles);
58
- for (const filePath of projectFiles) {
59
- const realPath = safeRealpathSync(filePath);
60
- if (seenRealPaths.has(realPath))
61
- continue;
62
- seenRealPaths.add(realPath);
63
- candidates.push({
64
- path: filePath,
65
- realPath,
66
- scope: 'project',
67
- });
68
- }
69
- }
70
- // 2. Search user-level skills (lower priority)
71
- const userFiles = [];
72
- findSkillFilesRecursive(USER_SKILLS_DIR, userFiles);
73
- for (const filePath of userFiles) {
74
- const realPath = safeRealpathSync(filePath);
75
- if (seenRealPaths.has(realPath))
76
- continue;
77
- seenRealPaths.add(realPath);
78
- candidates.push({
79
- path: filePath,
80
- realPath,
81
- scope: 'user',
82
- });
83
- }
84
- return candidates;
85
- }
86
- /**
87
- * Get skills directory path for a scope.
88
- */
89
- export function getSkillsDir(scope, projectRoot) {
90
- if (scope === 'user') {
91
- return USER_SKILLS_DIR;
92
- }
93
- if (!projectRoot) {
94
- throw new Error('Project root required for project scope');
95
- }
96
- return join(projectRoot, PROJECT_SKILLS_SUBDIR);
97
- }
98
- /**
99
- * Ensure skills directory exists.
100
- */
101
- export function ensureSkillsDir(scope, projectRoot) {
102
- const dir = getSkillsDir(scope, projectRoot);
103
- if (existsSync(dir)) {
104
- return true;
105
- }
106
- try {
107
- mkdirSync(dir, { recursive: true });
108
- return true;
109
- }
110
- catch (error) {
111
- if (DEBUG_ENABLED) {
112
- console.error('[learned-skills] Error creating skills directory:', error);
113
- }
114
- return false;
115
- }
116
- }
117
- //# sourceMappingURL=finder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"finder.js","sourceRoot":"","sources":["../../../src/hooks/learned-skills/finder.ts"],"names":[],"mappings":"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"}